From c01fbf95dfa35ec54003620b62971378f5c12730 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Sun, 2 Apr 2000 02:31:07 +0000 Subject: [PATCH] * editfns.c (text_property_stickiness, Fmessage_or_box): Use NILP to test Lisp_Object boolean value. (Fformat): Use a temporary variable to avoid ENABLE_CHECKING problems reading from and changing the same lisp value in an XSETSTRING call. --- src/ChangeLog | 6 ++++++ src/editfns.c | 11 +++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 4622d9e6699..247f1123050 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -7,6 +7,12 @@ (make_number): Define as a function if it's not defined as a macro. + * editfns.c (text_property_stickiness, Fmessage_or_box): Use NILP + to test Lisp_Object boolean value. + (Fformat): Use a temporary variable to avoid ENABLE_CHECKING + problems reading from and changing the same lisp value in an + XSETSTRING call. + 2000-04-01 Gerd Moellmann * term.c (TN_no_color_video): New variable. diff --git a/src/editfns.c b/src/editfns.c index 12db1a310dd..c2465e7f9e8 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -315,7 +315,7 @@ text_property_stickiness (prop, pos) if (EQ (rear_non_sticky, Qnil) || (CONSP (rear_non_sticky) - && !Fmemq (prop, rear_non_sticky))) + && NILP (Fmemq (prop, rear_non_sticky)))) /* PROP is not rear-non-sticky, and since this takes precedence over any front-stickiness, PROP is inherited from before. */ return -1; @@ -326,7 +326,7 @@ text_property_stickiness (prop, pos) if (EQ (front_sticky, Qt) || (CONSP (front_sticky) - && Fmemq (prop, front_sticky))) + && !NILP (Fmemq (prop, front_sticky)))) /* PROP is inherited from after. */ return 1; @@ -2781,7 +2781,7 @@ minibuffer contents show.") { #ifdef HAVE_MENUS if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event)) - && NILP (use_dialog_box)) + && use_dialog_box) return Fmessage_box (nargs, args); #endif return Fmessage (nargs, args); @@ -2949,7 +2949,10 @@ Use %% to put a single % into the output.") } else if (SYMBOLP (args[n])) { - XSETSTRING (args[n], XSYMBOL (args[n])->name); + /* Use a temp var to avoid problems when ENABLE_CHECKING + is turned on. */ + struct Lisp_String *t = XSYMBOL (args[n])->name; + XSETSTRING (args[n], t); if (STRING_MULTIBYTE (args[n]) && ! multibyte) { multibyte = 1; -- 2.39.5