Subject: bug#29729: [PATCH] Support French password prompts in shell

From: Ian Johnson <[email-masked]>
Date: Fri, 15 Dec 2017 21:19:10 -0500

I noticed that French password prompts in `shell-mode' weren't detected
as such by `comint-watch-for-password-prompt' due to a space between the
password prompt and the colon (as in `Mot de passe :'), so I modified
`comint-password-prompt-regexp' to detect this space (as well as
non-breaking spaces before and after the colon, which is used by sudo).

Please let me know if I missed anything, as this is my first patch.
Thank you!

>From 0d6d4e79e8fe94ae2f7424c2fac1b50b49d891d6 Mon Sep 17 00:00:00 2001
From: Ian Johnson <[email-masked]>
Date: Fri, 15 Dec 2017 21:03:22 -0500
Subject: [PATCH] Support French password prompts in shell

French punctuation rules require a space (preferably non-breaking)
before the colon, but password prompts following this rule were not
identified properly by `comint-watch-for-password-prompt'.

 * lisp/comint.el (comint-password-prompt-regexp): support
   spaces (including non-breaking spaces) before and after password
   prompt colon.
---
 lisp/comint.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/comint.el b/lisp/comint.el
index aa7dab28f3..414ffd0f49 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -363,7 +363,7 @@ comint-password-prompt-regexp
    "\\(?:" (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:]]+ .+\\)?[:：៖]\\s *\\'")
+   "\\(?: [[:alpha:]]+ .+\\)?[\\s  ]*[:：៖][\\s  ]*\\'")
   "Regexp matching prompts for passwords in the inferior process.
 This is used by `comint-watch-for-password-prompt'."
   :version "26.1"
-- 
2.15.1