I found that command sudo has two pattern for english and chinese. ``` urugang@urugang-ubuntu:~$ LC_ALL=C sudo ls [sudo] password for urugang: urugang@urugang-ubuntu:~$ LC_ALL=zh_CN.utf8 sudo ls [sudo] urugang 的密码: ``` So i think we should change comint-password-prompt-regexp from ``` (defcustom comint-password-prompt-regexp (concat "\\(^ *\\|" (regexp-opt '("Enter" "enter" "Enter same" "enter same" "Enter the" "enter the" "Old" "old" "New" "new" "'s" "login" "Kerberos" "CVS" "UNIX" " SMB" "LDAP" "[sudo]" "Repeat" "Bad") t) " +\\)" "\\(?:" (regexp-opt password-word-equivalents) "\\|Response\\)" "\\(?:\\(?:, try\\)? *again\\| (empty for no passphrase)\\| (again)\\)?\ \\(?: for [^::៖]+\\)?[::៖]\\s *\\'") "Regexp matching prompts for passwords in the inferior process. This is used by `comint-watch-for-password-prompt'." :version "24.4" :type 'regexp :group 'comint) ``` to ``` (defcustom comint-password-prompt-regexp (concat "\\(^ *\\|" (regexp-opt '("Enter" "enter" "Enter same" "enter same" "Enter the" "enter the" "Old" "old" "New" "new" "'s" "login" "Kerberos" "CVS" "UNIX" " SMB" "LDAP" "[sudo]" "Repeat" "Bad") t) " +.*\\)" "\\(?:" (regexp-opt password-word-equivalents) "\\|Response\\)" "\\(?:\\(?:, try\\)? *again\\| (empty for no passphrase)\\| (again)\\)?\ \\(?: for [^::៖]+\\)?[::៖]\\s *\\'") "Regexp matching prompts for passwords in the inferior process. This is used by `comint-watch-for-password-prompt'." :version "24.4" :type 'regexp :group 'comint) ``` In short, change `" +\\)"` to `" +.*\\)"`. I have a question that why eshell dot not use same password prompt patter in commit-mode. ``` (setq eshell-password-prompt-regexp comint-password-prompt-regexp) ```