doc.c fix for bug#11036

* src/doc.c (Fsnarf_documentation): Check variables, functions are bound,
not just in the obarray, before snarfing them.
This commit is contained in:
Glenn Morris 2012-04-09 16:43:15 -04:00
parent 935396c0f0
commit 05920a43fc
2 changed files with 13 additions and 7 deletions

View file

@ -1,5 +1,8 @@
2012-04-09 Glenn Morris <rgm@gnu.org>
* doc.c (Fsnarf_documentation): Check variables, functions are bound,
not just in the obarray, before snarfing them. (Bug#11036)
* Makefile.in ($(leimdir)/leim-list.el):
Pass EMACS rather than BUILT_EMACS.

View file

@ -1,6 +1,6 @@
/* Record indices of function doc strings stored in a file.
Copyright (C) 1985-1986, 1993-1995, 1997-2012
Free Software Foundation, Inc.
Copyright (C) 1985-1986, 1993-1995, 1997-2012 Free Software Foundation, Inc.
This file is part of GNU Emacs.
@ -671,15 +671,18 @@ the same file name is found in the `doc-directory'. */)
/* Install file-position as variable-documentation property
and make it negative for a user-variable
(doc starts with a `*'). */
Fput (sym, Qvariable_documentation,
make_number ((pos + end + 1 - buf)
* (end[1] == '*' ? -1 : 1)));
if (!NILP (Fboundp (sym)))
Fput (sym, Qvariable_documentation,
make_number ((pos + end + 1 - buf)
* (end[1] == '*' ? -1 : 1)));
}
/* Attach a docstring to a function? */
else if (p[1] == 'F')
store_function_docstring (sym, pos + end + 1 - buf);
{
if (!NILP (Ffboundp (sym)))
store_function_docstring (sym, pos + end + 1 - buf);
}
else if (p[1] == 'S')
; /* Just a source file name boundary marker. Ignore it. */