aboutsummaryrefslogtreecommitdiffstats
path: root/src/thread.c
diff options
context:
space:
mode:
authorPo Lu2024-05-23 15:19:46 +0800
committerPo Lu2024-05-23 15:19:46 +0800
commit64cced2c37a9926fe6ff1c6ad9b9540abd47e21c (patch)
tree3cf6244da2ed8116e87b5d70a036667a3a43c506 /src/thread.c
parentad0b9b9ab5dc58ee4e6277b642b325970c63a4f7 (diff)
downloademacs-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.c2
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
64struct thread_state *current_thread = &main_thread.s; 64struct thread_state *current_thread = &main_thread.s;
65 65
66static struct thread_state *all_threads = &main_thread.s; 66struct thread_state *all_threads = &main_thread.s;
67 67
68static sys_mutex_t global_lock; 68static sys_mutex_t global_lock;
69 69