comparison src/composite.c @ 34933:414310d24f52

(find_composition): Fix a code for searching a composition backward.
author Kenichi Handa <handa@m17n.org>
date Sat, 30 Dec 2000 02:28:42 +0000
parents f52846f4d5bd
children e3133339e30c
comparison
equal deleted inserted replaced
34932:ddf283b46fe8 34933:414310d24f52
420 420
421 if (limit < 0 || limit == pos) 421 if (limit < 0 || limit == pos)
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 }
436 447
437 /* Run a proper function to adjust the composition sitting between 448 /* Run a proper function to adjust the composition sitting between