[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r111882: Minor textprop integer clean
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r111882: Minor textprop integer cleanup. |
Date: |
Mon, 25 Feb 2013 19:09:08 -0800 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 111882
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Mon 2013-02-25 19:09:08 -0800
message:
Minor textprop integer cleanup.
* intervals.h, textprop.c (add_text_properties_from_list):
Return void, not int, since nobody uses the return value.
* textprop.c (validate_plist, add_properties, remove_properties)
(Fadd_text_properties):
Don't assume list length fits in int.
(interval_has_all_properties, interval_has_some_properties)
(interval_has_some_properties_list, add_properties, remove_properties)
(Fadd_text_properties, Fremove_text_properties)
(Fremove_list_of_text_properties, text_property_stickiness):
Use bool for booleans.
(Fadd_text_properties, Fremove_text_properties):
(Fremove_list_of_text_properties):
Reindent do-while as per GNU style.
modified:
src/ChangeLog
src/intervals.h
src/textprop.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2013-02-25 17:36:03 +0000
+++ b/src/ChangeLog 2013-02-26 03:09:08 +0000
@@ -1,3 +1,20 @@
+2013-02-26 Paul Eggert <address@hidden>
+
+ Minor textprop integer cleanup.
+ * intervals.h, textprop.c (add_text_properties_from_list):
+ Return void, not int, since nobody uses the return value.
+ * textprop.c (validate_plist, add_properties, remove_properties)
+ (Fadd_text_properties):
+ Don't assume list length fits in int.
+ (interval_has_all_properties, interval_has_some_properties)
+ (interval_has_some_properties_list, add_properties, remove_properties)
+ (Fadd_text_properties, Fremove_text_properties)
+ (Fremove_list_of_text_properties, text_property_stickiness):
+ Use bool for booleans.
+ (Fadd_text_properties, Fremove_text_properties):
+ (Fremove_list_of_text_properties):
+ Reindent do-while as per GNU style.
+
2013-02-25 Eli Zaretskii <address@hidden>
Implement CLASH_DETECTION for MS-Windows.
=== modified file 'src/intervals.h'
--- a/src/intervals.h 2013-01-01 09:11:05 +0000
+++ b/src/intervals.h 2013-02-26 03:09:08 +0000
@@ -293,7 +293,7 @@
Lisp_Object text_property_list (Lisp_Object, Lisp_Object, Lisp_Object,
Lisp_Object);
-int add_text_properties_from_list (Lisp_Object, Lisp_Object, Lisp_Object);
+void add_text_properties_from_list (Lisp_Object, Lisp_Object, Lisp_Object);
Lisp_Object extend_property_ranges (Lisp_Object, Lisp_Object);
Lisp_Object get_char_property_and_overlay (Lisp_Object, Lisp_Object,
Lisp_Object, Lisp_Object*);
=== modified file 'src/textprop.c'
--- a/src/textprop.c 2013-02-25 16:13:42 +0000
+++ b/src/textprop.c 2013-02-26 03:09:08 +0000
@@ -198,14 +198,14 @@
if (CONSP (list))
{
- register int i;
- register Lisp_Object tail;
- for (i = 0, tail = list; CONSP (tail); i++)
+ bool odd_length = 0;
+ Lisp_Object tail;
+ for (tail = list; CONSP (tail); tail = XCDR (tail))
{
- tail = XCDR (tail);
+ odd_length ^= 1;
QUIT;
}
- if (i & 1)
+ if (odd_length)
error ("Odd length text property list");
return list;
}
@@ -213,20 +213,19 @@
return Fcons (list, Fcons (Qnil, Qnil));
}
-/* Return nonzero if interval I has all the properties,
+/* Return true if interval I has all the properties,
with the same values, of list PLIST. */
-static int
+static bool
interval_has_all_properties (Lisp_Object plist, INTERVAL i)
{
- register Lisp_Object tail1, tail2, sym1;
- register int found;
+ Lisp_Object tail1, tail2;
/* Go through each element of PLIST. */
for (tail1 = plist; CONSP (tail1); tail1 = Fcdr (XCDR (tail1)))
{
- sym1 = XCAR (tail1);
- found = 0;
+ Lisp_Object sym1 = XCAR (tail1);
+ bool found = 0;
/* Go through I's plist, looking for sym1 */
for (tail2 = i->plist; CONSP (tail2); tail2 = Fcdr (XCDR (tail2)))
@@ -249,13 +248,13 @@
return 1;
}
-/* Return nonzero if the plist of interval I has any of the
+/* Return true if the plist of interval I has any of the
properties of PLIST, regardless of their values. */
-static int
+static bool
interval_has_some_properties (Lisp_Object plist, INTERVAL i)
{
- register Lisp_Object tail1, tail2, sym;
+ Lisp_Object tail1, tail2, sym;
/* Go through each element of PLIST. */
for (tail1 = plist; CONSP (tail1); tail1 = Fcdr (XCDR (tail1)))
@@ -274,10 +273,10 @@
/* Return nonzero if the plist of interval I has any of the
property names in LIST, regardless of their values. */
-static int
+static bool
interval_has_some_properties_list (Lisp_Object list, INTERVAL i)
{
- register Lisp_Object tail1, tail2, sym;
+ Lisp_Object tail1, tail2, sym;
/* Go through each element of LIST. */
for (tail1 = list; CONSP (tail1); tail1 = XCDR (tail1))
@@ -358,15 +357,14 @@
OBJECT should be the string or buffer the interval is in.
- Return nonzero if this changes I (i.e., if any members of PLIST
+ Return true if this changes I (i.e., if any members of PLIST
are actually added to I's plist) */
-static int
+static bool
add_properties (Lisp_Object plist, INTERVAL i, Lisp_Object object)
{
Lisp_Object tail1, tail2, sym1, val1;
- register int changed = 0;
- register int found;
+ bool changed = 0;
struct gcpro gcpro1, gcpro2, gcpro3;
tail1 = plist;
@@ -380,9 +378,9 @@
/* Go through each element of PLIST. */
for (tail1 = plist; CONSP (tail1); tail1 = Fcdr (XCDR (tail1)))
{
+ bool found = 0;
sym1 = XCAR (tail1);
val1 = Fcar (XCDR (tail1));
- found = 0;
/* Go through I's plist, looking for sym1 */
for (tail2 = i->plist; CONSP (tail2); tail2 = Fcdr (XCDR (tail2)))
@@ -410,7 +408,7 @@
/* I's property has a different value -- change it */
Fsetcar (this_cdr, val1);
- changed++;
+ changed = 1;
break;
}
@@ -423,7 +421,7 @@
sym1, Qnil, object);
}
set_interval_plist (i, Fcons (sym1, Fcons (val1, i->plist)));
- changed++;
+ changed = 1;
}
}
@@ -437,14 +435,14 @@
(If PLIST is non-nil, use that, otherwise use LIST.)
OBJECT is the string or buffer containing I. */
-static int
+static bool
remove_properties (Lisp_Object plist, Lisp_Object list, INTERVAL i,
Lisp_Object object)
{
- register Lisp_Object tail1, tail2, sym, current_plist;
- register int changed = 0;
+ Lisp_Object tail1, tail2, sym, current_plist;
+ bool changed = 0;
- /* Nonzero means tail1 is a plist, otherwise it is a list. */
- int use_plist;
+ /* True means tail1 is a plist, otherwise it is a list. */
+ bool use_plist;
current_plist = i->plist;
@@ -467,7 +465,7 @@
object);
current_plist = XCDR (XCDR (current_plist));
- changed++;
+ changed = 1;
}
/* Go through I's plist, looking for SYM. */
@@ -483,7 +481,7 @@
sym, XCAR (XCDR (this)), object);
Fsetcdr (XCDR (tail2), XCDR (XCDR (this)));
- changed++;
+ changed = 1;
}
tail2 = this;
}
@@ -1129,11 +1127,10 @@
Return t if any property value actually changed, nil otherwise. */)
(Lisp_Object start, Lisp_Object end, Lisp_Object properties, Lisp_Object
object)
{
- register INTERVAL i, unchanged;
- register ptrdiff_t s, len;
- register int modified = 0;
+ INTERVAL i, unchanged;
+ ptrdiff_t s, len;
+ bool modified = 0;
struct gcpro gcpro1;
- ptrdiff_t got;
properties = validate_plist (properties);
if (NILP (properties))
@@ -1156,14 +1153,17 @@
/* If this interval already has the properties, we can skip it. */
if (interval_has_all_properties (properties, i))
{
- got = LENGTH (i) - (s - i->position);
- do {
- if (got >= len)
- RETURN_UNGCPRO (Qnil);
- len -= got;
- i = next_interval (i);
- got = LENGTH (i);
- } while (interval_has_all_properties (properties, i));
+ ptrdiff_t got = LENGTH (i) - (s - i->position);
+
+ do
+ {
+ if (got >= len)
+ RETURN_UNGCPRO (Qnil);
+ len -= got;
+ i = next_interval (i);
+ got = LENGTH (i);
+ }
+ while (interval_has_all_properties (properties, i));
}
else if (i->position != s)
{
@@ -1220,7 +1220,7 @@
}
len -= LENGTH (i);
- modified += add_properties (properties, i, object);
+ modified |= add_properties (properties, i, object);
i = next_interval (i);
}
}
@@ -1424,10 +1424,9 @@
Use `set-text-properties' if you want to remove all text properties. */)
(Lisp_Object start, Lisp_Object end, Lisp_Object properties, Lisp_Object
object)
{
- register INTERVAL i, unchanged;
- register ptrdiff_t s, len;
- register int modified = 0;
- ptrdiff_t got;
+ INTERVAL i, unchanged;
+ ptrdiff_t s, len;
+ bool modified = 0;
if (NILP (object))
XSETBUFFER (object, current_buffer);
@@ -1442,14 +1441,17 @@
/* If there are no properties on this entire interval, return. */
if (! interval_has_some_properties (properties, i))
{
- got = (LENGTH (i) - (s - i->position));
- do {
- if (got >= len)
- return Qnil;
- len -= got;
- i = next_interval (i);
- got = LENGTH (i);
- } while (! interval_has_some_properties (properties, i));
+ ptrdiff_t got = LENGTH (i) - (s - i->position);
+
+ do
+ {
+ if (got >= len)
+ return Qnil;
+ len -= got;
+ i = next_interval (i);
+ got = LENGTH (i);
+ }
+ while (! interval_has_some_properties (properties, i));
}
/* Split away the beginning of this interval; what we don't
want to modify. */
@@ -1500,7 +1502,7 @@
}
len -= LENGTH (i);
- modified += remove_properties (properties, Qnil, i, object);
+ modified |= remove_properties (properties, Qnil, i, object);
i = next_interval (i);
}
}
@@ -1515,11 +1517,10 @@
Return t if any property was actually removed, nil otherwise. */)
(Lisp_Object start, Lisp_Object end, Lisp_Object list_of_properties,
Lisp_Object object)
{
- register INTERVAL i, unchanged;
- register ptrdiff_t s, len;
- register int modified = 0;
+ INTERVAL i, unchanged;
+ ptrdiff_t s, len;
+ bool modified = 0;
Lisp_Object properties;
- ptrdiff_t got;
properties = list_of_properties;
if (NILP (object))
@@ -1535,14 +1536,17 @@
/* If there are no properties on the interval, return. */
if (! interval_has_some_properties_list (properties, i))
{
- got = (LENGTH (i) - (s - i->position));
- do {
- if (got >= len)
- return Qnil;
- len -= got;
- i = next_interval (i);
- got = LENGTH (i);
- } while (! interval_has_some_properties_list (properties, i));
+ ptrdiff_t got = LENGTH (i) - (s - i->position);
+
+ do
+ {
+ if (got >= len)
+ return Qnil;
+ len -= got;
+ i = next_interval (i);
+ got = LENGTH (i);
+ }
+ while (! interval_has_some_properties_list (properties, i));
}
/* Split away the beginning of this interval; what we don't
want to modify. */
@@ -1697,7 +1701,7 @@
text_property_stickiness (Lisp_Object prop, Lisp_Object pos, Lisp_Object
buffer)
{
Lisp_Object prev_pos, front_sticky;
- int is_rear_sticky = 1, is_front_sticky = 0; /* defaults */
+ bool is_rear_sticky = 1, is_front_sticky = 0; /* defaults */
Lisp_Object defalt = Fassq (prop, Vtext_property_default_nonsticky);
if (NILP (buffer))
@@ -1772,7 +1776,7 @@
Lisp_Object stuff;
Lisp_Object plist;
ptrdiff_t s, e, e2, p, len;
- int modified = 0;
+ bool modified = 0;
struct gcpro gcpro1, gcpro2;
i = validate_interval_range (src, &start, &end, soft);
@@ -1843,7 +1847,7 @@
res = Fadd_text_properties (Fcar (res), Fcar (Fcdr (res)),
Fcar (Fcdr (Fcdr (res))), dest);
if (! NILP (res))
- modified++;
+ modified = 1;
stuff = Fcdr (stuff);
}
@@ -1914,33 +1918,28 @@
/* Add text properties to OBJECT from LIST. LIST is a list of triples
(START END PLIST), where START and END are positions and PLIST is a
property list containing the text properties to add. Adjust START
- and END positions by DELTA before adding properties. Value is
- non-zero if OBJECT was modified. */
+ and END positions by DELTA before adding properties. */
-int
+void
add_text_properties_from_list (Lisp_Object object, Lisp_Object list,
Lisp_Object delta)
{
struct gcpro gcpro1, gcpro2;
- int modified_p = 0;
GCPRO2 (list, object);
for (; CONSP (list); list = XCDR (list))
{
- Lisp_Object item, start, end, plist, tem;
+ Lisp_Object item, start, end, plist;
item = XCAR (list);
start = make_number (XINT (XCAR (item)) + XINT (delta));
end = make_number (XINT (XCAR (XCDR (item))) + XINT (delta));
plist = XCAR (XCDR (XCDR (item)));
- tem = Fadd_text_properties (start, end, plist, object);
- if (!NILP (tem))
- modified_p = 1;
+ Fadd_text_properties (start, end, plist, object);
}
UNGCPRO;
- return modified_p;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r111882: Minor textprop integer cleanup.,
Paul Eggert <=