changeset 108969:cdae067c62d3

Fix for comint-password-prompt-regexp (Bug#6367). * lisp/comint.el (comint-password-prompt-regexp): Fix 2010-04-10 change (Bug#6367). * comint-testsuite.el: New file.
author Chong Yidong <cyd@stupidchicken.com>
date Fri, 11 Jun 2010 10:39:54 -0400
parents a4e18a1ee55d
children 6ff48295959a
files lisp/ChangeLog lisp/comint.el test/ChangeLog test/comint-testsuite.el
diffstat 4 files changed, 69 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Jun 11 14:28:41 2010 +0100
+++ b/lisp/ChangeLog	Fri Jun 11 10:39:54 2010 -0400
@@ -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.
--- a/lisp/comint.el	Fri Jun 11 14:28:41 2010 +0100
+++ b/lisp/comint.el	Fri Jun 11 10:39:54 2010 -0400
@@ -340,7 +340,7 @@
 ;; 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"))
--- a/test/ChangeLog	Fri Jun 11 14:28:41 2010 +0100
+++ b/test/ChangeLog	Fri Jun 11 10:39:54 2010 -0400
@@ -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.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/comint-testsuite.el	Fri Jun 11 10:39:54 2010 -0400
@@ -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
+