diff options
| author | Paul Eggert <eggert@cs.ucla.edu> | 2012-02-10 10:58:48 -0800 | 
|---|---|---|
| committer | Paul Eggert <eggert@cs.ucla.edu> | 2012-02-10 10:58:48 -0800 | 
| commit | 6e6c82a4e687708d5a7a3887f92db45bd74da276 (patch) | |
| tree | 85dc3105240e84a8cddadb25d572e170fcdbd8bc /src/buffer.c | |
| parent | 78df1fb1d46d556bfc2698ca1802972b13613ba8 (diff) | |
| parent | cc26d239af9a82cff079556a1daff4b4bf60eb5c (diff) | |
| download | emacs-6e6c82a4e687708d5a7a3887f92db45bd74da276.tar.gz | |
Merge from trunk.
Diffstat (limited to 'src/buffer.c')
| -rw-r--r-- | src/buffer.c | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/src/buffer.c b/src/buffer.c index b176bfed3fe..22ae522523a 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1022,7 +1022,10 @@ buffer_lisp_local_variables (struct buffer *buf)        if (buf != current_buffer)  	val = XCDR (elt); -      result = Fcons (Fcons (XCAR (elt), val), result); +      result = Fcons (EQ (val, Qunbound) +		      ? XCAR (elt) +		      : Fcons (XCAR (elt), val), +		      result);      }    return result; @@ -1064,9 +1067,12 @@ No argument or nil as argument means use current buffer as BUFFER.  */)  	idx = PER_BUFFER_IDX (offset);  	if ((idx == -1 || PER_BUFFER_VALUE_P (buf, idx))  	    && SYMBOLP (PER_BUFFER_SYMBOL (offset))) -	  result = Fcons (Fcons (PER_BUFFER_SYMBOL (offset), -				 PER_BUFFER_VALUE (buf, offset)), -			  result); +	  { +	    Lisp_Object sym = PER_BUFFER_SYMBOL (offset); +	    Lisp_Object val = PER_BUFFER_VALUE (buf, offset); +	    result = Fcons (EQ (val, Qunbound) ? sym : Fcons (sym, val), +			    result); +	  }        }    } | 
