changeset 65359:71de05246686

* woman.el (top): Remap `man' command by `woman' in `woman-mode-map'. (Man-getpage-in-background-advice): Remove defadvice; it isn't necessary any longer with the remapped command. (Man-bgproc-sentinel-advice): Remove defadvice which counts formatting time only. * net/tramp.el (tramp-action-password) (tramp-multi-action-password): Compile the password prompt from `method', `user' and `host'. Sometimes it isn't obvious which password to enter, for example with remote files offered by recentf.el, or with multiple steps. Suggested by Robert Marshall <robert@chezmarshall.freeserve.co.uk>.
author Michael Albinus <michael.albinus@gmx.de>
date Wed, 07 Sep 2005 21:23:36 +0000
parents c136332c98dd
children 61809205ec7e
files lisp/ChangeLog lisp/net/tramp.el lisp/woman.el
diffstat 3 files changed, 57 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Sep 07 19:54:49 2005 +0000
+++ b/lisp/ChangeLog	Wed Sep 07 21:23:36 2005 +0000
@@ -1,3 +1,19 @@
+2005-09-07  Michael Albinus  <michael.albinus@gmx.de>
+
+	* woman.el (top): Remap `man' command by `woman' in
+	`woman-mode-map'.
+	(Man-getpage-in-background-advice): Remove defadvice; it isn't
+	necessary any longer with the remapped command.
+	(Man-bgproc-sentinel-advice): Remove defadvice which counts
+	formatting time only.
+
+	* net/tramp.el (tramp-action-password)
+	(tramp-multi-action-password): Compile the password prompt from
+	`method', `user' and `host'.  Sometimes it isn't obvious which
+	password to enter, for example with remote files offered by
+	recentf.el, or with multiple steps.  Suggested by Robert Marshall
+	<robert@chezmarshall.freeserve.co.uk>.
+
 2005-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* progmodes/perl-mode.el (perl-font-lock-syntactic-keywords):
--- a/lisp/net/tramp.el	Wed Sep 07 19:54:49 2005 +0000
+++ b/lisp/net/tramp.el	Wed Sep 07 21:23:36 2005 +0000
@@ -5213,7 +5213,10 @@
 
 (defun tramp-action-password (p multi-method method user host)
   "Query the user for a password."
-  (let ((pw-prompt (match-string 0)))
+  (let ((pw-prompt
+	 (format "Password for %s "
+		 (tramp-make-tramp-file-name
+		  nil method user host ""))))
     (tramp-message 9 "Sending password")
     (tramp-enter-password p pw-prompt user host)))
 
@@ -5300,8 +5303,12 @@
 
 (defun tramp-multi-action-password (p method user host)
   "Query the user for a password."
-  (tramp-message 9 "Sending password")
-  (tramp-enter-password p (match-string 0) user host))
+  (let ((pw-prompt
+	 (format "Password for %s "
+		 (tramp-make-tramp-file-name
+		  nil method user host ""))))
+    (tramp-message 9 "Sending password")
+    (tramp-enter-password p pw-prompt user host)))
 
 (defun tramp-multi-action-succeed (p method user host)
   "Signal success in finding shell prompt."
--- a/lisp/woman.el	Wed Sep 07 19:54:49 2005 +0000
+++ b/lisp/woman.el	Wed Sep 07 21:23:36 2005 +0000
@@ -1741,7 +1741,10 @@
   (define-key woman-mode-map "w" 'woman)
   (define-key woman-mode-map "\en" 'WoMan-next-manpage)
   (define-key woman-mode-map "\ep" 'WoMan-previous-manpage)
-  (define-key woman-mode-map [M-mouse-2] 'woman-follow-word))
+  (define-key woman-mode-map [M-mouse-2] 'woman-follow-word)
+
+  ;; We don't need to call `man' when we are in `woman-mode'.
+  (define-key woman-mode-map [remap man] 'woman))
 
 (defun woman-follow-word (event)
   "Run WoMan with word under mouse as topic.
@@ -1942,25 +1945,33 @@
 (defvar WoMan-Man-start-time nil
   "Used to record formatting time used by the `man' command.")
 
-(defadvice Man-getpage-in-background
-  (around Man-getpage-in-background-advice (topic) activate)
-  "Use WoMan unless invoked outside a WoMan buffer or invoked explicitly.
-Otherwise use Man and record start of formatting time."
-  (if (and (eq major-mode 'woman-mode)
-	   (not (eq (caar command-history) 'man)))
-      (WoMan-getpage-in-background topic)
-    ;; Initiates man processing
-    (setq WoMan-Man-start-time (current-time))
-    ad-do-it))
-
-(defadvice Man-bgproc-sentinel
-  (after Man-bgproc-sentinel-advice activate)
-  ;; Terminates man processing
-  "Report formatting time."
-  (let* ((time (current-time))
-	 (time (+ (* (- (car time) (car WoMan-Man-start-time)) 65536)
-		  (- (cadr time) (cadr WoMan-Man-start-time)))))
-    (message "Man formatting done in %d seconds" time)))
+;; Both advices are disabled because "a file in Emacs should not put
+;; advice on a function in Emacs" (see Info node "(elisp)Advising
+;; Functions").  Counting the formatting time is useful for
+;; developping, but less applicable for daily use.  The advice for
+;; `Man-getpage-in-background' can be discarded, because the
+;; key-binding in `woman-mode-map' has been remapped to call `woman'
+;; but `man'.  Michael Albinus <michael.albinus@gmx.de>
+
+;; (defadvice Man-getpage-in-background
+;;   (around Man-getpage-in-background-advice (topic) activate)
+;;   "Use WoMan unless invoked outside a WoMan buffer or invoked explicitly.
+;; Otherwise use Man and record start of formatting time."
+;;   (if (and (eq major-mode 'woman-mode)
+;; 	   (not (eq (caar command-history) 'man)))
+;;       (WoMan-getpage-in-background topic)
+;;     ;; Initiates man processing
+;;     (setq WoMan-Man-start-time (current-time))
+;;     ad-do-it))
+
+;; (defadvice Man-bgproc-sentinel
+;;   (after Man-bgproc-sentinel-advice activate)
+;;   ;; Terminates man processing
+;;   "Report formatting time."
+;;   (let* ((time (current-time))
+;; 	 (time (+ (* (- (car time) (car WoMan-Man-start-time)) 65536)
+;; 		  (- (cadr time) (cadr WoMan-Man-start-time)))))
+;;     (message "Man formatting done in %d seconds" time)))
 
 
 ;;; Buffer handling: