summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/net/rlogin.el4
-rw-r--r--lisp/org/org.el1
-rw-r--r--lisp/simple.el32
-rw-r--r--lisp/vc/vc-git.el8
4 files changed, 27 insertions, 18 deletions
diff --git a/lisp/net/rlogin.el b/lisp/net/rlogin.el
index 646adef2f0a..3bfc4d7f356 100644
--- a/lisp/net/rlogin.el
+++ b/lisp/net/rlogin.el
@@ -219,7 +219,7 @@ variable."
;; function, to avoid a gratuitous resync check; the default
;; should be the user's home directory, be it local or remote.
(setq comint-file-name-prefix
- (concat "/" rlogin-remote-user "@" rlogin-host ":"))
+ (concat "/-:" rlogin-remote-user "@" rlogin-host ":"))
(cd-absolute comint-file-name-prefix))
((null rlogin-directory-tracking-mode))
(t
@@ -253,7 +253,7 @@ local one share the same directories (e.g. through NFS)."
(setq rlogin-directory-tracking-mode t)
(setq shell-dirtrackp t)
(setq comint-file-name-prefix
- (concat "/" rlogin-remote-user "@" rlogin-host ":")))
+ (concat "/-:" rlogin-remote-user "@" rlogin-host ":")))
((< prefix 0)
(setq rlogin-directory-tracking-mode nil)
(setq shell-dirtrackp nil))
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 5272061ccc9..4e4620549c5 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -7,6 +7,7 @@
;; Maintainer: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://orgmode.org
+;; Version: 9.1.6
;;
;; This file is part of GNU Emacs.
;;
diff --git a/lisp/simple.el b/lisp/simple.el
index 375ee31e9cb..0c54c8f2926 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -3356,15 +3356,15 @@ to execute it asynchronously.
The output appears in the buffer `*Async Shell Command*'.
That buffer is in shell mode.
-You can configure `async-shell-command-buffer' to specify what to do in
-case when `*Async Shell Command*' buffer is already taken by another
+You can configure `async-shell-command-buffer' to specify what to do
+when the `*Async Shell Command*' buffer is already taken by another
running shell command. To run COMMAND without displaying the output
in a window you can configure `display-buffer-alist' to use the action
`display-buffer-no-window' for the buffer `*Async Shell Command*'.
In Elisp, you will often be better served by calling `start-process'
-directly, since it offers more control and does not impose the use of a
-shell (with its need to quote arguments)."
+directly, since it offers more control and does not impose the use of
+a shell (with its need to quote arguments)."
(interactive
(list
(read-shell-command "Async shell command: " nil nil
@@ -3433,8 +3433,8 @@ In an interactive call, the variable `shell-command-default-error-buffer'
specifies the value of ERROR-BUFFER.
In Elisp, you will often be better served by calling `call-process' or
-`start-process' directly, since it offers more control and does not impose
-the use of a shell (with its need to quote arguments)."
+`start-process' directly, since they offer more control and do not
+impose the use of a shell (with its need to quote arguments)."
(interactive
(list
@@ -3552,14 +3552,20 @@ the use of a shell (with its need to quote arguments)."
;; carriage motion (see comint-inhibit-carriage-motion).
(set-process-filter proc 'comint-output-filter)
(if async-shell-command-display-buffer
+ ;; Display buffer immediately.
(display-buffer buffer '(nil (allow-no-window . t)))
- (add-function :before (process-filter proc)
- (lambda (process _string)
- (let ((buf (process-buffer process)))
- (when (and (zerop (buffer-size buf))
- (string= (buffer-name buf)
- bname))
- (display-buffer buf))))))))
+ ;; Defer displaying buffer until first process output.
+ ;; Use disposable named advice so that the buffer is
+ ;; displayed at most once per process lifetime.
+ (let ((nonce (make-symbol "nonce")))
+ (add-function :before (process-filter proc)
+ (lambda (proc _string)
+ (let ((buf (process-buffer proc)))
+ (when (buffer-live-p buf)
+ (remove-function (process-filter proc)
+ nonce)
+ (display-buffer buf))))
+ `((name . ,nonce)))))))
;; Otherwise, command is executed synchronously.
(shell-command-on-region (point) (point) command
output-buffer nil error-buffer)))))))
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 2d6ca1386a3..47172dd52fa 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -999,7 +999,7 @@ This prompts for a branch to merge from."
(autoload 'vc-setup-buffer "vc-dispatcher")
(defcustom vc-git-print-log-follow nil
- "If true, follow renames in Git logs for files."
+ "If true, follow renames in Git logs for a single file."
:type 'boolean
:version "26.1")
@@ -1024,8 +1024,10 @@ If LIMIT is non-nil, show no more than this many entries."
(append
'("log" "--no-color")
(when (and vc-git-print-log-follow
- (not (cl-some #'file-directory-p files)))
- ;; "--follow" on directories is broken
+ (null (cdr files))
+ (car files)
+ (not (file-directory-p (car files))))
+ ;; "--follow" on directories or multiple files is broken
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=8756
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16422
(list "--follow"))