diff options
| author | Philipp Stephani | 2019-04-19 23:07:58 +0200 |
|---|---|---|
| committer | Philipp Stephani | 2019-04-19 23:07:58 +0200 |
| commit | e7cb6eea99a09335c8f5b935336ee6442468d853 (patch) | |
| tree | d6f67e8541f32c300fa1c185e4a41de76f3fc0ac /src | |
| parent | 7e7d62ea5e1a33bdec82bce79ad27e10765e50f1 (diff) | |
| download | emacs-e7cb6eea99a09335c8f5b935336ee6442468d853.tar.gz emacs-e7cb6eea99a09335c8f5b935336ee6442468d853.zip | |
Remove some #ifdefs for user pointers.
Even if Emacs is compiled without module support, we don't have to
comment out every bit of user pointer support. Defining the basic
structures and functions and detecting user pointers in switch
statements is harmless, and we're already doing the same for module
functions. Removing these #ifdefs makes the code a bit easier to
read.
* src/lisp.h (PVEC_USER_PTR, struct Lisp_User_Ptr, USER_PTRP)
(XUSER_PTR): Define unconditionally.
* src/data.c (Ftype_of):
* src/alloc.c (cleanup_vector):
* src/print.c (print_vectorlike):
* src/pdumper.c (dump_vectorlike): Remove #ifdef for user pointers.
Diffstat (limited to 'src')
| -rw-r--r-- | src/alloc.c | 2 | ||||
| -rw-r--r-- | src/data.c | 2 | ||||
| -rw-r--r-- | src/lisp.h | 6 | ||||
| -rw-r--r-- | src/pdumper.c | 2 | ||||
| -rw-r--r-- | src/print.c | 2 |
5 files changed, 0 insertions, 14 deletions
diff --git a/src/alloc.c b/src/alloc.c index 70701d75d47..7f0443dc2ea 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -3270,14 +3270,12 @@ cleanup_vector (struct Lisp_Vector *vector) | |||
| 3270 | /* sweep_buffer should already have unchained this from its buffer. */ | 3270 | /* sweep_buffer should already have unchained this from its buffer. */ |
| 3271 | eassert (! PSEUDOVEC_STRUCT (vector, Lisp_Marker)->buffer); | 3271 | eassert (! PSEUDOVEC_STRUCT (vector, Lisp_Marker)->buffer); |
| 3272 | } | 3272 | } |
| 3273 | #ifdef HAVE_MODULES | ||
| 3274 | else if (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_USER_PTR)) | 3273 | else if (PSEUDOVECTOR_TYPEP (&vector->header, PVEC_USER_PTR)) |
| 3275 | { | 3274 | { |
| 3276 | struct Lisp_User_Ptr *uptr = PSEUDOVEC_STRUCT (vector, Lisp_User_Ptr); | 3275 | struct Lisp_User_Ptr *uptr = PSEUDOVEC_STRUCT (vector, Lisp_User_Ptr); |
| 3277 | if (uptr->finalizer) | 3276 | if (uptr->finalizer) |
| 3278 | uptr->finalizer (uptr->p); | 3277 | uptr->finalizer (uptr->p); |
| 3279 | } | 3278 | } |
| 3280 | #endif | ||
| 3281 | } | 3279 | } |
| 3282 | 3280 | ||
| 3283 | /* Reclaim space used by unmarked vectors. */ | 3281 | /* Reclaim space used by unmarked vectors. */ |
diff --git a/src/data.c b/src/data.c index 1b2431011e9..596b7783747 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -230,9 +230,7 @@ for example, (type-of 1) returns `integer'. */) | |||
| 230 | case PVEC_MARKER: return Qmarker; | 230 | case PVEC_MARKER: return Qmarker; |
| 231 | case PVEC_OVERLAY: return Qoverlay; | 231 | case PVEC_OVERLAY: return Qoverlay; |
| 232 | case PVEC_FINALIZER: return Qfinalizer; | 232 | case PVEC_FINALIZER: return Qfinalizer; |
| 233 | #ifdef HAVE_MODULES | ||
| 234 | case PVEC_USER_PTR: return Quser_ptr; | 233 | case PVEC_USER_PTR: return Quser_ptr; |
| 235 | #endif | ||
| 236 | case PVEC_WINDOW_CONFIGURATION: return Qwindow_configuration; | 234 | case PVEC_WINDOW_CONFIGURATION: return Qwindow_configuration; |
| 237 | case PVEC_PROCESS: return Qprocess; | 235 | case PVEC_PROCESS: return Qprocess; |
| 238 | case PVEC_WINDOW: return Qwindow; | 236 | case PVEC_WINDOW: return Qwindow; |
diff --git a/src/lisp.h b/src/lisp.h index 2aa767b86c2..c2cb89de9d5 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1097,9 +1097,7 @@ enum pvec_type | |||
| 1097 | PVEC_OVERLAY, | 1097 | PVEC_OVERLAY, |
| 1098 | PVEC_FINALIZER, | 1098 | PVEC_FINALIZER, |
| 1099 | PVEC_MISC_PTR, | 1099 | PVEC_MISC_PTR, |
| 1100 | #ifdef HAVE_MODULES | ||
| 1101 | PVEC_USER_PTR, | 1100 | PVEC_USER_PTR, |
| 1102 | #endif | ||
| 1103 | PVEC_PROCESS, | 1101 | PVEC_PROCESS, |
| 1104 | PVEC_FRAME, | 1102 | PVEC_FRAME, |
| 1105 | PVEC_WINDOW, | 1103 | PVEC_WINDOW, |
| @@ -2561,14 +2559,12 @@ xmint_pointer (Lisp_Object a) | |||
| 2561 | return XUNTAG (a, Lisp_Vectorlike, struct Lisp_Misc_Ptr)->pointer; | 2559 | return XUNTAG (a, Lisp_Vectorlike, struct Lisp_Misc_Ptr)->pointer; |
| 2562 | } | 2560 | } |
| 2563 | 2561 | ||
| 2564 | #ifdef HAVE_MODULES | ||
| 2565 | struct Lisp_User_Ptr | 2562 | struct Lisp_User_Ptr |
| 2566 | { | 2563 | { |
| 2567 | union vectorlike_header header; | 2564 | union vectorlike_header header; |
| 2568 | void (*finalizer) (void *); | 2565 | void (*finalizer) (void *); |
| 2569 | void *p; | 2566 | void *p; |
| 2570 | } GCALIGNED_STRUCT; | 2567 | } GCALIGNED_STRUCT; |
| 2571 | #endif | ||
| 2572 | 2568 | ||
| 2573 | /* A finalizer sentinel. */ | 2569 | /* A finalizer sentinel. */ |
| 2574 | struct Lisp_Finalizer | 2570 | struct Lisp_Finalizer |
| @@ -2627,7 +2623,6 @@ XOVERLAY (Lisp_Object a) | |||
| 2627 | return XUNTAG (a, Lisp_Vectorlike, struct Lisp_Overlay); | 2623 | return XUNTAG (a, Lisp_Vectorlike, struct Lisp_Overlay); |
| 2628 | } | 2624 | } |
| 2629 | 2625 | ||
| 2630 | #ifdef HAVE_MODULES | ||
| 2631 | INLINE bool | 2626 | INLINE bool |
| 2632 | USER_PTRP (Lisp_Object x) | 2627 | USER_PTRP (Lisp_Object x) |
| 2633 | { | 2628 | { |
| @@ -2640,7 +2635,6 @@ XUSER_PTR (Lisp_Object a) | |||
| 2640 | eassert (USER_PTRP (a)); | 2635 | eassert (USER_PTRP (a)); |
| 2641 | return XUNTAG (a, Lisp_Vectorlike, struct Lisp_User_Ptr); | 2636 | return XUNTAG (a, Lisp_Vectorlike, struct Lisp_User_Ptr); |
| 2642 | } | 2637 | } |
| 2643 | #endif | ||
| 2644 | 2638 | ||
| 2645 | INLINE bool | 2639 | INLINE bool |
| 2646 | BIGNUMP (Lisp_Object x) | 2640 | BIGNUMP (Lisp_Object x) |
diff --git a/src/pdumper.c b/src/pdumper.c index 1bd94cb0036..cb36f7e4b4a 100644 --- a/src/pdumper.c +++ b/src/pdumper.c | |||
| @@ -3013,9 +3013,7 @@ dump_vectorlike (struct dump_context *ctx, | |||
| 3013 | case PVEC_XWIDGET_VIEW: | 3013 | case PVEC_XWIDGET_VIEW: |
| 3014 | error_unsupported_dump_object (ctx, lv, "xwidget view"); | 3014 | error_unsupported_dump_object (ctx, lv, "xwidget view"); |
| 3015 | case PVEC_MISC_PTR: | 3015 | case PVEC_MISC_PTR: |
| 3016 | #ifdef HAVE_MODULES | ||
| 3017 | case PVEC_USER_PTR: | 3016 | case PVEC_USER_PTR: |
| 3018 | #endif | ||
| 3019 | error_unsupported_dump_object (ctx, lv, "smuggled pointers"); | 3017 | error_unsupported_dump_object (ctx, lv, "smuggled pointers"); |
| 3020 | case PVEC_THREAD: | 3018 | case PVEC_THREAD: |
| 3021 | if (main_thread_p (v)) | 3019 | if (main_thread_p (v)) |
diff --git a/src/print.c b/src/print.c index 67c4ed03ee8..081e5574b73 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -1410,7 +1410,6 @@ print_vectorlike (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag, | |||
| 1410 | printchar ('>', printcharfun); | 1410 | printchar ('>', printcharfun); |
| 1411 | break; | 1411 | break; |
| 1412 | 1412 | ||
| 1413 | #ifdef HAVE_MODULES | ||
| 1414 | case PVEC_USER_PTR: | 1413 | case PVEC_USER_PTR: |
| 1415 | { | 1414 | { |
| 1416 | print_c_string ("#<user-ptr ", printcharfun); | 1415 | print_c_string ("#<user-ptr ", printcharfun); |
| @@ -1421,7 +1420,6 @@ print_vectorlike (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag, | |||
| 1421 | printchar ('>', printcharfun); | 1420 | printchar ('>', printcharfun); |
| 1422 | } | 1421 | } |
| 1423 | break; | 1422 | break; |
| 1424 | #endif | ||
| 1425 | 1423 | ||
| 1426 | case PVEC_FINALIZER: | 1424 | case PVEC_FINALIZER: |
| 1427 | print_c_string ("#<finalizer", printcharfun); | 1425 | print_c_string ("#<finalizer", printcharfun); |