Centering with tildes (~) and spill-over.
@end table
- You can define printer function local to a sheet with command
- @code{ses-define-local-printer}. For instance define printer
- @samp{foo} to @code{"%.2f"} and then use symbol @samp{foo} as a
- printer function. Then, if you call again
+ You can define printer function local to a sheet with the command
+ @code{ses-define-local-printer}. For instance, define a printer
+ @samp{foo} to @code{"%.2f"}, and then use symbol @samp{foo} as a
+ printer function. Then, if you call again
@code{ses-define-local-printer} on @samp{foo} to redefine it as
- @code{"%.3f"} all the cells using printer @samp{foo} will be reprinted
- accordingly.
+ @code{"%.3f"}, all the cells using printer @samp{foo} will be
+ reprinted accordingly.
+When you define a printer function with a lambda expression taking one
+argument, please take care that the returned value is a string, or a
+list containing a string, even when the input argument has an
+unexpected value. Here is an example:
+
+@example
+(lambda (val)
+ (cond
+ ((null val) "")
+ ((and (numberp val) (>= val 0)) (format "%.1f" val))
+ (t (ses-center-span (format "%S" val) ?#))))
+@end example
+
+This example will:
+@itemize
+@item
+When the cell is empty (ie.@: when @code{val} is @code{nil}), print an
+empty string @code{""}
+@item
+When the cell value is a non negative number, format the the value in
+fixed-point notation with one decimal after point
+@item
+Otherwise, handle the value as erroneous by printing it as an
+s-expression (using @code{prin1}), centered and surrounded by @code{#}
+filling.
+@end itemize
+
+
+
+
@node Clearing cells
@section Clearing cells
@cindex clearing commands
;;;;;; "gnus/nntp.el" "gnus/nnvirtual.el" "gnus/nnweb.el" "gnus/registry.el"
;;;;;; "gnus/rfc1843.el" "gnus/rfc2045.el" "gnus/rfc2047.el" "gnus/rfc2231.el"
;;;;;; "gnus/rtree.el" "gnus/sieve-manage.el" "gnus/smime.el" "gnus/spam-stat.el"
- ;;;;;; "gnus/spam-wash.el" "hex-util.el" "hfy-cmap.el" "htmlfontify-loaddefs.el"
- ;;;;;; "ibuf-ext.el" "ibuffer-loaddefs.el" "international/charscript.el"
- ;;;;;; "international/fontset.el" "international/iso-ascii.el" "international/ja-dic-cnv.el"
- ;;;;;; "international/ja-dic-utl.el" "international/ogonek.el" "international/uni-bidi.el"
- ;;;;;; "international/uni-brackets.el" "international/uni-category.el"
- ;;;;;; "international/uni-combining.el" "international/uni-comment.el"
- ;;;;;; "international/uni-decimal.el" "international/uni-decomposition.el"
- ;;;;;; "international/uni-digit.el" "international/uni-lowercase.el"
- ;;;;;; "international/uni-mirrored.el" "international/uni-name.el"
- ;;;;;; "international/uni-numeric.el" "international/uni-old-name.el"
- ;;;;;; "international/uni-titlecase.el" "international/uni-uppercase.el"
- ;;;;;; "kermit.el" "language/hanja-util.el" "language/thai-word.el"
- ;;;;;; "ldefs-boot.el" "leim/quail/arabic.el" "leim/quail/croatian.el"
- ;;;;;; "leim/quail/cyril-jis.el" "leim/quail/cyrillic.el" "leim/quail/czech.el"
- ;;;;;; "leim/quail/ethiopic.el" "leim/quail/georgian.el" "leim/quail/greek.el"
- ;;;;;; "leim/quail/hanja-jis.el" "leim/quail/hanja.el" "leim/quail/hanja3.el"
- ;;;;;; "leim/quail/hebrew.el" "leim/quail/indian.el" "leim/quail/ipa-praat.el"
- ;;;;;; "leim/quail/ipa.el" "leim/quail/japanese.el" "leim/quail/lao.el"
- ;;;;;; "leim/quail/latin-alt.el" "leim/quail/latin-ltx.el" "leim/quail/latin-post.el"
- ;;;;;; "leim/quail/latin-pre.el" "leim/quail/lrt.el" "leim/quail/persian.el"
- ;;;;;; "leim/quail/py-punct.el" "leim/quail/pypunct-b5.el" "leim/quail/rfc1345.el"
- ;;;;;; "leim/quail/sgml-input.el" "leim/quail/sisheng.el" "leim/quail/slovak.el"
- ;;;;;; "leim/quail/symbol-ksc.el" "leim/quail/thai.el" "leim/quail/tibetan.el"
+ ;;;;;; "gnus/spam-wash.el" "hex-util.el" "hfy-cmap.el" "ibuf-ext.el"
+ ;;;;;; "international/charscript.el" "international/fontset.el"
+ ;;;;;; "international/iso-ascii.el" "international/ja-dic-cnv.el"
+ ;;;;;; "international/ja-dic-utl.el" "international/ogonek.el" "kermit.el"
+ ;;;;;; "language/hanja-util.el" "language/thai-word.el" "ldefs-boot.el"
+ ;;;;;; "leim/quail/arabic.el" "leim/quail/croatian.el" "leim/quail/cyril-jis.el"
+ ;;;;;; "leim/quail/cyrillic.el" "leim/quail/czech.el" "leim/quail/ethiopic.el"
+ ;;;;;; "leim/quail/georgian.el" "leim/quail/greek.el" "leim/quail/hanja-jis.el"
+ ;;;;;; "leim/quail/hanja.el" "leim/quail/hanja3.el" "leim/quail/hebrew.el"
+ ;;;;;; "leim/quail/indian.el" "leim/quail/ipa-praat.el" "leim/quail/ipa.el"
+ ;;;;;; "leim/quail/japanese.el" "leim/quail/lao.el" "leim/quail/latin-alt.el"
+ ;;;;;; "leim/quail/latin-ltx.el" "leim/quail/latin-post.el" "leim/quail/latin-pre.el"
+ ;;;;;; "leim/quail/lrt.el" "leim/quail/persian.el" "leim/quail/py-punct.el"
+ ;;;;;; "leim/quail/pypunct-b5.el" "leim/quail/rfc1345.el" "leim/quail/sgml-input.el"
+ ;;;;;; "leim/quail/sisheng.el" "leim/quail/slovak.el" "leim/quail/symbol-ksc.el"
+ ;;;;;; "leim/quail/tamil-dvorak.el" "leim/quail/thai.el" "leim/quail/tibetan.el"
;;;;;; "leim/quail/viqr.el" "leim/quail/vntelex.el" "leim/quail/vnvni.el"
;;;;;; "leim/quail/welsh.el" "loadup.el" "mail/blessmail.el" "mail/mailheader.el"
-;;;;;; "mail/mspools.el" "mail/rfc2368.el" "mail/rfc822.el" "mail/rmail-spam-filter.el"
-;;;;;; "mail/rmailedit.el" "mail/rmailkwd.el" "mail/rmailmm.el"
-;;;;;; "mail/rmailmsc.el" "mail/rmailsort.el" "mail/rmailsum.el"
-;;;;;; "mail/undigest.el" "mh-e/mh-acros.el" "mh-e/mh-alias.el"
-;;;;;; "mh-e/mh-buffers.el" "mh-e/mh-compat.el" "mh-e/mh-funcs.el"
-;;;;;; "mh-e/mh-gnus.el" "mh-e/mh-identity.el" "mh-e/mh-inc.el"
-;;;;;; "mh-e/mh-junk.el" "mh-e/mh-letter.el" "mh-e/mh-limit.el"
+;;;;;; "mail/mspools.el" "mail/rfc2368.el" "mail/rfc822.el" "mail/rmail-loaddefs.el"
+;;;;;; "mail/rmail-spam-filter.el" "mail/rmailedit.el" "mail/rmailkwd.el"
+;;;;;; "mail/rmailmm.el" "mail/rmailmsc.el" "mail/rmailsort.el"
+;;;;;; "mail/rmailsum.el" "mail/undigest.el" "mh-e/mh-acros.el"
+;;;;;; "mh-e/mh-alias.el" "mh-e/mh-buffers.el" "mh-e/mh-compat.el"
+;;;;;; "mh-e/mh-funcs.el" "mh-e/mh-gnus.el" "mh-e/mh-identity.el"
+;;;;;; "mh-e/mh-inc.el" "mh-e/mh-junk.el" "mh-e/mh-letter.el" "mh-e/mh-limit.el"
;;;;;; "mh-e/mh-loaddefs.el" "mh-e/mh-mime.el" "mh-e/mh-print.el"
;;;;;; "mh-e/mh-scan.el" "mh-e/mh-search.el" "mh-e/mh-seq.el" "mh-e/mh-show.el"
;;;;;; "mh-e/mh-speed.el" "mh-e/mh-thread.el" "mh-e/mh-tool-bar.el"