From: Richard M. Stallman Date: Thu, 23 Dec 1993 01:56:43 +0000 (+0000) Subject: (Fsubstitute_command_keys): Ignore menu bar bindings. X-Git-Tag: emacs-19.34~10603 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b6c537745e6b9ad2065275cee1a245a208455e54;p=emacs.git (Fsubstitute_command_keys): Ignore menu bar bindings. (Fdocumentation_property): 3 args is maximum. --- diff --git a/src/doc.c b/src/doc.c index 499033c5f4a..aee321c3420 100644 --- 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);