mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-27 07:37:33 +00:00
Make sure that `shell' makes BUFFER current
* lisp/shell.el (shell): Restrict scope of recently added `with-current-buffer' to make sure that BUFFER is current when `shell' returns.
This commit is contained in:
parent
0fb52dcc45
commit
375bfbde06
@ -729,25 +729,26 @@ Otherwise, one argument `-i' is passed to the shell.
|
||||
(file-local-name
|
||||
(read-file-name
|
||||
"Remote shell path: " default-directory shell-file-name
|
||||
t shell-file-name))))))
|
||||
t shell-file-name)))))))
|
||||
|
||||
;; The buffer's window must be correctly set when we call comint
|
||||
;; (so that comint sets the COLUMNS env var properly).
|
||||
(pop-to-buffer buffer)
|
||||
(unless (comint-check-proc buffer)
|
||||
(let* ((prog (or explicit-shell-file-name
|
||||
(getenv "ESHELL") shell-file-name))
|
||||
(name (file-name-nondirectory prog))
|
||||
(startfile (concat "~/.emacs_" name))
|
||||
(xargs-name (intern-soft (concat "explicit-" name "-args"))))
|
||||
(unless (file-exists-p startfile)
|
||||
(setq startfile (concat user-emacs-directory "init_" name ".sh")))
|
||||
(apply 'make-comint-in-buffer "shell" buffer prog
|
||||
(if (file-exists-p startfile) startfile)
|
||||
(if (and xargs-name (boundp xargs-name))
|
||||
(symbol-value xargs-name)
|
||||
'("-i")))
|
||||
(shell-mode))))
|
||||
;; The buffer's window must be correctly set when we call comint
|
||||
;; (so that comint sets the COLUMNS env var properly).
|
||||
(pop-to-buffer buffer)
|
||||
;; Rain or shine, BUFFER must be current by now.
|
||||
(unless (comint-check-proc buffer)
|
||||
(let* ((prog (or explicit-shell-file-name
|
||||
(getenv "ESHELL") shell-file-name))
|
||||
(name (file-name-nondirectory prog))
|
||||
(startfile (concat "~/.emacs_" name))
|
||||
(xargs-name (intern-soft (concat "explicit-" name "-args"))))
|
||||
(unless (file-exists-p startfile)
|
||||
(setq startfile (concat user-emacs-directory "init_" name ".sh")))
|
||||
(apply 'make-comint-in-buffer "shell" buffer prog
|
||||
(if (file-exists-p startfile) startfile)
|
||||
(if (and xargs-name (boundp xargs-name))
|
||||
(symbol-value xargs-name)
|
||||
'("-i")))
|
||||
(shell-mode)))
|
||||
buffer)
|
||||
|
||||
;;; Directory tracking
|
||||
|
Loading…
Reference in New Issue
Block a user