aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref
diff options
context:
space:
mode:
authorTom Tromey2013-07-06 23:18:58 -0600
committerTom Tromey2013-07-06 23:18:58 -0600
commit6dacdad5fcb278e5a16b38bb81786aac9ca27be4 (patch)
treef5f331ea361ba0f99e0f9b638d183ad492a7da31 /doc/lispref
parent0a6f2ff0c8ceb29703e76cddd46ea3f176dd873a (diff)
parent219afb88d9d484393418820d1c08dc93299110ec (diff)
downloademacs-6dacdad5fcb278e5a16b38bb81786aac9ca27be4.tar.gz
emacs-6dacdad5fcb278e5a16b38bb81786aac9ca27be4.zip
merge from trunk
this merges frmo trunk and fixes various build issues. this needed a few ugly tweaks. this hangs in "make check" now
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/ChangeLog78
-rw-r--r--doc/lispref/Makefile.in8
-rw-r--r--doc/lispref/buffers.texi7
-rw-r--r--doc/lispref/debugging.texi2
-rw-r--r--doc/lispref/display.texi60
-rw-r--r--doc/lispref/elisp.texi21
-rw-r--r--doc/lispref/files.texi6
-rw-r--r--doc/lispref/functions.texi3
-rw-r--r--doc/lispref/keymaps.texi11
-rw-r--r--doc/lispref/loading.texi38
-rw-r--r--doc/lispref/modes.texi6
-rw-r--r--doc/lispref/nonascii.texi3
-rw-r--r--doc/lispref/numbers.texi5
-rw-r--r--doc/lispref/package.texi2
-rw-r--r--doc/lispref/syntax.texi5
-rw-r--r--doc/lispref/text.texi24
-rw-r--r--doc/lispref/tips.texi12
-rw-r--r--doc/lispref/variables.texi2
18 files changed, 210 insertions, 83 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 259bf9a78a6..e4bc6eb5bcc 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,81 @@
12013-07-06 Eli Zaretskii <eliz@gnu.org>
2
3 * nonascii.texi (Text Representations): Document that
4 multibyte-string-p returns nil for non-string objects.
5
62013-07-06 Glenn Morris <rgm@gnu.org>
7
8 * elisp.texi (Top): Move WWW_GNU_ORG section outside @copying.
9
102013-07-03 Glenn Morris <rgm@gnu.org>
11
12 * debugging.texi (Debugging):
13 * files.texi (File Attributes, Changing Files): Fix cross-references.
14
15 * package.texi (Package Archives): Fix @url call.
16
17 * syntax.texi (Syntax Table Functions): Mention describe-syntax.
18
192013-06-29 Eli Zaretskii <eliz@gnu.org>
20
21 * display.texi (Bidirectional Display): Document move-point-visually.
22
232013-06-29 Xue Fuqiao <xfq.free@gmail.com>
24
25 * buffers.texi (Buffer File Name): Fix typo.
26
272013-06-26 Christopher Schmidt <christopher@ch.ristopher.com>
28
29 * tips.texi (Coding Conventions): Improve wording.
30
312013-06-24 Glenn Morris <rgm@gnu.org>
32
33 * loading.texi (Autoload): Fix typo.
34
35 * variables.texi (Lexical Binding): Fix typo.
36
37 * functions.texi (Anonymous Functions): Put back ' removed 2012-10-23.
38
392013-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
40
41 * display.texi (ImageMagick Images): Mention :max-width and
42 :max-height.
43
442013-06-20 Paul Eggert <eggert@cs.ucla.edu>
45
46 * numbers.texi (Math Functions): Remove obsolete function log10.
47
482013-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
49
50 * modes.texi (Mode Line Data, Properties in Mode): Advertise `keymap'
51 rather than `local-map'.
52
53 * keymaps.texi (Active Keymaps): Fix documentation of
54 set-temporary-overlay-map and overriding-terminal-local-map.
55
562013-06-19 Glenn Morris <rgm@gnu.org>
57
58 * Makefile.in (dist): Edit more configure variables.
59 Try to check that we do not miss any in future.
60
612013-06-17 Juanma Barranquero <lekktu@gmail.com>
62
63 * text.texi (Undo, Changing Properties): Fix typos.
64
652013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
66
67 * text.texi (Changing Properties): Document `add-face-text-property'.
68
692013-06-17 Kenichi Handa <handa@gnu.org>
70
71 * display.texi (Face Attributes): Refer to "Low-Level font" (not
72 "Font Selection") in the explanation of :font attribute (bug#14629).
73
742013-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
75
76 * loading.texi (Hooks for Loading): Don't document after-load-alist.
77 Document with-eval-after-load instead of eval-after-load.
78
12013-06-11 Xue Fuqiao <xfq.free@gmail.com> 792013-06-11 Xue Fuqiao <xfq.free@gmail.com>
2 80
3 * files.texi (File Name Expansion): Make the example more 81 * files.texi (File Name Expansion): Make the example more
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in
index 006c09d780c..c548b67d4ca 100644
--- a/doc/lispref/Makefile.in
+++ b/doc/lispref/Makefile.in
@@ -19,6 +19,9 @@
19 19
20SHELL = /bin/sh 20SHELL = /bin/sh
21 21
22# NB If you add any more configure variables,
23# update the sed rules in the dist target below.
24
22# Standard configure variables. 25# Standard configure variables.
23srcdir = @srcdir@ 26srcdir = @srcdir@
24 27
@@ -164,7 +167,12 @@ dist:
164 -e 's/^\(buildinfodir *=\).*/\1 ./' \ 167 -e 's/^\(buildinfodir *=\).*/\1 ./' \
165 -e 's/^\(clean:.*\)/\1 infoclean/' \ 168 -e 's/^\(clean:.*\)/\1 infoclean/' \
166 -e "s/@ver[s]ion@/${version}/" \ 169 -e "s/@ver[s]ion@/${version}/" \
170 -e 's/@MAKE[I]NFO@/makeinfo/' -e 's/@MK[D]IR_P@/mkdir -p/' \
171 -e 's/@IN[F]O_EXT@/.info/' -e 's/@IN[F]O_OPTS@//' \
167 ${srcdir}/Makefile.in > emacs-lispref-${version}/Makefile 172 ${srcdir}/Makefile.in > emacs-lispref-${version}/Makefile
173 @if grep '@[a-zA-Z_]*@' emacs-lispref-${version}/Makefile; then \
174 echo "Unexpanded configure variables in Makefile?" 1>&2; exit 1; \
175 fi
168 tar -cf emacs-lispref-${version}.tar emacs-lispref-${version} 176 tar -cf emacs-lispref-${version}.tar emacs-lispref-${version}
169 rm -rf emacs-lispref-${version} 177 rm -rf emacs-lispref-${version}
170 178
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi
index 7ed1876e4b1..01269851250 100644
--- a/doc/lispref/buffers.texi
+++ b/doc/lispref/buffers.texi
@@ -488,8 +488,9 @@ Normally, this function asks the user for confirmation if there
488already is a buffer visiting @var{filename}. If @var{no-query} is 488already is a buffer visiting @var{filename}. If @var{no-query} is
489non-@code{nil}, that prevents asking this question. If there already 489non-@code{nil}, that prevents asking this question. If there already
490is a buffer visiting @var{filename}, and the user confirms or 490is a buffer visiting @var{filename}, and the user confirms or
491@var{query} is non-@code{nil}, this function makes the new buffer name 491@var{no-query} is non-@code{nil}, this function makes the new
492unique by appending a number inside of @samp{<@dots{}>} to @var{filename}. 492buffer name unique by appending a number inside of @samp{<@dots{}>} to
493@var{filename}.
493 494
494If @var{along-with-file} is non-@code{nil}, that means to assume that 495If @var{along-with-file} is non-@code{nil}, that means to assume that
495the former visited file has been renamed to @var{filename}. In this 496the former visited file has been renamed to @var{filename}. In this
@@ -1064,7 +1065,7 @@ Buffer foo.changed modified; kill anyway? (yes or no) @kbd{yes}
1064@end deffn 1065@end deffn
1065 1066
1066@defvar kill-buffer-query-functions 1067@defvar kill-buffer-query-functions
1067After confirming unsaved changes, @code{kill-buffer} calls the functions 1068Before confirming unsaved changes, @code{kill-buffer} calls the functions
1068in the list @code{kill-buffer-query-functions}, in order of appearance, 1069in the list @code{kill-buffer-query-functions}, in order of appearance,
1069with no arguments. The buffer being killed is the current buffer when 1070with no arguments. The buffer being killed is the current buffer when
1070they are called. The idea of this feature is that these functions will 1071they are called. The idea of this feature is that these functions will
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi
index 24629465525..335e3f802d2 100644
--- a/doc/lispref/debugging.texi
+++ b/doc/lispref/debugging.texi
@@ -32,7 +32,7 @@ program.
32 32
33@item 33@item
34You can use the ERT package to write regression tests for the program. 34You can use the ERT package to write regression tests for the program.
35@xref{Top,the ERT manual,, ERT, ERT: Emacs Lisp Regression Testing}. 35@xref{Top,the ERT manual,, ert, ERT: Emacs Lisp Regression Testing}.
36 36
37@item 37@item
38You can profile the program to get hints about how to make it more efficient. 38You can profile the program to get hints about how to make it more efficient.
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 4adcfdf8f4f..44fbc66a60e 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -1655,26 +1655,26 @@ if it becomes empty (i.e., if its length becomes zero). If you give
1655an empty overlay a non-@code{nil} @code{evaporate} property, that deletes 1655an empty overlay a non-@code{nil} @code{evaporate} property, that deletes
1656it immediately. 1656it immediately.
1657 1657
1658@item local-map
1659@cindex keymap of character (and overlays)
1660@kindex local-map @r{(overlay property)}
1661If this property is non-@code{nil}, it specifies a keymap for a portion
1662of the text. The property's value replaces the buffer's local map, when
1663the character after point is within the overlay. @xref{Active Keymaps}.
1664
1665@item keymap 1658@item keymap
1659@cindex keymap of character (and overlays)
1666@kindex keymap @r{(overlay property)} 1660@kindex keymap @r{(overlay property)}
1667The @code{keymap} property is similar to @code{local-map} but overrides the 1661If this property is non-@code{nil}, it specifies a keymap for a portion of the
1668buffer's local map (and the map specified by the @code{local-map} 1662text. This keymap is used when the character after point is within the
1669property) rather than replacing it. 1663overlay, and takes precedence over most other keymaps. @xref{Active Keymaps}.
1664
1665@item local-map
1666@kindex local-map @r{(overlay property)}
1667The @code{local-map} property is similar to @code{keymap} but replaces the
1668buffer's local map rather than augmenting existing keymaps. This also means it
1669has lower precedence than minor mode keymaps.
1670@end table 1670@end table
1671 1671
1672The @code{local-map} and @code{keymap} properties do not affect a 1672The @code{keymap} and @code{local-map} properties do not affect a
1673string displayed by the @code{before-string}, @code{after-string}, or 1673string displayed by the @code{before-string}, @code{after-string}, or
1674@code{display} properties. This is only relevant for mouse clicks and 1674@code{display} properties. This is only relevant for mouse clicks and
1675other mouse events that fall on the string, since point is never on 1675other mouse events that fall on the string, since point is never on
1676the string. To bind special mouse events for the string, assign it a 1676the string. To bind special mouse events for the string, assign it a
1677@code{local-map} or @code{keymap} text property. @xref{Special 1677@code{keymap} or @code{local-map} text property. @xref{Special
1678Properties}. 1678Properties}.
1679 1679
1680@node Finding Overlays 1680@node Finding Overlays
@@ -2126,7 +2126,8 @@ used automatically to handle certain shades of gray.
2126 2126
2127@item :font 2127@item :font
2128The font used to display the face. Its value should be a font object. 2128The font used to display the face. Its value should be a font object.
2129@xref{Font Selection}, for information about font objects. 2129@xref{Low-Level Font}, for information about font objects, font specs,
2130and font entities.
2130 2131
2131When specifying this attribute using @code{set-face-attribute} 2132When specifying this attribute using @code{set-face-attribute}
2132(@pxref{Attribute Functions}), you may also supply a font spec, a font 2133(@pxref{Attribute Functions}), you may also supply a font spec, a font
@@ -3260,7 +3261,9 @@ to @var{value}.
3260properties are intermediate between a font object and a font spec: 3261properties are intermediate between a font object and a font spec:
3261like a font object, and unlike a font spec, it refers to a single, 3262like a font object, and unlike a font spec, it refers to a single,
3262specific font. Unlike a font object, creating a font entity does not 3263specific font. Unlike a font object, creating a font entity does not
3263load the contents of that font into computer memory. 3264load the contents of that font into computer memory. Emacs may open
3265multiple font objects of different sizes from a single font entity
3266referring to a scalable font.
3264 3267
3265@defun find-font font-spec &optional frame 3268@defun find-font font-spec &optional frame
3266This function returns a font entity that best matches the font spec 3269This function returns a font entity that best matches the font spec
@@ -4650,6 +4653,15 @@ image. If only one of them is specified, the other one will be
4650calculated so as to preserve the aspect ratio. If both are specified, 4653calculated so as to preserve the aspect ratio. If both are specified,
4651aspect ratio may not be preserved. 4654aspect ratio may not be preserved.
4652 4655
4656@item :max-width, :max-height
4657The @code{:max-width} and @code{:max-height} keywords are used for
4658scaling if the size of the image of the image exceeds these values.
4659If @code{:width} is set it will have precedence over @code{max-width},
4660and if @code{:height} is set it will have precedence over
4661@code{max-height}, but you can otherwise mix these keywords as you
4662wish. @code{:max-width} and @code{:max-height} will always preserve
4663the aspect ratio.
4664
4653@item :rotation 4665@item :rotation
4654Specifies a rotation angle in degrees. 4666Specifies a rotation angle in degrees.
4655 4667
@@ -6419,6 +6431,26 @@ determined dynamically by Emacs. For buffers whose value of
6419buffers, this function always returns @code{left-to-right}. 6431buffers, this function always returns @code{left-to-right}.
6420@end defun 6432@end defun
6421 6433
6434@cindex visual-order cursor motion
6435 Sometimes there's a need to move point in strict visual order,
6436either to the left or to the right of its current screen position.
6437Emacs provides a primitive to do that.
6438
6439@defun move-point-visually direction
6440This function moves point of the currently selected window to the
6441buffer position that appears immediately to the right or to the left
6442of point on the screen. If @var{direction} is positive, point will
6443move one screen position to the right, otherwise it will move one
6444screen position to the left. Note that, depending on the surrounding
6445bidirectional context, this could potentially move point many buffer
6446positions away. If invoked at the end of a screen line, the function
6447moves point to the rightmost or leftmost screen position of the next
6448or previous screen line, as appropriate for the value of
6449@var{direction}.
6450
6451The function returns the new buffer position as its value.
6452@end defun
6453
6422@cindex layout on display, and bidirectional text 6454@cindex layout on display, and bidirectional text
6423@cindex jumbled display of bidirectional text 6455@cindex jumbled display of bidirectional text
6424@cindex concatenating bidirectional strings 6456@cindex concatenating bidirectional strings
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 343d9cc98e2..0d9432d5e01 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -97,16 +97,6 @@ This is edition @value{VERSION} of the @cite{GNU Emacs Lisp Reference Manual},@*
97This is the @cite{GNU Emacs Lisp Reference Manual} 97This is the @cite{GNU Emacs Lisp Reference Manual}
98@end ifnottex 98@end ifnottex
99corresponding to Emacs version @value{EMACSVER}. 99corresponding to Emacs version @value{EMACSVER}.
100@ifset WWW_GNU_ORG
101@html
102<p>The homepage for GNU Emacs is at
103<a href="/software/emacs/">http://www.gnu.org/software/emacs/</a>.<br>
104For information on using Emacs, refer to
105the <a href="/software/emacs/manual/html_node/emacs/index.html">Emacs
106Manual</a>.<br> To view this manual in other formats,
107click <a href="/software/emacs/manual/elisp.html">here</a>.
108@end html
109@end ifset
110 100
111Copyright @copyright{} 1990--1996, 1998--2013 Free Software Foundation, Inc. 101Copyright @copyright{} 1990--1996, 1998--2013 Free Software Foundation, Inc.
112 102
@@ -167,6 +157,17 @@ Cover art by Etienne Suvasa.
167@node Top 157@node Top
168@top Emacs Lisp 158@top Emacs Lisp
169 159
160@ifset WWW_GNU_ORG
161@html
162<p>The homepage for GNU Emacs is at
163<a href="/software/emacs/">http://www.gnu.org/software/emacs/</a>.<br>
164For information on using Emacs, refer to the
165<a href="/software/emacs/manual/emacs.html">Emacs Manual</a>.<br>
166To view this manual in other formats, click
167<a href="/software/emacs/manual/elisp.html">here</a>.
168@end html
169@end ifset
170
170@insertcopying 171@insertcopying
171@end ifnottex 172@end ifnottex
172 173
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index 704ecfb6446..951d55ac90f 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -1115,7 +1115,7 @@ permissions} of @var{filename}, as an integer. It recursively follows
1115symbolic links in @var{filename} at all levels. If @var{filename} 1115symbolic links in @var{filename} at all levels. If @var{filename}
1116does not exist, the return value is @code{nil}. 1116does not exist, the return value is @code{nil}.
1117 1117
1118@xref{File Permissions,,, coreutils, The @sc{gnu} @code{Coreutils} 1118@xref{File permissions,,, coreutils, The @sc{gnu} @code{Coreutils}
1119Manual}, for a description of mode bits. If the low-order bit is 1, 1119Manual}, for a description of mode bits. If the low-order bit is 1,
1120then the file is executable by all users, if the second-lowest-order 1120then the file is executable by all users, if the second-lowest-order
1121bit is 1, then the file is writable by all users, etc. The highest 1121bit is 1, then the file is writable by all users, etc. The highest
@@ -1625,7 +1625,7 @@ octal numbers to enter @var{mode}. For example,
1625@noindent 1625@noindent
1626specifies that the file should be readable and writable for its owner, 1626specifies that the file should be readable and writable for its owner,
1627readable for group members, and readable for all other users. 1627readable for group members, and readable for all other users.
1628@xref{File Permissions,,, coreutils, The @sc{gnu} @code{Coreutils} 1628@xref{File permissions,,, coreutils, The @sc{gnu} @code{Coreutils}
1629Manual}, for a description of mode bit specifications. 1629Manual}, for a description of mode bit specifications.
1630 1630
1631Interactively, @var{mode} is read from the minibuffer using 1631Interactively, @var{mode} is read from the minibuffer using
@@ -1676,7 +1676,7 @@ the permissions on which the specification is based are taken from the
1676mode bits of @var{base-file}. If @var{base-file} is omitted or 1676mode bits of @var{base-file}. If @var{base-file} is omitted or
1677@code{nil}, the function uses @code{0} as the base mode bits. The 1677@code{nil}, the function uses @code{0} as the base mode bits. The
1678complete and relative specifications can be combined, as in 1678complete and relative specifications can be combined, as in
1679@code{"u+r,g+rx,o+r,g-w"}. @xref{File Permissions,,, coreutils, The 1679@code{"u+r,g+rx,o+r,g-w"}. @xref{File permissions,,, coreutils, The
1680@sc{gnu} @code{Coreutils} Manual}, for a description of file mode 1680@sc{gnu} @code{Coreutils} Manual}, for a description of file mode
1681specifications. 1681specifications.
1682@end defun 1682@end defun
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 7768c147827..fcd345ef83b 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -974,10 +974,11 @@ Note that we do not quote the @code{lambda} form.
974compiled. This would not happen if, say, you had constructed the 974compiled. This would not happen if, say, you had constructed the
975anonymous function by quoting it as a list: 975anonymous function by quoting it as a list:
976 976
977@c Do not unquote this lambda!
977@example 978@example
978@group 979@group
979(defun double-property (symbol prop) 980(defun double-property (symbol prop)
980 (change-property symbol prop (lambda (x) (* 2 x)))) 981 (change-property symbol prop '(lambda (x) (* 2 x))))
981@end group 982@end group
982@end example 983@end example
983 984
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index 822e952ef98..ef020364082 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -663,17 +663,16 @@ additional active keymaps through the variable
663 663
664 The highest precedence normal keymap comes from the @code{keymap} 664 The highest precedence normal keymap comes from the @code{keymap}
665text or overlay property. If that is non-@code{nil}, it is the first 665text or overlay property. If that is non-@code{nil}, it is the first
666keymap to be processed, in normal circumstances. Next comes 666keymap to be processed, in normal circumstances.
667any keymap added by the function @code{set-temporary-overlay-map}.
668@xref{Controlling Active Maps}.
669 667
670 However, there are also special ways for programs to substitute 668 However, there are also special ways for programs to substitute
671other keymaps for some of those. The variable 669other keymaps for some of those. The variable
672@code{overriding-local-map}, if non-@code{nil}, specifies a keymap 670@code{overriding-local-map}, if non-@code{nil}, specifies a keymap
673that replaces all the usual active keymaps except the global keymap. 671that replaces all the usual active keymaps except the global keymap.
674Another way to do this is with @code{overriding-terminal-local-map}; 672
675it operates on a per-terminal basis. These variables are documented 673The very highest precedence keymap comes from
676below. 674@code{overriding-terminal-local-map}; it operates on a per-terminal basis and
675is normally used for modal/transient keybindings.
677 676
678@cindex major mode keymap 677@cindex major mode keymap
679 Since every buffer that uses the same major mode normally uses the 678 Since every buffer that uses the same major mode normally uses the
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 5c92307f7d5..dab8e8d1255 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -461,7 +461,7 @@ and calls @code{define-key}; not even if the variable name is the same
461symbol @var{function}. 461symbol @var{function}.
462 462
463@cindex function cell in autoload 463@cindex function cell in autoload
464if @var{function} already has non-void function definition that is not 464If @var{function} already has a non-void function definition that is not
465an autoload object, this function does nothing and returns @code{nil}. 465an autoload object, this function does nothing and returns @code{nil}.
466Otherwise, it constructs an autoload object (@pxref{Autoload Type}), 466Otherwise, it constructs an autoload object (@pxref{Autoload Type}),
467and stores it as the function definition for @var{function}. The 467and stores it as the function definition for @var{function}. The
@@ -990,19 +990,18 @@ file that was just loaded.
990@end defvar 990@end defvar
991 991
992If you want code to be executed when a @emph{particular} library is 992If you want code to be executed when a @emph{particular} library is
993loaded, use the function @code{eval-after-load}: 993loaded, use the macro @code{with-eval-after-load}:
994 994
995@defun eval-after-load library form 995@defmac with-eval-after-load library body@dots{}
996This function arranges to evaluate @var{form} at the end of loading 996This macro arranges to evaluate @var{body} at the end of loading
997the file @var{library}, each time @var{library} is loaded. If 997the file @var{library}, each time @var{library} is loaded. If
998@var{library} is already loaded, it evaluates @var{form} right away. 998@var{library} is already loaded, it evaluates @var{body} right away.
999Don't forget to quote @var{form}!
1000 999
1001You don't need to give a directory or extension in the file name 1000You don't need to give a directory or extension in the file name
1002@var{library}. Normally, you just give a bare file name, like this: 1001@var{library}. Normally, you just give a bare file name, like this:
1003 1002
1004@example 1003@example
1005(eval-after-load "edebug" '(def-edebug-spec c-point t)) 1004(with-eval-after-load "edebug" (def-edebug-spec c-point t))
1006@end example 1005@end example
1007 1006
1008To restrict which files can trigger the evaluation, include a 1007To restrict which files can trigger the evaluation, include a
@@ -1014,16 +1013,16 @@ example, @file{my_inst.elc} or @file{my_inst.elc.gz} in some directory
1014@file{my_inst.el}: 1013@file{my_inst.el}:
1015 1014
1016@example 1015@example
1017(eval-after-load "foo/bar/my_inst.elc" @dots{}) 1016(with-eval-after-load "foo/bar/my_inst.elc" @dots{})
1018@end example 1017@end example
1019 1018
1020@var{library} can also be a feature (i.e., a symbol), in which case 1019@var{library} can also be a feature (i.e., a symbol), in which case
1021@var{form} is evaluated at the end of any file where 1020@var{body} is evaluated at the end of any file where
1022@code{(provide @var{library})} is called. 1021@code{(provide @var{library})} is called.
1023 1022
1024An error in @var{form} does not undo the load, but does prevent 1023An error in @var{body} does not undo the load, but does prevent
1025execution of the rest of @var{form}. 1024execution of the rest of @var{body}.
1026@end defun 1025@end defmac
1027 1026
1028Normally, well-designed Lisp programs should not use 1027Normally, well-designed Lisp programs should not use
1029@code{eval-after-load}. If you need to examine and set the variables 1028@code{eval-after-load}. If you need to examine and set the variables
@@ -1031,18 +1030,3 @@ defined in another library (those meant for outside use), you can do
1031it immediately---there is no need to wait until the library is loaded. 1030it immediately---there is no need to wait until the library is loaded.
1032If you need to call functions defined by that library, you should load 1031If you need to call functions defined by that library, you should load
1033the library, preferably with @code{require} (@pxref{Named Features}). 1032the library, preferably with @code{require} (@pxref{Named Features}).
1034
1035@defvar after-load-alist
1036This variable stores an alist built by @code{eval-after-load},
1037containing the expressions to evaluate when certain libraries are
1038loaded. Each element looks like this:
1039
1040@example
1041(@var{regexp-or-feature} @var{forms}@dots{})
1042@end example
1043
1044The key @var{regexp-or-feature} is either a regular expression or a
1045symbol, and the value is a list of forms. The forms are evaluated
1046when the key matches the absolute true name or feature name of the
1047library being loaded.
1048@end defvar
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 7d42d2591d6..59729380ea7 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -1800,7 +1800,7 @@ display of the text just as they would text in the buffer. Any
1800characters which have no @code{face} properties are displayed, by 1800characters which have no @code{face} properties are displayed, by
1801default, in the face @code{mode-line} or @code{mode-line-inactive} 1801default, in the face @code{mode-line} or @code{mode-line-inactive}
1802(@pxref{Standard Faces,,, emacs, The GNU Emacs Manual}). The 1802(@pxref{Standard Faces,,, emacs, The GNU Emacs Manual}). The
1803@code{help-echo} and @code{local-map} properties in @var{string} have 1803@code{help-echo} and @code{keymap} properties in @var{string} have
1804special meanings. @xref{Properties in Mode}. 1804special meanings. @xref{Properties in Mode}.
1805 1805
1806@item @var{symbol} 1806@item @var{symbol}
@@ -2205,7 +2205,7 @@ The value of @code{global-mode-string}.
2205 Certain text properties are meaningful in the 2205 Certain text properties are meaningful in the
2206mode line. The @code{face} property affects the appearance of text; the 2206mode line. The @code{face} property affects the appearance of text; the
2207@code{help-echo} property associates help strings with the text, and 2207@code{help-echo} property associates help strings with the text, and
2208@code{local-map} can make the text mouse-sensitive. 2208@code{keymap} can make the text mouse-sensitive.
2209 2209
2210 There are four ways to specify text properties for text in the mode 2210 There are four ways to specify text properties for text in the mode
2211line: 2211line:
@@ -2229,7 +2229,7 @@ structure, and make @var{form} evaluate to a string that has a text
2229property. 2229property.
2230@end enumerate 2230@end enumerate
2231 2231
2232 You can use the @code{local-map} property to specify a keymap. This 2232 You can use the @code{keymap} property to specify a keymap. This
2233keymap only takes real effect for mouse clicks; binding character keys 2233keymap only takes real effect for mouse clicks; binding character keys
2234and function keys to it has no effect, since it is impossible to move 2234and function keys to it has no effect, since it is impossible to move
2235point into the mode line. 2235point into the mode line.
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index e462c3b4ce4..b8b62325bb4 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -124,7 +124,8 @@ belong to the same character.
124 124
125@defun multibyte-string-p string 125@defun multibyte-string-p string
126Return @code{t} if @var{string} is a multibyte string, @code{nil} 126Return @code{t} if @var{string} is a multibyte string, @code{nil}
127otherwise. 127otherwise. This function also returns @code{nil} if @var{string} is
128some object other than a string.
128@end defun 129@end defun
129 130
130@defun string-bytes string 131@defun string-bytes string
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi
index eeebac6bf72..2b6f31b670b 100644
--- a/doc/lispref/numbers.texi
+++ b/doc/lispref/numbers.texi
@@ -1156,11 +1156,6 @@ This function returns the logarithm of @var{arg}, with base
1156returns a NaN. 1156returns a NaN.
1157@end defun 1157@end defun
1158 1158
1159@defun log10 arg
1160This function returns the logarithm of @var{arg}, with base 10:
1161@code{(log10 @var{x})} @equiv{} @code{(log @var{x} 10)}.
1162@end defun
1163
1164@defun expt x y 1159@defun expt x y
1165This function returns @var{x} raised to power @var{y}. If both 1160This function returns @var{x} raised to power @var{y}. If both
1166arguments are integers and @var{y} is positive, the result is an 1161arguments are integers and @var{y} is positive, the result is an
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi
index ad9f4fc1aea..f4d6b590c77 100644
--- a/doc/lispref/package.texi
+++ b/doc/lispref/package.texi
@@ -265,7 +265,7 @@ variable @code{load-file-name} (@pxref{Loading}). Here is an example:
265 Via the Package Menu, users may download packages from @dfn{package 265 Via the Package Menu, users may download packages from @dfn{package
266archives}. Such archives are specified by the variable 266archives}. Such archives are specified by the variable
267@code{package-archives}, whose default value contains a single entry: 267@code{package-archives}, whose default value contains a single entry:
268the archive hosted by the GNU project at @url{elpa.gnu.org}. This 268the archive hosted by the GNU project at @url{http://elpa.gnu.org}. This
269section describes how to set up and maintain a package archive. 269section describes how to set up and maintain a package archive.
270 270
271@cindex base location, package archive 271@cindex base location, package archive
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index dfa121103bc..6bbd7a3a7b7 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -506,6 +506,11 @@ This function returns the current syntax table, which is the table for
506the current buffer. 506the current buffer.
507@end defun 507@end defun
508 508
509@deffn Command describe-syntax &optional buffer
510This command displays the contents of the syntax table of
511@var{buffer} (by default, the current buffer) in a help buffer.
512@end deffn
513
509@defmac with-syntax-table table body@dots{} 514@defmac with-syntax-table table body@dots{}
510This macro executes @var{body} using @var{table} as the current syntax 515This macro executes @var{body} using @var{table} as the current syntax
511table. It returns the value of the last form in @var{body}, after 516table. It returns the value of the last form in @var{body}, after
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 6d5a39d887a..c10458b39ae 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -1226,7 +1226,7 @@ list, which is in the variable @code{buffer-undo-list}.
1226 1226
1227@defvar buffer-undo-list 1227@defvar buffer-undo-list
1228This buffer-local variable's value is the undo list of the current 1228This buffer-local variable's value is the undo list of the current
1229buffer. A value of @code{t} disables the recording of undo information. 1229buffer. A value of @code{t} disables the recording of undo information.
1230@end defvar 1230@end defvar
1231 1231
1232Here are the kinds of elements an undo list can have: 1232Here are the kinds of elements an undo list can have:
@@ -2805,6 +2805,28 @@ from the specified range of text. Here's an example:
2805Do not rely on the return value of this function. 2805Do not rely on the return value of this function.
2806@end defun 2806@end defun
2807 2807
2808@defun add-face-text-property start end face &optional appendp object
2809@code{face} text attributes can be combined. If you want to make a
2810section both italic and green, you can either define a new face that
2811have those attributes, or you can add both these attributes separately
2812to text:
2813
2814@example
2815(add-face-text-property @var{start} @var{end} 'italic)
2816(add-face-text-property @var{start} @var{end} '(:foreground "#00ff00"))
2817@end example
2818
2819The attribute is (by default) prepended to the list of face
2820attributes, and the first attribute of the same type takes
2821precedence. So if you have two @code{:foreground} specifications, the
2822first one will take effect.
2823
2824If you pass in @var{appendp}, the attribute will be appended instead
2825of prepended, which means that it will have no effect if there is
2826already an attribute of the same type.
2827
2828@end defun
2829
2808 The easiest way to make a string with text properties 2830 The easiest way to make a string with text properties
2809is with @code{propertize}: 2831is with @code{propertize}:
2810 2832
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi
index c40ae408f7f..2e3760e573e 100644
--- a/doc/lispref/tips.texi
+++ b/doc/lispref/tips.texi
@@ -54,12 +54,12 @@ You should choose a short word to distinguish your program from other
54Lisp programs. The names of all global symbols in your program, that 54Lisp programs. The names of all global symbols in your program, that
55is the names of variables, constants, and functions, should begin with 55is the names of variables, constants, and functions, should begin with
56that chosen prefix. Separate the prefix from the rest of the name 56that chosen prefix. Separate the prefix from the rest of the name
57with a hyphen, @samp{-}. Use two hyphens if the symbol is not meant 57with a hyphen, @samp{-}. This practice helps avoid name conflicts,
58to be used by other packages. This practice helps avoid name 58since all global variables in Emacs Lisp share the same name space,
59conflicts, since all global variables in Emacs Lisp share the same 59and all functions share another name space@footnote{The benefits of a
60name space, and all functions share another name space@footnote{The 60Common Lisp-style package system are considered not to outweigh the
61benefits of a Common Lisp-style package system are considered not to 61costs.}. Use two hyphens to separate prefix and name if the symbol is
62outweigh the costs.}. 62not meant to be used by other packages.
63 63
64Occasionally, for a command name intended for users to use, it is more 64Occasionally, for a command name intended for users to use, it is more
65convenient if some words come before the package's name prefix. And 65convenient if some words come before the package's name prefix. And
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 4bcf7985f0c..4a38fa9ccd5 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -988,7 +988,7 @@ Here is an example:
988 (setq my-ticker (lambda () 988 (setq my-ticker (lambda ()
989 (setq x (1+ x))))) 989 (setq x (1+ x)))))
990 @result{} (closure ((x . 0) t) () 990 @result{} (closure ((x . 0) t) ()
991 (1+ x)) 991 (setq x (1+ x)))
992 992
993(funcall my-ticker) 993(funcall my-ticker)
994 @result{} 1 994 @result{} 1