Allow newlines in password prompts again in comint
* lisp/comint.el (comint-password-prompt-regexp): Match all whitespace (including newline) at the end of the passphrase, not just space and \t (bug#46609). (comint-watch-for-password-prompt): Remove trailing newlines from the prompt (bug#46609). Copyright-paperwork-exempt: yes
This commit is contained in:
parent
c977370dd7
commit
850f18ef23
1 changed files with 3 additions and 1 deletions
|
@ -366,7 +366,7 @@ This variable is buffer-local."
|
|||
"\\(?:" (regexp-opt password-word-equivalents) "\\|Response\\)"
|
||||
"\\(?:\\(?:, try\\)? *again\\| (empty for no passphrase)\\| (again)\\)?"
|
||||
;; "[[:alpha:]]" used to be "for", which fails to match non-English.
|
||||
"\\(?: [[:alpha:]]+ .+\\)?[[:blank:]]*[::៖][[:blank:]]*\\'")
|
||||
"\\(?: [[:alpha:]]+ .+\\)?[[:blank:]]*[::៖][[:space:]]*\\'")
|
||||
"Regexp matching prompts for passwords in the inferior process.
|
||||
This is used by `comint-watch-for-password-prompt'."
|
||||
:version "27.1"
|
||||
|
@ -2405,6 +2405,8 @@ This function could be in the list `comint-output-filter-functions'."
|
|||
(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)))
|
||||
(when (string-match "\n+\\'" string)
|
||||
(setq string (replace-match "" t t string)))
|
||||
(let ((comint--prompt-recursion-depth (1+ comint--prompt-recursion-depth)))
|
||||
(if (> comint--prompt-recursion-depth 10)
|
||||
(message "Password prompt recursion too deep")
|
||||
|
|
Loading…
Add table
Reference in a new issue