emacs-diffs
[Top][All Lists]
Advanced

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

master f54ad127eec 1/4: Merge from savannah/emacs-30


From: Po Lu
Subject: master f54ad127eec 1/4: Merge from savannah/emacs-30
Date: Mon, 15 Jul 2024 22:18:31 -0400 (EDT)

branch: master
commit f54ad127eec285bffa8c6f2bcb884ec848a73cb1
Merge: 46f2c94949c 68b7806c319
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Merge from savannah/emacs-30
    
    68b7806c319 Support passing signals like 'SIGCODE' to 'tramp-signal-p...
    510ca5e84b5 Merge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs ...
    fe28ba5d55b ; Replace quotes with @code{...} in texinfo files
    ecc8516d9ca ; Replace (non-)nil with (non-)@code{nil} in texinfo files
    3407e274999 Don't save to history from 'eshell-command' when aborting
---
 doc/lispref/functions.texi |  2 +-
 doc/lispref/keymaps.texi   |  8 ++++----
 doc/lispref/strings.texi   |  2 +-
 doc/misc/cc-mode.texi      |  4 ++--
 doc/misc/cl.texi           |  9 +++++----
 doc/misc/dbus.texi         |  2 +-
 doc/misc/eshell.texi       |  9 +++++----
 doc/misc/message.texi      |  4 ++--
 doc/misc/ses.texi          |  7 ++++---
 doc/misc/vtable.texi       |  6 +++---
 lisp/eshell/em-hist.el     | 20 ++------------------
 lisp/eshell/eshell.el      | 20 ++++++++++++++++----
 lisp/net/tramp.el          |  9 +++++++--
 13 files changed, 53 insertions(+), 49 deletions(-)

diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 695e1c3efb5..0cf41072ec3 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -2089,7 +2089,7 @@ code) obey the advice and other calls (from C code) do 
not.
 
 @defmac define-advice symbol (where lambda-list &optional name depth) &rest 
body
 This macro defines a piece of advice and adds it to the function named
-@var{symbol}.  If @var{name} is non-nil, the advice is named
+@var{symbol}.  If @var{name} is non-@code{nil}, the advice is named
 @code{@var{symbol}@@@var{name}} and installed with the name @var{name}; 
otherwise,
 the advice is anonymous.  See @code{advice-add} for explanation of
 other arguments.
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index 32aa98d31cb..a67d8da244e 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -2603,10 +2603,10 @@ operates on menu data structures, so you should write 
it so it can
 safely be called at any time.
 
 @item :wrap @var{wrap-p}
-If @var{wrap-p} is non-nil inside a tool bar, the menu item is not
-displayed, but instead causes subsequent items to be displayed on a
-new line.  This is not supported when Emacs uses the GTK+ or Nextstep
-toolkits.
+If @var{wrap-p} is non-@code{nil} inside a tool bar, the menu item is
+not displayed, but instead causes subsequent items to be displayed on
+a new line.  This is not supported when Emacs uses the GTK+ or
+Nextstep toolkits.
 @end table
 
 @node Menu Separators
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index e290e2e7a6b..d29665ac19b 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -1499,7 +1499,7 @@ case.
 The definition of a word is any sequence of consecutive characters that
 are assigned to the word constituent syntax class in the current syntax
 table (@pxref{Syntax Class Table}); if @code{case-symbols-as-words}
-is non-nil, characters assigned to the symbol constituent syntax
+is non-@code{nil}, characters assigned to the symbol constituent syntax
 class are also considered as word constituent.
 
 When @var{string-or-char} is a character, this function does the same
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index bcbd9faf0c9..ced59c0eee6 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -6283,8 +6283,8 @@ returned if there's no template argument on the first 
line.
 
 @defun c-lineup-template-args-indented-from-margin
 @findex lineup-template-args-indented-from-margin (c-)
-Indent a template argument line `c-basic-offset' from the left-hand
-margin of the line with the containing <.
+Indent a template argument line @code{c-basic-offset} from the
+left-hand margin of the line with the containing <.
 
 @workswith @code{template-args-cont}.
 @end defun
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index a4a34ae07d6..c3a91f7dab1 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -388,10 +388,11 @@ This function prints an ellipsis (``@dots{}'') to 
@var{stream} (see
 above).  When @var{stream} is a buffer, the ellipsis will be given the
 @code{cl-print-ellipsis} text property.  The value of the text
 property will contain state (including @var{start}) in order to print
-the elided part of @var{object} later.  @var{start} should be nil if
-the whole @var{object} is being elided, otherwise it should be an
-index or other pointer into the internals of @var{object} which can be
-passed to `cl-print-object-contents' at a later time.
+the elided part of @var{object} later.  @var{start} should be
+@code{nil} if the whole @var{object} is being elided, otherwise it
+should be an index or other pointer into the internals of @var{object}
+which can be passed to @code{cl-print-object-contents} at a later
+time.
 @end defun
 
 @defvar cl-print-expand-ellipsis-function
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi
index 20d26c80d38..104cde01227 100644
--- a/doc/misc/dbus.texi
+++ b/doc/misc/dbus.texi
@@ -1428,7 +1428,7 @@ We are not an owner of the name @var{service}.
 @end table
 
 When @var{service} is not a known name but a unique name, the function
-returns nil.
+returns @code{nil}.
 @end defun
 
 When a name has been chosen, Emacs can offer its own methods, which
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index c52b8dd66c9..13dc29afde1 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -1761,8 +1761,8 @@ shells, there are also many differences.  Don't let these 
similarities
 lull you into a false sense of familiarity.
 
 When using command form (@pxref{Invocation}), Eshell will ignore any
-leading nil values, so if @var{foo} is @code{nil}, @samp{$@var{foo}
-echo hello} is equivalent to @samp{echo hello}.
+leading @code{nil} values, so if @var{foo} is @code{nil},
+@samp{$@var{foo} echo hello} is equivalent to @samp{echo hello}.
 
 @table @code
 
@@ -2422,8 +2422,9 @@ an @code{eshell-generic-target} as described above).
 @defun eshell-function-target-create output-function &optional close-function
 Create a new virtual target for Eshell that repeatedly calls
 @var{output-function} with the redirected output, as described above.
-If @var{close-function} is non-nil, Eshell will call it when closing the
-target, passing non-@code{nil} if the redirected command succeeded.
+If @var{close-function} is non-@code{nil}, Eshell will call it when
+closing the target, passing non-@code{nil} if the redirected command
+succeeded.
 @end defun
 
 @node Pipelines
diff --git a/doc/misc/message.texi b/doc/misc/message.texi
index d881244c735..6e0e4be7bf5 100644
--- a/doc/misc/message.texi
+++ b/doc/misc/message.texi
@@ -2565,8 +2565,8 @@ into the message headers as the SMTP Method.  If 
@var{cond} is a
 function, it will be called in the message buffer without any
 arguments, and the corresponding @var{method} will be inserted into
 the message headers as the SMTP Method if the function returns a
-non-@code{nil} value; if @var{method} is nil, the value returned by
-the function @code{cond} is used instead.
+non-@code{nil} value; if @var{method} is @code{nil}, the value
+returned by the function @code{cond} is used instead.
 
 @end table
 
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi
index 8500a0f08c4..80c7b93aa28 100644
--- a/doc/misc/ses.texi
+++ b/doc/misc/ses.texi
@@ -1060,9 +1060,10 @@ as a single argument, since you'll probably use it with 
@code{ses-range}.
 
 Special cell values:
 @itemize
-@item nil prints typically the same as "", but allows previous cell to spill 
over.
-@item '*skip* replaces nil when the previous cell actually does spill over;
-nothing is printed for it.
+@item @code{nil} prints typically the same as "", but allows previous
+cell to spill over.
+@item '*skip* replaces @code{nil} when the previous cell actually does
+spill over; nothing is printed for it.
 @item '*error* indicates that the formula signaled an error instead of
 producing a value: the print cell is filled with hash marks (#).
 @end itemize
diff --git a/doc/misc/vtable.texi b/doc/misc/vtable.texi
index 6003435385f..2e0adfb235a 100644
--- a/doc/misc/vtable.texi
+++ b/doc/misc/vtable.texi
@@ -559,9 +559,9 @@ table.
 @defun vtable-insert-object table object &optional location before
 Insert @var{object} into @var{table}.  @var{location} should be an
 object in the table, the new object is inserted after this object, or
-before it if @var{before} is non-nil.  If @var{location} is @code{nil},
-@var{object} is appended to @var{table}, or prepended if @var{before} is
-non-@code{nil}.
+before it if @var{before} is non-@code{nil}.  If @var{location} is
+@code{nil}, @var{object} is appended to @var{table}, or prepended if
+@var{before} is non-@code{nil}.
 
 @var{location} can also be an integer, a zero-based index into the
 table.  In this case, @var{object} is inserted at that index.  If the
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index 9ffddfb611f..fffd611c06f 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -295,12 +295,8 @@ Returns nil if INPUT is prepended by blank space, 
otherwise non-nil."
   (setq-local eshell-hist--new-items 0)
 
   (setq-local eshell-history-ring nil)
-  (if (minibuffer-window-active-p (selected-window))
-      (progn
-        (setq-local eshell-history-append t)
-        (add-hook 'minibuffer-exit-hook #'eshell-add-command-to-history nil t))
-    (if eshell-history-file-name
-       (eshell-read-history nil t)))
+  (when eshell-history-file-name
+    (eshell-read-history nil t))
 
   (unless eshell-history-ring
     (setq eshell-history-ring (make-ring eshell-history-size)))
@@ -411,18 +407,6 @@ input."
   (setq eshell-save-history-index eshell-history-index)
   (setq eshell-history-index nil))
 
-(defun eshell-add-command-to-history ()
-  "Add the command entered at `eshell-command's prompt to the history ring.
-The command is added to the input history ring, if the value of
-variable `eshell-input-filter' returns non-nil when called on the
-command.
-
-This function is supposed to be called from the minibuffer, presumably
-as a `minibuffer-exit-hook'."
-  (eshell-add-input-to-history
-   (buffer-substring (minibuffer-prompt-end) (point-max)))
-  (eshell--save-history))
-
 (defun eshell-add-to-history ()
   "Add last Eshell command to the history ring.
 The command is entered into the input history ring, if the value of
diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el
index b7be3dd1643..d60101d51e1 100644
--- a/lisp/eshell/eshell.el
+++ b/lisp/eshell/eshell.el
@@ -284,14 +284,26 @@ information on Eshell, see Info node `(eshell)Top'."
       (eshell-mode))
     buf))
 
+(declare-function eshell-add-input-to-history "em-hist" (input))
+(declare-function eshell--save-history "em-hist" ())
+
+(defun eshell-command-mode-exit ()
+  "Exit the `eshell-commad-mode' minibuffer and save Eshell history."
+  (interactive)
+  (when (eshell-using-module 'eshell-hist)
+    (eshell-add-input-to-history
+     (buffer-substring (minibuffer-prompt-end) (point-max)))
+    (eshell--save-history))
+  (exit-minibuffer))
+
 (define-minor-mode eshell-command-mode
   "Minor mode for `eshell-command' input.
 \\{eshell-command-mode-map}"
   :keymap (let ((map (make-sparse-keymap)))
-            (define-key map [(control ?g)] 'abort-recursive-edit)
-            (define-key map [(control ?m)] 'exit-minibuffer)
-            (define-key map [(control ?j)] 'exit-minibuffer)
-            (define-key map [(meta control ?m)] 'exit-minibuffer)
+            (define-key map [(control ?g)] #'abort-recursive-edit)
+            (define-key map [(control ?m)] #'eshell-command-mode-exit)
+            (define-key map [(control ?j)] #'eshell-command-mode-exit)
+            (define-key map [(meta control ?m)] #'eshell-command-mode-exit)
             map))
 
 (define-obsolete-function-alias 'eshell-return-exits-minibuffer
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index e8329c82743..5c7236011b8 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -6986,8 +6986,13 @@ SIGCODE may be an integer, or a symbol whose name is a 
signal name."
       (setq pid process
             vec (and (stringp remote) (tramp-dissect-file-name remote))))
      (t (signal 'wrong-type-argument (list #'processp process))))
-    (unless (or (numberp sigcode) (symbolp sigcode))
-      (signal 'wrong-type-argument (list #'numberp sigcode)))
+    (cond
+     ((symbolp sigcode)
+      (setq sigcode (upcase (symbol-name sigcode)))
+      (when (string-prefix-p "SIG" sigcode)
+        (setq sigcode (substring sigcode 3))))
+     ((not (numberp sigcode))
+      (signal 'wrong-type-argument (list #'numberp sigcode))))
     ;; If it's a Tramp process, send SIGCODE remotely.
     (when (and pid vec)
       (tramp-message



reply via email to

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