From 1449fa1d08009f384f1867aecf1aa8a46220dcc4 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 6 Feb 2012 21:43:39 +0800 Subject: [PATCH] * doc.c (store_function_docstring): Avoid applying docstring of alias to base function. Fixes: debbugs:2603 --- src/ChangeLog | 5 +++++ src/doc.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 2353cc1eca2..860a0592e29 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2012-02-06 Chong Yidong + + * doc.c (store_function_docstring): Avoid applying docstring of + alias to base function (Bug#2603). + 2012-02-04 Andreas Schwab * .gdbinit (pp1, pv1): Remove redundant defines. diff --git a/src/doc.c b/src/doc.c index 7bdb8c658b0..ad2c667e771 100644 --- a/src/doc.c +++ b/src/doc.c @@ -502,10 +502,12 @@ aren't strings. */) /* Scanning the DOC files and placing docstring offsets into functions. */ static void -store_function_docstring (Lisp_Object fun, EMACS_INT offset) +store_function_docstring (Lisp_Object sym, EMACS_INT offset) /* Use EMACS_INT because we get offset from pointer subtraction. */ { - fun = indirect_function (fun); + /* Don't use indirect_function here, or defaliases will apply their + docstrings to the base functions (Bug#2603). */ + Lisp_Object fun = XSYMBOL (sym)->function; /* The type determines where the docstring is stored. */ -- 2.39.2