diff options
| author | Po Lu | 2024-05-23 15:19:46 +0800 |
|---|---|---|
| committer | Po Lu | 2024-05-23 15:19:46 +0800 |
| commit | 64cced2c37a9926fe6ff1c6ad9b9540abd47e21c (patch) | |
| tree | 3cf6244da2ed8116e87b5d70a036667a3a43c506 /src/thread.c | |
| parent | ad0b9b9ab5dc58ee4e6277b642b325970c63a4f7 (diff) | |
| download | emacs-64cced2c37a9926fe6ff1c6ad9b9540abd47e21c.tar.gz emacs-64cced2c37a9926fe6ff1c6ad9b9540abd47e21c.zip | |
Restore specbound keyboard-locals in the correct KBOARD
* doc/lispref/variables.texi (Intro to Buffer-Local): Fix typo
in documentation.
* src/data.c (KBOARD_OBJFWDP): Move to lisp.h.
(kboard_for_bindings): New variable.
(do_symval_forwarding, store_symval_forwarding): Call
kboard_for_bindings rather than retrieving this value directly.
(set_default_internal): New argument WHERE; if valcontents be a
Lisp_Kboard_Objfwd and WHERE be specified, save the binding
there. All callers changed.
* src/eval.c (specpdl_where): Adjust for changes in structure
layout.
(specpdl_kboard): New function.
(do_specbind): Clear let->where.kbd in ordinary SPECPDL_LETs,
and set it to the kboard where the binding will be installed if
binding keyboard forwards.
(specbind, do_one_unbind, specpdl_unrewind): Provide
specpdl_kboard in invocation of set_default_internal.
* src/keyboard.c (delete_kboard): Clean thread specpdls of
references to kboards.
* src/keyboard.h (KBOARD_OBJFWDP): Move from data.c.
* src/lisp.h (union specbinding) <let.where>: Convert into
union of KBOARD and Lisp_Object.
* src/thread.c (all_threads): Export.
* src/thread.h: Adjust correspondingly.
Diffstat (limited to 'src/thread.c')
| -rw-r--r-- | src/thread.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/thread.c b/src/thread.c index 2f5d7a08838..dd4ef870026 100644 --- a/src/thread.c +++ b/src/thread.c | |||
| @@ -63,7 +63,7 @@ static union aligned_thread_state main_thread | |||
| 63 | 63 | ||
| 64 | struct thread_state *current_thread = &main_thread.s; | 64 | struct thread_state *current_thread = &main_thread.s; |
| 65 | 65 | ||
| 66 | static struct thread_state *all_threads = &main_thread.s; | 66 | struct thread_state *all_threads = &main_thread.s; |
| 67 | 67 | ||
| 68 | static sys_mutex_t global_lock; | 68 | static sys_mutex_t global_lock; |
| 69 | 69 | ||