The old docstrings of define-obsolete-{function,variable}-alias contained statements that if no docstring was provided, that is, `(define-obsolete-{function,variable}-alias 'old 'new)', then OLD would get the docstring of NEW, _unless_ it already had one. This has been replaced with references to the `defalias' and `defvaralias ' docs, which have no such "unless" statements. The "unless" appears to be definitely false in the `function' case. But it is true in the variable case. That is because it is false for defalias, but true for defvaralias.
There are two solutions for the variable case. Document the fact in the docstring and Elisp documentation of defvaralias, or make defvaralias behave exactly like defalias and get rid of the "unless" behavior. I prefer the latter. The patch below would implement it. I can install if desired. To be more concrete: After: (defvar var1 "DOC1") (defvar var2 "DOC2") (defvaralias 'var1 'var2) C-h v var1 RET now shows "DOC1", whereas after the patch below it shows "DOC2", which is behavior consistent with defalias. ===File ~/eval.c-diff======================================= *** eval.c 03 May 2005 20:44:24 -0500 1.237 --- eval.c 05 May 2005 19:42:50 -0500 *************** *** 747,752 **** --- 747,754 ---- LOADHIST_ATTACH (symbol); if (!NILP (docstring)) Fput (symbol, Qvariable_documentation, docstring); + else + Fput (symbol, Qvariable_documentation, Qnil); return aliased; } ============================================================ _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel