;;; 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\\):"))
(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
(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)