aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2019-05-23 10:53:23 +0900
committerYAMAMOTO Mitsuharu2019-05-23 10:53:23 +0900
commitb40dde705af4d53853de6185a2468153b442dc9a (patch)
treee8dabba695163c2d07439fad6accff761f8f714c /doc/lispref
parent5d7dafacf4afc888511649f6fc24c28210cd0dfc (diff)
parent03feb9376b54c489e24478954a11061e9b0d6db7 (diff)
downloademacs-b40dde705af4d53853de6185a2468153b442dc9a.tar.gz
emacs-b40dde705af4d53853de6185a2468153b442dc9a.zip
Merge branch 'master' into harfbuzz
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/commands.texi9
-rw-r--r--doc/lispref/hooks.texi1
-rw-r--r--doc/lispref/internals.texi11
-rw-r--r--doc/lispref/loading.texi23
-rw-r--r--doc/lispref/modes.texi7
-rw-r--r--doc/lispref/nonascii.texi2
-rw-r--r--doc/lispref/os.texi7
-rw-r--r--doc/lispref/processes.texi2
-rw-r--r--doc/lispref/searching.texi7
-rw-r--r--doc/lispref/sequences.texi2
-rw-r--r--doc/lispref/text.texi8
-rw-r--r--doc/lispref/variables.texi2
-rw-r--r--doc/lispref/windows.texi67
13 files changed, 131 insertions, 17 deletions
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index cd44c1c87ef..5ea0be2667b 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1047,12 +1047,9 @@ and meaning of input events in detail.
1047This function returns non-@code{nil} if @var{object} is an input event 1047This function returns non-@code{nil} if @var{object} is an input event
1048or event type. 1048or event type.
1049 1049
1050Note that any symbol might be used as an event or an event type. 1050Note that any non-@code{nil} symbol might be used as an event or an
1051@code{eventp} cannot distinguish whether a symbol is intended by Lisp 1051event type; @code{eventp} cannot distinguish whether a symbol is
1052code to be used as an event. Instead, it distinguishes whether the 1052intended by Lisp code to be used as an event.
1053symbol has actually been used in an event that has been read as input in
1054the current Emacs session. If a symbol has not yet been so used,
1055@code{eventp} returns @code{nil}.
1056@end defun 1053@end defun
1057 1054
1058@menu 1055@menu
diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi
index 71992464e09..f775aa4d4b0 100644
--- a/doc/lispref/hooks.texi
+++ b/doc/lispref/hooks.texi
@@ -251,6 +251,7 @@ I thought did not need to be mentioned here:
251 251
252Lisp: 252Lisp:
253after-load-functions 253after-load-functions
254after-set-visited-file-name-hook
254auto-coding-functions 255auto-coding-functions
255choose-completion-string-functions 256choose-completion-string-functions
256completing-read-function 257completing-read-function
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index 5ae71afbef2..cfeb492af40 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -1191,6 +1191,17 @@ grow with new Emacs releases. Given the version of Emacs, the module
1191can use only the parts of the module @acronym{API} that existed in 1191can use only the parts of the module @acronym{API} that existed in
1192that version, since those parts are identical in later versions. 1192that version, since those parts are identical in later versions.
1193 1193
1194@file{emacs-module.h} defines a preprocessor macro
1195@code{EMACS_MAJOR_VERSION}. It expands to an integer literal which is
1196the latest major version of Emacs supported by the header.
1197@xref{Version Info}. Note that the value of
1198@code{EMACS_MAJOR_VERSION} is a compile-time constant and does not
1199represent the version of Emacs that is currently running and has
1200loaded your module. If you want your module to be compatible with
1201various versions of @file{emacs-module.h} as well as various versions
1202of Emacs, you can use conditional compilation based on
1203@code{EMACS_MAJOR_VERSION}.
1204
1194We recommend that modules always perform the compatibility 1205We recommend that modules always perform the compatibility
1195verification, unless they do their job entirely in the initialization 1206verification, unless they do their job entirely in the initialization
1196function, and don't access any Lisp objects or use any Emacs functions 1207function, and don't access any Lisp objects or use any Emacs functions
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 6f1213f097b..3261e6d1888 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -466,9 +466,11 @@ first call to the function automatically loads the proper library, in
466order to install the real definition and other associated code, then 466order to install the real definition and other associated code, then
467runs the real definition as if it had been loaded all along. 467runs the real definition as if it had been loaded all along.
468Autoloading can also be triggered by looking up the documentation of 468Autoloading can also be triggered by looking up the documentation of
469the function or macro (@pxref{Documentation Basics}). 469the function or macro (@pxref{Documentation Basics}), and completion
470of variable and function names (@pxref{Autoload by Prefix} below).
470 471
471@menu 472@menu
473* Autoload by Prefix:: Autoload by Prefix.
472* When to Autoload:: When to Use Autoload. 474* When to Autoload:: When to Use Autoload.
473@end menu 475@end menu
474 476
@@ -703,6 +705,25 @@ symbol's new function value. If the value of the optional argument
703function, only a macro. 705function, only a macro.
704@end defun 706@end defun
705 707
708@node Autoload by Prefix
709@subsection Autoload by Prefix
710@cindex autoload by prefix
711
712@vindex definition-prefixes
713@findex register-definition-prefixes
714@vindex autoload-compute-prefixes
715During completion for the commands @code{describe-variable} and
716@code{describe-function}, Emacs will try to load files which may
717contain definitions matching the prefix being completed. The variable
718@code{definition-prefixes} holds a hashtable which maps a prefix to
719the corresponding list of files to load for it. Entries to this
720mapping are added by calls to @code{register-definition-prefixes}
721which are generated by @code{update-file-autoloads}
722(@pxref{Autoload}). Files which don't contain any definitions worth
723loading (test files, for examples), should set
724@code{autoload-compute-prefixes} to @code{nil} as a file-local
725variable.
726
706@node When to Autoload 727@node When to Autoload
707@subsection When to Use Autoload 728@subsection When to Use Autoload
708@cindex autoload, when to use 729@cindex autoload, when to use
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 4315b70ed72..97e9be9918f 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -3238,7 +3238,12 @@ is disabled, @code{font-lock-face} has no effect on the display.
3238 It is ok for a mode to use @code{font-lock-face} for some text and 3238 It is ok for a mode to use @code{font-lock-face} for some text and
3239also use the normal Font Lock machinery. But if the mode does not use 3239also use the normal Font Lock machinery. But if the mode does not use
3240the normal Font Lock machinery, it should not set the variable 3240the normal Font Lock machinery, it should not set the variable
3241@code{font-lock-defaults}. 3241@code{font-lock-defaults}. In this case the @code{face} property will
3242not be overriden, so using the @code{face} property could work too.
3243However, using @code{font-lock-face} is generally preferable as it
3244allows the user to control the fontification by toggling
3245@code{font-lock-mode}, and lets the code work regardless of whether
3246the mode uses Font Lock machinery or not.
3242 3247
3243@node Faces for Font Lock 3248@node Faces for Font Lock
3244@subsection Faces for Font Lock 3249@subsection Faces for Font Lock
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 9c64c3cf2ca..47206a406fd 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -1049,7 +1049,7 @@ is like @code{undecided}, but it prefers to choose @code{utf-8} when
1049possible. 1049possible.
1050 1050
1051 In general, a coding system doesn't guarantee roundtrip identity: 1051 In general, a coding system doesn't guarantee roundtrip identity:
1052decoding a byte sequence using coding system, then encoding the 1052decoding a byte sequence using a coding system, then encoding the
1053resulting text in the same coding system, can produce a different byte 1053resulting text in the same coding system, can produce a different byte
1054sequence. But some coding systems do guarantee that the byte sequence 1054sequence. But some coding systems do guarantee that the byte sequence
1055will be the same as what you originally decoded. Here are a few 1055will be the same as what you originally decoded. Here are a few
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 59cd5a8fe8a..fef954eb7a3 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -2197,7 +2197,7 @@ is the character Emacs currently uses for quitting, usually @kbd{C-g}.
2197@subsection Recording Input 2197@subsection Recording Input
2198@cindex recording input 2198@cindex recording input
2199 2199
2200@defun recent-keys 2200@defun recent-keys &optional include-cmds
2201This function returns a vector containing the last 300 input events from 2201This function returns a vector containing the last 300 input events from
2202the keyboard or mouse. All input events are included, whether or not 2202the keyboard or mouse. All input events are included, whether or not
2203they were used as parts of key sequences. Thus, you always get the last 2203they were used as parts of key sequences. Thus, you always get the last
@@ -2205,6 +2205,11 @@ they were used as parts of key sequences. Thus, you always get the last
2205(These are excluded because they are less interesting for debugging; it 2205(These are excluded because they are less interesting for debugging; it
2206should be enough to see the events that invoked the macros.) 2206should be enough to see the events that invoked the macros.)
2207 2207
2208If @var{include-cmds} is non-@code{nil}, complete key sequences in the
2209result vector are interleaved with pseudo-events of the form
2210@code{(nil . @var{COMMAND})}, where @var{COMMAND} is the binding of
2211the key sequence (@pxref{Command Overview}).
2212
2208A call to @code{clear-this-command-keys} (@pxref{Command Loop Info}) 2213A call to @code{clear-this-command-keys} (@pxref{Command Loop Info})
2209causes this function to return an empty vector immediately afterward. 2214causes this function to return an empty vector immediately afterward.
2210@end defun 2215@end defun
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 69f781e3a9f..b73401a62a2 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -1688,7 +1688,7 @@ how to do these things:
1688 (save-excursion 1688 (save-excursion
1689 ;; @r{Insert the text, advancing the process marker.} 1689 ;; @r{Insert the text, advancing the process marker.}
1690 (goto-char (process-mark proc)) 1690 (goto-char (process-mark proc))
1691 (insert string) 1691 (insert-before-markers string)
1692 (set-marker (process-mark proc) (point))) 1692 (set-marker (process-mark proc) (point)))
1693 (if moving (goto-char (process-mark proc))))))) 1693 (if moving (goto-char (process-mark proc)))))))
1694@end group 1694@end group
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 8775254dd07..24f30b4dac6 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1070,6 +1070,13 @@ list of characters @var{chars}.
1070 1070
1071@c Internal functions: regexp-opt-group 1071@c Internal functions: regexp-opt-group
1072 1072
1073@defvar regexp-unmatchable
1074This variable contains a regexp that is guaranteed not to match any
1075string at all. It is particularly useful as default value for
1076variables that may be set to a pattern that actually matches
1077something.
1078@end defvar
1079
1073@node Regexp Search 1080@node Regexp Search
1074@section Regular Expression Searching 1081@section Regular Expression Searching
1075@cindex regular expression searching 1082@cindex regular expression searching
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index a7f270c0680..4b67a5f9f1a 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -601,7 +601,7 @@ returned value is a list.
601@defun seq-mapn function &rest sequences 601@defun seq-mapn function &rest sequences
602 This function returns the result of applying @var{function} to each 602 This function returns the result of applying @var{function} to each
603element of @var{sequences}. The arity (@pxref{What Is a Function, 603element of @var{sequences}. The arity (@pxref{What Is a Function,
604sub-arity}) of @var{function} must match the number of sequences. 604subr-arity}) of @var{function} must match the number of sequences.
605Mapping stops at the end of the shortest sequence, and the returned 605Mapping stops at the end of the shortest sequence, and the returned
606value is a list. 606value is a list.
607 607
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 500df1f8f0d..278bc3c2680 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -2252,9 +2252,11 @@ If it is impossible to move to column @var{column} because that is in
2252the middle of a multicolumn character such as a tab, point moves to the 2252the middle of a multicolumn character such as a tab, point moves to the
2253end of that character. However, if @var{force} is non-@code{nil}, and 2253end of that character. However, if @var{force} is non-@code{nil}, and
2254@var{column} is in the middle of a tab, then @code{move-to-column} 2254@var{column} is in the middle of a tab, then @code{move-to-column}
2255converts the tab into spaces so that it can move precisely to column 2255either converts the tab into spaces (when @code{indent-tabs-mode} is
2256@var{column}. Other multicolumn characters can cause anomalies despite 2256@code{nil}), or inserts enough spaces before it (otherwise), so that
2257@var{force}, since there is no way to split them. 2257point can move precisely to column @var{column}. Other multicolumn
2258characters can cause anomalies despite @var{force}, since there is no
2259way to split them.
2258 2260
2259The argument @var{force} also has an effect if the line isn't long 2261The argument @var{force} also has an effect if the line isn't long
2260enough to reach column @var{column}; if it is @code{t}, that means to 2262enough to reach column @var{column}; if it is @code{t}, that means to
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index aca7d2f5e93..932b7c829b9 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -2009,7 +2009,7 @@ all files in those directories. The list in @var{variables} can be of
2009one of the two forms: @code{(@var{major-mode} . @var{alist})} or 2009one of the two forms: @code{(@var{major-mode} . @var{alist})} or
2010@code{(@var{directory} . @var{list})}. With the first form, if the 2010@code{(@var{directory} . @var{list})}. With the first form, if the
2011file's buffer turns on a mode that is derived from @var{major-mode}, 2011file's buffer turns on a mode that is derived from @var{major-mode},
2012then the all the variables in the associated @var{alist} are applied; 2012then all the variables in the associated @var{alist} are applied;
2013@var{alist} should be of the form @code{(@var{name} . @var{value})}. 2013@var{alist} should be of the form @code{(@var{name} . @var{value})}.
2014A special value @code{nil} for @var{major-mode} means the settings are 2014A special value @code{nil} for @var{major-mode} means the settings are
2015applicable to any mode. In @var{alist}, you can use a special 2015applicable to any mode. In @var{alist}, you can use a special
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 32e8c2afa31..96e42a148c5 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -2601,6 +2601,63 @@ window and displaying the buffer in that window. It can fail if all
2601windows are dedicated to other buffers (@pxref{Dedicated Windows}). 2601windows are dedicated to other buffers (@pxref{Dedicated Windows}).
2602@end defun 2602@end defun
2603 2603
2604@defun display-buffer-in-direction buffer alist
2605This function tries to display @var{buffer} at a location specified by
2606@var{alist}. For this purpose, @var{alist} should contain a
2607@code{direction} entry whose value is one of @code{left}, @code{above}
2608(or @code{up}), @code{right} and @code{below} (or @code{down}). Other
2609values are usually interpreted as @code{below}.
2610
2611If @var{alist} also contains a @code{window} entry, its value
2612specifies a reference window. That value can be a special symbol like
2613@code{main} which stands for the selected frame's main window
2614(@pxref{Side Window Options and Functions}) or @code{root} standing
2615for the selected frame's root window (@pxref{Windows and Frames}). It
2616can also specify an arbitrary valid window. Any other value (or
2617omitting the @code{window} entry entirely) means to use the selected
2618window as reference window.
2619
2620This function first tries to reuse a window in the specified direction
2621that already shows @var{buffer}. If no such window exists, it tries
2622to split the reference window in order to produce a new window in the
2623specified direction. If this fails as well, it will try to display
2624@var{buffer} in an existing window in the specified direction. In
2625either case, the window chosen will appear on the side of the
2626reference window specified by the @code{direction} entry, sharing at
2627least one edge with the reference window.
2628
2629If the reference window is live, the edge the chosen window will share
2630with it is always the opposite of the one specified by the
2631@code{direction} entry. For example, if the value of the
2632@code{direction} entry is @code{left}, the chosen window's right edge
2633coordinate (@pxref{Coordinates and Windows}) will equal the reference
2634window's left edge coordinate.
2635
2636If the reference window is internal, a reused window must share with
2637it the edge specified by the @code{direction} entry. Hence if, for
2638example, the reference window is the frame's root window and the value
2639of the @code{direction} entry is @code{left}, a reused window must be
2640on the left of the frame. This means that the left edge coordinate of
2641the chosen window and that of the reference window are the same.
2642
2643A new window, however, will be created by splitting the reference
2644window such that the chosen window will share the opposite edge with
2645the reference window. In our example, a new root window would be
2646created with a new live window and the reference window as its
2647children. The chosen window's right edge coordinate would then equal
2648the left edge coordinate of the reference window. Its left edge
2649coordinate would equal the left edge coordinate of the frame's new
2650root window.
2651
2652Four special values for @code{direction} entries allow to implicitly
2653specify the selected frame's main window as the reference window:
2654@code{leftmost}, @code{top}, @code{rightmost} and @code{bottom}. This
2655means that instead of, for example, @w{@code{(direction . left)
2656(window . main)}} one can just specify @w{@code{(direction
2657. leftmost)}}. An existing @code{window} @var{alist} entry is ignored
2658in such cases.
2659@end defun
2660
2604@defun display-buffer-below-selected buffer alist 2661@defun display-buffer-below-selected buffer alist
2605This function tries to display @var{buffer} in a window below the 2662This function tries to display @var{buffer} in a window below the
2606selected window. If there is a window below the selected one and that 2663selected window. If there is a window below the selected one and that
@@ -2934,12 +2991,20 @@ If non-@code{nil}, the value specifies the slot of the side window
2934supposed to display the buffer. This entry is used only by 2991supposed to display the buffer. This entry is used only by
2935@code{display-buffer-in-side-window}. 2992@code{display-buffer-in-side-window}.
2936 2993
2994@vindex direction@r{, a buffer display action alist entry}
2995@item direction
2996The value specifies a direction which, together with a @code{window}
2997entry, allows @code{display-buffer-in-direction} to determine the
2998location of the window to display the buffer.
2999
2937@vindex window@r{, a buffer display action alist entry} 3000@vindex window@r{, a buffer display action alist entry}
2938@item window 3001@item window
2939The value specifies a window that is in some way related to the window 3002The value specifies a window that is in some way related to the window
2940chosen by @code{display-buffer}. This entry is currently used by 3003chosen by @code{display-buffer}. This entry is currently used by
2941@code{display-buffer-in-atom-window} to indicate the window on whose 3004@code{display-buffer-in-atom-window} to indicate the window on whose
2942side the new window shall be created. 3005side the new window shall be created. It is also used by
3006@code{display-buffer-in-direction} to specify the reference window on
3007whose side the resulting window shall appear.
2943 3008
2944@vindex allow-no-window@r{, a buffer display action alist entry} 3009@vindex allow-no-window@r{, a buffer display action alist entry}
2945@item allow-no-window 3010@item allow-no-window