]> code.delx.au - gnu-emacs-elpa/commitdiff
multishell.el - Remove (redundant) maintainer line, fix remote cd ordering.
authorKen Manheimer <ken.manheimer@gmail.com>
Sun, 3 Jan 2016 16:16:57 +0000 (11:16 -0500)
committerKen Manheimer <ken.manheimer@gmail.com>
Sun, 3 Jan 2016 16:16:57 +0000 (11:16 -0500)
Also, remove redundant requires.

packages/multishell/multishell.el

index f132d0a41723002428cc3b42752e4800c5ab071f..fb37b2590d6307e8afbfa932d24c9776b0917754 100644 (file)
@@ -3,8 +3,7 @@
 ;; Copyright (C) 1999-2016 Free Software Foundation, Inc. and Ken Manheimer
 
 ;; Author: Ken Manheimer <ken.manheimer@gmail.com>
-;; Version: 1.0.1
-;; Maintainer: Ken Manheimer <ken dot manheimer at gmail...>
+;; Version: 1.0.2
 ;; Created: 1999 -- first public availability
 ;; Keywords: processes
 ;; URL: https://github.com/kenmanheimer/EmacsUtils
@@ -293,16 +292,13 @@ For example:
                           target-shell-buffer-name))
             (pop-to-buffer target-shell-buffer-name t))))
 
-    ;; We're in the buffer.
+    ;; We're in the buffer. Activate:
 
-    ;; If we have a use-default-dir, impose it:
-    (when use-default-dir
-        (cd use-default-dir))
-
-    ;; Activate:
-
-    (if (not (comint-check-proc (current-buffer)))
-        (multishell:start-shell-in-buffer (buffer-name (current-buffer))))
+    (cond ((not (comint-check-proc (current-buffer)))
+           (multishell:start-shell-in-buffer (buffer-name (current-buffer))
+                                             use-default-dir))
+          (use-default-dir
+           (cd use-default-dir)))
 
     ;; If the destination buffer has a stopped process, resume it:
     (let ((process (get-buffer-process (current-buffer))))
@@ -369,14 +365,11 @@ on empty input."
   (if (string= (substring name -1) "*")
       (setq name (substring name 0 -1)))
   name)
-(defun multishell:start-shell-in-buffer (buffer-name)
+(defun multishell:start-shell-in-buffer (buffer-name dir)
   "Ensure a shell is started, using whatever name we're passed."
   ;; We work around shell-mode's bracketing of the buffer name, and do
   ;; some tramp-mode hygiene for remote connections.
 
-  (require 'comint)
-  (require 'shell)
-
   (let* ((buffer buffer-name)
          (prog (or explicit-shell-file-name
                    (getenv "ESHELL")
@@ -394,6 +387,8 @@ on empty input."
       (tramp-cleanup-connection
        (tramp-dissect-file-name default-directory 'noexpand)
        'keep-debug 'keep-password))
+    (if dir
+        (cd dir))
     (setq buffer (set-buffer (apply 'make-comint
                                     (multishell:unbracket-asterisks buffer-name)
                                     prog