diff src/keyboard.c @ 83423:b64b7e867d0a

Merged from miles@gnu.org--gnu-2005 (patch 677) Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-677 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-463
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 26 Dec 2005 03:16:59 +0000
parents 521d3f18b3d1 61bd8643b908
children ec395f552d45
line wrap: on
line diff
--- a/src/keyboard.c	Mon Dec 26 02:21:31 2005 +0000
+++ b/src/keyboard.c	Mon Dec 26 03:16:59 2005 +0000
@@ -5854,14 +5854,8 @@
 	Lisp_Object head, position;
 	Lisp_Object files;
 
-	/* The frame_or_window field should be a cons of the frame in
-	   which the event occurred and a list of the filenames
-	   dropped.  */
-	if (! CONSP (event->frame_or_window))
-	  abort ();
-
-	f = XFRAME (XCAR (event->frame_or_window));
-	files = XCDR (event->frame_or_window);
+	f = XFRAME (event->frame_or_window);
+	files = event->arg;
 
 	/* Ignore mouse events that were made on frames that
 	   have been deleted.  */
@@ -11721,6 +11715,9 @@
 string, `read-key-sequence' replaces the matching suffix with its
 binding, and continues with the new sequence.
 
+If the binding is a function, it is called with one argument (the prompt)
+and its return value (a key sequence) is used.
+
 The events that come from bindings in `local-function-key-map' are not
 themselves looked up in `local-function-key-map'.