aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPhilipp Stephani2019-04-19 23:07:58 +0200
committerPhilipp Stephani2019-04-19 23:07:58 +0200
commite7cb6eea99a09335c8f5b935336ee6442468d853 (patch)
treed6f67e8541f32c300fa1c185e4a41de76f3fc0ac /src
parent7e7d62ea5e1a33bdec82bce79ad27e10765e50f1 (diff)
downloademacs-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.c2
-rw-r--r--src/data.c2
-rw-r--r--src/lisp.h6
-rw-r--r--src/pdumper.c2
-rw-r--r--src/print.c2
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
2565struct Lisp_User_Ptr 2562struct 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. */
2574struct Lisp_Finalizer 2570struct 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
2631INLINE bool 2626INLINE bool
2632USER_PTRP (Lisp_Object x) 2627USER_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
2645INLINE bool 2639INLINE bool
2646BIGNUMP (Lisp_Object x) 2640BIGNUMP (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);