From: Richard M. Stallman Date: Fri, 16 Jun 2006 15:18:03 +0000 (+0000) Subject: (Using Interactive): Explain problem of markers, etc., in command-history. X-Git-Tag: emacs-pretest-22.0.90~1934 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=76f008da70bce146ca1827bd68f9339f5d1b3004;p=emacs.git (Using Interactive): Explain problem of markers, etc., in command-history. --- diff --git a/lispref/commands.texi b/lispref/commands.texi index a75c0c89fec..e494d0dfc5a 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi @@ -233,6 +233,20 @@ reading the keyboard input: (let ((string (read-string "Foo: " nil 'my-history))) (list (region-beginning) (region-end) string))) @end smallexample + +@strong{Warning:} the argument values should not include any data +types that can't be printed and then read. Some facilities save +@code{command-history} in a file to be read in the subsequent +sessions; if a command's arguments contain a data type that prints +using @samp{#<@dots{}>} syntax, those facilities won't work. + +There are, however, a few exceptions: it is ok to use a limited set of +expressions such as @code{(point)}, @code{(mark)}, +@code{(region-beginning)}, and @code{(region-end)}, because Emacs +recognizes them specially and puts the expression (rather than its +value) into the command history. To see whether the expression you +wrote is one of these exceptions, run the command, then examine +@code{(car command-history)}. @end itemize @cindex examining the @code{interactive} form