diff options
| author | Kenichi Handa | 2000-07-04 07:36:58 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2000-07-04 07:36:58 +0000 |
| commit | c1361885c561f3e1178ff83160dbdd23b3cfb9d4 (patch) | |
| tree | c163a1126ce087ab9ce37504844694b0e3372126 /src/composite.c | |
| parent | 78e7e8a0454255e97764027389d3faaa476faa99 (diff) | |
| download | emacs-c1361885c561f3e1178ff83160dbdd23b3cfb9d4.tar.gz emacs-c1361885c561f3e1178ff83160dbdd23b3cfb9d4.zip | |
(make_composition_value_copy): New function.
Diffstat (limited to 'src/composite.c')
| -rw-r--r-- | src/composite.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/composite.c b/src/composite.c index 085458db521..7da4c579ea7 100644 --- a/src/composite.c +++ b/src/composite.c | |||
| @@ -534,6 +534,31 @@ update_compositions (from, to, check_mask) | |||
| 534 | } | 534 | } |
| 535 | } | 535 | } |
| 536 | 536 | ||
| 537 | |||
| 538 | /* Modify composition property values in LIST destructively. LIST is | ||
| 539 | a list as returned from text_property_list. Change values to the | ||
| 540 | top-level copies of them so that none of them are `eq'. */ | ||
| 541 | |||
| 542 | void | ||
| 543 | make_composition_value_copy (list) | ||
| 544 | Lisp_Object list; | ||
| 545 | { | ||
| 546 | Lisp_Object plist, val; | ||
| 547 | |||
| 548 | for (; CONSP (list); list = XCDR (list)) | ||
| 549 | { | ||
| 550 | plist = XCAR (XCDR (XCDR (XCAR (list)))); | ||
| 551 | while (CONSP (plist) && CONSP (XCDR (plist))) | ||
| 552 | { | ||
| 553 | if (EQ (XCAR (plist), Qcomposition) | ||
| 554 | && (val = XCAR (XCDR (plist)), CONSP (val))) | ||
| 555 | XCAR (XCDR (plist)) = Fcons (XCAR (val), XCDR (val)); | ||
| 556 | plist = XCDR (XCDR (plist)); | ||
| 557 | } | ||
| 558 | } | ||
| 559 | } | ||
| 560 | |||
| 561 | |||
| 537 | /* Make text in the region between START and END a composition that | 562 | /* Make text in the region between START and END a composition that |
| 538 | has COMPONENTS and MODIFICATION-FUNC. | 563 | has COMPONENTS and MODIFICATION-FUNC. |
| 539 | 564 | ||