aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref
diff options
context:
space:
mode:
authorGlenn Morris2018-02-09 11:12:48 -0800
committerGlenn Morris2018-02-09 11:12:48 -0800
commit875cb835f00260d58c536b3a3f7c0343fd5f28dc (patch)
tree4f59af87328e8d4d69667b3b35c42f795e7d3d29 /doc/lispref
parent05e8b4392be7fb368dcf4e4a19f75f94b323028d (diff)
parent0276743672672ce0caec7861741293a4ae11cb52 (diff)
downloademacs-875cb835f00260d58c536b3a3f7c0343fd5f28dc.tar.gz
emacs-875cb835f00260d58c536b3a3f7c0343fd5f28dc.zip
Merge from origin/emacs-26
0276743 (origin/emacs-26) Doc string fix in latin-alt.el c9269af Minor improvements in package.texi 898a3e4 Minor improvement in Emacs user manual 8f7d718 * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3. 989d0af Improve documentation of mini-window resizing 923e415 More changes in the Emacs manual 565adf2 Clarify that text-quoting-style doesn't affect *Info* (Bug#24... 2dd273b Mention that shell quoting of % on w32 may fail (Bug#19350) 19fa6d5 Fix --no-build-details for w32 and macOS 979944c * doc/lispref/anti.texi (Antinews): Add some more antinews. c2727e3 Fix crashes when run with --no-build-details dc08490 More changes for the manual 04c5bd5 Doc fixes for process functions (Bug#30349) e209034 Fix shr and CSS 4 color maps 5fe8192 Yet another round of improvements in the manual Conflicts: doc/emacs/files.texi test/lisp/subr-tests.el
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/anti.texi121
-rw-r--r--doc/lispref/backups.texi80
-rw-r--r--doc/lispref/display.texi2
-rw-r--r--doc/lispref/minibuf.texi12
-rw-r--r--doc/lispref/os.texi4
-rw-r--r--doc/lispref/processes.texi7
6 files changed, 206 insertions, 20 deletions
diff --git a/doc/lispref/anti.texi b/doc/lispref/anti.texi
index b6df9fe2e39..ef28415d591 100644
--- a/doc/lispref/anti.texi
+++ b/doc/lispref/anti.texi
@@ -10,7 +10,7 @@
10@c Update the elisp.texi Antinews menu entry with the above version number. 10@c Update the elisp.texi Antinews menu entry with the above version number.
11 11
12For those users who live backwards in time, here is information about 12For those users who live backwards in time, here is information about
13downgrading to Emacs version 25.2. We hope you will enjoy the greater 13downgrading to Emacs version 25.3. We hope you will enjoy the greater
14simplicity that results from the absence of many @w{Emacs 14simplicity that results from the absence of many @w{Emacs
15@value{EMACSVER}} features. 15@value{EMACSVER}} features.
16 16
@@ -48,6 +48,15 @@ specialized library for their support was deemed an unnecessary
48maintenance burden. 48maintenance burden.
49 49
50@item 50@item
51The time conversion functions @code{current-time-string},
52@code{current-time-zone}, @code{decode-time},
53@code{format-time-string}, and @code{set-time-zone-rule} no longer
54accept integer offsets as time zone rules, to make it more of a
55challenge to convert foreign timestamps. Also,
56@code{format-time-string} no longer converts @samp{%q} to the calendar
57quarter, as that is something you can easily do for yourself.
58
59@item
51Field numbers like @samp{%2$} in format specifiers are no longer 60Field numbers like @samp{%2$} in format specifiers are no longer
52available. We decided that their use makes code reading and 61available. We decided that their use makes code reading and
53comprehension much harder, and that having them is unjustified in the 62comprehension much harder, and that having them is unjustified in the
@@ -84,12 +93,38 @@ confusing differences between the operation of these functions in
84interactive and non-interactive invocations has been removed. 93interactive and non-interactive invocations has been removed.
85 94
86@item 95@item
96Several functions that create or rename their files now treat their
97destination specially if it happens to be a directory, even when its
98name does not appear to be that of a directory. For example,
99@code{(rename-file "A" "B")} no longer renames @file{A} to @file{B} if
100@file{B} happens to be a directory. This is so that dealing with
101files becomes more of an adventure.
102
103@item
104The @code{format} function now returns new strings in more cases, to
105place more stress on the Emacs memory manager and thereby test Emacs
106better.
107
108@item
87The function @file{assoc} has been simplified by removing its third 109The function @file{assoc} has been simplified by removing its third
88optional argument. It now always uses @code{equal} for comparison. 110optional argument. It now always uses @code{equal} for comparison.
89Likewise, @code{alist-get} always uses @code{assq}, and @code{map-get} 111Likewise, @code{alist-get} always uses @code{assq}, and @code{map-get}
90and @code{map-put} always use @code{eql} for their comparisons. 112and @code{map-put} always use @code{eql} for their comparisons.
91 113
92@item 114@item
115Numeric comparisons and the functions @code{format},
116@code{make-hash-table}, @code{min}, @code{max} and @code{logb} now
117occasionally round values internally to make their results less
118predictable.
119
120@item
121The functions @code{ffloor}, @code{fceiling}l, @code{ftruncate} and
122@code{fround} now accept integer arguments. Conversely, functions
123like @code{decode-char} that accept floating-point integers now accept
124arguments that are not integers. In both cases the results are
125amusingly nonsensical sometimes.
126
127@item
93GnuTLS cryptographic functions are no longer available in Emacs. We 128GnuTLS cryptographic functions are no longer available in Emacs. We
94have decided that the needs for such functionality are deteriorating, 129have decided that the needs for such functionality are deteriorating,
95and their cumbersome interfaces make them hard to use. 130and their cumbersome interfaces make them hard to use.
@@ -104,16 +139,25 @@ broken by records.
104You can again use @code{string-as-unibyte}, 139You can again use @code{string-as-unibyte},
105@code{string-make-multibyte}, and other similar functions, without 140@code{string-make-multibyte}, and other similar functions, without
106being annoyed by messages about their deprecation. This is in 141being annoyed by messages about their deprecation. This is in
107preparation for removal of multibyte text from Emacs in the distance 142preparation for removal of multibyte text from Emacs in the distant
108past. 143past.
109 144
110@item 145@item
146The @code{string-version-lessp} function has been removed, to
147encourage programmers to use their own idiosyncratic methods to
148determine whether one version string precedes another.
149
150@item
111The function @code{read-color} no longer displays color names using 151The function @code{read-color} no longer displays color names using
112each color as the background. We have determined that this surprises 152each color as the background. We have determined that this surprises
113users and produces funny inconsistent results on color-challenged 153users and produces funny inconsistent results on color-challenged
114terminals. 154terminals.
115 155
116@item 156@item
157Support for 24-bit color on text terminals has been dropped, since
158it wasn't needed long ago.
159
160@item
117We removed the function @code{file-name-case-insensitive-p}, as 161We removed the function @code{file-name-case-insensitive-p}, as
118testing for the OS symbol should be enough for the observable past to 162testing for the OS symbol should be enough for the observable past to
119come, and learning to use yet another API is a burden. 163come, and learning to use yet another API is a burden.
@@ -136,12 +180,57 @@ The function @code{mapcan} is gone; use @code{mapcar} instead, and
136process the resulting list as you see fit. 180process the resulting list as you see fit.
137 181
138@item 182@item
183Low-level list functions like @code{length} and @code{member} can now
184loop indefinitely when given cyclic lists, causing Emacs to freeze.
185This can help these functions run a tiny bit faster in the usual case
186where the input is not cyclic.
187
188@item
189The @code{write-region} function no longer propagates its
190@var{lockname} argument to file name handlers.
191
192@item
139You can once again write a Lisp program that returns funny random 193You can once again write a Lisp program that returns funny random
140values from @code{file-attributes} by having another process alter the 194values from @code{file-attributes} by having another process alter the
141filesystem while Emacs is accessing the file. This can give rise to 195filesystem while Emacs is accessing the file. This can give rise to
142some interesting applications in the near past. 196some interesting applications in the near past.
143 197
144@item 198@item
199The functions @code{file-attributes}, @code{file-symlink-p}, and
200@code{make-symbolic-link} now quietly mutate the target of a local
201symbolic link in some cases, to make it more of a challenge to deal
202with arbitrary symlinks in Emacs code.
203
204@item
205The error @code{file-missing} has been removed; operations now lump
206such errors into the @code{file-error} category instead.
207
208@item
209The function @code{delete-directory} now signals an error if operating
210recursively and some other process deletes the directory before this
211function gets to it.
212
213@item
214The @code{dutch} input method now attempts to support Turkish too,
215albeit incorrectly. Also, it converts @samp{IJ} and @samp{ij} to
216special characters instead of leaving them alone.
217
218@item
219Non-breaking hyphens and approximations to quotes are now displayed
220just with the @code{escape-glyph} face instead of having faces of
221their own. This is simpler and gives the user amusing puzzles to
222solve when viewing text containing these characters.
223
224@item
225The user option @code{electric-quote-context-sensitive} and the
226variable @code{electric-quote-inhibit-functions}, so that electric
227quoting is simpler and more likely to do the wrong thing.
228
229@item
230The user option @code{text-quoting-style} has been removed, and is now
231just a variable.
232
233@item
145We have removed the functions @code{file-name-quote}, 234We have removed the functions @code{file-name-quote},
146@code{file-name-unquote}, and @code{file-name-quoted-p}. Writing code 235@code{file-name-unquote}, and @code{file-name-quoted-p}. Writing code
147that checks whether a file name is already quoted is easy, and doubly 236that checks whether a file name is already quoted is easy, and doubly
@@ -160,6 +249,34 @@ customizable only based on buffers; the @code{mode-line-format} and
160@code{header-line-format} window parameters have been removed. 249@code{header-line-format} window parameters have been removed.
161 250
162@item 251@item
252Emacs now normally builds a limited @command{movemail} substitute that
253retrieves POP3 email only via insecure channels, and the
254configure-time option @option{--with-mailutils} has been removed.
255This simplifies Emacs setup when security is not important.
256
257@item
258The configure-time option @option{--enable-gcc-warnings=warn-only}
259has been removed, so that build-time warnings are always fatal now.
260
261@item
262The configure-time option @option{--disable-build-details} has been
263removed. This way, Emacs builds are unique and irreproducible.
264
265@item
266The variable @code{emacs-version} now includes the build number
267instead of storing it separately in @code{emacs-build-number}.
268
269@item
270Emacs has been ported to IRIX.
271
272@item
273Several options and variables have been removed to simplify Emacs and
274potentially make it less reliable. These include the
275@option{--module-assertions} option, the
276@code{attempt-stack-overflow-recovery} variable, and the
277@code{attempt-orderly-shutdown-on-fatal-signal} variable.
278
279@item
163As part of the ongoing quest for simplicity, many other functions and 280As part of the ongoing quest for simplicity, many other functions and
164variables have been eliminated. 281variables have been eliminated.
165@end itemize 282@end itemize
diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi
index 8ca10d7905c..8ce8f6180d1 100644
--- a/doc/lispref/backups.texi
+++ b/doc/lispref/backups.texi
@@ -775,16 +775,80 @@ after inserting the modified contents. A custom @code{revert-buffer-function}
775may or may not run this hook. 775may or may not run this hook.
776@end defvar 776@end defvar
777 777
778@c FIXME? Move this section from arevert-xtra to here? 778Emacs can revert buffers automatically. It does that by default for
779buffers visiting files. The following describes how to add support
780for auto-reverting new types of buffers.
781
782First, such buffers must have a suitable @code{revert-buffer-function}
783and @code{buffer-stale-function} defined.
784
779@defvar buffer-stale-function 785@defvar buffer-stale-function
780The value of this variable specifies a function to call to check 786The value of this variable specifies a function to call to check
781whether a buffer needs reverting. The default value only handles 787whether a buffer needs reverting. The default value only handles
782buffers that are visiting files, by checking their modification time. 788buffers that are visiting files, by checking their modification time.
783Buffers that are not visiting files require a custom function 789Buffers that are not visiting files require a custom function of one
784@iftex 790optional argument @var{noconfirm}. The function should return
785(@pxref{Supporting additional buffers,,, emacs-xtra, Specialized Emacs Features}). 791non-@code{nil} if the buffer should be reverted. The buffer is
786@end iftex 792current when this function is called.
787@ifnottex 793
788(@pxref{Supporting additional buffers,,, emacs}). 794While this function is mainly intended for use in auto-reverting, it
789@end ifnottex 795could be used for other purposes as well. For instance, if
796auto-reverting is not enabled, it could be used to warn the user that
797the buffer needs reverting. The idea behind the @var{noconfirm}
798argument is that it should be @code{t} if the buffer is going to be
799reverted without asking the user and @code{nil} if the function is
800just going to be used to warn the user that the buffer is out of date.
801In particular, for use in auto-reverting, @var{noconfirm} is @code{t}.
802If the function is only going to be used for auto-reverting, you can
803ignore the @var{noconfirm} argument.
804
805If you just want to automatically auto-revert every
806@code{auto-revert-interval} seconds (like the Buffer Menu), use:
807
808@example
809(setq-local buffer-stale-function
810 #'(lambda (&optional noconfirm) 'fast))
811@end example
812
813@noindent
814in the buffer's mode function.
815
816The special return value @samp{fast} tells the caller that the need
817for reverting was not checked, but that reverting the buffer is fast.
818It also tells Auto Revert not to print any revert messages, even if
819@code{auto-revert-verbose} is non-@code{nil}. This is important, as
820getting revert messages every @code{auto-revert-interval} seconds can
821be very annoying. The information provided by this return value could
822also be useful if the function is consulted for purposes other than
823auto-reverting.
790@end defvar 824@end defvar
825
826Once the buffer has a suitable @code{revert-buffer-function} and
827@code{buffer-stale-function}, several problems usually remain.
828
829The buffer will only auto-revert if it is marked unmodified. Hence,
830you will have to make sure that various functions mark the buffer
831modified if and only if either the buffer contains information that
832might be lost by reverting, or there is reason to believe that the user
833might be inconvenienced by auto-reverting, because he is actively
834working on the buffer. The user can always override this by manually
835adjusting the modified status of the buffer. To support this, calling
836the @code{revert-buffer-function} on a buffer that is marked
837unmodified should always keep the buffer marked unmodified.
838
839It is important to assure that point does not continuously jump around
840as a consequence of auto-reverting. Of course, moving point might be
841inevitable if the buffer radically changes.
842
843You should make sure that the @code{revert-buffer-function} does not
844print messages that unnecessarily duplicate Auto Revert's own messages,
845displayed if @code{auto-revert-verbose} is @code{t}, and effectively
846override a @code{nil} value for @code{auto-revert-verbose}. Hence,
847adapting a mode for auto-reverting often involves getting rid of such
848messages. This is especially important for buffers that automatically
849revert every @code{auto-revert-interval} seconds.
850
851If the new auto-reverting is part of Emacs, you should mention it
852in the documentation string of @code{global-auto-revert-non-file-buffers}.
853
854Similarly, you should document the additions in the Emacs manual.
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index fbf943a08c7..7bf03b8558e 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -581,7 +581,7 @@ truncated to fit it.
581 The variable @code{max-mini-window-height}, which specifies the 581 The variable @code{max-mini-window-height}, which specifies the
582maximum height for resizing minibuffer windows, also applies to the 582maximum height for resizing minibuffer windows, also applies to the
583echo area (which is really a special use of the minibuffer window; 583echo area (which is really a special use of the minibuffer window;
584@pxref{Minibuffer Misc}). 584@pxref{Minibuffer Windows}).
585 585
586@node Warnings 586@node Warnings
587@section Reporting Warnings 587@section Reporting Warnings
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index 332e72f6402..c7f8ba96e2f 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -2323,6 +2323,12 @@ frame's height; an integer specifies the maximum number of lines. The
2323default value is 0.25. 2323default value is 0.25.
2324@end defopt 2324@end defopt
2325 2325
2326Note that the values of the above two variables take effect at display
2327time, so let-binding them around code which produces echo-area messages
2328will not work. If you want to prevent resizing of minibuffer windows
2329when displaying long messages, bind the @code{message-truncate-lines}
2330variable instead (@pxref{Echo Area Customization}).
2331
2326 2332
2327@node Minibuffer Contents 2333@node Minibuffer Contents
2328@section Minibuffer Contents 2334@section Minibuffer Contents
@@ -2450,12 +2456,6 @@ minibuffer window was selected. If the selected window is not a
2450minibuffer window, it returns @code{nil}. 2456minibuffer window, it returns @code{nil}.
2451@end defun 2457@end defun
2452 2458
2453@defopt max-mini-window-height
2454This variable specifies the maximum height for resizing minibuffer
2455windows. If a float, it specifies a fraction of the height of the
2456frame. If an integer, it specifies a number of lines.
2457@end defopt
2458
2459@vindex minibuffer-message-timeout 2459@vindex minibuffer-message-timeout
2460@defun minibuffer-message string &rest args 2460@defun minibuffer-message string &rest args
2461This function displays @var{string} temporarily at the end of the 2461This function displays @var{string} temporarily at the end of the
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 9352a929a7a..42be60449de 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -3042,7 +3042,9 @@ with @samp{-}, or might contain shell metacharacters like @samp{;}.
3042Although functions like @code{shell-quote-argument} can help avoid 3042Although functions like @code{shell-quote-argument} can help avoid
3043this sort of problem, they are not panaceas; for example, on a POSIX 3043this sort of problem, they are not panaceas; for example, on a POSIX
3044platform @code{shell-quote-argument} quotes shell metacharacters but 3044platform @code{shell-quote-argument} quotes shell metacharacters but
3045not leading @samp{-}. @xref{Shell Arguments}. Typically it is safer 3045not leading @samp{-}. On MS-Windows, quoting for @samp{%} assumes
3046none of the environment variables have @samp{^} in their name.
3047@xref{Shell Arguments}. Typically it is safer
3046to use @code{call-process} than a subshell. @xref{Synchronous 3048to use @code{call-process} than a subshell. @xref{Synchronous
3047Processes}. And it is safer yet to use builtin Emacs functions; for 3049Processes}. And it is safer yet to use builtin Emacs functions; for
3048example, use @code{(rename-file "@var{a}" "@var{b}" t)} instead of 3050example, use @code{(rename-file "@var{a}" "@var{b}" t)} instead of
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 0a3a4617a2e..af177e053cc 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -728,8 +728,11 @@ Initialize the process query flag to @var{query-flag}.
728@xref{Query Before Exit}. 728@xref{Query Before Exit}.
729 729
730@item :stop @var{stopped} 730@item :stop @var{stopped}
731If @var{stopped} is non-@code{nil}, start the process in the 731If @var{stopped} is non-@code{nil}, start the process in the stopped
732stopped state. 732state. In the stopped state, a pipe process does not accept incoming
733data, but you can send outgoing data. The stopped state is set by
734@code{stop-process} and cleared by @code{continue-process}
735(@pxref{Signals to Processes}).
733 736
734@item :filter @var{filter} 737@item :filter @var{filter}
735Initialize the process filter to @var{filter}. If not specified, a 738Initialize the process filter to @var{filter}. If not specified, a