diff options
author | Chong Yidong <cyd@gnu.org> | 2014-01-17 17:45:45 +0100 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2014-01-17 17:45:45 +0100 |
commit | 681ce5d2510a90d537129cea42af86cf1cc11186 (patch) | |
tree | 80dc1ccbbb82c97b4df7ca200e64ae7a1653f403 /lisp/comint.el | |
parent | 502963bbf2febcc5fa6b15d5b5bb5d0431d7428e (diff) | |
download | emacs-681ce5d2510a90d537129cea42af86cf1cc11186.tar.gz |
Fix Bug#13124.
* simple.el (password-word-equivalents): New defcustom.
* comint.el (comint-password-prompt-regexp): Use it. Bump version to 24.4.
(comint-watch-for-password-prompt): Let-bind `case-fold-search' to t.
Diffstat (limited to 'lisp/comint.el')
-rw-r--r-- | lisp/comint.el | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/lisp/comint.el b/lisp/comint.el index 7407392e021..6e57fdc1c45 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -347,14 +347,12 @@ This variable is buffer-local." "Old" "old" "New" "new" "'s" "login" "Kerberos" "CVS" "UNIX" " SMB" "LDAP" "[sudo]" "Repeat" "Bad") t) " +\\)" - (regexp-opt - '("password" "Password" "passphrase" "Passphrase" - "pass phrase" "Pass phrase" "Response")) + "\\(?:" (regexp-opt password-word-equivalents) "\\|Response\\)" "\\(?:\\(?:, try\\)? *again\\| (empty for no passphrase)\\| (again)\\)?\ -\\(?: for .+\\)?:\\s *\\'") +\\(?: for [^::៖]+\\)?[::៖]\\s *\\'") "Regexp matching prompts for passwords in the inferior process. This is used by `comint-watch-for-password-prompt'." - :version "24.1" + :version "24.4" :type 'regexp :group 'comint) @@ -2318,7 +2316,8 @@ process if STRING contains a password prompt defined by `comint-password-prompt-regexp'. This function could be in the list `comint-output-filter-functions'." - (when (string-match comint-password-prompt-regexp string) + (when (let ((case-fold-search t)) + (string-match comint-password-prompt-regexp string)) (when (string-match "^[ \n\r\t\v\f\b\a]+" string) (setq string (replace-match "" t t string))) (send-invisible string))) @@ -3631,8 +3630,8 @@ This function does not need to be invoked by the end user." ;; If we see the prompt, tidy up ;; We'll look for the prompt in the original string, so nobody can ;; clobber it - (and (string-match comint-redirect-finished-regexp - (concat comint-redirect-previous-input-string + (and (string-match comint-redirect-finished-regexp + (concat comint-redirect-previous-input-string input-string)) (progn (and comint-redirect-verbose |