aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJohn Wiegley2016-01-18 22:56:33 -0800
committerJohn Wiegley2016-01-18 22:56:33 -0800
commit6acd2aa02c6f0eb9d3fadce0bb48183837beafd8 (patch)
treed236a14dc554951c3e7c5a5b38a3bd98edc1315a /doc
parent564c84f4b12482aefe86539d2471607565c3ee7c (diff)
parent549a765efeca2748e68a5c6ce6c9238784e82535 (diff)
downloademacs-6acd2aa02c6f0eb9d3fadce0bb48183837beafd8.tar.gz
emacs-6acd2aa02c6f0eb9d3fadce0bb48183837beafd8.zip
-
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/files.texi7
-rw-r--r--doc/emacs/msdos.texi14
-rw-r--r--doc/lispref/display.texi21
-rw-r--r--doc/lispref/hooks.texi20
-rw-r--r--doc/lispref/loading.texi4
-rw-r--r--doc/lispref/markers.texi2
-rw-r--r--doc/lispref/minibuf.texi32
-rw-r--r--doc/lispref/nonascii.texi39
-rw-r--r--doc/lispref/processes.texi10
-rw-r--r--doc/lispref/searching.texi15
-rw-r--r--doc/lispref/text.texi40
-rw-r--r--doc/misc/autotype.texi8
-rw-r--r--doc/misc/texinfo.tex62
13 files changed, 226 insertions, 48 deletions
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index bfa55d38701..3d5562dcc47 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -881,9 +881,10 @@ Time-stamp: " "
881@code{before-save-hook} (@pxref{Hooks}). When you save the file, this 881@code{before-save-hook} (@pxref{Hooks}). When you save the file, this
882function then automatically updates the time stamp with the current 882function then automatically updates the time stamp with the current
883date and time. You can also use the command @kbd{M-x time-stamp} to 883date and time. You can also use the command @kbd{M-x time-stamp} to
884update the time stamp manually. For other customizations, see the 884update the time stamp manually. By default the time stamp is
885Custom group @code{time-stamp}. Note that the time stamp is formatted 885formatted according to your locale setting (@pxref{Environment}) and
886according to your locale setting (@pxref{Environment}). 886time zone (@pxref{Time of Day,,, elisp, The Emacs Lisp Reference
887Manual}). For customizations, see the Custom group @code{time-stamp}.
887 888
888@node Reverting 889@node Reverting
889@section Reverting a Buffer 890@section Reverting a Buffer
diff --git a/doc/emacs/msdos.texi b/doc/emacs/msdos.texi
index ea8a24d1cf7..6ad12d646a1 100644
--- a/doc/emacs/msdos.texi
+++ b/doc/emacs/msdos.texi
@@ -655,7 +655,7 @@ and the right button generates @kbd{mouse-3} events. If this variable
655is non-@code{nil}, the roles of these two buttons are reversed. 655is non-@code{nil}, the roles of these two buttons are reversed.
656 656
657@node Windows Processes 657@node Windows Processes
658@section Subprocesses on Windows 9X/ME and Windows NT/2K/XP 658@section Subprocesses on Windows 9X/ME and Windows NT/2K/XP/Vista/7/8/10
659@cindex subprocesses on MS-Windows 659@cindex subprocesses on MS-Windows
660 660
661@cindex DOS applications, running from Emacs 661@cindex DOS applications, running from Emacs
@@ -663,7 +663,8 @@ is non-@code{nil}, the roles of these two buttons are reversed.
663version) includes full support for asynchronous subprocesses. 663version) includes full support for asynchronous subprocesses.
664In the Windows version, synchronous and asynchronous subprocesses work 664In the Windows version, synchronous and asynchronous subprocesses work
665fine on both 665fine on both
666Windows 9X/ME and Windows NT/2K/XP as long as you run only 32-bit Windows 666Windows 9X/ME and Windows NT/2K/XP/Vista/7/8/10 as long as you run
667only 32-bit or 64-bit Windows
667applications. However, when you run a DOS application in a subprocess, 668applications. However, when you run a DOS application in a subprocess,
668you may encounter problems or be unable to run the application at all; 669you may encounter problems or be unable to run the application at all;
669and if you run two DOS applications at the same time in two 670and if you run two DOS applications at the same time in two
@@ -713,6 +714,15 @@ character. If the value is a character, Emacs uses that character to escape
713any quote characters that appear; otherwise it chooses a suitable escape 714any quote characters that appear; otherwise it chooses a suitable escape
714character based on the type of the program. 715character based on the type of the program.
715 716
717@vindex w32-pipe-buffer-size
718 The variable @code{w32-pipe-buffer-size} controls the size of the
719buffer Emacs requests from the system when it creates pipes for
720communications with subprocesses. The default value is zero, which
721lets the OS choose the size. Any valid positive value will request a
722buffer of that size in bytes. This can be used to tailor
723communications with subprocesses to programs that exhibit unusual
724behavior with respect to buffering pipe I/O.
725
716@ifnottex 726@ifnottex
717@findex w32-shell-execute 727@findex w32-shell-execute
718 The function @code{w32-shell-execute} can be useful for writing 728 The function @code{w32-shell-execute} can be useful for writing
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 93b00e17dac..d77059916fc 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -95,11 +95,6 @@ redisplay proceeded to completion; it could have been preempted by
95newly arriving input. 95newly arriving input.
96@end defun 96@end defun
97 97
98@defvar pre-redisplay-function
99A function run just before redisplay. It is called with one argument,
100the set of windows to redisplay.
101@end defvar
102
103 Although @code{redisplay} tries immediately to redisplay, it does 98 Although @code{redisplay} tries immediately to redisplay, it does
104not change how Emacs decides which parts of its frame(s) to redisplay. 99not change how Emacs decides which parts of its frame(s) to redisplay.
105By contrast, the following function adds certain windows to the 100By contrast, the following function adds certain windows to the
@@ -117,6 +112,19 @@ This function does not do a redisplay immediately; Emacs does that as
117it waits for input, or when the function @code{redisplay} is called. 112it waits for input, or when the function @code{redisplay} is called.
118@end defun 113@end defun
119 114
115@defvar pre-redisplay-function
116A function run just before redisplay. It is called with one argument,
117the set of windows to be redisplayed. The set can be @code{nil},
118meaning only the selected window, or @code{t}, meaning all the
119windows.
120@end defvar
121
122@defvar pre-redisplay-functions
123This hook is run just before redisplay. It is called once in each
124window that is about to be redisplayed, with @code{current-buffer} set
125to the buffer displayed in that window.
126@end defvar
127
120@node Truncation 128@node Truncation
121@section Truncation 129@section Truncation
122@cindex line wrapping 130@cindex line wrapping
@@ -1713,7 +1721,8 @@ invisible, which means that it does not appear on the screen.
1713@item intangible 1721@item intangible
1714@kindex intangible @r{(overlay property)} 1722@kindex intangible @r{(overlay property)}
1715The @code{intangible} property on an overlay works just like the 1723The @code{intangible} property on an overlay works just like the
1716@code{intangible} text property. @xref{Special Properties}, for details. 1724@code{intangible} text property. It is obsolete. @xref{Special
1725Properties}, for details.
1717 1726
1718@item isearch-open-invisible 1727@item isearch-open-invisible
1719This property tells incremental search how to make an invisible overlay 1728This property tells incremental search how to make an invisible overlay
diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi
index cbbaa8e5ea0..1027aa0343f 100644
--- a/doc/lispref/hooks.texi
+++ b/doc/lispref/hooks.texi
@@ -180,6 +180,26 @@ Hook run when about to switch windows with a mouse command.
180@item mouse-position-function 180@item mouse-position-function
181@xref{Mouse Position}. 181@xref{Mouse Position}.
182 182
183@item prefix-command-echo-keystrokes-functions
184@vindex prefix-command-echo-keystrokes-functions
185An abnormal hook run by prefix commands (such as @kbd{C-u}) which
186should return a string describing the current prefix state. For
187example, @kbd{C-u} produces @samp{C-u-} and @samp{C-u 1 2 3-}. Each
188hook function is called with no arguments and should return a string
189describing the current prefix state, or @code{nil} if there's no
190prefix state. @xref{Prefix Command Arguments}.
191
192@item prefix-command-preserve-state-hook
193@vindex prefix-command-preserve-state-hook
194Hook run when a prefix command needs to preserve the prefix by passing
195the current prefix command state to the next command. For example,
196@kbd{C-u} needs to pass the state to the next command when the user
197types @kbd{C-u -} or follows @kbd{C-u} with a digit.
198
199@item pre-redisplay-functions
200Hook run in each window just before redisplaying it. @xref{Forcing
201Redisplay}.
202
183@item post-command-hook 203@item post-command-hook
184@itemx pre-command-hook 204@itemx pre-command-hook
185@xref{Command Overview}. 205@xref{Command Overview}.
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index cb5c7012c16..18e67f1abfe 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -202,8 +202,8 @@ This variable specifies an alternate expression-reading function for
202@code{load} and @code{eval-region} to use instead of @code{read}. 202@code{load} and @code{eval-region} to use instead of @code{read}.
203The function should accept one argument, just as @code{read} does. 203The function should accept one argument, just as @code{read} does.
204 204
205Normally, the variable's value is @code{nil}, which means those 205By default, this variable's value is @code{read}. @xref{Input
206functions should use @code{read}. 206Functions}.
207 207
208Instead of using this variable, it is cleaner to use another, newer 208Instead of using this variable, it is cleaner to use another, newer
209feature: to pass the function as the @var{read-function} argument to 209feature: to pass the function as the @var{read-function} argument to
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi
index bf185431384..1c904666cb4 100644
--- a/doc/lispref/markers.texi
+++ b/doc/lispref/markers.texi
@@ -576,7 +576,7 @@ If an editor command sets this variable non-@code{nil}, then the editor
576command loop deactivates the mark after the command returns (if 576command loop deactivates the mark after the command returns (if
577Transient Mark mode is enabled). All the primitives that change the 577Transient Mark mode is enabled). All the primitives that change the
578buffer set @code{deactivate-mark}, to deactivate the mark when the 578buffer set @code{deactivate-mark}, to deactivate the mark when the
579command is finished. 579command is finished. Setting this variable makes it buffer-local.
580 580
581To write Lisp code that modifies the buffer without causing 581To write Lisp code that modifies the buffer without causing
582deactivation of the mark at the end of the command, bind 582deactivation of the mark at the end of the command, bind
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index bf9564627d6..e24d2cd643a 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -1236,14 +1236,14 @@ Lisp function. When possible, do all minibuffer input as part of
1236reading the arguments for a command, in the @code{interactive} 1236reading the arguments for a command, in the @code{interactive}
1237specification. @xref{Defining Commands}. 1237specification. @xref{Defining Commands}.
1238 1238
1239@defun read-buffer prompt &optional default require-match 1239@defun read-buffer prompt &optional default require-match predicate
1240This function reads the name of a buffer and returns it as a string. 1240This function reads the name of a buffer and returns it as a string.
1241The argument @var{default} is the default name to use, the value to 1241It prompts with @var{prompt}. The argument @var{default} is the
1242return if the user exits with an empty minibuffer. If non-@code{nil}, 1242default name to use, the value to return if the user exits with an
1243it should be a string, a list of strings, or a buffer. If it is 1243empty minibuffer. If non-@code{nil}, it should be a string, a list of
1244a list, the default value is the first element of this list. It is 1244strings, or a buffer. If it is a list, the default value is the first
1245mentioned in the prompt, but is not inserted in the minibuffer as 1245element of this list. It is mentioned in the prompt, but is not
1246initial input. 1246inserted in the minibuffer as initial input.
1247 1247
1248The argument @var{prompt} should be a string ending with a colon and a 1248The argument @var{prompt} should be a string ending with a colon and a
1249space. If @var{default} is non-@code{nil}, the function inserts it in 1249space. If @var{default} is non-@code{nil}, the function inserts it in
@@ -1253,6 +1253,12 @@ the minibuffer with a default value (@pxref{Programming Tips}).
1253The optional argument @var{require-match} has the same meaning as in 1253The optional argument @var{require-match} has the same meaning as in
1254@code{completing-read}. @xref{Minibuffer Completion}. 1254@code{completing-read}. @xref{Minibuffer Completion}.
1255 1255
1256The optional argument @var{predicate}, if non-@code{nil}, specifies a
1257function to filter the buffers that should be considered: the function
1258will be called with every potential candidate as its argument, and
1259should return @code{nil} to reject the candidate, non-@code{nil} to
1260accept it.
1261
1256In the following example, the user enters @samp{minibuffer.t}, and 1262In the following example, the user enters @samp{minibuffer.t}, and
1257then types @key{RET}. The argument @var{require-match} is @code{t}, 1263then types @key{RET}. The argument @var{require-match} is @code{t},
1258and the only buffer name starting with the given input is 1264and the only buffer name starting with the given input is
@@ -1287,7 +1293,7 @@ its usual work, with the same arguments passed to @code{read-buffer}.
1287 1293
1288@defopt read-buffer-completion-ignore-case 1294@defopt read-buffer-completion-ignore-case
1289If this variable is non-@code{nil}, @code{read-buffer} ignores case 1295If this variable is non-@code{nil}, @code{read-buffer} ignores case
1290when performing completion. 1296when performing completion while reading the buffer name.
1291@end defopt 1297@end defopt
1292 1298
1293@defun read-command prompt &optional default 1299@defun read-command prompt &optional default
@@ -1812,13 +1818,19 @@ emacs, The GNU Emacs Manual}. Its argument list and return value are
1812the same as for @code{display-sort-function}. 1818the same as for @code{display-sort-function}.
1813@end table 1819@end table
1814 1820
1815@defun completion-table-dynamic function 1821@defun completion-table-dynamic function &optional switch-buffer
1816This function is a convenient way to write a function that can act as 1822This function is a convenient way to write a function that can act as
1817a programmed completion function. The argument @var{function} should be 1823a programmed completion function. The argument @var{function} should be
1818a function that takes one argument, a string, and returns an alist of 1824a function that takes one argument, a string, and returns an alist of
1819possible completions of it. You can think of 1825possible completions of it. It is allowed to ignore the argument and
1826return a full list of all possible completions. You can think of
1820@code{completion-table-dynamic} as a transducer between that interface 1827@code{completion-table-dynamic} as a transducer between that interface
1821and the interface for programmed completion functions. 1828and the interface for programmed completion functions.
1829
1830If the optional argument @var{switch-buffer} is non-@code{nil}, and
1831completion is performed in the minibuffer, @var{function} will be
1832called with current buffer set to the buffer from which the minibuffer
1833was entered.
1822@end defun 1834@end defun
1823 1835
1824@defun completion-table-with-cache function &optional ignore-case 1836@defun completion-table-with-cache function &optional ignore-case
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 744351e384e..fca40238805 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -123,6 +123,45 @@ In other words, the value does not change for all byte positions that
123belong to the same character. 123belong to the same character.
124@end defun 124@end defun
125 125
126@cindex convert file byte to buffer position
127@cindex convert buffer position to file byte
128 The following two functions are useful when a Lisp program needs to
129map buffer positions to byte offsets in a file visited by the buffer.
130
131@defun bufferpos-to-filepos position &optional quality coding-system
132This function is similar to @code{position-bytes}, but instead of byte
133position in the current buffer it returns the offset from the
134beginning of the current buffer's file of the byte that corresponds to
135the given character @var{position} in the buffer. The conversion
136requires to know how the text is encoded in the buffer's file; this is
137what the @var{coding-system} argument is for, defaulting to the value
138of @code{buffer-file-coding-system}. The optional argument
139@var{quality} specifies how accurate the result should be; it should
140be one of the following:
141
142@table @code
143@item exact
144The result must be accurate. The function may need to encode and
145decode a large part of the buffer.
146@item approximate
147The value can be an approximation. The function may avoid expensive
148processing and return an inexact result.
149@item nil
150If the exact result needs expensive processing, the function will
151return @code{nil} rather than an approximation. This is the default
152if the argument is omitted.
153@end table
154@end defun
155
156@defun filepos-to-bufferpos byte &optional quality coding-system
157This function returns the buffer position corresponding to a file
158position specified by @var{byte}, a zero-base byte offset from the
159file's beginning. The function performs the conversion opposite to
160what @code{bufferpos-to-filepos} does. Optional arguments
161@var{quality} and @var{coding-system} have the same meaning and values
162as for @code{bufferpos-to-filepos}.
163@end defun
164
126@defun multibyte-string-p string 165@defun multibyte-string-p string
127Return @code{t} if @var{string} is a multibyte string, @code{nil} 166Return @code{t} if @var{string} is a multibyte string, @code{nil}
128otherwise. This function also returns @code{nil} if @var{string} is 167otherwise. This function also returns @code{nil} if @var{string} is
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 2a4bd8a067d..f660b159386 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -1138,10 +1138,12 @@ The function returns @var{process}.
1138@end defun 1138@end defun
1139 1139
1140@defun process-running-child-p &optional process 1140@defun process-running-child-p &optional process
1141This function will tell you whether a @var{process} has given control of 1141This function will tell you whether a @var{process} has given control
1142its terminal to its own child process. The value is @code{t} if this is 1142of its terminal to its own child process. If this is true, the
1143true, or if Emacs cannot tell; it is @code{nil} if Emacs can be certain 1143function returns the numeric ID of the foreground process group of
1144that this is not so. 1144@var{process}; it returns @code{nil} if Emacs can be certain that this
1145is not so. The value is @code{t} if Emacs cannot tell whether this is
1146true.
1145@end defun 1147@end defun
1146 1148
1147@node Signals to Processes 1149@node Signals to Processes
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 5ff7ef1cf66..1243d720bc3 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1151,16 +1151,17 @@ comes back" twice.
1151@end example 1151@end example
1152@end defun 1152@end defun
1153 1153
1154@defun looking-back regexp &optional limit greedy 1154@defun looking-back regexp limit &optional greedy
1155This function returns @code{t} if @var{regexp} matches the text 1155This function returns @code{t} if @var{regexp} matches the text
1156immediately before point (i.e., ending at point), and @code{nil} otherwise. 1156immediately before point (i.e., ending at point), and @code{nil} otherwise.
1157 1157
1158Because regular expression matching works only going forward, this is 1158Because regular expression matching works only going forward, this is
1159implemented by searching backwards from point for a match that ends at 1159implemented by searching backwards from point for a match that ends at
1160point. That can be quite slow if it has to search a long distance. 1160point. That can be quite slow if it has to search a long distance.
1161You can bound the time required by specifying @var{limit}, which says 1161You can bound the time required by specifying a non-@code{nil} value
1162not to search before @var{limit}. In this case, the match that is 1162for @var{limit}, which says not to search before @var{limit}. In this
1163found must begin at or after @var{limit}. Here's an example: 1163case, the match that is found must begin at or after @var{limit}.
1164Here's an example:
1164 1165
1165@example 1166@example
1166@group 1167@group
@@ -1178,9 +1179,9 @@ comes back" twice.
1178 1179
1179If @var{greedy} is non-@code{nil}, this function extends the match 1180If @var{greedy} is non-@code{nil}, this function extends the match
1180backwards as far as possible, stopping when a single additional 1181backwards as far as possible, stopping when a single additional
1181previous character cannot be part of a match for regexp. When the 1182previous character cannot be part of a match for @var{regexp}. When
1182match is extended, its starting position is allowed to occur before 1183the match is extended, its starting position is allowed to occur
1183@var{limit}. 1184before @var{limit}.
1184 1185
1185@c http://debbugs.gnu.org/5689 1186@c http://debbugs.gnu.org/5689
1186As a general recommendation, try to avoid using @code{looking-back} 1187As a general recommendation, try to avoid using @code{looking-back}
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 5d9f192b111..41991c9482c 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -3380,14 +3380,22 @@ If consecutive characters have unequal non-@code{nil}
3380@code{intangible} properties, they belong to separate groups; each 3380@code{intangible} properties, they belong to separate groups; each
3381group is separately treated as described above. 3381group is separately treated as described above.
3382 3382
3383When the variable @code{inhibit-point-motion-hooks} is non-@code{nil}, 3383When the variable @code{inhibit-point-motion-hooks} is non-@code{nil}
3384the @code{intangible} property is ignored. 3384(as it is by default), the @code{intangible} property is ignored.
3385 3385
3386Beware: this property operates at a very low level, and affects a lot of code 3386Beware: this property operates at a very low level, and affects a lot of code
3387in unexpected ways. So use it with extreme caution. A common misuse is to put 3387in unexpected ways. So use it with extreme caution. A common misuse is to put
3388an intangible property on invisible text, which is actually unnecessary since 3388an intangible property on invisible text, which is actually unnecessary since
3389the command loop will move point outside of the invisible text at the end of 3389the command loop will move point outside of the invisible text at the end of
3390each command anyway. @xref{Adjusting Point}. 3390each command anyway. @xref{Adjusting Point}. For these reasons, this
3391property is obsolete; use the @code{cursor-intangible} property instead.
3392
3393@item cursor-intangible
3394@kindex cursor-intangible @r{(text property)}
3395@findex cursor-intangible-mode
3396When the minor mode @code{cursor-intangible-mode} is turned on, point
3397is moved away of any position that has a non-@code{nil}
3398@code{cursor-intangible} property, just before redisplay happens.
3391 3399
3392@item field 3400@item field
3393@kindex field @r{(text property)} 3401@kindex field @r{(text property)}
@@ -3550,9 +3558,23 @@ It is possible to use @code{char-after} to examine characters at various
3550buffer positions without moving point to those positions. Only an 3558buffer positions without moving point to those positions. Only an
3551actual change in the value of point runs these hook functions. 3559actual change in the value of point runs these hook functions.
3552 3560
3553The variable @code{inhibit-point-motion-hooks} can inhibit running the 3561The variable @code{inhibit-point-motion-hooks} by default inhibits
3554@code{point-left} and @code{point-entered} hooks, see @ref{Inhibit 3562running the @code{point-left} and @code{point-entered} hooks, see
3555point motion hooks}. 3563@ref{Inhibit point motion hooks}.
3564
3565These properties are obsolete; please use
3566@code{cursor-sensor-functions} instead.
3567
3568@item cursor-sensor-functions
3569@kindex cursor-sensor-functions @r{(text property)}
3570@findex cursor-sensor-mode
3571This special property records a list of functions that react to cursor
3572motion. Each function in the list is called, just before redisplay,
3573with 3 arguments: the affected window, the previous known position of
3574the cursor, and one of the symbols @code{entered} or @code{left},
3575depending on whether the cursor is entering the text that has this
3576property or leaving it. The functions are called only when the minor
3577mode @code{cursor-sensor-mode} is turned on.
3556 3578
3557@item composition 3579@item composition
3558@kindex composition @r{(text property)} 3580@kindex composition @r{(text property)}
@@ -3564,10 +3586,12 @@ directly by, for instance, @code{put-text-property}.
3564@end table 3586@end table
3565 3587
3566@defvar inhibit-point-motion-hooks 3588@defvar inhibit-point-motion-hooks
3567@anchor{Inhibit point motion hooks} When this variable is 3589@anchor{Inhibit point motion hooks} When this obsolete variable is
3568non-@code{nil}, @code{point-left} and @code{point-entered} hooks are 3590non-@code{nil}, @code{point-left} and @code{point-entered} hooks are
3569not run, and the @code{intangible} property has no effect. Do not set 3591not run, and the @code{intangible} property has no effect. Do not set
3570this variable globally; bind it with @code{let}. 3592this variable globally; bind it with @code{let}. Since the affected
3593properties are obsolete, this variable's default value is @code{t}, to
3594effectively disable them.
3571@end defvar 3595@end defvar
3572 3596
3573@defvar show-help-function 3597@defvar show-help-function
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi
index 839782a3b51..6bdbd344c7a 100644
--- a/doc/misc/autotype.texi
+++ b/doc/misc/autotype.texi
@@ -531,15 +531,17 @@ then @code{time-stamp} is conveniently listed as an option in the
531customization buffer. 531customization buffer.
532 532
533@vindex time-stamp-active 533@vindex time-stamp-active
534@findex time-stamp-toggle-active
534@vindex time-stamp-format 535@vindex time-stamp-format
535@vindex time-stamp-start 536@vindex time-stamp-time-zone
536The time stamp is updated only if the customizable variable 537The time stamp is updated only if the customizable variable
537@code{time-stamp-active} is on, which it is by default; the command 538@code{time-stamp-active} is on, which it is by default; the command
538@code{time-stamp-toggle-active} can be used to toggle it. The format of 539@code{time-stamp-toggle-active} can be used to toggle it. The format of
539the time stamp is set by the customizable variable 540the time stamp is set by the customizable variables
540@code{time-stamp-format}. 541@code{time-stamp-format} and @code{time-stamp-time-zone}.
541 542
542@vindex time-stamp-line-limit 543@vindex time-stamp-line-limit
544@vindex time-stamp-start
543@vindex time-stamp-end 545@vindex time-stamp-end
544@vindex time-stamp-count 546@vindex time-stamp-count
545@vindex time-stamp-inserts-lines 547@vindex time-stamp-inserts-lines
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index f140bba94b8..936c32dc5f4 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,11 +3,11 @@
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2015-12-20.12} 6\def\texinfoversion{2016-01-11.19}
7% 7%
8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
10% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 10% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
11% Free Software Foundation, Inc. 11% Free Software Foundation, Inc.
12% 12%
13% This texinfo.tex file is free software: you can redistribute it and/or 13% This texinfo.tex file is free software: you can redistribute it and/or
@@ -9428,6 +9428,45 @@ directory should work if nowhere else does.}
9428 \global\righthyphenmin = #3\relax 9428 \global\righthyphenmin = #3\relax
9429} 9429}
9430 9430
9431% Get input by bytes instead of by UTF-8 codepoints for XeTeX and LuaTeX,
9432% otherwise the encoding support is completely broken.
9433\ifx\XeTeXrevision\thisisundefined
9434\else
9435\XeTeXdefaultencoding "bytes" % For subsequent files to be read
9436\XeTeXinputencoding "bytes" % Effective in texinfo.tex only
9437% Unfortunately, there seems to be no corresponding XeTeX command for
9438% output encoding. This is a problem for auxiliary index and TOC files.
9439% The only solution would be perhaps to write out @U{...} sequences in
9440% place of UTF-8 characters.
9441\fi
9442
9443\ifx\luatexversion\thisisundefined
9444\else
9445\directlua{
9446local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub
9447local function convert_char (char)
9448 return utf8_char(byte(char))
9449end
9450
9451local function convert_line (line)
9452 return gsub(line, ".", convert_char)
9453end
9454
9455callback.register("process_input_buffer", convert_line)
9456
9457local function convert_line_out (line)
9458 local line_out = ""
9459 for c in string.utfvalues(line) do
9460 line_out = line_out .. string.char(c)
9461 end
9462 return line_out
9463end
9464
9465callback.register("process_output_buffer", convert_line_out)
9466}
9467\fi
9468
9469
9431% Helpers for encodings. 9470% Helpers for encodings.
9432% Set the catcode of characters 128 through 255 to the specified number. 9471% Set the catcode of characters 128 through 255 to the specified number.
9433% 9472%
@@ -9452,6 +9491,14 @@ directory should work if nowhere else does.}
9452% 9491%
9453\def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz} 9492\def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz}
9454\def\documentencodingzzz#1{% 9493\def\documentencodingzzz#1{%
9494 % Get input by bytes instead of by UTF-8 codepoints for XeTeX,
9495 % otherwise the encoding support is completely broken.
9496 % This settings is for the document root file.
9497 \ifx\XeTeXrevision\thisisundefined
9498 \else
9499 \XeTeXinputencoding "bytes"
9500 \fi
9501 %
9455 % Encoding being declared for the document. 9502 % Encoding being declared for the document.
9456 \def\declaredencoding{\csname #1.enc\endcsname}% 9503 \def\declaredencoding{\csname #1.enc\endcsname}%
9457 % 9504 %
@@ -11004,9 +11051,20 @@ directory should work if nowhere else does.}
11004{@catcode`@^=7 @catcode`@^^M=13% 11051{@catcode`@^=7 @catcode`@^^M=13%
11005@gdef@eatinput input texinfo#1^^M{@fixbackslash}} 11052@gdef@eatinput input texinfo#1^^M{@fixbackslash}}
11006 11053
11054% Emergency active definition of newline, in case an active newline token
11055% appears by mistake.
11056{@catcode`@^=7 @catcode13=13%
11057@gdef@enableemergencynewline{%
11058 @gdef^^M{%
11059 @par%
11060 %<warning: active newline>@par%
11061}}}
11062
11063
11007@gdef@fixbackslash{% 11064@gdef@fixbackslash{%
11008 @ifx\@eatinput @let\ = @ttbackslash @fi 11065 @ifx\@eatinput @let\ = @ttbackslash @fi
11009 @catcode13=5 % regular end of line 11066 @catcode13=5 % regular end of line
11067 @enableemergencynewline
11010 @let@c=@texinfoc 11068 @let@c=@texinfoc
11011 % Also turn back on active characters that might appear in the input 11069 % Also turn back on active characters that might appear in the input
11012 % file name, in case not using a pre-dumped format. 11070 % file name, in case not using a pre-dumped format.