diff options
| author | Alan Mackenzie | 2022-01-14 19:28:07 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2022-01-14 19:28:07 +0000 |
| commit | d87a34597c9f0be967f75ff8cfd0ace4392da63f (patch) | |
| tree | c9474eb0156af143ce61a0c5bcec659546b56300 /src/data.c | |
| parent | 57b698f15913385aec7bc9745016b961c0aa5c55 (diff) | |
| parent | d29291d665e808307126bf52c3e748fef78f0f9c (diff) | |
| download | emacs-d87a34597c9f0be967f75ff8cfd0ace4392da63f.tar.gz emacs-d87a34597c9f0be967f75ff8cfd0ace4392da63f.zip | |
Merge branch 'master' into scratch/correct-warning-pos
Merge branch:
commit d29291d665e808307126bf52c3e748fef78f0f9c (HEAD -> master,
origin/master, origin/HEAD)
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Date: Fri Jan 14 12:26:30 2022 -0500
(macroexp--expand-all): Fix bug#53227 and bug#46636
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/data.c b/src/data.c index e999cee242e..7422348e392 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -2180,7 +2180,7 @@ Instead, use `add-hook' and specify t for the LOCAL argument. */) | |||
| 2180 | 2180 | ||
| 2181 | /* Make sure this buffer has its own value of symbol. */ | 2181 | /* Make sure this buffer has its own value of symbol. */ |
| 2182 | XSETSYMBOL (variable, sym); /* Update in case of aliasing. */ | 2182 | XSETSYMBOL (variable, sym); /* Update in case of aliasing. */ |
| 2183 | tem = Fassq (variable, BVAR (current_buffer, local_var_alist)); | 2183 | tem = assq_no_quit (variable, BVAR (current_buffer, local_var_alist)); |
| 2184 | if (NILP (tem)) | 2184 | if (NILP (tem)) |
| 2185 | { | 2185 | { |
| 2186 | if (let_shadows_buffer_binding_p (sym)) | 2186 | if (let_shadows_buffer_binding_p (sym)) |
| @@ -2260,7 +2260,7 @@ From now on the default value will apply in this buffer. Return VARIABLE. */) | |||
| 2260 | 2260 | ||
| 2261 | /* Get rid of this buffer's alist element, if any. */ | 2261 | /* Get rid of this buffer's alist element, if any. */ |
| 2262 | XSETSYMBOL (variable, sym); /* Propagate variable indirection. */ | 2262 | XSETSYMBOL (variable, sym); /* Propagate variable indirection. */ |
| 2263 | tem = Fassq (variable, BVAR (current_buffer, local_var_alist)); | 2263 | tem = assq_no_quit (variable, BVAR (current_buffer, local_var_alist)); |
| 2264 | if (!NILP (tem)) | 2264 | if (!NILP (tem)) |
| 2265 | bset_local_var_alist | 2265 | bset_local_var_alist |
| 2266 | (current_buffer, | 2266 | (current_buffer, |
| @@ -2301,7 +2301,7 @@ Also see `buffer-local-boundp'.*/) | |||
| 2301 | case SYMBOL_PLAINVAL: return Qnil; | 2301 | case SYMBOL_PLAINVAL: return Qnil; |
| 2302 | case SYMBOL_LOCALIZED: | 2302 | case SYMBOL_LOCALIZED: |
| 2303 | { | 2303 | { |
| 2304 | Lisp_Object tail, elt, tmp; | 2304 | Lisp_Object tmp; |
| 2305 | struct Lisp_Buffer_Local_Value *blv = SYMBOL_BLV (sym); | 2305 | struct Lisp_Buffer_Local_Value *blv = SYMBOL_BLV (sym); |
| 2306 | XSETBUFFER (tmp, buf); | 2306 | XSETBUFFER (tmp, buf); |
| 2307 | XSETSYMBOL (variable, sym); /* Update in case of aliasing. */ | 2307 | XSETSYMBOL (variable, sym); /* Update in case of aliasing. */ |
| @@ -2309,13 +2309,9 @@ Also see `buffer-local-boundp'.*/) | |||
| 2309 | if (EQ (blv->where, tmp)) /* The binding is already loaded. */ | 2309 | if (EQ (blv->where, tmp)) /* The binding is already loaded. */ |
| 2310 | return blv_found (blv) ? Qt : Qnil; | 2310 | return blv_found (blv) ? Qt : Qnil; |
| 2311 | else | 2311 | else |
| 2312 | for (tail = BVAR (buf, local_var_alist); CONSP (tail); tail = XCDR (tail)) | 2312 | return NILP (assq_no_quit (variable, BVAR (buf, local_var_alist))) |
| 2313 | { | 2313 | ? Qnil |
| 2314 | elt = XCAR (tail); | 2314 | : Qt; |
| 2315 | if (EQ (variable, XCAR (elt))) | ||
| 2316 | return Qt; | ||
| 2317 | } | ||
| 2318 | return Qnil; | ||
| 2319 | } | 2315 | } |
| 2320 | case SYMBOL_FORWARDED: | 2316 | case SYMBOL_FORWARDED: |
| 2321 | { | 2317 | { |