changeset 5802:236e4afc565d

Autoload within #'keymapp, as documented. src/ChangeLog addition: 2014-07-02 Aidan Kehoe <kehoea@parhasard.net> * keymap.c (Fkeymapp): Autoload within this, as documented. Our callers are not prepared to do the intelligent thing if a symbol that is fboundp to an autoloaded keymap, is not itself #'keymapp. lisp/ChangeLog addition: 2014-07-02 Aidan Kehoe <kehoea@parhasard.net> * byte-optimize.el (side-effect-free-fns): #'keymapp is not side-effect-free, it can autoload.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 02 Jul 2014 17:45:49 +0100
parents 0e9f791cc655
children b79e1e02bf01
files lisp/ChangeLog lisp/byte-optimize.el src/ChangeLog src/keymap.c
diffstat 4 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Jul 02 16:32:19 2014 +0100
+++ b/lisp/ChangeLog	Wed Jul 02 17:45:49 2014 +0100
@@ -1,3 +1,8 @@
+2014-07-02  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* byte-optimize.el (side-effect-free-fns):
+	#'keymapp is not side-effect-free, it can autoload.
+
 2014-07-02  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* cmdloop.el:
--- a/lisp/byte-optimize.el	Wed Jul 02 16:32:19 2014 +0100
+++ b/lisp/byte-optimize.el	Wed Jul 02 17:45:49 2014 +0100
@@ -1340,7 +1340,7 @@
 	 hash-table-p
 	 identity ignore integerp integer-or-marker-p interactive-p
 	 invocation-directory invocation-name
-	 keymapp list list* listp
+	 list list* listp
 	 make-marker mark mark-marker markerp memory-limit minibuffer-window
 	 ;; mouse-movement-p not in XEmacs
 	 natnump nlistp not null number-or-marker-p numberp
--- a/src/ChangeLog	Wed Jul 02 16:32:19 2014 +0100
+++ b/src/ChangeLog	Wed Jul 02 17:45:49 2014 +0100
@@ -1,3 +1,10 @@
+2014-07-02  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* keymap.c (Fkeymapp):
+	Autoload within this, as documented. Our callers are not prepared
+	to do the intelligent thing if a symbol that is fboundp to an
+	autoloaded keymap, is not itself #'keymapp.
+
 2014-07-02  Aidan Kehoe  <kehoea@parhasard.net>
 
 	* event-stream.c (Fnext_command_event):
--- a/src/keymap.c	Wed Jul 02 16:32:19 2014 +0100
+++ b/src/keymap.c	Wed Jul 02 17:45:49 2014 +0100
@@ -1008,7 +1008,7 @@
        (object))
 {
   /* This function can GC */
-  return KEYMAPP (get_keymap (object, 0, 0)) ? Qt : Qnil;
+  return KEYMAPP (get_keymap (object, 0, 1)) ? Qt : Qnil;
 }
 
 /* Check that OBJECT is a keymap (after dereferencing through any