37 |
@menu |
@menu |
38 |
* How Programs Do Loading:: The @code{load} function and others. |
* How Programs Do Loading:: The @code{load} function and others. |
39 |
* Library Search:: Finding a library to load. |
* Library Search:: Finding a library to load. |
40 |
* Loading Non-ASCII:: Non-@sc{ascii} characters in Emacs Lisp files. |
* Loading Non-ASCII:: Non-@acronym{ASCII} characters in Emacs Lisp files. |
41 |
* Autoload:: Setting up a function to autoload. |
* Autoload:: Setting up a function to autoload. |
42 |
* Repeated Loading:: Precautions about loading a file twice. |
* Repeated Loading:: Precautions about loading a file twice. |
43 |
* Named Features:: Loading a library if it isn't already loaded. |
* Named Features:: Loading a library if it isn't already loaded. |
293 |
@end defvar |
@end defvar |
294 |
|
|
295 |
@node Loading Non-ASCII |
@node Loading Non-ASCII |
296 |
@section Loading Non-@sc{ascii} Characters |
@section Loading Non-@acronym{ASCII} Characters |
297 |
|
|
298 |
When Emacs Lisp programs contain string constants with non-@sc{ascii} |
When Emacs Lisp programs contain string constants with non-@acronym{ASCII} |
299 |
characters, these can be represented within Emacs either as unibyte |
characters, these can be represented within Emacs either as unibyte |
300 |
strings or as multibyte strings (@pxref{Text Representations}). Which |
strings or as multibyte strings (@pxref{Text Representations}). Which |
301 |
representation is used depends on how the file is read into Emacs. If |
representation is used depends on how the file is read into Emacs. If |
309 |
To make the results more predictable, Emacs always performs decoding |
To make the results more predictable, Emacs always performs decoding |
310 |
into the multibyte representation when loading Lisp files, even if it |
into the multibyte representation when loading Lisp files, even if it |
311 |
was started with the @samp{--unibyte} option. This means that string |
was started with the @samp{--unibyte} option. This means that string |
312 |
constants with non-@sc{ascii} characters translate into multibyte |
constants with non-@acronym{ASCII} characters translate into multibyte |
313 |
strings. The only exception is when a particular file specifies no |
strings. The only exception is when a particular file specifies no |
314 |
decoding. |
decoding. |
315 |
|
|
321 |
@code{default-enable-multibyte-characters}, and convert representations |
@code{default-enable-multibyte-characters}, and convert representations |
322 |
appropriately. |
appropriately. |
323 |
|
|
324 |
In most Emacs Lisp programs, the fact that non-@sc{ascii} strings are |
In most Emacs Lisp programs, the fact that non-@acronym{ASCII} strings are |
325 |
multibyte strings should not be noticeable, since inserting them in |
multibyte strings should not be noticeable, since inserting them in |
326 |
unibyte buffers converts them to unibyte automatically. However, if |
unibyte buffers converts them to unibyte automatically. However, if |
327 |
this does make a difference, you can force a particular Lisp file to be |
this does make a difference, you can force a particular Lisp file to be |
329 |
comment on the file's first line. With that designator, the file will |
comment on the file's first line. With that designator, the file will |
330 |
unconditionally be interpreted as unibyte, even in an ordinary |
unconditionally be interpreted as unibyte, even in an ordinary |
331 |
multibyte Emacs session. This can matter when making keybindings to |
multibyte Emacs session. This can matter when making keybindings to |
332 |
non-@sc{ascii} characters written as @code{?v@var{literal}}. |
non-@acronym{ASCII} characters written as @code{?v@var{literal}}. |
333 |
|
|
334 |
@node Autoload |
@node Autoload |
335 |
@section Autoload |
@section Autoload |