From fb314ba3ad3619123b3d41b1dd65dcc569ad1e51 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 1 Jun 2019 12:40:11 -0400 Subject: [PATCH 01/10] Don't recommend insert-before-markers in process filters See and Bug#35334. * doc/lispref/processes.texi (Filter Functions): Go back to using plain insert in the example filter. Add note about updating window point. --- doc/lispref/processes.texi | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 38ad9076a0c..a93f4db4282 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi @@ -1643,7 +1643,7 @@ how to do these things: (save-excursion ;; @r{Insert the text, advancing the process marker.} (goto-char (process-mark proc)) - (insert-before-markers string) + (insert string) (set-marker (process-mark proc) (point))) (if moving (goto-char (process-mark proc))))))) @end group @@ -1659,7 +1659,12 @@ text arrives, you could insert a line like the following just before the To force point to the end of the new output, no matter where it was previously, eliminate the variable @code{moving} from the example and -call @code{goto-char} unconditionally. +call @code{goto-char} unconditionally. Note that this doesn't +necessarily move the window point. The default filter actually uses +@code{insert-before-markers} which moves all markers, including the +window point. This may move unrelated markers, so it's generally +better to move the window point explicitly, or set its insertion type +to @code{t} (@pxref{Window Point}). @ignore In earlier Emacs versions, every filter function that did regular From c153250adb1c4881cd775623028e793abea7b5fa Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Mon, 3 Jun 2019 10:36:00 +0200 Subject: [PATCH 02/10] Try to improve text on atomic windows in Elisp manual * doc/lispref/windows.texi (Deleting Windows): Mention how 'delete-window' and 'delete-other-windows' handle atomic windows. Minor rewrite. (Quitting Windows): Mention how 'quit-restore-window' handles atomic windows and that it tries to avoid raising an error. (Atomic Windows): Tell how to dissolve atomic windows. --- doc/lispref/windows.texi | 81 ++++++++++++++++++++++++---------------- 1 file changed, 48 insertions(+), 33 deletions(-) diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index f4395c12d26..b2dd3d99583 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi @@ -1307,8 +1307,10 @@ the selected window. If deleting the window would leave no more windows in the window tree (e.g., if it is the only live window in the frame) or all remaining -windows on @var{window}'s frame are side windows (@pxref{Side Windows}), -an error is signaled. +windows on @var{window}'s frame are side windows (@pxref{Side +Windows}), an error is signaled. If @var{window} is part of an atomic +window (@pxref{Atomic Windows}), this function tries to delete the +root of that atomic window instead. By default, the space taken up by @var{window} is given to one of its adjacent sibling windows, if any. However, if the variable @@ -1327,10 +1329,13 @@ Parameters}. @end deffn @deffn Command delete-other-windows &optional window -This function makes @var{window} fill its frame, deleting other windows -as necessary. If @var{window} is omitted or @code{nil}, it defaults to -the selected window. An error is signaled if @var{window} is a side -window (@pxref{Side Windows}). The return value is @code{nil}. +This function makes @var{window} fill its frame, deleting other +windows as necessary. If @var{window} is omitted or @code{nil}, it +defaults to the selected window. An error is signaled if @var{window} +is a side window (@pxref{Side Windows}). If @var{window} is part of +an atomic window (@pxref{Atomic Windows}), this function tries to make +the root of that atomic window fill its frame. The return +value is @code{nil}. The behavior of this function may be altered by the window parameters of @var{window}, so long as the variable @code{ignore-window-parameters} is @@ -3909,9 +3914,8 @@ described next to deal with the window and its buffer. This function handles @var{window} and its buffer after quitting. The optional argument @var{window} must be a live window and defaults to the selected one. The function's behavior is determined by the four -elements of the list specified by the @code{quit-restore} window -parameter (@pxref{Window Parameters}), which is set to @code{nil} -afterwards. +elements of the list specified by @var{window}'s @code{quit-restore} +parameter (@pxref{Window Parameters}). The first element of the @code{quit-restore} parameter is one of the symbols @code{window}, meaning that the window has been specially @@ -3920,35 +3924,40 @@ been created; @code{same}, the window has only ever displayed this buffer; or @code{other}, the window showed another buffer before. @code{frame} and @code{window} affect how the window is quit, while @code{same} and @code{other} affect the redisplay of buffers -previously shown in this window. +previously shown in @var{window}. -The second element is either one of the symbols @code{window} or -@code{frame}, or a list whose elements are the buffer shown in the -window before, that buffer's window start and window point positions, -and the window's height at that time. If that buffer is still live -when the window is quit, then the function @code{quit-restore-window} -reuses the window to display the buffer. +The parameter's second element is either one of the symbols +@code{window} or @code{frame}, or a list whose elements are the buffer +shown in @var{window} before, that buffer's window start and window +point positions, and @var{window}'s height at that time. If that +buffer is still live when @var{window} is quit, then this function may +reuse @var{window} to display it. The third element is the window selected at the time the parameter was -created. If @code{quit-restore-window} deletes the window passed to -it as argument, it then tries to reselect this window. +created. If this function deletes @var{window}, it subsequently tries +to reselect the window named by that element. The fourth element is the buffer whose display caused the creation of -this parameter. @code{quit-restore-window} deletes the specified window -only if it still shows that buffer. +this parameter. This function may delete @var{window} if and only if +it still shows that buffer. -The window is deleted entirely if: 1) the first element of the -@code{quit-restore} parameter is one of 'window or 'frame, 2) the -window has no history of previously-displayed buffers, and 3) the -displayed buffer matches the one in the fourth element of the -@code{quit-restore} parameter. If @var{window} is the -only window on its frame and there are other frames on the frame's -terminal, the value of the optional argument @var{bury-or-kill} -determines how to proceed with the window. If @var{bury-or-kill} -equals @code{kill}, the frame is deleted unconditionally. Otherwise, -the fate of the frame is determined by calling -@code{frame-auto-hide-function} (see below) with that frame as sole -argument. +This function will try to delete @var{window} if and only if (1) the +first element of its @code{quit-restore} parameter is either +@code{window} or @code{frame}, (2) the window has no history of +previously-displayed buffers and (3) the fourth element of the +@code{quit-restore} parameter specifies the buffer currently displayed +in @var{window}. If @var{window} is part of an atomic window +(@pxref{Atomic Windows}), it will try to delete the root of that +atomic window instead. In either case, it tries to avoid signaling an +error when @var{window} cannot be deleted. + +If @var{window} shall be deleted, is the only window on its frame and +there are other frames on that frame's terminal, the value of the +optional argument @var{bury-or-kill} determines how to proceed with +the window. If @var{bury-or-kill} equals @code{kill}, the frame is +deleted unconditionally. Otherwise, the fate of the frame is +determined by calling @code{frame-auto-hide-function} (see below) with +that frame as sole argument. If the third element of the @code{quit-restore} parameter is a list of buffer, window start (@pxref{Window Start and End}), and point @@ -3959,7 +3968,8 @@ try to restore the original height of @var{window}. Otherwise, if @var{window} was previously used for displaying other buffers (@pxref{Window History}), the most recent buffer in that -history will be displayed. +history will be displayed. In either case, if @var{window} is not +deleted, its @code{quit-restore} parameter is reset to @code{nil}. The optional argument @var{bury-or-kill} specifies how to deal with @var{window}'s buffer. The following values are handled: @@ -4440,6 +4450,11 @@ parameter assigned by @code{display-buffer-in-atom-window}. Further parameters have to be set by the application explicitly via a @code{window-parameters} entry in @var{alist}. + Atomic windows automatically cease to exist when one of their +constituents gets deleted. To dissolve an atomic window manually, +reset the @code{window-atom} parameter of its constituents---the root +of the atomic window and all its descendants. + The following code snippet, when applied to a single-window frame, first splits the selected window and makes the selected and the new window constituents of an atomic window with their parent as root. It From 9734b5c5b2902d4e036c0a5b8f146c1107518bb0 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 3 Jun 2019 19:11:42 +0300 Subject: [PATCH 03/10] Fix minor issues in the Emacs manual * doc/emacs/search.texi (Regexp Replace, Regexps): * doc/emacs/kmacro.texi (Keyboard Macro Query) (Save Keyboard Macro): Fix inaccuracies and typos. (Bug#35885) --- doc/emacs/kmacro.texi | 4 ++-- doc/emacs/search.texi | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/doc/emacs/kmacro.texi b/doc/emacs/kmacro.texi index 65387ae783c..3710611c763 100644 --- a/doc/emacs/kmacro.texi +++ b/doc/emacs/kmacro.texi @@ -391,7 +391,7 @@ macro definition is executed. It is up to you to leave point and the text in a state such that the rest of the macro will do what you want. @end table - @kbd{C-u C-x q}, which is @kbd{C-x q} with a numeric argument, + @kbd{C-u C-x q}, which is @kbd{C-x q} with a prefix argument, performs a completely different function. It enters a recursive edit reading input from the keyboard, both when you type it during the definition of the macro, and when it is executed from the macro. During @@ -472,7 +472,7 @@ later with @code{load-file} (@pxref{Lisp Libraries}). If the file you save in is your init file @file{~/.emacs} (@pxref{Init File}) then the macro will be defined each time you run Emacs. - If you give @code{insert-kbd-macro} a numeric argument, it makes + If you give @code{insert-kbd-macro} a prefix argument, it makes additional Lisp code to record the keys (if any) that you have bound to @var{macroname}, so that the macro will be reassigned the same keys when you load the file. diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 9611d341860..004280cc64b 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -828,7 +828,7 @@ Expressions,,, elisp, The Emacs Lisp Reference Manual}, for additional features used mainly in Lisp programs. Regular expressions have a syntax in which a few characters are -special constructs and the rest are @dfn{ordinary}. An ordinary +@dfn{special constructs} and the rest are @dfn{ordinary}. An ordinary character matches that same character and nothing else. The special characters are @samp{$^.*+?[\}. The character @samp{]} is special if it ends a character alternative (see below). The character @samp{-} @@ -1465,8 +1465,7 @@ multiple digits, and the value of @samp{\@var{d}} is @code{nil} if the @samp{\#} here too stands for the number of already-completed replacements. - Repeating our example to exchange @samp{x} and @samp{y}, we can thus -do it also this way: + For example, we can exchange @samp{x} and @samp{y} this way: @example M-x replace-regexp @key{RET} \(x\)\|y @key{RET} From b67042be5d39aaff2d48a2eb3306ef422d27d52f Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 3 Jun 2019 19:30:47 +0300 Subject: [PATCH 04/10] More minor copyedits in the Emacs manual * doc/emacs/basic.texi (Arguments): * doc/emacs/display.texi (Recentering, Text Display): * doc/emacs/regs.texi (Text Registers, Rectangle Registers): * doc/emacs/mark.texi (Disabled Transient Mark): Fix inaccuracies and typos. (Bug#35885) --- doc/emacs/basic.texi | 6 +++--- doc/emacs/display.texi | 19 ++++++++++--------- doc/emacs/mark.texi | 6 +++--- doc/emacs/regs.texi | 4 ++-- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index 86403b7a23d..3728144b797 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi @@ -816,9 +816,9 @@ more convenient, and they are documented in that command's documentation string. We use the term @dfn{prefix argument} to emphasize that you type -such arguments before the command, and to distinguish them from -minibuffer arguments (@pxref{Minibuffer}), which are entered after -invoking the command. +such arguments @emph{before} the command, and to distinguish them from +minibuffer arguments (@pxref{Minibuffer}), which are entered +@emph{after} invoking the command. On graphical displays, @kbd{C-0}, @kbd{C-1}, etc.@ act the same as @kbd{M-0}, @kbd{M-1}, etc. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 9cf6baa7e91..f8c620115d3 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -199,12 +199,13 @@ screen lines between point and the top or bottom of the window (@pxref{Auto Scrolling}). You can also give @kbd{C-l} a prefix argument. A plain prefix -argument, @kbd{C-u C-l}, simply recenters point. A positive argument -@var{n} puts point @var{n} lines down from the top of the window. An -argument of zero puts point on the topmost line. A negative argument -@var{-n} puts point @var{n} lines from the bottom of the window. When -given an argument, @kbd{C-l} does not clear the screen or cycle -through different screen positions. +argument, @kbd{C-u C-l}, simply recenters the line showing point. A +positive argument @var{n} moves line showing point @var{n} lines down +from the top of the window. An argument of zero moves point's line to +the top of the window. A negative argument @var{-n} moves point's +line @var{n} lines from the bottom of the window. When given an +argument, @kbd{C-l} does not clear the screen or cycle through +different screen positions. @vindex recenter-redisplay If the variable @code{recenter-redisplay} has a non-@code{nil} @@ -1484,9 +1485,9 @@ a new line, while the tab character (@code{U+0009}) is displayed as a space that extends to the next tab stop column (normally every 8 columns). The number of spaces per tab is controlled by the buffer-local variable @code{tab-width}, which must have an integer -value between 1 and 1000, inclusive. Note that how the tab character -in the buffer is displayed has nothing to do with the definition of -@key{TAB} as a command. +value between 1 and 1000, inclusive. Note that the way the tab +character in the buffer is displayed has nothing to do with the +definition of @key{TAB} as a command. Other @acronym{ASCII} control characters, whose codes are below @code{U+0020} (octal 40, decimal 32), are displayed as a caret diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi index 5ffe7264a35..8ad5fc7c9e4 100644 --- a/doc/emacs/mark.texi +++ b/doc/emacs/mark.texi @@ -420,9 +420,9 @@ commands. The default behavior of the mark and region, in which setting the mark activates it and highlights the region, is called Transient Mark mode. This is a minor mode that is enabled by default. It can be -toggled with @kbd{M-x transient-mark-mode}, or with the @samp{Active -Region Highlighting} menu item in the @samp{Options} menu. Turning it -off switches Emacs to an alternative mode of operation: +toggled with @kbd{M-x transient-mark-mode}, or with the +@samp{Highlight Active Region} menu item in the @samp{Options} menu. +Turning it off switches Emacs to an alternative mode of operation: @itemize @bullet @item diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index b9d0afe42ee..b47e5d30b2d 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -152,7 +152,7 @@ during the collection process, you can use the following setting. @findex insert-register @kbd{C-x r i @var{r}} inserts in the buffer the text from register @var{r}. Normally it leaves point after the text and sets the mark -before, without activating it. With a numeric argument, it instead +before, without activating it. With a prefix argument, it instead puts point before the text and the mark after. @node Rectangle Registers @@ -168,7 +168,7 @@ in the buffer. @kindex C-x r r @item C-x r r @var{r} Copy the region-rectangle into register @var{r} -(@code{copy-rectangle-to-register}). With numeric argument, delete it as +(@code{copy-rectangle-to-register}). With prefix argument, delete it as well. @item C-x r i @var{r} Insert the rectangle stored in register @var{r} (if it contains a From ff7ec6ff3322ed38e35342e960b6af5a36c9e51d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 4 Jun 2019 18:11:37 +0300 Subject: [PATCH 05/10] Fix a few uses of quotes in user manual * doc/emacs/text.texi (Quotation Marks): * doc/emacs/display.texi (Text Display): * doc/emacs/basic.texi (Inserting Text): Fix some more quotes. (Bug#35885) --- doc/emacs/basic.texi | 8 ++++---- doc/emacs/display.texi | 4 ++-- doc/emacs/text.texi | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index 3728144b797..7144490cda7 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi @@ -118,8 +118,8 @@ sometimes called a left single ``curved quote'' or ``curly quote''. Similarly, @kbd{C-x 8 ]}, @kbd{C-x 8 @{} and @kbd{C-x 8 @}} insert the curved quotes @t{’}, @t{“} and @t{”}, respectively. Also, a working Alt key acts like @kbd{C-x 8}; e.g., @kbd{A-[} acts like @kbd{C-x 8 [} -and inserts `. To see which characters have @kbd{C-x 8} shorthands, -type @kbd{C-x 8 C-h}. +and inserts @t{‘}. To see which characters have @kbd{C-x 8} +shorthands, type @kbd{C-x 8 C-h}. Alternatively, you can use the command @kbd{C-x 8 @key{RET}} (@code{insert-char}). This prompts for the Unicode name or code-point @@ -146,9 +146,9 @@ the buffer. how many copies of the character to insert (@pxref{Arguments}). In addition, in some contexts, if you type a quotation using grave -accent and apostrophe @t{`like this'}, it is converted to a form +accent and apostrophe @kbd{`like this'}, it is converted to a form @t{‘like this’} using single quotation marks, even without @kbd{C-x 8} -commands. Similarly, typing a quotation @t{``like this''} using +commands. Similarly, typing a quotation @kbd{``like this''} using double grave accent and apostrophe converts it to a form @t{“like this”} using double quotation marks. @xref{Quotation Marks}. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index f8c620115d3..70b88dc92d0 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1557,11 +1557,11 @@ curved quotes. You can influence or inhibit this translation by customizing the user option @code{text-quoting-style} (@pxref{Keys in Documentation,,, elisp, The Emacs Lisp Reference Manual}). - If the curved quotes @samp{‘}, @samp{’}, @samp{“}, and @samp{”} are + If the curved quotes @t{‘}, @t{’}, @t{“}, and @t{”} are known to look just like @acronym{ASCII} characters, they are shown with the @code{homoglyph} face. Curved quotes that are known not to be displayable are shown as their @acronym{ASCII} approximations -@samp{`}, @samp{'}, and @samp{"} with the @code{homoglyph} face. +@t{`}, @t{'}, and @t{"} with the @code{homoglyph} face. @node Cursor Display @section Displaying the Cursor diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index e9b17dbb651..db55feeb665 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -439,8 +439,8 @@ portable; curved quotes are less ambiguous and typically look nicer. @vindex electric-quote-chars Electric Quote mode makes it easier to type curved quotes. As you -type characters it optionally converts @t{`} to ‘, @t{'} to ', -@t{``} to ``, and @t{''} to ''. It's possible to change the +type characters it optionally converts @kbd{`} to @t{‘}, @kbd{'} to @t{’}, +@kbd{``} to @t{“}, and @kbd{''} to @t{”}. It's possible to change the default quotes listed above, by customizing the variable @code{electric-quote-chars}, a list of four characters, where the items correspond to the left single quote, the right single quote, the From f68b33f50299339a36da29cd1913d19fd5f288e0 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 5 Jun 2019 19:52:00 +0300 Subject: [PATCH 06/10] Fix styling of Unicode codepoints in manuals * doc/lispref/nonascii.texi (Character Properties): * doc/lispref/display.texi (Glyphless Chars) (Bidirectional Display): * doc/emacs/search.texi (Lax Search): * doc/emacs/text.texi (Quotation Marks): * doc/emacs/basic.texi (Inserting Text): Canonicalize the style of "U+NNNN CHARACTER NAME". (Bug#35885) --- doc/emacs/basic.texi | 2 +- doc/emacs/search.texi | 13 +++++++------ doc/emacs/text.texi | 8 ++++---- doc/lispref/display.texi | 10 +++++----- doc/lispref/nonascii.texi | 23 ++++++++++++----------- 5 files changed, 29 insertions(+), 27 deletions(-) diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index 7144490cda7..d0bd46c35fc 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi @@ -113,7 +113,7 @@ just like digits. Case is ignored. @cindex curved quotes, inserting A few common Unicode characters can be inserted via a command starting with @kbd{C-x 8}. For example, @kbd{C-x 8 [} inserts @t{‘} -which is Unicode code-point @code{U+2018} LEFT SINGLE QUOTATION MARK, +which is Unicode code-point U+2018 @sc{left single quotation mark}, sometimes called a left single ``curved quote'' or ``curly quote''. Similarly, @kbd{C-x 8 ]}, @kbd{C-x 8 @{} and @kbd{C-x 8 @}} insert the curved quotes @t{’}, @t{“} and @t{”}, respectively. Also, a working diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 004280cc64b..0da037330d4 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -1310,14 +1310,14 @@ of its accented cousins like @code{@"a} and @code{@'a}, i.e., the match disregards the diacritics that distinguish these variants. In addition, @code{a} matches other characters that resemble it, or have it as part of their graphical representation, -such as @sc{u+249c parenthesized latin small letter a} and @sc{u+2100 -account of} (which looks like a small @code{a} over @code{c}). +such as U+249C @sc{parenthesized latin small letter a} and U+2100 +@sc{account of} (which looks like a small @code{a} over @code{c}). Similarly, the @acronym{ASCII} double-quote character @code{"} matches all the other variants of double quotes defined by the Unicode standard. Finally, character folding can make a sequence of one or more characters match another sequence of a different length: for -example, the sequence of two characters @code{ff} matches @sc{u+fb00 -latin small ligature ff}. Character sequences that are not identical, +example, the sequence of two characters @code{ff} matches U+FB00 +@sc{latin small ligature ff}. Character sequences that are not identical, but match under character folding are known as @dfn{equivalent character sequences}. @@ -1642,8 +1642,9 @@ replacement has already been made, @key{DEL} and @key{SPC} are equivalent in this situation; both move to the next occurrence. You can type @kbd{C-r} at this point (see below) to alter the replaced -text. You can also type @kbd{C-x u} to undo the replacement; this exits -the @code{query-replace}, so if you want to do further replacement you +text. You can also undo the replacement with the @code{undo} command +(e.g., type @kbd{C-x u}; @pxref{Undo}); this exits the +@code{query-replace}, so if you want to do further replacement you must use @kbd{C-x @key{ESC} @key{ESC} @key{RET}} to restart (@pxref{Repetition}). diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index db55feeb665..bd8a1f59acc 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -428,10 +428,10 @@ using straight apostrophes @t{'like this'} or double-quotes @t{"like this"}. Another common way is the curved quote convention, which uses left and right single or double quotation marks `@t{like this}' or ``@t{like this}''@footnote{ -The curved single quote characters are U+2018 LEFT SINGLE QUOTATION -MARK and U+2018 RIGHT SINGLE QUOTATION MARK; the curved double quotes -are U+201C LEFT DOUBLE QUOTATION MARK and U+201D RIGHT DOUBLE -QUOTATION MARK. On text terminals which cannot display these +The curved single quote characters are U+2018 @sc{left single quotation +mark} and U+2018 @sc{right single quotation mark}; the curved double quotes +are U+201C @sc{left double quotation mark} and U+201D @sc{right double +quotation mark}. On text terminals which cannot display these characters, the Info reader might show them as the typewriter ASCII quote characters. }. In text files, typewriter quotes are simple and diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index b07999432ce..2ff73b08bdb 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -7269,9 +7269,9 @@ Non-@acronym{ASCII}, non-printing characters @code{U+0080} to @samp{\230}). @item format-control -Characters of Unicode General Category [Cf], such as @samp{U+200E} -(Left-to-Right Mark), but excluding characters that have graphic -images, such as @samp{U+00AD} (Soft Hyphen). +Characters of Unicode General Category [Cf], such as U+200E +@sc{left-to-right mark}, but excluding characters that have graphic +images, such as U+00AD @sc{soft hyphen}. @item no-font Characters for which there is no suitable font, or which cannot be @@ -7654,12 +7654,12 @@ problem: @itemize @minus @item -Append the special character @code{U+200E}, LEFT-TO-RIGHT MARK, or +Append the special character U+200E @sc{left-to-right mark}, or @acronym{LRM}, to the end of each field that may have bidirectional content, or prepend it to the beginning of the following field. The function @code{bidi-string-mark-left-to-right}, described below, comes in handy for this purpose. (In a right-to-left paragraph, use -@code{U+200F}, RIGHT-TO-LEFT MARK, or @acronym{RLM}, instead.) This +U+200F @sc{right-to-left mark}, or @acronym{RLM}, instead.) This is one of the solutions recommended by the UBA. @item diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index d2eb2cb0728..ca99cbfcde3 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -550,8 +550,8 @@ characters whose @code{Numeric_Type} is @samp{Numeric}. The value of this property is a number. Examples of characters that have this property include fractions, subscripts, superscripts, Roman numerals, currency numerators, and encircled numbers. For example, the value of -this property for the character @code{U+2155} (@sc{vulgar fraction one -fifth}) is @code{0.2}. For characters that don't have any numeric +this property for the character U+2155 @sc{vulgar fraction one +fifth} is @code{0.2}. For characters that don't have any numeric value, and for unassigned codepoints, the value is @code{nil}, which means @acronym{NaN}. @@ -622,23 +622,24 @@ is @code{nil}, which means the character itself. @item special-uppercase Corresponds to Unicode language- and context-independent special upper-casing rules. The value of this property is a string (which may be empty). For -example mapping for @code{U+00DF} (@sc{latin small letter sharp s}) is +example mapping for U+00DF @sc{latin small letter sharp s} is @code{"SS"}. For characters with no special mapping, the value is @code{nil} which means @code{uppercase} property needs to be consulted instead. @item special-lowercase -Corresponds to Unicode language- and context-independent special lower-casing -rules. The value of this property is a string (which may be empty). For -example mapping for @code{U+0130} (@sc{latin capital letter i with dot above}) -the value is @code{"i\u0307"} (i.e. 2-character string consisting of @sc{latin -small letter i} followed by @sc{combining dot above}). For characters with no -special mapping, the value is @code{nil} which means @code{lowercase} property -needs to be consulted instead. +Corresponds to Unicode language- and context-independent special +lower-casing rules. The value of this property is a string (which may +be empty). For example mapping for U+0130 @sc{latin capital letter i +with dot above} the value is @code{"i\u0307"} (i.e. 2-character string +consisting of @sc{latin small letter i} followed by U+0307 +@sc{combining dot above}). For characters with no special mapping, +the value is @code{nil} which means @code{lowercase} property needs to +be consulted instead. @item special-titlecase Corresponds to Unicode unconditional special title-casing rules. The value of this property is a string (which may be empty). For example mapping for -@code{U+FB01} (@sc{latin small ligature fi}) the value is @code{"Fi"}. For +U+FB01 @sc{latin small ligature fi} the value is @code{"Fi"}. For characters with no special mapping, the value is @code{nil} which means @code{titlecase} property needs to be consulted instead. @end table From ee21b402d75c1fb0d6c09dc9f8a02f2bff0325f6 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 6 Jun 2019 16:28:04 +0300 Subject: [PATCH 07/10] * lisp/term/w32-win.el ([noname]): Bind to 'ignore'. (Bug#36083) --- lisp/term/w32-win.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el index 39f393fcf98..12c3e97e411 100644 --- a/lisp/term/w32-win.el +++ b/lisp/term/w32-win.el @@ -170,6 +170,15 @@ the last file dropped is selected." ;; new layout/language selected by the user. (global-set-key [language-change] 'ignore) +;; Some Windows applications send the 'noname' (VK_NONAME) pseudo-key +;; to prevent Windows from sleeping. We want to ignore these key +;; events, to avoid annoying users by ringing the bell and announcing +;; that the key is not bound. +(global-set-key [noname] 'ignore) +(global-set-key [C-noname] 'ignore) +(global-set-key [M-noname] 'ignore) + + (defvar x-resource-name) From 8e5fc38a2f0331c00704e4cc34602a2d58c32c6a Mon Sep 17 00:00:00 2001 From: Phillip Lord Date: Fri, 7 Jun 2019 11:37:56 +0100 Subject: [PATCH 08/10] Fix typo * nt/README.W32: --- nt/README.W32 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nt/README.W32 b/nt/README.W32 index 58d1adf6e13..79f57418623 100644 --- a/nt/README.W32 +++ b/nt/README.W32 @@ -153,7 +153,7 @@ See the end of the file for license conditions. instance, or you want the smallest possible Emacs), then you may use the files emacs-VER-x86_64-no-deps.zip or emacs-VER-i686-no-deps.zip. The dependency files are also available - as emacs-MVER-x86_64-no-deps.zip and emacs-MVER-i686-deps.zip. Source + as emacs-MVER-x86_64-deps.zip and emacs-MVER-i686-deps.zip. Source code for these dependencies is available as emacs-26-deps-mingw-w64-src.zip. From aecbbd57c1929116cf4898336e43d81479535ca0 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 7 Jun 2019 15:59:50 +0300 Subject: [PATCH 09/10] * src/fns.c (Fmapconcat): Doc fix. (Bug#35710) --- src/fns.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/fns.c b/src/fns.c index 8db2a86a725..2276a9971b2 100644 --- a/src/fns.c +++ b/src/fns.c @@ -2494,8 +2494,12 @@ mapcar1 (EMACS_INT leni, Lisp_Object *vals, Lisp_Object fn, Lisp_Object seq) DEFUN ("mapconcat", Fmapconcat, Smapconcat, 3, 3, 0, doc: /* Apply FUNCTION to each element of SEQUENCE, and concat the results as strings. In between each pair of results, stick in SEPARATOR. Thus, " " as -SEPARATOR results in spaces between the values returned by FUNCTION. -SEQUENCE may be a list, a vector, a bool-vector, or a string. */) + SEPARATOR results in spaces between the values returned by FUNCTION. +SEQUENCE may be a list, a vector, a bool-vector, or a string. +SEPARATOR must be a string. +FUNCTION must be a function of one argument, and must return a value + that is a sequence of characters: either a string, or a vector or + list of numbers that are valid character codepoints. */) (Lisp_Object function, Lisp_Object sequence, Lisp_Object separator) { USE_SAFE_ALLOCA; From 9254885a9571162920889f47adb41eaf1e555c21 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 7 Jun 2019 17:32:17 +0300 Subject: [PATCH 10/10] Resurrect display-line-number-mode in client frames * lisp/linum.el (linum-on): Mention bug#35726 in a comment. * lisp/display-line-numbers.el (display-line-numbers--turn-on): Don't check for daemon. (Bug#35726) --- lisp/display-line-numbers.el | 4 +--- lisp/linum.el | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lisp/display-line-numbers.el b/lisp/display-line-numbers.el index d38f2e69635..f17f8e5ca18 100644 --- a/lisp/display-line-numbers.el +++ b/lisp/display-line-numbers.el @@ -92,9 +92,7 @@ the mode is on, set `display-line-numbers' directly." (defun display-line-numbers--turn-on () "Turn on `display-line-numbers-mode'." - (unless (or (minibufferp) - ;; taken from linum.el - (and (daemonp) (null (frame-parameter nil 'client)))) + (unless (minibufferp) (display-line-numbers-mode))) ;;;###autoload diff --git a/lisp/linum.el b/lisp/linum.el index 789b5aadd07..cdbc55dc8b8 100644 --- a/lisp/linum.el +++ b/lisp/linum.el @@ -121,6 +121,10 @@ Linum mode is a buffer-local minor mode." ;; if some large buffer was under linum-mode when ;; desktop was saved. So we disable linum-mode for ;; non-client frames in a daemon session. + + ;; Note that nowadays, this actually doesn't show line + ;; numbers in client frames at all, because we visit the + ;; file before creating the client frame. See bug#35726. (and (daemonp) (null (frame-parameter nil 'client)))) (linum-mode 1)))