Fix for comint-password-prompt-regexp (Bug#6367).
authorChong Yidong <cyd@stupidchicken.com>
Fri, 11 Jun 2010 14:39:54 +0000 (10:39 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Fri, 11 Jun 2010 14:39:54 +0000 (10:39 -0400)
* lisp/comint.el (comint-password-prompt-regexp): Fix 2010-04-10 change
(Bug#6367).

* comint-testsuite.el: New file.

lisp/ChangeLog
lisp/comint.el
test/ChangeLog
test/comint-testsuite.el [new file with mode: 0644]

index 9584d1e..d94489a 100644 (file)
@@ -1,3 +1,8 @@
+2010-06-11  Chong Yidong  <cyd@stupidchicken.com>
+
+       * comint.el (comint-password-prompt-regexp): Fix 2010-04-10 change
+       (Bug#6367).
+
 2010-06-11  Stephen Eglen  <stephen@gnu.org>
 
        * shell.el: Bind `shell-resync-dirs' to M-RET.
index fd3cff3..b097baa 100644 (file)
@@ -340,7 +340,7 @@ This variable is buffer-local."
 ;; Something called "perforce" uses "Enter password:".
 (defcustom comint-password-prompt-regexp
   (concat
-   "^\\("
+   "\\("
    (regexp-opt
     '("Enter" "Enter same" "Old" "old" "New" "new" "'s" "login"
       "Kerberos" "CVS" "UNIX" " SMB" "LDAP" "[sudo]" "Repeat" "Bad"))
index d5199c0..d1825c0 100644 (file)
@@ -1,3 +1,7 @@
+2010-06-11  Chong Yidong  <cyd@stupidchicken.com>
+
+       * comint-testsuite.el: New file.
+
 2010-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * indent: New dir.
diff --git a/test/comint-testsuite.el b/test/comint-testsuite.el
new file mode 100644 (file)
index 0000000..35b946c
--- /dev/null
@@ -0,0 +1,59 @@
+;;; bytecomp-testsuite.el
+
+;; Copyright (C) 2010  Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Tests for comint and related modes.
+
+;;; Code:
+
+(require 'comint)
+
+(defun comint-testsuite-run ()
+  (interactive)
+  (with-output-to-temp-buffer "*comint test*"
+    (comint-testsuite--test-comint-password-prompt-regexp)))
+
+(defun comint-testsuite--test-comint-password-prompt-regexp ()
+  (interactive)
+  (let ((password-strings
+        '("foo@example.net's password: " ;ssh
+          "Password for foo@example.org: " ; knit
+          "Kerberos password for devnull/root <at> GNU.ORG: " ; ksu
+          "Enter passphrase: " ; ssh-add
+          "Enter passphrase (empty for no passphrase): " ; ssh-keygen
+          "Enter same passphrase again: "     ; ssh-keygen
+          "Passphrase for key root@GNU.ORG: " ; plink
+          "[sudo] password for user:" ; Ubuntu sudo
+          "Password (again):"
+          "Enter password:"))
+       fail)
+    (dolist (str password-strings)
+      (unless (string-match comint-password-prompt-regexp str)
+       (setq fail t)
+       (princ (format " ERROR: comint-password-prompt-regexp did not match %s\n"
+                      str))))
+    (if fail
+       (princ "FAILED: comint-password-prompt-regexp test\n")
+      (princ "PASSED: comint-password-prompt-regexp test\n"))))
+
+(provide 'comint-testsuite)
+
+;;; comint-testsuite.el ends here
+