aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2020-10-17 09:48:54 -0700
committerGlenn Morris2020-10-17 09:48:54 -0700
commit3ac3a6503ebcf40ae6e179d92e1d168a4d440ea1 (patch)
tree48987d8f445159691efbf8b060e59731d43d8bb5
parent2f45054208ccc3fbd53b7f4d6bbaba92afa075c1 (diff)
parent65078e0a760950783e56f6765465a59bd642e8e4 (diff)
downloademacs-3ac3a6503ebcf40ae6e179d92e1d168a4d440ea1.tar.gz
emacs-3ac3a6503ebcf40ae6e179d92e1d168a4d440ea1.zip
Merge from origin/emacs-27
65078e0a76 * lisp/info.el (Info-hide-note-references): Doc fix. (Bug... 30305b543d Make lisp/progmodes/js.el dependent on CC Mode in the Make... c37b2a9b42 Yet another fix for 'set-minibuffer-message' 72dd911981 Fix posn-at-x-y in builds --without-x ace25f2066 Clarify the seq-reduce documentation 7d598e281d Make tramp-completion-reread-directory-timeout obsolete (B... 2c31ce18ea Fix 'message' when there's active minibuffer on another frame # Conflicts: # doc/misc/tramp.texi # etc/NEWS
-rw-r--r--doc/lispref/commands.texi48
-rw-r--r--doc/lispref/sequences.texi9
-rw-r--r--doc/misc/tramp.texi16
-rw-r--r--etc/NEWS.276
-rw-r--r--lisp/Makefile.in6
-rw-r--r--lisp/emacs-lisp/seq.el8
-rw-r--r--lisp/info.el9
-rw-r--r--lisp/minibuffer.el82
-rw-r--r--lisp/net/tramp.el2
-rw-r--r--src/keyboard.c7
10 files changed, 122 insertions, 71 deletions
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 1467854904c..8959175def8 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1345,10 +1345,11 @@ button. @xref{Repeat Events}.
1345 1345
1346 To access the contents of a mouse position list in the 1346 To access the contents of a mouse position list in the
1347@var{position} slot of a click event, you should typically use the 1347@var{position} slot of a click event, you should typically use the
1348functions documented in @ref{Accessing Mouse}. The explicit format of 1348functions documented in @ref{Accessing Mouse}.
1349the list depends on where the click occurred. For clicks in the text 1349
1350area, mode line, header line, tab line, or in the fringe or marginal 1350The explicit format of the list depends on where the click occurred.
1351areas, the mouse position list has the form 1351For clicks in the text area, mode line, header line, tab line, or in
1352the fringe or marginal areas, the mouse position list has the form
1352 1353
1353@example 1354@example
1354(@var{window} @var{pos-or-area} (@var{x} . @var{y}) @var{timestamp} 1355(@var{window} @var{pos-or-area} (@var{x} . @var{y}) @var{timestamp}
@@ -1478,6 +1479,45 @@ handle), @code{up} (the up arrow at one end of the scroll bar), or
1478@c The 'top', 'bottom', and 'end-scroll' codes don't seem to be used. 1479@c The 'top', 'bottom', and 'end-scroll' codes don't seem to be used.
1479@end table 1480@end table
1480 1481
1482For clicks on the frame's internal border (@pxref{Frame Layout}),
1483@var{position} has this form:
1484
1485@example
1486 (@var{frame} @var{part} (@var{X} . @var{Y}) @var{timestamp})
1487@end example
1488
1489@table @asis
1490@item @var{frame}
1491The frame whose internal border was clicked on.
1492
1493@item @var{part}
1494The part of the internal border which was clicked on. This can be one
1495of the following:
1496
1497@table @code
1498@item nil
1499The frame does not have an internal border. This usually happens on
1500text-mode frames. This can also happen on GUI frames with internal
1501border if the frame doesn't have its @code{drag-internal-border}
1502parameter (@pxref{Mouse Dragging Parameters}) set to a non-@code{nil}
1503value.
1504
1505@item left-edge
1506@itemx top-edge
1507@itemx right-edge
1508@itemx bottom-edge
1509The click was on the corresponding border at an offset of at least one
1510canonical character from the border's nearest corner.
1511
1512@item top-left-corner
1513@itemx top-right-corner
1514@itemx bottom-right-corner
1515@itemx bottom-left-corner
1516The click was on the corresponding corner of the internal border.
1517@end table
1518
1519@end table
1520
1481 1521
1482@node Drag Events 1522@node Drag Events
1483@subsection Drag Events 1523@subsection Drag Events
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index ca52369bd0c..952834bd4e3 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -658,8 +658,13 @@ for which @var{predicate} returns @code{nil}.
658@var{initial-value} and the first element of @var{sequence}, then calling 658@var{initial-value} and the first element of @var{sequence}, then calling
659@var{function} with that result and the second element of @var{sequence}, 659@var{function} with that result and the second element of @var{sequence},
660then with that result and the third element of @var{sequence}, etc. 660then with that result and the third element of @var{sequence}, etc.
661@var{function} should be a function of two arguments. If 661@var{function} should be a function of two arguments.
662@var{sequence} is empty, this returns @var{initial-value} without 662
663@var{function} is called with two arguments. @var{intial-value}
664(and then the accumulated value) is used as the first argument, and
665the elements in @var{sequence} are used for the second argument.
666
667If @var{sequence} is empty, this returns @var{initial-value} without
663calling @var{function}. 668calling @var{function}.
664 669
665@example 670@example
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 0e397f4c244..a7339bf2988 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -3089,19 +3089,6 @@ Example:
3089@end group 3089@end group
3090@end example 3090@end example
3091 3091
3092During file name completion, remote directory contents are re-read
3093regularly to account for any changes in the file system that may
3094affect the completion candidates. Such re-reads can account for
3095changes to the file system by applications outside Emacs
3096(@pxref{Connection caching}).
3097
3098@defopt tramp-completion-reread-directory-timeout
3099The timeout is number of seconds since last remote command for
3100rereading remote directory contents. A value of 0 re-reads
3101immediately during file name completion, @code{nil} uses cached
3102directory contents.
3103@end defopt
3104
3105 3092
3106@node Ad-hoc multi-hops 3093@node Ad-hoc multi-hops
3107@section Declaring multiple hops in the file name 3094@section Declaring multiple hops in the file name
@@ -4126,9 +4113,6 @@ files are not independently updated outside @value{tramp}'s control.
4126That cache cleanup will be necessary if the remote directories or 4113That cache cleanup will be necessary if the remote directories or
4127files are updated independent of @value{tramp}. 4114files are updated independent of @value{tramp}.
4128 4115
4129Set @code{tramp-completion-reread-directory-timeout} to @code{nil} to
4130speed up completions, @ref{File name completion}.
4131
4132Disable version control to avoid delays: 4116Disable version control to avoid delays:
4133 4117
4134@lisp 4118@lisp
diff --git a/etc/NEWS.27 b/etc/NEWS.27
index 149bd32fc01..e7931330357 100644
--- a/etc/NEWS.27
+++ b/etc/NEWS.27
@@ -21,6 +21,10 @@ Temporary note:
21When you add a new item, use the appropriate mark if you are sure it 21When you add a new item, use the appropriate mark if you are sure it
22applies, and please also update docstrings as needed. 22applies, and please also update docstrings as needed.
23 23
24** Tramp
25
26*** The user option 'tramp-completion-reread-directory-timeout' is made obsolete.
27
24 28
25* Installation Changes in Emacs 27.1 29* Installation Changes in Emacs 27.1
26 30
@@ -202,7 +206,7 @@ it won't work right without some adjustment:
202Units that are ordered after 'emacs.service' will only be started 206Units that are ordered after 'emacs.service' will only be started
203after Emacs has finished initialization and is ready for use, and 207after Emacs has finished initialization and is ready for use, and
204Emacs needs to be built with systemd support. (If your Emacs is 208Emacs needs to be built with systemd support. (If your Emacs is
205installed in a non-standard location and you copied the emacs.service 209installed in a non-standard location and you copied the "emacs.service"
206file to e.g. "~/.config/systemd/user/", you will need to copy the new 210file to e.g. "~/.config/systemd/user/", you will need to copy the new
207version of the file again.) 211version of the file again.)
208 212
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 84c5733918a..7c86e89ca99 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -524,4 +524,10 @@ $(lisp)/progmodes/cc-mode.elc: $(lisp)/progmodes/cc-langs.elc \
524$(lisp)/progmodes/cc-styles.elc: $(lisp)/progmodes/cc-vars.elc \ 524$(lisp)/progmodes/cc-styles.elc: $(lisp)/progmodes/cc-vars.elc \
525 $(lisp)/progmodes/cc-align.elc 525 $(lisp)/progmodes/cc-align.elc
526 526
527# https://debbugs.gnu.org/43037
528# js.elc (like all modes using CC Mode's compile time macros) needs to
529# be compiled under the same version of CC Mode it will run with.
530$(lisp)/progmodes/js.elc: $(lisp)/progmodes/cc-defs.elc \
531 $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-mode.elc
532
527# Makefile ends here. 533# Makefile ends here.
diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el
index d60f974aee1..9073f9c7a51 100644
--- a/lisp/emacs-lisp/seq.el
+++ b/lisp/emacs-lisp/seq.el
@@ -336,9 +336,11 @@ list."
336 "Reduce the function FUNCTION across SEQUENCE, starting with INITIAL-VALUE. 336 "Reduce the function FUNCTION across SEQUENCE, starting with INITIAL-VALUE.
337 337
338Return the result of calling FUNCTION with INITIAL-VALUE and the 338Return the result of calling FUNCTION with INITIAL-VALUE and the
339first element of SEQUENCE, then calling FUNCTION with that result and 339first element of SEQUENCE, then calling FUNCTION with that result
340the second element of SEQUENCE, then with that result and the third 340and the second element of SEQUENCE, then with that result and the
341element of SEQUENCE, etc. 341third element of SEQUENCE, etc. FUNCTION will be called with
342INITIAL-VALUE (and then the accumulated value) as the first
343argument, and the elements from SEQUENCE as the second argument.
342 344
343If SEQUENCE is empty, return INITIAL-VALUE and FUNCTION is not called." 345If SEQUENCE is empty, return INITIAL-VALUE and FUNCTION is not called."
344 (if (seq-empty-p sequence) 346 (if (seq-empty-p sequence)
diff --git a/lisp/info.el b/lisp/info.el
index 6dffb3993c4..8ea47d2dbef 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -305,10 +305,11 @@ when you hit the end of the current node."
305 305
306(defcustom Info-hide-note-references t 306(defcustom Info-hide-note-references t
307 "If non-nil, hide the tag and section reference in *note and * menu items. 307 "If non-nil, hide the tag and section reference in *note and * menu items.
308If value is non-nil but not `hide', also replaces the \"*note\" with \"see\". 308If the value is t, the default, replace \"*note\" with \"see\".
309If value is non-nil but not t or `hide', the reference section is still shown. 309If the value is `hide', remove \"*note\" without replacing it with anything.
310nil completely disables this feature. If this is non-nil, you might 310If value is non-nil, but not t or `hide', the reference section is still shown.
311want to set `Info-refill-paragraphs'." 311nil completely disables this feature, leaving the original \"*note\" visible.
312If this is non-nil, you may wish setting `Info-refill-paragraphs' non-nil."
312 :version "22.1" 313 :version "22.1"
313 :type '(choice (const :tag "No hiding" nil) 314 :type '(choice (const :tag "No hiding" nil)
314 (const :tag "Replace tag and hide reference" t) 315 (const :tag "Replace tag and hide reference" t)
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 427636e8662..5a41e2f30bd 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -776,44 +776,50 @@ The text is displayed for `minibuffer-message-clear-timeout' seconds
776whichever comes first. 776whichever comes first.
777Unlike `minibuffer-message', this function is called automatically 777Unlike `minibuffer-message', this function is called automatically
778via `set-message-function'." 778via `set-message-function'."
779 (when (and (not noninteractive) 779 (let* ((minibuf-window (active-minibuffer-window))
780 (window-live-p (active-minibuffer-window))) 780 (minibuf-frame (and (window-live-p minibuf-window)
781 (with-current-buffer (window-buffer (active-minibuffer-window)) 781 (window-frame minibuf-window))))
782 (setq message (if (string-match-p "\\` *\\[.+\\]\\'" message) 782 (when (and (not noninteractive)
783 ;; Make sure we can put-text-property. 783 (window-live-p minibuf-window)
784 (copy-sequence message) 784 (or (eq (window-frame) minibuf-frame)
785 (concat " [" message "]"))) 785 (eq (frame-parameter minibuf-frame 'minibuffer) 'only)))
786 (unless (or (null minibuffer-message-properties) 786 (with-current-buffer (window-buffer minibuf-window)
787 ;; Don't overwrite the face properties the caller has set 787 (setq message (if (string-match-p "\\` *\\[.+\\]\\'" message)
788 (text-properties-at 0 message)) 788 ;; Make sure we can put-text-property.
789 (setq message (apply #'propertize message minibuffer-message-properties))) 789 (copy-sequence message)
790 790 (concat " [" message "]")))
791 (clear-minibuffer-message) 791 (unless (or (null minibuffer-message-properties)
792 792 ;; Don't overwrite the face properties the caller has set
793 (let ((ovpos (minibuffer--message-overlay-pos))) 793 (text-properties-at 0 message))
794 (setq minibuffer-message-overlay 794 (setq message
795 (make-overlay ovpos ovpos nil t t))) 795 (apply #'propertize message minibuffer-message-properties)))
796 (unless (zerop (length message)) 796
797 ;; The current C cursor code doesn't know to use the overlay's 797 (clear-minibuffer-message)
798 ;; marker's stickiness to figure out whether to place the cursor 798
799 ;; before or after the string, so let's spoon-feed it the pos. 799 (let ((ovpos (minibuffer--message-overlay-pos)))
800 (put-text-property 0 1 'cursor 1 message)) 800 (setq minibuffer-message-overlay
801 (overlay-put minibuffer-message-overlay 'after-string message) 801 (make-overlay ovpos ovpos nil t t)))
802 ;; Make sure the overlay with the message is displayed before 802 (unless (zerop (length message))
803 ;; any other overlays in that position, in case they have 803 ;; The current C cursor code doesn't know to use the overlay's
804 ;; resize-mini-windows set to nil and the other overlay strings 804 ;; marker's stickiness to figure out whether to place the cursor
805 ;; are too long for the mini-window width. This makes sure the 805 ;; before or after the string, so let's spoon-feed it the pos.
806 ;; temporary message will always be visible. 806 (put-text-property 0 1 'cursor 1 message))
807 (overlay-put minibuffer-message-overlay 'priority 1100) 807 (overlay-put minibuffer-message-overlay 'after-string message)
808 808 ;; Make sure the overlay with the message is displayed before
809 (when (numberp minibuffer-message-clear-timeout) 809 ;; any other overlays in that position, in case they have
810 (setq minibuffer-message-timer 810 ;; resize-mini-windows set to nil and the other overlay strings
811 (run-with-timer minibuffer-message-clear-timeout nil 811 ;; are too long for the mini-window width. This makes sure the
812 #'clear-minibuffer-message))) 812 ;; temporary message will always be visible.
813 813 (overlay-put minibuffer-message-overlay 'priority 1100)
814 ;; Return `t' telling the caller that the message 814
815 ;; was handled specially by this function. 815 (when (numberp minibuffer-message-clear-timeout)
816 t))) 816 (setq minibuffer-message-timer
817 (run-with-timer minibuffer-message-clear-timeout nil
818 #'clear-minibuffer-message)))
819
820 ;; Return `t' telling the caller that the message
821 ;; was handled specially by this function.
822 t))))
817 823
818(setq set-message-function 'set-minibuffer-message) 824(setq set-message-function 'set-minibuffer-message)
819 825
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 6d44ad23ad7..0c85025d542 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -1235,6 +1235,8 @@ have been gone since last remote command execution. A value of t
1235would require an immediate reread during filename completion, nil 1235would require an immediate reread during filename completion, nil
1236means to use always cached values for the directory contents." 1236means to use always cached values for the directory contents."
1237 :type '(choice (const nil) (const t) integer)) 1237 :type '(choice (const nil) (const t) integer))
1238(make-obsolete-variable
1239 'tramp-completion-reread-directory-timeout 'remote-file-name-inhibit-cache "27.2")
1238 1240
1239;;; Internal Variables: 1241;;; Internal Variables:
1240 1242
diff --git a/src/keyboard.c b/src/keyboard.c
index 4d22c44810e..10d2f6323ed 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -5254,7 +5254,6 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
5254 extra_info))); 5254 extra_info)));
5255 } 5255 }
5256 5256
5257#ifdef HAVE_WINDOW_SYSTEM
5258 else if (f) 5257 else if (f)
5259 { 5258 {
5260 /* Return mouse pixel coordinates here. */ 5259 /* Return mouse pixel coordinates here. */
@@ -5262,7 +5261,9 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
5262 xret = XFIXNUM (x); 5261 xret = XFIXNUM (x);
5263 yret = XFIXNUM (y); 5262 yret = XFIXNUM (y);
5264 5263
5265 if (FRAME_LIVE_P (f) 5264#ifdef HAVE_WINDOW_SYSTEM
5265 if (FRAME_WINDOW_P (f)
5266 && FRAME_LIVE_P (f)
5266 && FRAME_INTERNAL_BORDER_WIDTH (f) > 0 5267 && FRAME_INTERNAL_BORDER_WIDTH (f) > 0
5267 && !NILP (get_frame_param (f, Qdrag_internal_border))) 5268 && !NILP (get_frame_param (f, Qdrag_internal_border)))
5268 { 5269 {
@@ -5271,8 +5272,8 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
5271 5272
5272 posn = builtin_lisp_symbol (internal_border_parts[part]); 5273 posn = builtin_lisp_symbol (internal_border_parts[part]);
5273 } 5274 }
5274 }
5275#endif 5275#endif
5276 }
5276 5277
5277 else 5278 else
5278 window_or_frame = Qnil; 5279 window_or_frame = Qnil;