]> git.eshelyaron.com Git - emacs.git/commitdiff
(vip-event-key): ignore consp events.
authorMichael Kifer <kifer@cs.stonybrook.edu>
Fri, 16 Feb 1996 19:01:53 +0000 (19:01 +0000)
committerMichael Kifer <kifer@cs.stonybrook.edu>
Fri, 16 Feb 1996 19:01:53 +0000 (19:01 +0000)
lisp/emulation/viper-util.el

index e1e87102bfcd8f48c5007734e418e0f362ed5846..f486b661796d4db5eca68a50c8379851e359f81a 100644 (file)
@@ -776,7 +776,7 @@ that Viper doesn't know about.")
 
 
 ;; Emacs has a bug in eventp, which causes (eventp nil) to return (nil)
-;; instead of nil, if '(nil) was previously inadvertantly assigned to
+;; instead of nil, if '(nil) was previously inadvertently assigned to
 ;; unread-command-events
 (defun vip-event-key (event)
   (or (and event (eventp event))
@@ -801,10 +801,17 @@ that Viper doesn't know about.")
                         event event))
                  ;; Emacs has the oddity whereby characters 128+char
                  ;; represent M-char *if* this appears inside a string.
-                 ;; So, we convert them manually into (mata char).
+                 ;; So, we convert them manually to (meta char).
                  ((and (numberp event) (< ?\C-? event) (<= event 255))
                   (setq mod '(meta)
                         event (- event ?\C-? 1)))
+                 ;; If EVENT is a list, e.g., (switch-frame frame), we
+                 ;; ignore it, since we can't save this kind of events in a
+                 ;; textual form. In most cases, such events are created
+                 ;; unintentionally, and ignoring them is the right thing.
+                 ;; If an event of this kind was created intentionally during
+                 ;; macro definition---too bad.
+                 ((consp event) nil)
                  (t (event-basic-type event)))
            )))