Next: Autoload, Previous: Library Search, Up: Loading [Contents][Index]
When Emacs Lisp programs contain string constants with non-ASCII characters, these can be represented within Emacs either as unibyte strings or as multibyte strings (see Text Representations). Which representation is used depends on how the file is read into Emacs. If it is read with decoding into multibyte representation, the text of the Lisp program will be multibyte text, and its string constants will be multibyte strings. If a file containing Latin-1 characters (for example) is read without decoding, the text of the program will be unibyte text, and its string constants will be unibyte strings. See Coding Systems.
In most Emacs Lisp programs, the fact that non-ASCII
strings are multibyte strings should not be noticeable, since
inserting them in unibyte buffers converts them to unibyte
automatically. However, if this does make a difference, you can force
a particular Lisp file to be interpreted as unibyte by writing
‘coding: raw-text’ in a local variables section. With
that designator, the file will unconditionally be interpreted as
unibyte. This can matter when making keybindings to
non-ASCII characters written as ?vliteral
.