aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2000-12-30 02:29:22 +0000
committerKenichi Handa2000-12-30 02:29:22 +0000
commitd279f62098be26a9e5ae55d02844d2e708e29e66 (patch)
treeef6be0893b21ee5b83c935c30811f3196bc0c46e /src
parentabb1acc440e57cc30cbb5b651945761116cb9344 (diff)
downloademacs-d279f62098be26a9e5ae55d02844d2e708e29e66.tar.gz
emacs-d279f62098be26a9e5ae55d02844d2e708e29e66.zip
(find_composition): Fix a code for searching a composition backward.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/composite.c25
2 files changed, 20 insertions, 9 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3facf78719a..7299bc4e399 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,7 +1,7 @@
12000-12-30 Kenichi Handa <handa@etl.go.jp> 12000-12-30 Kenichi Handa <handa@etl.go.jp>
2 2
3 * composite.c (find_composition): Fix a code for searching a 3 * composite.c (find_composition): Fix a code for searching
4 composition backward. 4 backward.
5 5
62000-12-29 Gerd Moellmann <gerd@gnu.org> 62000-12-29 Gerd Moellmann <gerd@gnu.org>
7 7
diff --git a/src/composite.c b/src/composite.c
index 2ffc33d651e..83d5b0d6f25 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -422,14 +422,25 @@ find_composition (pos, limit, start, end, prop, object)
422 return 0; 422 return 0;
423 423
424 if (limit > pos) /* search forward */ 424 if (limit > pos) /* search forward */
425 val = Fnext_single_property_change (make_number (pos), Qcomposition, 425 {
426 object, make_number (limit)); 426 val = Fnext_single_property_change (make_number (pos), Qcomposition,
427 object, make_number (limit));
428 pos = XINT (val);
429 if (pos == limit)
430 return 0;
431 }
427 else /* search backward */ 432 else /* search backward */
428 val = Fprevious_single_property_change (make_number (pos), Qcomposition, 433 {
429 object, make_number (limit)); 434 if (get_property_and_range (pos - 1, Qcomposition, prop, start, end,
430 pos = XINT (val); 435 object))
431 if (pos == limit) 436 return 1;
432 return 0; 437 val = Fprevious_single_property_change (make_number (pos), Qcomposition,
438 object, make_number (limit));
439 pos = XINT (val);
440 if (pos == limit)
441 return 0;
442 pos--;
443 }
433 get_property_and_range (pos, Qcomposition, prop, start, end, object); 444 get_property_and_range (pos, Qcomposition, prop, start, end, object);
434 return 1; 445 return 1;
435} 446}