Next: Import and export, Previous: Standard formula functions, Up: Advanced Features

### 3.5 More on cell printing

Special cell values:

- nil prints the same as "", but allows previous cell to spill over.
- '*skip* replaces nil when the previous cell actually does spill over; nothing is printed for it.
- '*error* indicates that the formula signaled an error instead of producing a value: the print cell is filled with hash marks (#).

If the result from the printer function is too wide for the cell and the following cell is `nil`, the result will spill over into the following cell. Very wide results can spill over several cells. If the result is too wide for the available space (up to the end of the row or the next non-`nil` cell), the result is truncated if the cell's value is a string, or replaced with hash marks otherwise.

SES could get confused by printer results that contain newlines or tabs, so these are replaced with question marks.

`t`
  Confine a cell to its own column (`ses-truncate-cell`). This allows you to move point to a rightward cell that would otherwise be covered by a spill-over. If you don't change the rightward cell, the confined cell will spill over again the next time it is reprinted.
`c`
  When applied to a single cell, this command displays in the echo area any formula error or printer error that occurred during recalculation/reprinting (`ses-recalculate-cell`). You can use this to undo the effect of `t`.

When a printer function signals an error, the fallback printer ‘`"%s"`’ is substituted. This is useful when your column printer is numeric-only and you use a string as a cell value. Note that the standard default printer is “%.7g” which is numeric-only, so cells that are empty of contain strings will use the fallback printer. `c` on such cells will display “Format specifier doesn't match argument type”.