Subject: bug#43846: [PATCH] Match OpenBSD doas password prompt in comint

From: Nick Gasson <[email-masked]>
Date: Wed, 7 Oct 2020 14:56:18 +0800

* lisp/comint.el (comint-password-prompt-regexp): match OpenBSD doas
password prompt. OpenBSD 5.8 replaced sudo with doas in the base
install.

* test/lisp/comint-tests.el (comint-testsuite-password-strings): test
that the doas password prompt is matched.
---
 lisp/comint.el            | 3 ++-
 test/lisp/comint-tests.el | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/lisp/comint.el b/lisp/comint.el
index 6119476..944e1ae 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -362,6 +362,7 @@ This variable is buffer-local."
 ;; Some implementations of passwd use "Password (again)" as the 2nd prompt.
 ;; Something called "perforce" uses "Enter password:".
 ;; OpenVPN prints a prompt like: "Enter Auth Password:".
+;; OpenBSD doas prints "doas (user@host) password:".
 ;; See ert test `comint-test-password-regexp'.
 (defcustom comint-password-prompt-regexp
   (concat
@@ -370,7 +371,7 @@ This variable is buffer-local."
     '("Enter" "enter" "Enter same" "enter same" "Enter the" "enter the"
       "Enter Auth" "enter auth" "Old" "old" "New" "new" "'s" "login"
       "Kerberos" "CVS" "UNIX" " SMB" "LDAP" "PEM" "SUDO"
-      "[sudo]" "Repeat" "Bad" "Retype")
+      "[sudo]" "doas" "Repeat" "Bad" "Retype")
     t)
    ;; Allow for user name to precede password equivalent (Bug#31075).
    " +.*\\)"
diff --git a/test/lisp/comint-tests.el b/test/lisp/comint-tests.el
index 5b59340..923f588 100644
--- a/test/lisp/comint-tests.el
+++ b/test/lisp/comint-tests.el
@@ -39,6 +39,7 @@
     "Passphrase for key [email-masked]: " ; plink
     "[sudo] password for user:" ; Ubuntu sudo
     "[sudo] user 的密码：" ; localized
+    "doas (user@host) password:" ; OpenBSD doas
     "PIN for user:"        ; Bug#35523
     "Password (again):"
     "Enter password:"
-- 
2.28.0