Subject: 24.0.50; [PATCH] local-variable-p: Handle variable aliases correctly
From: "Johan Bockg\=e5rd" <[email-masked]>
To: [email-masked]
Date: Wed, 28 Jul 2010 02:15:32 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Found by --enable-checking.

    (defvar foo nil)
    (defvaralias 'bar 'foo)
    (make-local-variable 'bar)
    (local-variable-p 'bar)

returns nil or may crash if checking is enabled. (trunk)

2010-07-27  Johan Bockg=e5rd  <[email-masked]>

	* data.c (Flocal_variable_p): Handle variable aliases correctly.

diff --git a/src/data.c b/src/data.c
index 152a888..b78a665 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1865,6 +1865,7 @@ BUFFER defaults to the current buffer.  */)
 	Lisp_Object tail, elt, tmp;
 	struct Lisp_Buffer_Local_Value *blv = SYMBOL_BLV (sym);
 	XSETBUFFER (tmp, buf);
+	XSETSYMBOL (variable, sym); /* Update in case of aliasing.  */
 
 	for (tail = buf->local_var_alist; CONSP (tail); tail = XCDR (tail))
 	  {