From xemacs-m  Sun Jan  5 17:01:50 1997
Received: from atreides.mindspring.com (qmailr@atreides.mindspring.com [204.180.142.236])
          by xemacs.cs.uiuc.edu (8.8.4/8.8.4) with SMTP
	  id RAA13191 for <xemacs-beta@xemacs.org>; Sun, 5 Jan 1997 17:01:49 -0600 (CST)
Received: (qmail 22798 invoked by uid 52477); 5 Jan 1997 23:01:52 -0000
Sender: sj@atreides.mindspring.com
To: Michael Kifer <kifer@cs.sunysb.edu>, XEmacs beta <xemacs-beta@xemacs.org>
Subject: Vip-event-key under XEmacs bug.
Mime-Version: 1.0 (generated by tm-edit 7.100)
Content-Type: text/plain; charset=US-ASCII
From: Sudish Joseph <sudish@mindspring.com>
Date: 05 Jan 1997 18:01:52 -0500
Message-ID: <yviaohf3u3of.fsf@atreides.mindspring.com>
Lines: 37
X-Mailer: Red Gnus v0.78/XEmacs 20.0

Using a menu when in insert mode causes vip-event-key to choke in
XEmacs.  This is because event-modifiers cannot be applied to
non-key-press-events under XEmacs.  Patch follows.  I took the liberty
of removing the error call since returning nil seems graceful enough
and this is a commonplace action (for me, anyway :-).

I made the patch with diff -b, so you'll need to C-M-q after applying
it. 

-Sudish

--- viper-util.el~	Sat Dec 14 00:34:03 1996
+++ viper-util.el	Sun Jan  5 17:47:07 1997
@@ -977,8 +977,9 @@
 ;; instead of nil, if '(nil) was previously inadvertently assigned to
 ;; unread-command-events
 (defun vip-event-key (event)
-  (or (and event (eventp event))
-      (error "vip-event-key: Wrong type argument, eventp, %S" event))
+  (when (cond
+	 (vip-xemacs-p (key-press-event-p event))
+	 (t (and event (eventp event))))
   (let ((mod (event-modifiers event))
 	basis)
     (setq basis
@@ -1012,7 +1013,8 @@
 		(intern (char-to-string basis)))))
     (if mod
 	(append mod (list basis))
-      basis)))
+	basis))))
+
     
 (defun vip-key-to-emacs-key (key)
   (let (key-name char-p modifiers mod-char-list base-key base-key-name)


