diff options
| author | Kenichi Handa | 2000-12-30 02:29:22 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2000-12-30 02:29:22 +0000 |
| commit | d279f62098be26a9e5ae55d02844d2e708e29e66 (patch) | |
| tree | ef6be0893b21ee5b83c935c30811f3196bc0c46e /src | |
| parent | abb1acc440e57cc30cbb5b651945761116cb9344 (diff) | |
| download | emacs-d279f62098be26a9e5ae55d02844d2e708e29e66.tar.gz emacs-d279f62098be26a9e5ae55d02844d2e708e29e66.zip | |
(find_composition): Fix a code for searching a composition backward.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/composite.c | 25 |
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 @@ | |||
| 1 | 2000-12-30 Kenichi Handa <handa@etl.go.jp> | 1 | 2000-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 | ||
| 6 | 2000-12-29 Gerd Moellmann <gerd@gnu.org> | 6 | 2000-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 | } |