emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 3ac3a65 2/4: Merge from origin/emacs-27


From: Glenn Morris
Subject: master 3ac3a65 2/4: Merge from origin/emacs-27
Date: Sat, 17 Oct 2020 12:49:12 -0400 (EDT)

branch: master
commit 3ac3a6503ebcf40ae6e179d92e1d168a4d440ea1
Merge: 2f45054 65078e0
Author: Glenn Morris <rgm@gnu.org>
Commit: Glenn Morris <rgm@gnu.org>

    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
---
 doc/lispref/commands.texi  | 48 ++++++++++++++++++++++++---
 doc/lispref/sequences.texi |  9 +++--
 doc/misc/tramp.texi        | 16 ---------
 etc/NEWS.27                |  6 +++-
 lisp/Makefile.in           |  6 ++++
 lisp/emacs-lisp/seq.el     |  8 +++--
 lisp/info.el               |  9 ++---
 lisp/minibuffer.el         | 82 +++++++++++++++++++++++++---------------------
 lisp/net/tramp.el          |  2 ++
 src/keyboard.c             |  7 ++--
 10 files changed, 122 insertions(+), 71 deletions(-)

diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 1467854..8959175 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1345,10 +1345,11 @@ button.  @xref{Repeat Events}.
 
   To access the contents of a mouse position list in the
 @var{position} slot of a click event, you should typically use the
-functions documented in @ref{Accessing Mouse}.  The explicit format of
-the list depends on where the click occurred.  For clicks in the text
-area, mode line, header line, tab line, or in the fringe or marginal
-areas, the mouse position list has the form
+functions documented in @ref{Accessing Mouse}.
+
+The explicit format of the list depends on where the click occurred.
+For clicks in the text area, mode line, header line, tab line, or in
+the fringe or marginal areas, the mouse position list has the form
 
 @example
 (@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
 @c The 'top', 'bottom', and 'end-scroll' codes don't seem to be used.
 @end table
 
+For clicks on the frame's internal border (@pxref{Frame Layout}),
+@var{position} has this form:
+
+@example
+ (@var{frame} @var{part} (@var{X} . @var{Y}) @var{timestamp})
+@end example
+
+@table @asis
+@item @var{frame}
+The frame whose internal border was clicked on.
+
+@item @var{part}
+The part of the internal border which was clicked on.  This can be one
+of the following:
+
+@table @code
+@item nil
+The frame does not have an internal border.  This usually happens on
+text-mode frames.  This can also happen on GUI frames with internal
+border if the frame doesn't have its @code{drag-internal-border}
+parameter (@pxref{Mouse Dragging Parameters}) set to a non-@code{nil}
+value.
+
+@item left-edge
+@itemx top-edge
+@itemx right-edge
+@itemx bottom-edge
+The click was on the corresponding border at an offset of at least one
+canonical character from the border's nearest corner.
+
+@item top-left-corner
+@itemx top-right-corner
+@itemx bottom-right-corner
+@itemx bottom-left-corner
+The click was on the corresponding corner of the internal border.
+@end table
+
+@end table
+
 
 @node Drag Events
 @subsection Drag Events
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index ca52369..952834b 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -658,8 +658,13 @@ for which @var{predicate} returns @code{nil}.
 @var{initial-value} and the first element of @var{sequence}, then calling
 @var{function} with that result and the second element of @var{sequence},
 then with that result and the third element of @var{sequence}, etc.
-@var{function} should be a function of two arguments.  If
-@var{sequence} is empty, this returns @var{initial-value} without
+@var{function} should be a function of two arguments.
+
+@var{function} is called with two arguments.  @var{intial-value}
+(and then the accumulated value) is used as the first argument, and
+the elements in @var{sequence} are used for the second argument.
+
+If @var{sequence} is empty, this returns @var{initial-value} without
 calling @var{function}.
 
 @example
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 0e397f4..a7339bf 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -3089,19 +3089,6 @@ Example:
 @end group
 @end example
 
-During file name completion, remote directory contents are re-read
-regularly to account for any changes in the file system that may
-affect the completion candidates.  Such re-reads can account for
-changes to the file system by applications outside Emacs
-(@pxref{Connection caching}).
-
-@defopt tramp-completion-reread-directory-timeout
-The timeout is number of seconds since last remote command for
-rereading remote directory contents.  A value of 0 re-reads
-immediately during file name completion, @code{nil} uses cached
-directory contents.
-@end defopt
-
 
 @node Ad-hoc multi-hops
 @section Declaring multiple hops in the file name
@@ -4126,9 +4113,6 @@ files are not independently updated outside 
@value{tramp}'s control.
 That cache cleanup will be necessary if the remote directories or
 files are updated independent of @value{tramp}.
 
-Set @code{tramp-completion-reread-directory-timeout} to @code{nil} to
-speed up completions, @ref{File name completion}.
-
 Disable version control to avoid delays:
 
 @lisp
diff --git a/etc/NEWS.27 b/etc/NEWS.27
index 149bd32..e793133 100644
--- a/etc/NEWS.27
+++ b/etc/NEWS.27
@@ -21,6 +21,10 @@ Temporary note:
 When you add a new item, use the appropriate mark if you are sure it
 applies, and please also update docstrings as needed.
 
+** Tramp
+
+*** The user option 'tramp-completion-reread-directory-timeout' is made 
obsolete.
+
 
 * Installation Changes in Emacs 27.1
 
@@ -202,7 +206,7 @@ it won't work right without some adjustment:
 Units that are ordered after 'emacs.service' will only be started
 after Emacs has finished initialization and is ready for use, and
 Emacs needs to be built with systemd support.  (If your Emacs is
-installed in a non-standard location and you copied the emacs.service
+installed in a non-standard location and you copied the "emacs.service"
 file to e.g. "~/.config/systemd/user/", you will need to copy the new
 version of the file again.)
 
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 84c5733..7c86e89 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -524,4 +524,10 @@ $(lisp)/progmodes/cc-mode.elc: 
$(lisp)/progmodes/cc-langs.elc \
 $(lisp)/progmodes/cc-styles.elc: $(lisp)/progmodes/cc-vars.elc \
    $(lisp)/progmodes/cc-align.elc
 
+# https://debbugs.gnu.org/43037
+# js.elc (like all modes using CC Mode's compile time macros) needs to
+# be compiled under the same version of CC Mode it will run with.
+$(lisp)/progmodes/js.elc: $(lisp)/progmodes/cc-defs.elc \
+   $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-mode.elc
+
 # Makefile ends here.
diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el
index d60f974..9073f9c 100644
--- a/lisp/emacs-lisp/seq.el
+++ b/lisp/emacs-lisp/seq.el
@@ -336,9 +336,11 @@ list."
   "Reduce the function FUNCTION across SEQUENCE, starting with INITIAL-VALUE.
 
 Return the result of calling FUNCTION with INITIAL-VALUE and the
-first element of SEQUENCE, then calling FUNCTION with that result and
-the second element of SEQUENCE, then with that result and the third
-element of SEQUENCE, etc.
+first element of SEQUENCE, then calling FUNCTION with that result
+and the second element of SEQUENCE, then with that result and the
+third element of SEQUENCE, etc.  FUNCTION will be called with
+INITIAL-VALUE (and then the accumulated value) as the first
+argument, and the elements from SEQUENCE as the second argument.
 
 If SEQUENCE is empty, return INITIAL-VALUE and FUNCTION is not called."
   (if (seq-empty-p sequence)
diff --git a/lisp/info.el b/lisp/info.el
index 6dffb39..8ea47d2 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -305,10 +305,11 @@ when you hit the end of the current node."
 
 (defcustom Info-hide-note-references t
   "If non-nil, hide the tag and section reference in *note and * menu items.
-If value is non-nil but not `hide', also replaces the \"*note\" with \"see\".
-If value is non-nil but not t or `hide', the reference section is still shown.
-nil completely disables this feature.  If this is non-nil, you might
-want to set `Info-refill-paragraphs'."
+If the value is t, the default, replace \"*note\" with \"see\".
+If the value is `hide', remove \"*note\" without replacing it with anything.
+If value is non-nil, but not t or `hide', the reference section is still shown.
+nil completely disables this feature, leaving the original \"*note\" visible.
+If this is non-nil, you may wish setting `Info-refill-paragraphs' non-nil."
   :version "22.1"
   :type '(choice (const :tag "No hiding" nil)
                 (const :tag "Replace tag and hide reference" t)
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 427636e..5a41e2f 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -776,44 +776,50 @@ The text is displayed for 
`minibuffer-message-clear-timeout' seconds
 whichever comes first.
 Unlike `minibuffer-message', this function is called automatically
 via `set-message-function'."
-  (when (and (not noninteractive)
-             (window-live-p (active-minibuffer-window)))
-    (with-current-buffer (window-buffer (active-minibuffer-window))
-      (setq message (if (string-match-p "\\` *\\[.+\\]\\'" message)
-                        ;; Make sure we can put-text-property.
-                        (copy-sequence message)
-                      (concat " [" message "]")))
-      (unless (or (null minibuffer-message-properties)
-                  ;; Don't overwrite the face properties the caller has set
-                  (text-properties-at 0 message))
-        (setq message (apply #'propertize message 
minibuffer-message-properties)))
-
-      (clear-minibuffer-message)
-
-      (let ((ovpos (minibuffer--message-overlay-pos)))
-        (setq minibuffer-message-overlay
-              (make-overlay ovpos ovpos nil t t)))
-      (unless (zerop (length message))
-        ;; The current C cursor code doesn't know to use the overlay's
-        ;; marker's stickiness to figure out whether to place the cursor
-        ;; before or after the string, so let's spoon-feed it the pos.
-        (put-text-property 0 1 'cursor 1 message))
-      (overlay-put minibuffer-message-overlay 'after-string message)
-      ;; Make sure the overlay with the message is displayed before
-      ;; any other overlays in that position, in case they have
-      ;; resize-mini-windows set to nil and the other overlay strings
-      ;; are too long for the mini-window width.  This makes sure the
-      ;; temporary message will always be visible.
-      (overlay-put minibuffer-message-overlay 'priority 1100)
-
-      (when (numberp minibuffer-message-clear-timeout)
-        (setq minibuffer-message-timer
-              (run-with-timer minibuffer-message-clear-timeout nil
-                              #'clear-minibuffer-message)))
-
-      ;; Return `t' telling the caller that the message
-      ;; was handled specially by this function.
-      t)))
+  (let* ((minibuf-window (active-minibuffer-window))
+         (minibuf-frame (and (window-live-p minibuf-window)
+                             (window-frame minibuf-window))))
+    (when (and (not noninteractive)
+               (window-live-p minibuf-window)
+               (or (eq (window-frame) minibuf-frame)
+                   (eq (frame-parameter minibuf-frame 'minibuffer) 'only)))
+      (with-current-buffer (window-buffer minibuf-window)
+        (setq message (if (string-match-p "\\` *\\[.+\\]\\'" message)
+                          ;; Make sure we can put-text-property.
+                          (copy-sequence message)
+                        (concat " [" message "]")))
+        (unless (or (null minibuffer-message-properties)
+                    ;; Don't overwrite the face properties the caller has set
+                    (text-properties-at 0 message))
+          (setq message
+                (apply #'propertize message minibuffer-message-properties)))
+
+        (clear-minibuffer-message)
+
+        (let ((ovpos (minibuffer--message-overlay-pos)))
+          (setq minibuffer-message-overlay
+                (make-overlay ovpos ovpos nil t t)))
+        (unless (zerop (length message))
+          ;; The current C cursor code doesn't know to use the overlay's
+          ;; marker's stickiness to figure out whether to place the cursor
+          ;; before or after the string, so let's spoon-feed it the pos.
+          (put-text-property 0 1 'cursor 1 message))
+        (overlay-put minibuffer-message-overlay 'after-string message)
+        ;; Make sure the overlay with the message is displayed before
+        ;; any other overlays in that position, in case they have
+        ;; resize-mini-windows set to nil and the other overlay strings
+        ;; are too long for the mini-window width.  This makes sure the
+        ;; temporary message will always be visible.
+        (overlay-put minibuffer-message-overlay 'priority 1100)
+
+        (when (numberp minibuffer-message-clear-timeout)
+          (setq minibuffer-message-timer
+                (run-with-timer minibuffer-message-clear-timeout nil
+                                #'clear-minibuffer-message)))
+
+        ;; Return `t' telling the caller that the message
+        ;; was handled specially by this function.
+        t))))
 
 (setq set-message-function 'set-minibuffer-message)
 
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 6d44ad2..0c85025 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
 would require an immediate reread during filename completion, nil
 means to use always cached values for the directory contents."
   :type '(choice (const nil) (const t) integer))
+(make-obsolete-variable
+ 'tramp-completion-reread-directory-timeout 'remote-file-name-inhibit-cache 
"27.2")
 
 ;;; Internal Variables:
 
diff --git a/src/keyboard.c b/src/keyboard.c
index 4d22c44..10d2f63 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,
                                        extra_info)));
     }
 
-#ifdef HAVE_WINDOW_SYSTEM
   else if (f)
     {
       /* Return mouse pixel coordinates here.  */
@@ -5262,7 +5261,9 @@ make_lispy_position (struct frame *f, Lisp_Object x, 
Lisp_Object y,
       xret = XFIXNUM (x);
       yret = XFIXNUM (y);
 
-      if (FRAME_LIVE_P (f)
+#ifdef HAVE_WINDOW_SYSTEM
+      if (FRAME_WINDOW_P (f)
+         && FRAME_LIVE_P (f)
          && FRAME_INTERNAL_BORDER_WIDTH (f) > 0
          && !NILP (get_frame_param (f, Qdrag_internal_border)))
        {
@@ -5271,8 +5272,8 @@ make_lispy_position (struct frame *f, Lisp_Object x, 
Lisp_Object y,
 
          posn = builtin_lisp_symbol (internal_border_parts[part]);
        }
-    }
 #endif
+    }
 
   else
     window_or_frame = Qnil;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]