Commit 681ce5d2 authored by Chong Yidong's avatar Chong Yidong Committed by Michael Albinus
Browse files

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.
parent 502963bb
2014-01-17 Chong Yidong <cyd@gnu.org>
* 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. (Bug#13124)
2014-01-17 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/ruby-mode.el (ruby-alignable-keywords): New constant.
......
......@@ -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
......
......@@ -2555,6 +2555,64 @@ which is defined in the `warnings' library.\n")
(setq buffer-undo-list nil)
t))
(defcustom password-word-equivalents
'("password" "passphrase" "pass phrase"
"كلمة السر" ; ar
"গুপ্তশব্দ" ; as
"পাসওয়ার্ড" ; bn_IN
"contrasenya" ; ca
"heslo" ; cs
"adgangskode" ; da
"passwort" ; de
"pasvorto" ; eo
"contraseña" ; es
"pasahitza" ; eu
"salasana" ; fi
"mot de passe" ; fr
"પાસવર્ડ" ; gu
"ססמה" ; he
"शब्दकूट" ; hi
"lozinka" ; hr
"Jelszó: " ; hu
"パスワード" ; ja
"Пароль" ; kk
"ಗುಪ್ತಪದ" ; kn
"암호" ; ko
"ពាក្យសម្ងាត់" ; km
"slaptažodis" ; lt
"അടയാളവാക്ക്" ; ml
"गुप्तशब्द" ; mr
"passord" ; nb
"wachtwoord" ; nl
"ପ୍ରବେଶ ସଙ୍କେତ" ; or
"ਪਾਸਵਰਡ" ; pa
"hasło" ; pl
"senha" ; pt
"Пароль" ; ru
"රහස්පදය" ; si
"Heslo" ; sk
"geslo" ; sl
"lozinka" ; sr
"Лозинка" ; sr
"lösenord" ; sv
"கடவுச்சொல்" ; ta
"సంకేతపదము" ; te
"parola" ; tr
"Пароль" ; uk
"Mật khẩu" ; vi
"密码" ; zh_CN
"密碼" ; zh_TW
"iphasiwedi" ; zu
)
"List of words equivalent to \"password\".
This is used by Shell mode and other parts of Emacs to recognize
password prompts, including prompts in languages other than
English. Different case choices should not be assumed to be
included; callers should bind `case-fold-search' to t."
:type '(repeat string)
:version "24.4"
:group 'processes)
(defvar shell-command-history nil
"History list for some commands that read shell commands.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment