aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2020-04-13 09:02:29 -0700
committerGlenn Morris2020-04-13 09:02:29 -0700
commit0a4b992c422d98fbb351d3b03265eb1029012c1d (patch)
tree8216a67339ed2fecc3d889678278b9a3cb7fb914
parentd0b9cf876fa62e3584a062e123a87e28278782cf (diff)
parent1dfc497fac22c199a944ef64233266bd6cd2fee6 (diff)
downloademacs-0a4b992c422d98fbb351d3b03265eb1029012c1d.tar.gz
emacs-0a4b992c422d98fbb351d3b03265eb1029012c1d.zip
Merge from origin/emacs-27
1dfc497fac Minor wording change in Introduction to Programming in Ema... ff09b4eeac Fix 'flymake-show-diagnostics-buffer' when line numbers ar... 63e8d0ea87 Fix last changes describing mail commands 01212a762f Do setup Flymake in file-less Elisp buffers 36873ef2b2 Fix error message for ‘cl-struct-unknown-slot’ (bug#39995) 3f9310b0fe Fix and improve documentation of mail-related features 1482a75efa Fix build failure with Fx_gtk_debug cf57663f2a Mention jit-lock deferred as an alternative to fast-but-im... # Conflicts: # etc/NEWS
-rw-r--r--doc/emacs/display.texi9
-rw-r--r--doc/emacs/sending.texi35
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi3
-rw-r--r--etc/NEWS.274
-rw-r--r--lisp/emacs-lisp/cl-macs.el2
-rw-r--r--lisp/mail/sendmail.el2
-rw-r--r--lisp/progmodes/elisp-mode.el6
-rw-r--r--lisp/progmodes/flymake.el65
-rw-r--r--lisp/simple.el8
-rw-r--r--src/xfns.c4
10 files changed, 74 insertions, 64 deletions
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 4ecebc7a270..cbc00ee4eef 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -141,6 +141,15 @@ default face. This can cause Emacs to scroll to somewhat wrong buffer
141positions when the faces in use are not all the same size, even with 141positions when the faces in use are not all the same size, even with
142single (i.e., without auto-repeat) scrolling operations. 142single (i.e., without auto-repeat) scrolling operations.
143 143
144@vindex jit-lock-defer-time
145As an alternative to setting @code{fast-but-imprecise-scrolling} you
146might prefer to enable jit-lock deferred fontification (@pxref{Font
147Lock}). To do this, customize @code{jit-lock-defer-time} to a small
148positive number such as 0.25, or even 0.1 if you type quickly. This
149gives you less jerky scrolling when you hold down @kbd{C-v}, but the
150window contents after any action which scrolls into a fresh portion of
151the buffer will be momentarily unfontified.
152
144@vindex scroll-up 153@vindex scroll-up
145@vindex scroll-down 154@vindex scroll-down
146@findex scroll-up-line 155@findex scroll-up-line
diff --git a/doc/emacs/sending.texi b/doc/emacs/sending.texi
index 190549a194e..e3f9fbec071 100644
--- a/doc/emacs/sending.texi
+++ b/doc/emacs/sending.texi
@@ -32,13 +32,14 @@ In the mail buffer, send the message and bury the buffer
32 32
33 The mail buffer is an ordinary Emacs buffer, so you can switch to 33 The mail buffer is an ordinary Emacs buffer, so you can switch to
34other buffers while composing the mail. If you want to send another 34other buffers while composing the mail. If you want to send another
35mail before finishing the current one, type @kbd{C-x m} again to open 35message before finishing the current one, type @kbd{C-x m} again to
36a new mail buffer whose name has a different numeric suffix 36open a new mail buffer whose name has a different numeric suffix
37(@pxref{Misc Buffer}). If you invoke the command with a prefix 37(@pxref{Misc Buffer}). (This only works if you use the default
38argument, @w{@kbd{C-u C-x m}}, Emacs switches back to the last mail 38Message mode to compose email; see @ref{Mail Commands}.) If you know
39buffer, and asks if you want to erase the message in that buffer; if 39that you'd like to continue composing the unsent message you were
40you answer no, this lets you pick up editing the message where you 40editing, invoke this command with a prefix argument, @w{@kbd{C-u C-x
41left off. 41m}}, and Emacs will switch to the last mail buffer you used and let
42you pick up editing the message where you left off.
42 43
43@kindex C-x 4 m 44@kindex C-x 4 m
44@findex compose-mail-other-window 45@findex compose-mail-other-window
@@ -122,26 +123,6 @@ environment variables (@pxref{General Variables}). If this
122information is unavailable or wrong, you should customize the 123information is unavailable or wrong, you should customize the
123variables yourself (@pxref{Easy Customization}). 124variables yourself (@pxref{Easy Customization}).
124 125
125@vindex mail-from-style
126 The value of the variable @code{mail-from-style} specifies how to
127format the contents of the @samp{From} field:
128
129@table @asis
130@item @code{nil}
131Use just the address, as in @samp{king@@grassland.com}.
132@item @code{parens}
133Use both address and full name, as in:@*
134@samp{king@@grassland.com (Elvis Parsley)}.
135@item @code{angles}
136Use both address and full name, as in:@*
137@samp{Elvis Parsley <king@@grassland.com>}.
138@item any other value
139Use @code{angles} normally. But if the address must be quoted to
140remain syntactically valid under the @code{angles} format but not
141under the @code{parens} format, use @code{parens} instead. This is
142the default.
143@end table
144
145 Apart from @samp{From}, here is a table of commonly-used fields: 126 Apart from @samp{From}, here is a table of commonly-used fields:
146 127
147@table @samp 128@table @samp
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index 9834952566f..1726936de10 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -3667,7 +3667,8 @@ automatically undone when the @code{let} is finished. The setting
3667only affects expressions that are inside the bounds of the @code{let} 3667only affects expressions that are inside the bounds of the @code{let}
3668expression. In computer science jargon, we would say the binding of 3668expression. In computer science jargon, we would say the binding of
3669a symbol is visible only in functions called in the @code{let} form; 3669a symbol is visible only in functions called in the @code{let} form;
3670in Emacs Lisp, scoping is dynamic, not lexical. 3670in Emacs Lisp, the default scoping is dynamic, not lexical. (The
3671non-default lexical binding is not discussed in this manual.)
3671 3672
3672@code{let} can create more than one variable at once. Also, 3673@code{let} can create more than one variable at once. Also,
3673@code{let} gives each variable it creates an initial value, either a 3674@code{let} gives each variable it creates an initial value, either a
diff --git a/etc/NEWS.27 b/etc/NEWS.27
index 44a92ecbdd6..f4edfaf9bec 100644
--- a/etc/NEWS.27
+++ b/etc/NEWS.27
@@ -2239,6 +2239,10 @@ The option is useful for two reasons when verifying the signature:
2239 2.2.17 to fully benefit from this feature. See gpg(1) man page for 2239 2.2.17 to fully benefit from this feature. See gpg(1) man page for
2240 "--auto-key-retrieve". 2240 "--auto-key-retrieve".
2241 2241
2242+++
2243*** The 'mail-from-style' variable is now obsolete.
2244According to RFC 5322, only the 'angles' value is valid.
2245
2242--- 2246---
2243** EasyPG 2247** EasyPG
2244 2248
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 45a308ebcac..bb10194a946 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -3118,7 +3118,7 @@ slots skipped by :initial-offset may appear in the list."
3118 descs))) 3118 descs)))
3119 (nreverse descs))) 3119 (nreverse descs)))
3120 3120
3121(define-error 'cl-struct-unknown-slot "struct %S has no slot %S") 3121(define-error 'cl-struct-unknown-slot "struct has no slot")
3122 3122
3123(defun cl-struct-slot-offset (struct-type slot-name) 3123(defun cl-struct-slot-offset (struct-type slot-name)
3124 "Return the offset of slot SLOT-NAME in STRUCT-TYPE. 3124 "Return the offset of slot SLOT-NAME in STRUCT-TYPE.
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 14adb5a195d..65d598c3bac 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -73,7 +73,7 @@ Otherwise, most addresses look like `angles', but they look like
73 :version "27.1") 73 :version "27.1")
74(make-obsolete-variable 74(make-obsolete-variable
75 'mail-from-style 75 'mail-from-style
76 "only the `angles' value is valid according to RFC2822." "27.1" 'set) 76 "only the `angles' value is valid according to RFC5322." "27.1" 'set)
77 77
78;;;###autoload 78;;;###autoload
79(defcustom mail-specify-envelope-from nil 79(defcustom mail-specify-envelope-from nil
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 20ec370dcb6..f85fd771ca8 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -291,9 +291,9 @@ Blank lines separate paragraphs. Semicolons start comments.
291 (unless 291 (unless
292 (let* ((bfname (buffer-file-name)) 292 (let* ((bfname (buffer-file-name))
293 (fname (and (stringp bfname) (file-name-nondirectory bfname)))) 293 (fname (and (stringp bfname) (file-name-nondirectory bfname))))
294 (or (not (stringp fname)) 294 (and (stringp fname)
295 (string-match "\\`\\.#" fname) 295 (or (string-match "\\`\\.#" fname)
296 (string-equal dir-locals-file fname))) 296 (string-equal dir-locals-file fname))))
297 (add-hook 'flymake-diagnostic-functions #'elisp-flymake-checkdoc nil t) 297 (add-hook 'flymake-diagnostic-functions #'elisp-flymake-checkdoc nil t)
298 (add-hook 'flymake-diagnostic-functions 298 (add-hook 'flymake-diagnostic-functions
299 #'elisp-flymake-byte-compile nil t))) 299 #'elisp-flymake-byte-compile nil t)))
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 25a2152f005..7fca9dac1af 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -1321,35 +1321,42 @@ POS can be a buffer position or a button"
1321 (flymake-show-diagnostic (if (button-type pos) (button-start pos) pos)))) 1321 (flymake-show-diagnostic (if (button-type pos) (button-start pos) pos))))
1322 1322
1323(defun flymake--diagnostics-buffer-entries () 1323(defun flymake--diagnostics-buffer-entries ()
1324 (with-current-buffer flymake--diagnostics-buffer-source 1324 ;; Do nothing if 'flymake--diagnostics-buffer-source' has not yet
1325 (cl-loop for diag in 1325 ;; been set to a valid buffer. This could happen when this function
1326 (cl-sort (flymake-diagnostics) #'< :key #'flymake-diagnostic-beg) 1326 ;; is called too early. For example 'global-display-line-numbers-mode'
1327 for (line . col) = 1327 ;; calls us from its mode hook, when the diagnostic buffer has just
1328 (save-excursion 1328 ;; been created by 'flymake-show-diagnostics-buffer', but is not yet
1329 (goto-char (flymake--diag-beg diag)) 1329 ;; set up properly.
1330 (cons (line-number-at-pos) 1330 (when (bufferp flymake--diagnostics-buffer-source)
1331 (- (point) 1331 (with-current-buffer flymake--diagnostics-buffer-source
1332 (line-beginning-position)))) 1332 (cl-loop for diag in
1333 for type = (flymake--diag-type diag) 1333 (cl-sort (flymake-diagnostics) #'< :key #'flymake-diagnostic-beg)
1334 collect 1334 for (line . col) =
1335 (list (list :diagnostic diag 1335 (save-excursion
1336 :line line 1336 (goto-char (flymake--diag-beg diag))
1337 :severity (flymake--lookup-type-property 1337 (cons (line-number-at-pos)
1338 type 1338 (- (point)
1339 'severity (warning-numeric-level :error))) 1339 (line-beginning-position))))
1340 `[,(format "%s" line) 1340 for type = (flymake--diag-type diag)
1341 ,(format "%s" col) 1341 collect
1342 ,(propertize (format "%s" 1342 (list (list :diagnostic diag
1343 (flymake--lookup-type-property 1343 :line line
1344 type 'flymake-type-name type)) 1344 :severity (flymake--lookup-type-property
1345 'face (flymake--lookup-type-property 1345 type
1346 type 'mode-line-face 'flymake-error)) 1346 'severity (warning-numeric-level :error)))
1347 (,(format "%s" (flymake--diag-text diag)) 1347 `[,(format "%s" line)
1348 mouse-face highlight 1348 ,(format "%s" col)
1349 help-echo "mouse-2: visit this diagnostic" 1349 ,(propertize (format "%s"
1350 face nil 1350 (flymake--lookup-type-property
1351 action flymake-goto-diagnostic 1351 type 'flymake-type-name type))
1352 mouse-action flymake-goto-diagnostic)])))) 1352 'face (flymake--lookup-type-property
1353 type 'mode-line-face 'flymake-error))
1354 (,(format "%s" (flymake--diag-text diag))
1355 mouse-face highlight
1356 help-echo "mouse-2: visit this diagnostic"
1357 face nil
1358 action flymake-goto-diagnostic
1359 mouse-action flymake-goto-diagnostic)])))))
1353 1360
1354(define-derived-mode flymake-diagnostics-buffer-mode tabulated-list-mode 1361(define-derived-mode flymake-diagnostics-buffer-mode tabulated-list-mode
1355 "Flymake diagnostics" 1362 "Flymake diagnostics"
diff --git a/lisp/simple.el b/lisp/simple.el
index 91736a60730..7c8ac413d35 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -8057,8 +8057,12 @@ OTHER-HEADERS is an alist specifying additional
8057header fields. Elements look like (HEADER . VALUE) where both 8057header fields. Elements look like (HEADER . VALUE) where both
8058HEADER and VALUE are strings. 8058HEADER and VALUE are strings.
8059 8059
8060CONTINUE, if non-nil, says to continue editing a message already 8060By default, if an unsent message is already being composed, this
8061being composed. Interactively, CONTINUE is the prefix argument. 8061command will ask whether to erase the unsent message, and will not
8062start a new message if the user doesn't allow erasing. However, if
8063CONTINUE is non-nil, it means to continue editing a message already
8064being composed without asking. Interactively, CONTINUE is the prefix
8065argument.
8062 8066
8063SWITCH-FUNCTION, if non-nil, is a function to use to 8067SWITCH-FUNCTION, if non-nil, is a function to use to
8064switch to and display the buffer used for mail composition. 8068switch to and display the buffer used for mail composition.
diff --git a/src/xfns.c b/src/xfns.c
index 10e1b5e58c2..1f381e2a8b0 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -7747,6 +7747,7 @@ Note: Text drawn with the `x' font backend is shown with hollow boxes. */)
7747 7747
7748#ifdef USE_GTK 7748#ifdef USE_GTK
7749#ifdef HAVE_GTK3 7749#ifdef HAVE_GTK3
7750#if GTK_CHECK_VERSION (3, 14, 0)
7750DEFUN ("x-gtk-debug", Fx_gtk_debug, Sx_gtk_debug, 1, 1, 0, 7751DEFUN ("x-gtk-debug", Fx_gtk_debug, Sx_gtk_debug, 1, 1, 0,
7751 doc: /* Toggle interactive GTK debugging. */) 7752 doc: /* Toggle interactive GTK debugging. */)
7752 (Lisp_Object enable) 7753 (Lisp_Object enable)
@@ -7759,6 +7760,7 @@ DEFUN ("x-gtk-debug", Fx_gtk_debug, Sx_gtk_debug, 1, 1, 0,
7759 7760
7760 return NILP (enable) ? Qnil : Qt; 7761 return NILP (enable) ? Qnil : Qt;
7761} 7762}
7763#endif /* GTK_CHECK_VERSION (3, 14, 0) */
7762#endif /* HAVE_GTK3 */ 7764#endif /* HAVE_GTK3 */
7763#endif /* USE_GTK */ 7765#endif /* USE_GTK */
7764 7766
@@ -8146,7 +8148,9 @@ eliminated in future versions of Emacs. */);
8146#endif 8148#endif
8147#ifdef USE_GTK 8149#ifdef USE_GTK
8148#ifdef HAVE_GTK3 8150#ifdef HAVE_GTK3
8151#if GTK_CHECK_VERSION (3, 14, 0)
8149 defsubr (&Sx_gtk_debug); 8152 defsubr (&Sx_gtk_debug);
8150#endif 8153#endif
8151#endif 8154#endif
8155#endif
8152} 8156}