Merge branch 'master' of metalzone:etc/profile
authorMark Wooding <mdw@distorted.org.uk>
Sat, 26 Dec 2009 11:26:37 +0000 (11:26 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 26 Dec 2009 11:26:37 +0000 (11:26 +0000)
* 'master' of metalzone:etc/profile:
  dot/emacs, el/dot-emacs.el: Fix patterns for root prompt.

1  2 
dot/emacs
el/dot-emacs.el

diff --combined dot/emacs
+++ b/dot/emacs
  ;;; Rootly editingness.
  
  (eval-after-load "tramp"
 -  '(progn
 +  '(let ((fix-args (if (mdw-version-< tramp-version "2.1")
 +                     #'append #'identity)))
       (setq tramp-methods
           (mdw-uniquify-alist
            `(("become"
               (tramp-copy-program nil)
               (tramp-copy-args nil)
               (tramp-copy-keep-date-arg nil)
 -             (tramp-login-args (("TERM=dumb" "%u"))))
 +             (tramp-login-args ,(funcall fix-args `("TERM=dumb" "%u"))))
              ("really"
               (tramp-connection-function tramp-open-connection-su)
               (tramp-login-program "really")
 -             (tramp-login-args (("-u" "%u")
 -                                ("--")
 -                                ("env" "TERM=dumb" "/bin/sh")))
 +             (tramp-login-args ,(funcall fix-args
 +                                         `("-u" "%u")
 +                                         `("--")
 +                                         `("env" "TERM=dumb" "/bin/sh")))
               (tramp-copy-program nil)
               (tramp-copy-args nil)
               (tramp-copy-keep-date-arg nil)
              ,@tramp-methods)))
       (setq tramp-default-method "ssh")
       (setq tramp-default-method-alist
 -         `(("\\`localhost\\'" ""
 +         `(("\\`\\(localhost\\|\\)\\'" ""
              ,(cond ((executable-find "become") "become")
                     ((executable-find "really") "really")
                     (t "su")))))))
  
  ;; Make the shell mode aware of my prompt.
  
- (setq shell-prompt-pattern "^[^]#$%>»}\n]*[]#$%>»}] *")
+ (setq shell-prompt-pattern "^[^]#$%>»}\n]*\\([]#$%»}]\\|>>?\\) *")
  (setq comint-password-prompt-regexp
        (concat "\\(\\([Ee]nter \\|[Oo]ld \\|[Nn]ew \\|[a-zA-Z0-9_]*'s \\|^\\)"
              "[Pp]assword\\|pass phrase\\):"))
diff --combined el/dot-emacs.el
@@@ -418,21 -418,6 +418,21 @@@ in REST.
              (insert "\nNP: ")
              (insert-file-contents np-file)))))
  
 +(defun mdw-version-< (ver-a ver-b)
 +  "Answer whether VER-A is strictly earlier than VER-B.
 +VER-A and VER-B are version numbers, which are strings containing digit
 +sequences separated by `.'."
 +  (let* ((la (mapcar (lambda (x) (car (read-from-string x)))
 +                   (split-string ver-a "\\.")))
 +       (lb (mapcar (lambda (x) (car (read-from-string x)))
 +                   (split-string ver-b "\\."))))
 +    (catch 'done
 +      (while t
 +      (cond ((null la) (throw 'done lb))
 +            ((null lb) (throw 'done nil))
 +            ((< (car la) (car lb)) (throw 'done t))
 +            ((= (car la) (car lb)) (setq la (cdr la) lb (cdr lb))))))))
 +
  (defun mdw-check-autorevert ()
    "Sets global-auto-revert-ignore-buffer appropriately for this buffer.
  This takes into consideration whether it's been found using
@@@ -2096,7 -2081,7 +2096,7 @@@ strip numbers instead.
            (eshell/pwd)
            right)))
  (setq eshell-prompt-function 'mdw-eshell-prompt)
- (setq eshell-prompt-regexp "^\\[[^]]+\\]")
+ (setq eshell-prompt-regexp "^\\[[^]>]+\\(\\]\\|>>?\\)")
  
  (defalias 'eshell/e 'find-file)
  (defalias 'eshell/w3m 'w3m-goto-url)