]> git.eshelyaron.com Git - emacs.git/commitdiff
Detect Chinese sudo password prompts (Bug#31075)
authorNoam Postavsky <npostavs@gmail.com>
Mon, 25 Jun 2018 23:11:41 +0000 (19:11 -0400)
committerNoam Postavsky <npostavs@gmail.com>
Fri, 24 Aug 2018 02:50:15 +0000 (22:50 -0400)
* lisp/comint.el (comint-password-prompt-regexp): Allow text between
the prompt prefix and password equivalent.
* lisp/eshell/esh-mode.el (eshell-password-prompt-regexp): Accept some
unicode alternatives to ":".
* test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
test case.

lisp/comint.el
lisp/eshell/esh-mode.el
test/lisp/comint-tests.el

index 51c7e81e09a7d7408f472dc68e1e6645762ee15e..5928804fe739bc60cc642d5ed3a202b767eebfee 100644 (file)
@@ -360,7 +360,8 @@ This variable is buffer-local."
       "Kerberos" "CVS" "UNIX" " SMB" "LDAP" "PEM" "SUDO"
       "[sudo]" "Repeat" "Bad" "Retype")
     t)
-   " +\\)"
+   ;; Allow for user name to precede password equivalent (Bug#31075).
+   " +.*\\)"
    "\\(?:" (regexp-opt password-word-equivalents) "\\|Response\\)"
    "\\(?:\\(?:, try\\)? *again\\| (empty for no passphrase)\\| (again)\\)?"
    ;; "[[:alpha:]]" used to be "for", which fails to match non-English.
index 9f854c7d907e09207e1ed2af1e720fedfee1cd44..0c25f412c2a0d3f4675263e4ed635300e93db83d 100644 (file)
@@ -182,10 +182,11 @@ inserted.  They return the string as it should be inserted."
   :group 'eshell-mode)
 
 (defcustom eshell-password-prompt-regexp
-  (format "\\(%s\\).*:\\s *\\'" (regexp-opt password-word-equivalents))
+  (format "\\(%s\\)[^::៖]*[::៖]\\s *\\'" (regexp-opt password-word-equivalents))
   "Regexp matching prompts for passwords in the inferior process.
 This is used by `eshell-watch-for-password-prompt'."
   :type 'regexp
+  :version "27.1"
   :group 'eshell-mode)
 
 (defcustom eshell-skip-prompt-function nil
index 366fcc9ad896075bbc3f2c79781731aecb295016..eab2709cea9c0981fc72d5399f4bccc352dbeeab 100644 (file)
@@ -36,6 +36,7 @@
     "Enter same passphrase again: "     ; ssh-keygen
     "Passphrase for key root@GNU.ORG: " ; plink
     "[sudo] password for user:" ; Ubuntu sudo
+    "[sudo] user 的密码:" ; localized
     "Password (again):"
     "Enter password:"
     "Mot de Passe :" ; localized (Bug#29729)