From 1279bdb072786d41d25eb968f894764ba2573ede Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 7 Jul 2020 17:55:24 +0300 Subject: [PATCH 1/8] Another clarification of left/right-fringe display spec * doc/lispref/display.texi (Fringe Bitmaps): More accurate description of what FACE means in the left/right-fringe display spec. --- doc/lispref/display.texi | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 19e0fdf0b12..ecb9cff8a2a 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4278,9 +4278,11 @@ a display specification has the form @var{fringe} is either the symbol @code{left-fringe} or @code{right-fringe}. @var{bitmap} is a symbol identifying the bitmap to display. The optional @var{face} names a face whose foreground and -background colors are to be used to display the bitmap; this face is -automatically merged with the @code{fringe} face. If @var{face} is -omitted, that means to use the @code{default} face. +background colors are to be used to display the bitmap, using the +attributes of the @code{fringe} face for colors that @var{face} didn't +specify. If @var{face} is omitted, that means to use the attributes +of the @code{default} face for the colors which the @code{fringe} face +didn't specify. For instance, to display an arrow in the left fringe, using the @code{warning} face, you could say something like: From 79f381b4a6675b007113682e2d4245e2448d637f Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 8 Jul 2020 17:39:13 +0300 Subject: [PATCH 2/8] One more improvement of left/right-fringe display spec docs * doc/lispref/display.texi (Fringe Bitmaps): Yet another clarification of how to use FACE in left/right-fringe display spec. --- doc/lispref/display.texi | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ecb9cff8a2a..2ef27c00b8e 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4282,7 +4282,11 @@ background colors are to be used to display the bitmap, using the attributes of the @code{fringe} face for colors that @var{face} didn't specify. If @var{face} is omitted, that means to use the attributes of the @code{default} face for the colors which the @code{fringe} face -didn't specify. +didn't specify. For predictable results that don't depend on the +attributes of the @code{default} and @code{fringe} faces, we recommend +you never omit @var{face}, but always provide a specific face. In +particular, if you want the bitmap to be always displayed in the +@code{fringe} face, use @code{fringe} as @var{face}. For instance, to display an arrow in the left fringe, using the @code{warning} face, you could say something like: From 3a446a02fbb9da21f8cd5373144fe8a522759c26 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 8 Jul 2020 19:45:30 +0300 Subject: [PATCH 3/8] ; * src/xdisp.c (decode_mode_spec): Fix commentary. --- src/xdisp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xdisp.c b/src/xdisp.c index bc82d0acc0d..a819f0aca38 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -26344,7 +26344,7 @@ decode_mode_spec (struct window *w, register int c, int field_width, height = WINDOW_TOTAL_LINES (w); /* We cannot cope with w->start being outside of the accessible portion of the buffer; in particular, - display_count_lines call below will infloop if called with + display_count_lines call below might infloop if called with startpos_byte outside of the [BEGV_BYTE..ZV_BYTE] region. Such w->start means we were called in some "creative" way when the buffer's restriction was changed, but the window From c892ae65b431f76054a7a8677ca064e298578340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Engdeg=C3=A5rd?= Date: Thu, 9 Jul 2020 09:28:12 +0200 Subject: [PATCH 4/8] Repair global-auto-revert-ignore-modes (bug#42271) Reported by Gustavo Tavares Cabral. * lisp/autorevert.el (auto-revert--global-add-current-buffer): Fix typo. --- lisp/autorevert.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/autorevert.el b/lisp/autorevert.el index 3151b6e590d..011febfe728 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el @@ -543,7 +543,7 @@ specifies in the mode line." ;; we wouldn't know when to revert it otherwise. (not (eq buffer-stale-function #'buffer-stale--default-function)))) - (not (memq 'major-mode global-auto-revert-ignore-modes)) + (not (memq major-mode global-auto-revert-ignore-modes)) (or (null global-auto-revert-ignore-buffer) (if (functionp global-auto-revert-ignore-buffer) (not (funcall global-auto-revert-ignore-buffer From 1f52771fd3ec79937626e7a3a71ad4427d07e31c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 9 Jul 2020 08:40:17 -0700 Subject: [PATCH 5/8] Mention floating rounding issues * doc/lispref/numbers.texi (Float Basics): Mention floating-point rounding issues uncovered by the discussion in Bug#42417. --- doc/lispref/numbers.texi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi index 4002b36ce50..f018ef4c7c0 100644 --- a/doc/lispref/numbers.texi +++ b/doc/lispref/numbers.texi @@ -227,6 +227,9 @@ you are using. On all computers supported by Emacs, this is and is discussed further in David Goldberg's paper ``@url{https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html, What Every Computer Scientist Should Know About Floating-Point Arithmetic}''. +On modern platforms, floating-point operations follow the IEEE-754 +standard closely; however, results are not always rounded correctly on +some obsolescent platforms, notably 32-bit x86. The read syntax for floating-point numbers requires either a decimal point, an exponent, or both. Optional signs (@samp{+} or @samp{-}) From 136e9311896030442735d7527514e3801da09c25 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 9 Jul 2020 20:38:38 +0300 Subject: [PATCH 6/8] Improve documentation of "C-u C-x =" * doc/emacs/mule.texi (International Chars): Mention the composition information displayed by "C-u C-x =". (Bug#42256) --- doc/emacs/mule.texi | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index 373c7b55817..0f07d286cda 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi @@ -192,13 +192,19 @@ What keys to type to input the character in the current input method @item The character's encodings, both internally in the buffer, and externally -if you were to save the file. +if you were to save the buffer to a file. @item If you are running Emacs on a graphical display, the font name and glyph code for the character. If you are running Emacs on a text terminal, the code(s) sent to the terminal. +@item +If the character was composed on display with any following characters +to form one or more grapheme clusters, the composition information: +the font glyphs if the frame is on a graphical display, else the +characters that were composed. + @item The character's text properties (@pxref{Text Properties,,, elisp, the Emacs Lisp Reference Manual}), including any non-default From 6290850dac130521551913ce78671fcccfe5c0f3 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Fri, 10 Jul 2020 15:22:27 +0100 Subject: [PATCH 7/8] Consistently stylize eldoc as ElDoc in prose * doc/emacs/custom.texi (Specifying File Variables): * doc/emacs/modes.texi (Major Modes): * doc/emacs/programs.texi (Lisp Doc): * etc/NEWS.22: * etc/NEWS.23: * lisp/progmodes/python.el: (python-eldoc-function): * test/lisp/progmodes/python-tests.el: Consistently capitalize eldoc as ElDoc rather than Eldoc. --- doc/emacs/custom.texi | 2 +- doc/emacs/modes.texi | 2 +- doc/emacs/programs.texi | 8 ++++---- etc/NEWS.22 | 2 +- etc/NEWS.23 | 2 +- lisp/progmodes/python.el | 8 ++++---- test/lisp/progmodes/python-tests.el | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index d034a78501b..719e09e8616 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -1223,7 +1223,7 @@ other context has no special meaning. disable a minor mode in a local variables list, use the @code{eval} keyword with a Lisp expression that runs the mode command (@pxref{Minor Modes}). For example, the following local variables -list enables Eldoc mode (@pxref{Lisp Doc}) by calling +list enables ElDoc mode (@pxref{Lisp Doc}) by calling @code{eldoc-mode} with no argument (calling it with an argument of 1 would do the same), and disables Font Lock mode (@pxref{Font Lock}) by calling @code{font-lock-mode} with an argument of @minus{}1. diff --git a/doc/emacs/modes.texi b/doc/emacs/modes.texi index c1420ea13ff..c9c175d51e8 100644 --- a/doc/emacs/modes.texi +++ b/doc/emacs/modes.texi @@ -126,7 +126,7 @@ see which mode is actually being entered. Mode hooks are commonly used to enable minor modes (@pxref{Minor Modes}). For example, you can put the following lines in your init file to enable Flyspell minor mode in all text-based major modes -(@pxref{Spelling}), and Eldoc minor mode in Emacs Lisp mode +(@pxref{Spelling}), and ElDoc minor mode in Emacs Lisp mode (@pxref{Lisp Doc}): @example diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index 683374c6153..b976f2e7b12 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -1260,16 +1260,16 @@ the WoMan Info manual, which is distributed with Emacs. to view the built-in documentation for the Lisp functions and variables that you want to use. @xref{Name Help}. -@cindex Eldoc mode +@cindex ElDoc mode @findex eldoc-mode @findex global-eldoc-mode - Eldoc is a buffer-local minor mode that helps with looking up Lisp + ElDoc is a buffer-local minor mode that helps with looking up Lisp documentation. When it is enabled, the echo area displays some useful information whenever there is a Lisp function or variable at point; for a function, it shows the argument list, and for a variable it shows the first line of the variable's documentation string. To -toggle Eldoc mode, type @kbd{M-x eldoc-mode}. There's also a Global -Eldoc mode, which is turned on by default, and affects buffers, such +toggle ElDoc mode, type @kbd{M-x eldoc-mode}. There's also a Global +ElDoc mode, which is turned on by default, and affects buffers, such as @samp{*scratch*}, whose major mode is Emacs Lisp or Lisp Interaction (@w{@kbd{M-x global-eldoc-mode}} to turn it off globally). diff --git a/etc/NEWS.22 b/etc/NEWS.22 index 548a73a0be9..4df1792fbc7 100644 --- a/etc/NEWS.22 +++ b/etc/NEWS.22 @@ -5239,7 +5239,7 @@ has no effect on systems with case-insensitive file names. hooks. `run-mode-hooks' does this automatically. *** Major modes can define `eldoc-documentation-function' -locally to provide Eldoc functionality by some method appropriate to +locally to provide ElDoc functionality by some method appropriate to the language. *** Use the new function `run-mode-hooks' to run the major mode's mode hook. diff --git a/etc/NEWS.23 b/etc/NEWS.23 index 9a49a7d4fcc..331ed281a37 100644 --- a/etc/NEWS.23 +++ b/etc/NEWS.23 @@ -1779,7 +1779,7 @@ to update it to the new VC. If `default-directory' is a remote file name, subprocesses are started on the corresponding remote system. -*** Eldoc highlights the function argument under point +*** ElDoc highlights the function argument under point with the face `eldoc-highlight-function-argument'. *** In Etags, the --members option is now the default. diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 107b29189f5..785b941402a 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -34,7 +34,7 @@ ;; Implements Syntax highlighting, Indentation, Movement, Shell ;; interaction, Shell completion, Shell virtualenv support, Shell ;; package support, Shell syntax highlighting, Pdb tracking, Symbol -;; completion, Skeletons, FFAP, Code Check, Eldoc, Imenu. +;; completion, Skeletons, FFAP, Code Check, ElDoc, Imenu. ;; Syntax highlighting: Fontification of code is provided and supports ;; python's triple quoted strings properly. @@ -216,7 +216,7 @@ ;; Code check: Check the current file for errors with `python-check' ;; using the program defined in `python-check-command'. -;; Eldoc: returns documentation for object at point by using the +;; ElDoc: returns documentation for object at point by using the ;; inferior python subprocess to inspect its documentation. As you ;; might guessed you should run `python-shell-send-buffer' from time ;; to time to get better results too. @@ -4461,7 +4461,7 @@ See `python-check-command' for the default." (format python-check-buffer-name command))))) -;;; Eldoc +;;; ElDoc (defcustom python-eldoc-setup-code "def __PYDOC_get_help(obj): @@ -4578,7 +4578,7 @@ fetching." (with-timeout (python-eldoc-function-timeout (if python-eldoc-function-timeout-permanent (progn - (message "Eldoc echo-area display muted in this buffer, see `python-eldoc-function'") + (message "ElDoc echo-area display muted in this buffer, see `python-eldoc-function'") (setq python-eldoc-get-doc nil)) (message "`python-eldoc-function' timed out, see `python-eldoc-function-timeout'"))) (python-eldoc--get-doc-at-point)))) diff --git a/test/lisp/progmodes/python-tests.el b/test/lisp/progmodes/python-tests.el index 65a60b4c32c..f57150c397e 100644 --- a/test/lisp/progmodes/python-tests.el +++ b/test/lisp/progmodes/python-tests.el @@ -3554,7 +3554,7 @@ def foo(): ;;; Code check -;;; Eldoc +;;; ElDoc (ert-deftest python-eldoc--get-symbol-at-point-1 () "Test paren handling." From c04b92104c2bc4c1a719e06fbe11045a204c36a0 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 11 Jul 2020 12:47:26 +0300 Subject: [PATCH 8/8] Add commentary in gtkutil.c * src/gtkutil.c: Add a comment regarding the incompatibilities vis-a-vis GTK. Suggested by Richard Stallman . --- src/gtkutil.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gtkutil.c b/src/gtkutil.c index 466cb42c7ee..df537c515a2 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -17,6 +17,13 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ +/* FIXME: This code is problematic; it misuses GTK, so the GTK + developers don't think they should fix the resulting problems in GTK + itself. The right way to fix this is by rewriting the code in Emacs + to use GTK3 properly. As of 2020, there is a project to do this. + Talk with Yuuki Harano if you are interested + in doing substantial work on this. */ + #include #ifdef USE_GTK