From 05920a43fc18e696b464387e781e7cfdcea5b5af Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 9 Apr 2012 16:43:15 -0400 Subject: [PATCH] doc.c fix for bug#11036 * src/doc.c (Fsnarf_documentation): Check variables, functions are bound, not just in the obarray, before snarfing them. --- src/ChangeLog | 3 +++ src/doc.c | 17 ++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index aa7d3b5eb7f..18a3d4545e3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2012-04-09 Glenn Morris + * 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. diff --git a/src/doc.c b/src/doc.c index 02db4dde072..9e48a4d49f3 100644 --- a/src/doc.c +++ b/src/doc.c @@ -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. */ -- 2.39.2