]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fsubstitute_command_keys): Ignore menu bar bindings.
authorRichard M. Stallman <rms@gnu.org>
Thu, 23 Dec 1993 01:56:43 +0000 (01:56 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 23 Dec 1993 01:56:43 +0000 (01:56 +0000)
(Fdocumentation_property): 3 args is maximum.

src/doc.c

index 499033c5f4a8e9d35993de9a6c24a2ec8c1fc7bd..aee321c342087bdd7c237d0857c9e6965d20e9dd 100644 (file)
--- a/src/doc.c
+++ b/src/doc.c
@@ -183,7 +183,7 @@ subcommands.)");
   return doc;
 }
 
-DEFUN ("documentation-property", Fdocumentation_property, Sdocumentation_property, 2, 2, 0,
+DEFUN ("documentation-property", Fdocumentation_property, Sdocumentation_property, 2, 3, 0,
   "Return the documentation string that is SYMBOL's PROP property.\n\
 This is like `get', but it can refer to strings stored in the\n\
 `etc/DOC' file; and if the value is a string, it is passed through\n\
@@ -409,6 +409,8 @@ thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ int
        }
       else if (strp[0] == '\\' && strp[1] == '[')
        {
+         Lisp_Object firstkey;
+
          changed = 1;
          strp += 2;            /* skip \[ */
          start = strp;
@@ -425,6 +427,13 @@ thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ int
          tem = Fintern (make_string (start, length), Qnil);
          tem = Fwhere_is_internal (tem, keymap, Qnil, Qt, Qnil);
 
+         /* Disregard menu bar bindings; it is positively annoying to
+            mention them when there's no menu bar, and it isn't terribly
+            useful even when there is a menu bar.  */
+         firstkey = Faref (tem, make_number (0));
+         if (EQ (firstkey, Qmenu_bar))
+           tem = Qnil;
+
          if (NILP (tem))       /* but not on any keys */
            {
              new = (unsigned char *) xrealloc (buf, bsize += 4);