diff options
| author | Helmut Eller | 2024-06-23 16:36:13 +0200 |
|---|---|---|
| committer | Helmut Eller | 2026-02-12 18:51:51 +0100 |
| commit | 163dd21e7305bbd91aecb87cb4968970d1e1e873 (patch) | |
| tree | 34124c0b59622a701ca0bdcb6163571e58ef061a /src | |
| parent | d109bcf86e870d003b45930c82f8140e8ba415ac (diff) | |
| download | emacs-163dd21e7305bbd91aecb87cb4968970d1e1e873.tar.gz emacs-163dd21e7305bbd91aecb87cb4968970d1e1e873.zip | |
Remove struct Lisp_Kboard_Objfwd
* src/lisp.h (struct Lisp_Kboard_Objfwd): Deleted ...
(struct Lisp_Fwd): ... replaced with field kbdoffset.
(DEFVAR_KBOARD): Use new field.
* src/data.c (XKBOARD_OFFSET): Renamed from XKBOARD_OBJFWD.
(do_symval_forwarding, store_symval_forwarding
(set_default_internal): Use it .
Diffstat (limited to 'src')
| -rw-r--r-- | src/data.c | 12 | ||||
| -rw-r--r-- | src/lisp.h | 17 |
2 files changed, 10 insertions, 19 deletions
diff --git a/src/data.c b/src/data.c index 337d640b2b5..6b46a771ba8 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -59,11 +59,11 @@ XBOOLVAR (lispfwd a) | |||
| 59 | eassert (BOOLFWDP (a)); | 59 | eassert (BOOLFWDP (a)); |
| 60 | return a->u.boolvar; | 60 | return a->u.boolvar; |
| 61 | } | 61 | } |
| 62 | static struct Lisp_Kboard_Objfwd const * | 62 | static int |
| 63 | XKBOARD_OBJFWD (lispfwd a) | 63 | XKBOARD_OFFSET (lispfwd a) |
| 64 | { | 64 | { |
| 65 | eassert (KBOARD_OBJFWDP (a)); | 65 | eassert (KBOARD_OBJFWDP (a)); |
| 66 | return &a->u.kboardobjfwd; | 66 | return a->u.kbdoffset; |
| 67 | } | 67 | } |
| 68 | static intmax_t * | 68 | static intmax_t * |
| 69 | XINTVAR (lispfwd a) | 69 | XINTVAR (lispfwd a) |
| @@ -1345,7 +1345,7 @@ do_symval_forwarding (lispfwd valcontents) | |||
| 1345 | XBUFFER_OBJFWD (valcontents)->offset); | 1345 | XBUFFER_OBJFWD (valcontents)->offset); |
| 1346 | 1346 | ||
| 1347 | case Lisp_Fwd_Kboard_Obj: | 1347 | case Lisp_Fwd_Kboard_Obj: |
| 1348 | return *(Lisp_Object *) (XKBOARD_OBJFWD (valcontents)->offset | 1348 | return *(Lisp_Object *) (XKBOARD_OFFSET (valcontents) |
| 1349 | + (char *) kboard_for_bindings ()); | 1349 | + (char *) kboard_for_bindings ()); |
| 1350 | default: emacs_abort (); | 1350 | default: emacs_abort (); |
| 1351 | } | 1351 | } |
| @@ -1496,7 +1496,7 @@ store_symval_forwarding (lispfwd valcontents, Lisp_Object newval, | |||
| 1496 | case Lisp_Fwd_Kboard_Obj: | 1496 | case Lisp_Fwd_Kboard_Obj: |
| 1497 | { | 1497 | { |
| 1498 | char *base = (char *) kboard_for_bindings (); | 1498 | char *base = (char *) kboard_for_bindings (); |
| 1499 | char *p = base + XKBOARD_OBJFWD (valcontents)->offset; | 1499 | char *p = base + XKBOARD_OFFSET (valcontents); |
| 1500 | *(Lisp_Object *) p = newval; | 1500 | *(Lisp_Object *) p = newval; |
| 1501 | } | 1501 | } |
| 1502 | break; | 1502 | break; |
| @@ -2081,7 +2081,7 @@ set_default_internal (Lisp_Object symbol, Lisp_Object value, | |||
| 2081 | { | 2081 | { |
| 2082 | char *base = (char *) (where ? where | 2082 | char *base = (char *) (where ? where |
| 2083 | : kboard_for_bindings ()); | 2083 | : kboard_for_bindings ()); |
| 2084 | char *p = base + XKBOARD_OBJFWD (valcontents)->offset; | 2084 | char *p = base + XKBOARD_OFFSET (valcontents); |
| 2085 | *(Lisp_Object *) p = value; | 2085 | *(Lisp_Object *) p = value; |
| 2086 | } | 2086 | } |
| 2087 | else | 2087 | else |
diff --git a/src/lisp.h b/src/lisp.h index 40556527d3a..bf446256774 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -3105,13 +3105,6 @@ struct Lisp_Buffer_Local_Value | |||
| 3105 | Lisp_Object valcell; | 3105 | Lisp_Object valcell; |
| 3106 | }; | 3106 | }; |
| 3107 | 3107 | ||
| 3108 | /* Like Lisp_Objfwd except that value lives in a slot in the | ||
| 3109 | current kboard. */ | ||
| 3110 | struct Lisp_Kboard_Objfwd | ||
| 3111 | { | ||
| 3112 | int offset; | ||
| 3113 | }; | ||
| 3114 | |||
| 3115 | struct Lisp_Fwd | 3108 | struct Lisp_Fwd |
| 3116 | { | 3109 | { |
| 3117 | enum Lisp_Fwd_Type type; | 3110 | enum Lisp_Fwd_Type type; |
| @@ -3121,7 +3114,7 @@ struct Lisp_Fwd | |||
| 3121 | bool *boolvar; | 3114 | bool *boolvar; |
| 3122 | Lisp_Object *objvar; | 3115 | Lisp_Object *objvar; |
| 3123 | struct Lisp_Buffer_Objfwd bufobjfwd; | 3116 | struct Lisp_Buffer_Objfwd bufobjfwd; |
| 3124 | struct Lisp_Kboard_Objfwd kboardobjfwd; | 3117 | int kbdoffset; |
| 3125 | } u; | 3118 | } u; |
| 3126 | }; | 3119 | }; |
| 3127 | 3120 | ||
| @@ -3510,14 +3503,12 @@ extern void defvar_kboard (struct Lisp_Fwd const *, char const *); | |||
| 3510 | defvar_int (&i_fwd, lname); \ | 3503 | defvar_int (&i_fwd, lname); \ |
| 3511 | } while (false) | 3504 | } while (false) |
| 3512 | #define DEFVAR_KBOARD(lname, vname, doc) \ | 3505 | #define DEFVAR_KBOARD(lname, vname, doc) \ |
| 3513 | do \ | 3506 | do { \ |
| 3514 | { \ | ||
| 3515 | static struct Lisp_Fwd const ko_fwd \ | 3507 | static struct Lisp_Fwd const ko_fwd \ |
| 3516 | = { Lisp_Fwd_Kboard_Obj, \ | 3508 | = { Lisp_Fwd_Kboard_Obj, \ |
| 3517 | .u.kboardobjfwd = {offsetof (KBOARD, vname##_)}}; \ | 3509 | .u.kbdoffset = offsetof (KBOARD, vname##_)}; \ |
| 3518 | defvar_kboard (&ko_fwd, lname); \ | 3510 | defvar_kboard (&ko_fwd, lname); \ |
| 3519 | } \ | 3511 | } while (false) |
| 3520 | while (false) | ||
| 3521 | 3512 | ||
| 3522 | 3513 | ||
| 3523 | /* Elisp uses multiple stacks: | 3514 | /* Elisp uses multiple stacks: |