]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix minor problems found by static checking.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 25 Nov 2013 17:30:09 +0000 (09:30 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 25 Nov 2013 17:30:09 +0000 (09:30 -0800)
* lread.c (load_path_default): Now static.
* textprop.c (text_property_stickiness): Be consistent about the
test used when deciding whether to consider the previous character.
This simplifies the code a bit.

src/ChangeLog
src/lread.c
src/textprop.c

index 123feaffae04c286e4f102ca17a921f6212a4f64..ba0af53484d00bb3cff16b4309f6b51bd25f3c74 100644 (file)
@@ -1,3 +1,11 @@
+2013-11-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix minor problems found by static checking.
+       * lread.c (load_path_default): Now static.
+       * textprop.c (text_property_stickiness): Be consistent about the
+       test used when deciding whether to consider the previous character.
+       This simplifies the code a bit.
+
 2013-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * textprop.c (text_property_stickiness): Fix front-stickiness at BOB.
index d8efae05471f0c82fdc4a4f527e4bce3a7d7af67..3063cf248f51a994eb92e335343f4508008fbc26 100644 (file)
@@ -4164,9 +4164,9 @@ static Lisp_Object dump_path;
    out-of-tree build) AND install-dir/src/Makefile exists BUT
    install-dir/src/Makefile.in does NOT exist (this is a sanity
    check), then repeat the above steps for source-dir/lisp,
-   leim and site-lisp.
-*/
-Lisp_Object
+   leim and site-lisp.  */
+
+static Lisp_Object
 load_path_default (bool changed)
 {
   Lisp_Object lpath = Qnil;
index 6a750f1361f3d89765e6f6402bddbace285b9f74..5597a781a610b9c87ff966e949fc055da21c7128 100644 (file)
@@ -1819,23 +1819,23 @@ markers).  If OBJECT is a string, START and END are 0-based indices into it.  */
 int
 text_property_stickiness (Lisp_Object prop, Lisp_Object pos, Lisp_Object buffer)
 {
-  Lisp_Object prev_pos, front_sticky;
+  bool ignore_previous_character;
+  Lisp_Object prev_pos = make_number (XINT (pos) - 1);
+  Lisp_Object front_sticky;
   bool is_rear_sticky = true, is_front_sticky = false; /* defaults */
   Lisp_Object defalt = Fassq (prop, Vtext_property_default_nonsticky);
 
   if (NILP (buffer))
     XSETBUFFER (buffer, current_buffer);
 
-  if (CONSP (defalt) && !NILP (XCDR (defalt)))
-    is_rear_sticky = 0;
+  ignore_previous_character = XINT (pos) <= BUF_BEGV (XBUFFER (buffer));
 
-  if (XINT (pos) > BUF_BEGV (XBUFFER (buffer)))
-    /* Consider previous character.  */
+  if (ignore_previous_character || (CONSP (defalt) && !NILP (XCDR (defalt))))
+    is_rear_sticky = false;
+  else
     {
-      Lisp_Object rear_non_sticky;
-
-      prev_pos = make_number (XINT (pos) - 1);
-      rear_non_sticky = Fget_text_property (prev_pos, Qrear_nonsticky, buffer);
+      Lisp_Object rear_non_sticky
+       = Fget_text_property (prev_pos, Qrear_nonsticky, buffer);
 
       if (!NILP (CONSP (rear_non_sticky)
                 ? Fmemq (prop, rear_non_sticky)
@@ -1843,8 +1843,6 @@ text_property_stickiness (Lisp_Object prop, Lisp_Object pos, Lisp_Object buffer)
        /* PROP is rear-non-sticky.  */
        is_rear_sticky = false;
     }
-  else
-    is_rear_sticky = false;
 
   /* Consider following character.  */
   /* This signals an arg-out-of-range error if pos is outside the
@@ -1869,7 +1867,7 @@ text_property_stickiness (Lisp_Object prop, Lisp_Object pos, Lisp_Object buffer)
      disambiguate.  Basically, rear-sticky wins, _except_ if the
      property that would be inherited has a value of nil, in which case
      front-sticky wins.  */
-  if (XINT (pos) == BUF_BEGV (XBUFFER (buffer))
+  if (ignore_previous_character
       || NILP (Fget_text_property (prev_pos, prop, buffer)))
     return 1;
   else