emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp/term pc-win.el


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs/lisp/term pc-win.el
Date: Wed, 08 Apr 2009 13:49:54 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Eli Zaretskii <eliz>    09/04/08 13:49:54

Modified files:
        lisp/term      : pc-win.el 

Log message:
        (msdos-last-help-message): New defvar.
        (msdos-show-help): Use it to avoid saving the last message if it was 
also
        a help message (Bug#2895).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/term/pc-win.el?cvsroot=emacs&r1=1.56&r2=1.57

Patches:
Index: pc-win.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/term/pc-win.el,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- pc-win.el   5 Jan 2009 03:23:56 -0000       1.56
+++ pc-win.el   8 Apr 2009 13:49:53 -0000       1.57
@@ -248,23 +248,30 @@
 (fset 'set-cursor-color 'ignore)       ; Hardware determined by char under.
 (fset 'set-border-color 'ignore)       ; Not useful.
 
+(defvar msdos-last-help-message nil
+  "The last help message received via `show-help-function'.
+This is used by `msdos-show-help'.")
+
 (defvar msdos-previous-message nil
   "The content of the echo area before help echo was displayed.")
 
 (defun msdos-show-help (help)
   "Function installed as `show-help-function' on MS-DOS frames."
   (when (and (not (window-minibuffer-p)) ;Don't overwrite minibuffer contents.
-             ;; Don't know how to reproduce it in Elisp:
-             ;; Don't overwrite a keystroke echo.
-             ;; (NILP (echo_message_buffer) || ok_to_overwrite_keystroke_echo)
              (not cursor-in-echo-area)) ;Don't overwrite a prompt.
     (cond
      ((stringp help)
-      (unless msdos-previous-message
+      (setq help (replace-regexp-in-string "\n" ", " help))
+      (unless (or msdos-previous-message
+                 (string-equal help (current-message))
+                 (and (stringp msdos-last-help-message)
+                      (string-equal msdos-last-help-message
+                                    (current-message))))
         (setq msdos-previous-message (current-message)))
+      (setq msdos-last-help-message help)
       (let ((message-truncate-lines nil)
             (message-log-max nil))
-        (message "%s" (replace-regexp-in-string "\n" ", " help))))
+        (message "%s" help)))
      ((stringp msdos-previous-message)
       (let ((message-log-max nil))
         (message "%s" msdos-previous-message)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]