Emacs Lisp represents many special objects and constructs via special hash notations.
Objects that have no read syntax are presented like this (see Printed Representation).
The printed representation of an interned symbol whose name is an empty string (see Symbol Type).
This is a shortcut for function
, see Anonymous Functions.
The printed representation of an uninterned symbol whose name is foo is ‘#:foo’ (see Symbol Type).
When printing circular structures, this construct is used to represent where the structure loops back onto itself, and ‘N’ is the starting list count:
(let ((a (list 1))) (setcdr a a)) => (1 . #0)
‘#N=’ gives the name to an object, and ‘#N#’ represents that object, so when reading back the object, they will be the same object instead of copies (see Circular Objects).
Skip the next ‘N’ characters (see Comments).
‘N’ represented as a hexadecimal number (‘#x2a’).
‘N’ represented as an octal number (‘#o52’).
‘N’ represented as a binary number (‘#b101010’).
String text properties (see Text Props and Strings).
A char table (see Char-Table Type).
A hash table (see Hash Table Type).
A character (see Basic Char Syntax).
The current file name in byte-compiled files (see Docs and Compilation). This is not meant to be used in Emacs Lisp source files.
Skip the next ‘N’ characters (see Comments). This is used in byte-compiled files, and is not meant to be used in Emacs Lisp source files.
Copyright © 1990-1996, 1998-2019 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Special-Read-Syntax.html