diff options
| author | Eli Zaretskii | 2023-08-19 13:32:48 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2023-08-19 13:32:48 +0300 |
| commit | 8e8468c46d3e7bb2a9fbdc6e2577b1146559998d (patch) | |
| tree | c92f2cc586854f82154df832080a334f41134af0 /src | |
| parent | 7170f25d3d7fdf968e64d5df98a3379093d24425 (diff) | |
| download | emacs-8e8468c46d3e7bb2a9fbdc6e2577b1146559998d.tar.gz emacs-8e8468c46d3e7bb2a9fbdc6e2577b1146559998d.zip | |
; Cleanup comments and doc strings in textconv.c
* src/textconv.c (copy_buffer_text): Rename from 'copy_buffer'.
All callers changed.
(textconv_query, complete_edit_check, commit_text)
(finish_composing_text, set_composing_region)
(textconv_set_point_and_mark, delete_surrounding_text)
(request_point_update, textconv_barrier, get_extracted_text)
(get_surrounding_text, report_point_change)
(report_selected_window_change): Fix commentary.
(Fset_text_conversion_style, text-conversion-edits)
(overriding-text-conversion-style, text-conversion-face): Doc fix.
Diffstat (limited to 'src')
| -rw-r--r-- | src/textconv.c | 162 |
1 files changed, 83 insertions, 79 deletions
diff --git a/src/textconv.c b/src/textconv.c index 590292013db..57daa7e53b6 100644 --- a/src/textconv.c +++ b/src/textconv.c | |||
| @@ -78,14 +78,14 @@ enum textconv_batch_edit_flags | |||
| 78 | 78 | ||
| 79 | 79 | ||
| 80 | 80 | ||
| 81 | /* Copy the portion of the current buffer described by BEG, BEG_BYTE, | 81 | /* Copy the portion of the current buffer's text described by BEG, |
| 82 | END, END_BYTE to the buffer BUFFER, which is END_BYTE - BEG_BYTEs | 82 | BEG_BYTE, END, END_BYTE to the char * buffer BUFFER, which should |
| 83 | long. */ | 83 | be at least END_BYTE - BEG_BYTEs long. */ |
| 84 | 84 | ||
| 85 | static void | 85 | static void |
| 86 | copy_buffer (ptrdiff_t beg, ptrdiff_t beg_byte, | 86 | copy_buffer_text (ptrdiff_t beg, ptrdiff_t beg_byte, |
| 87 | ptrdiff_t end, ptrdiff_t end_byte, | 87 | ptrdiff_t end, ptrdiff_t end_byte, |
| 88 | char *buffer) | 88 | char *buffer) |
| 89 | { | 89 | { |
| 90 | ptrdiff_t beg0, end0, beg1, end1, size; | 90 | ptrdiff_t beg0, end0, beg1, end1, size; |
| 91 | 91 | ||
| @@ -130,7 +130,7 @@ get_mark (void) | |||
| 130 | return -1; | 130 | return -1; |
| 131 | } | 131 | } |
| 132 | 132 | ||
| 133 | /* Like Fselect_window. However, if WINDOW is a mini buffer window | 133 | /* Like Fselect_window. However, if WINDOW is a minibuffer window |
| 134 | but not the active minibuffer window, select its frame's selected | 134 | but not the active minibuffer window, select its frame's selected |
| 135 | window instead. */ | 135 | window instead. */ |
| 136 | 136 | ||
| @@ -152,8 +152,8 @@ select_window (Lisp_Object window, Lisp_Object norecord) | |||
| 152 | /* Perform the text conversion operation specified in QUERY and return | 152 | /* Perform the text conversion operation specified in QUERY and return |
| 153 | the results. | 153 | the results. |
| 154 | 154 | ||
| 155 | Find the text between QUERY->position from point on F's selected | 155 | Find the text between QUERY->position from point on frame F's |
| 156 | window and QUERY->factor times QUERY->direction from that | 156 | selected window and QUERY->factor times QUERY->direction from that |
| 157 | position. Return it in QUERY->text. | 157 | position. Return it in QUERY->text. |
| 158 | 158 | ||
| 159 | If QUERY->position is TYPE_MINIMUM (EMACS_INT) or EMACS_INT_MAX, | 159 | If QUERY->position is TYPE_MINIMUM (EMACS_INT) or EMACS_INT_MAX, |
| @@ -163,8 +163,9 @@ select_window (Lisp_Object window, Lisp_Object norecord) | |||
| 163 | Then, either delete that text from the buffer if QUERY->operation | 163 | Then, either delete that text from the buffer if QUERY->operation |
| 164 | is TEXTCONV_SUBSTITUTION, or return 0. | 164 | is TEXTCONV_SUBSTITUTION, or return 0. |
| 165 | 165 | ||
| 166 | If FLAGS & TEXTCONV_SKIP_CONVERSION_REGION, then first move PT past | 166 | If FLAGS & TEXTCONV_SKIP_CONVERSION_REGION, then first move point |
| 167 | the conversion region in the specified direction if it is inside. | 167 | past the conversion region in the specified direction if it is |
| 168 | inside. | ||
| 168 | 169 | ||
| 169 | Value is 0 if QUERY->operation was not TEXTCONV_SUBSTITUTION | 170 | Value is 0 if QUERY->operation was not TEXTCONV_SUBSTITUTION |
| 170 | or if deleting the text was successful, and 1 otherwise. */ | 171 | or if deleting the text was successful, and 1 otherwise. */ |
| @@ -291,7 +292,7 @@ textconv_query (struct frame *f, struct textconv_callback_struct *query, | |||
| 291 | break; | 292 | break; |
| 292 | 293 | ||
| 293 | case TEXTCONV_FORWARD_WORD: | 294 | case TEXTCONV_FORWARD_WORD: |
| 294 | /* Move forward by query->factor word. */ | 295 | /* Move forward by query->factor words. */ |
| 295 | end = scan_words (pos, (EMACS_INT) query->factor); | 296 | end = scan_words (pos, (EMACS_INT) query->factor); |
| 296 | 297 | ||
| 297 | if (!end) | 298 | if (!end) |
| @@ -305,7 +306,7 @@ textconv_query (struct frame *f, struct textconv_callback_struct *query, | |||
| 305 | break; | 306 | break; |
| 306 | 307 | ||
| 307 | case TEXTCONV_BACKWARD_WORD: | 308 | case TEXTCONV_BACKWARD_WORD: |
| 308 | /* Move backwards by query->factor word. */ | 309 | /* Move backwards by query->factor words. */ |
| 309 | end = scan_words (pos, 0 - (EMACS_INT) query->factor); | 310 | end = scan_words (pos, 0 - (EMACS_INT) query->factor); |
| 310 | 311 | ||
| 311 | if (!end) | 312 | if (!end) |
| @@ -392,7 +393,7 @@ textconv_query (struct frame *f, struct textconv_callback_struct *query, | |||
| 392 | 393 | ||
| 393 | /* Return the string first. */ | 394 | /* Return the string first. */ |
| 394 | buffer = xmalloc (end_byte - pos_byte); | 395 | buffer = xmalloc (end_byte - pos_byte); |
| 395 | copy_buffer (pos, pos_byte, end, end_byte, buffer); | 396 | copy_buffer_text (pos, pos_byte, end, end_byte, buffer); |
| 396 | query->text.text = buffer; | 397 | query->text.text = buffer; |
| 397 | query->text.length = end - pos; | 398 | query->text.length = end - pos; |
| 398 | query->text.bytes = end_byte - pos_byte; | 399 | query->text.bytes = end_byte - pos_byte; |
| @@ -418,8 +419,8 @@ textconv_query (struct frame *f, struct textconv_callback_struct *query, | |||
| 418 | return 0; | 419 | return 0; |
| 419 | } | 420 | } |
| 420 | 421 | ||
| 421 | /* Update the overlay displaying the conversion area on F after a | 422 | /* Update the overlay displaying the conversion area on frame F after |
| 422 | change to the conversion region. */ | 423 | a change to the conversion region. */ |
| 423 | 424 | ||
| 424 | static void | 425 | static void |
| 425 | sync_overlay (struct frame *f) | 426 | sync_overlay (struct frame *f) |
| @@ -449,7 +450,7 @@ sync_overlay (struct frame *f) | |||
| 449 | } | 450 | } |
| 450 | 451 | ||
| 451 | /* Record a change to the current buffer as a result of an | 452 | /* Record a change to the current buffer as a result of an |
| 452 | asynchronous text conversion operation on F. | 453 | asynchronous text conversion operation. |
| 453 | 454 | ||
| 454 | Consult the doc string of `text-conversion-edits' for the meaning | 455 | Consult the doc string of `text-conversion-edits' for the meaning |
| 455 | of BEG, END, and EPHEMERAL. */ | 456 | of BEG, END, and EPHEMERAL. */ |
| @@ -487,7 +488,7 @@ record_buffer_change (ptrdiff_t beg, ptrdiff_t end, | |||
| 487 | Vtext_conversion_edits); | 488 | Vtext_conversion_edits); |
| 488 | } | 489 | } |
| 489 | 490 | ||
| 490 | /* Reset F's text conversion state. Delete any overlays or | 491 | /* Reset text conversion state of frame F. Delete any overlays or |
| 491 | markers inside. */ | 492 | markers inside. */ |
| 492 | 493 | ||
| 493 | void | 494 | void |
| @@ -562,9 +563,9 @@ restore_selected_window (Lisp_Object window) | |||
| 562 | } | 563 | } |
| 563 | 564 | ||
| 564 | /* Commit the given text in the composing region. If there is no | 565 | /* Commit the given text in the composing region. If there is no |
| 565 | composing region, then insert the text after F's selected window's | 566 | composing region, then insert the text after frame F's selected |
| 566 | last point instead, unless the mark is active. Finally, remove the | 567 | window's last point instead, unless the mark is active. Finally, |
| 567 | composing region. | 568 | remove the composing region. |
| 568 | 569 | ||
| 569 | If the mark is active, delete the text between mark and point. | 570 | If the mark is active, delete the text between mark and point. |
| 570 | 571 | ||
| @@ -580,7 +581,7 @@ really_commit_text (struct frame *f, EMACS_INT position, | |||
| 580 | ptrdiff_t wanted, start, end, mark; | 581 | ptrdiff_t wanted, start, end, mark; |
| 581 | struct window *w; | 582 | struct window *w; |
| 582 | 583 | ||
| 583 | /* If F's old selected window is no longer live, fail. */ | 584 | /* If F's old selected window is no longer alive, fail. */ |
| 584 | 585 | ||
| 585 | if (!WINDOW_LIVE_P (f->old_selected_window)) | 586 | if (!WINDOW_LIVE_P (f->old_selected_window)) |
| 586 | return; | 587 | return; |
| @@ -769,7 +770,7 @@ really_finish_composing_text (struct frame *f, bool update) | |||
| 769 | TEXTCONV_DEBUG ("conversion region removed"); | 770 | TEXTCONV_DEBUG ("conversion region removed"); |
| 770 | } | 771 | } |
| 771 | 772 | ||
| 772 | /* Set the composing text on F to TEXT. Then, move point to an | 773 | /* Set the composing text on frame F to TEXT. Then, move point to an |
| 773 | appropriate position relative to POSITION, and call | 774 | appropriate position relative to POSITION, and call |
| 774 | `compose_region_changed' in the text conversion interface should | 775 | `compose_region_changed' in the text conversion interface should |
| 775 | point not have been changed relative to F's old selected window's | 776 | point not have been changed relative to F's old selected window's |
| @@ -927,8 +928,8 @@ really_set_composing_text (struct frame *f, ptrdiff_t position, | |||
| 927 | unbind_to (count, Qnil); | 928 | unbind_to (count, Qnil); |
| 928 | } | 929 | } |
| 929 | 930 | ||
| 930 | /* Set the composing region to START by END. Make it that it is not | 931 | /* Set the composing region of frame F to START by END. Make it if |
| 931 | already set. */ | 932 | it is not already set. */ |
| 932 | 933 | ||
| 933 | static void | 934 | static void |
| 934 | really_set_composing_region (struct frame *f, ptrdiff_t start, | 935 | really_set_composing_region (struct frame *f, ptrdiff_t start, |
| @@ -986,8 +987,8 @@ really_set_composing_region (struct frame *f, ptrdiff_t start, | |||
| 986 | } | 987 | } |
| 987 | 988 | ||
| 988 | /* Delete LEFT and RIGHT chars around point or the active mark, | 989 | /* Delete LEFT and RIGHT chars around point or the active mark, |
| 989 | whichever is larger, avoiding the composing region if | 990 | whichever is larger, in frame F's selected window, avoiding the |
| 990 | necessary. */ | 991 | composing region if necessary. */ |
| 991 | 992 | ||
| 992 | static void | 993 | static void |
| 993 | really_delete_surrounding_text (struct frame *f, ptrdiff_t left, | 994 | really_delete_surrounding_text (struct frame *f, ptrdiff_t left, |
| @@ -1077,8 +1078,8 @@ really_delete_surrounding_text (struct frame *f, ptrdiff_t left, | |||
| 1077 | unbind_to (count, Qnil); | 1078 | unbind_to (count, Qnil); |
| 1078 | } | 1079 | } |
| 1079 | 1080 | ||
| 1080 | /* Update the interface with F's new point and mark. If a batch edit | 1081 | /* Update the interface with frame F's new point and mark. If a batch |
| 1081 | is in progress, schedule the update for when it finishes | 1082 | edit is in progress, schedule the update for when it finishes |
| 1082 | instead. */ | 1083 | instead. */ |
| 1083 | 1084 | ||
| 1084 | static void | 1085 | static void |
| @@ -1097,10 +1098,10 @@ really_request_point_update (struct frame *f) | |||
| 1097 | current_buffer); | 1098 | current_buffer); |
| 1098 | } | 1099 | } |
| 1099 | 1100 | ||
| 1100 | /* Set point in F to POSITION. If MARK is not POSITION, activate the | 1101 | /* Set point in frame F's selected window to POSITION. If MARK is not |
| 1101 | mark and set MARK to that as well. | 1102 | at POSITION, activate the mark and set MARK to that as well. |
| 1102 | 1103 | ||
| 1103 | If it has not changed, signal an update through the text input | 1104 | If point was not changed, signal an update through the text input |
| 1104 | interface, which is necessary for the IME to acknowledge that the | 1105 | interface, which is necessary for the IME to acknowledge that the |
| 1105 | change has completed. */ | 1106 | change has completed. */ |
| 1106 | 1107 | ||
| @@ -1173,9 +1174,9 @@ struct complete_edit_check_context | |||
| 1173 | bool check; | 1174 | bool check; |
| 1174 | }; | 1175 | }; |
| 1175 | 1176 | ||
| 1176 | /* If CONTEXT->check is false, then update W's ephemeral last point | 1177 | /* Convert PTR to CONTEXT. If CONTEXT->check is false, then update |
| 1177 | and give it to the input method, the assumption being that an | 1178 | CONTEXT->w's ephemeral last point and give it to the input method, |
| 1178 | editing operation signalled. */ | 1179 | the assumption being that an editing operation signalled. */ |
| 1179 | 1180 | ||
| 1180 | static void | 1181 | static void |
| 1181 | complete_edit_check (void *ptr) | 1182 | complete_edit_check (void *ptr) |
| @@ -1429,8 +1430,8 @@ handle_pending_conversion_events (void) | |||
| 1429 | unbind_to (count, Qnil); | 1430 | unbind_to (count, Qnil); |
| 1430 | } | 1431 | } |
| 1431 | 1432 | ||
| 1432 | /* Start a ``batch edit'' in F. During a batch edit, point_changed | 1433 | /* Start a ``batch edit'' in frame F. During a batch edit, |
| 1433 | will not be called until the batch edit ends. | 1434 | point_changed will not be called until the batch edit ends. |
| 1434 | 1435 | ||
| 1435 | Process the actual operation in the event loop in keyboard.c; then, | 1436 | Process the actual operation in the event loop in keyboard.c; then, |
| 1436 | call `notify_conversion' in the text conversion interface with | 1437 | call `notify_conversion' in the text conversion interface with |
| @@ -1473,8 +1474,9 @@ end_batch_edit (struct frame *f, unsigned long counter) | |||
| 1473 | input_pending = true; | 1474 | input_pending = true; |
| 1474 | } | 1475 | } |
| 1475 | 1476 | ||
| 1476 | /* Insert the specified STRING into F's current buffer's composition | 1477 | /* Insert the specified STRING into frame F's selected-window's |
| 1477 | region, and set point to POSITION relative to STRING. | 1478 | buffer's composition region, and set point to POSITION relative to |
| 1479 | STRING. | ||
| 1478 | 1480 | ||
| 1479 | If there is no composition region, use the active region instead. | 1481 | If there is no composition region, use the active region instead. |
| 1480 | If that doesn't exist either, insert STRING after point. | 1482 | If that doesn't exist either, insert STRING after point. |
| @@ -1498,8 +1500,9 @@ commit_text (struct frame *f, Lisp_Object string, | |||
| 1498 | input_pending = true; | 1500 | input_pending = true; |
| 1499 | } | 1501 | } |
| 1500 | 1502 | ||
| 1501 | /* Remove the composition region and its overlay from F's current | 1503 | /* Remove the composition region and its overlay from frame F's |
| 1502 | buffer. Leave the text being composed intact. | 1504 | selected-window's current buffer. Leave the text being composed |
| 1505 | intact. | ||
| 1503 | 1506 | ||
| 1504 | If UPDATE, call `compose_region_changed' after the region is | 1507 | If UPDATE, call `compose_region_changed' after the region is |
| 1505 | removed. | 1508 | removed. |
| @@ -1557,7 +1560,7 @@ set_composing_text (struct frame *f, Lisp_Object object, | |||
| 1557 | } | 1560 | } |
| 1558 | 1561 | ||
| 1559 | /* Make the region between START and END the currently active | 1562 | /* Make the region between START and END the currently active |
| 1560 | ``composing region''. | 1563 | ``composing region'' on frame F. |
| 1561 | 1564 | ||
| 1562 | The ``composing region'' is a region of text in the buffer that is | 1565 | The ``composing region'' is a region of text in the buffer that is |
| 1563 | about to undergo editing by the input method. */ | 1566 | about to undergo editing by the input method. */ |
| @@ -1586,7 +1589,8 @@ set_composing_region (struct frame *f, ptrdiff_t start, | |||
| 1586 | input_pending = true; | 1589 | input_pending = true; |
| 1587 | } | 1590 | } |
| 1588 | 1591 | ||
| 1589 | /* Move point in F's selected buffer to POINT and maybe push MARK. | 1592 | /* Move point in frame F's selected-window's buffer to POINT and maybe |
| 1593 | push MARK. | ||
| 1590 | 1594 | ||
| 1591 | COUNTER means the same as in `start_batch_edit'. */ | 1595 | COUNTER means the same as in `start_batch_edit'. */ |
| 1592 | 1596 | ||
| @@ -1611,8 +1615,8 @@ textconv_set_point_and_mark (struct frame *f, ptrdiff_t point, | |||
| 1611 | input_pending = true; | 1615 | input_pending = true; |
| 1612 | } | 1616 | } |
| 1613 | 1617 | ||
| 1614 | /* Delete LEFT and RIGHT characters around point in F's old selected | 1618 | /* Delete LEFT and RIGHT characters around point in frame F's old |
| 1615 | window. */ | 1619 | selected window. */ |
| 1616 | 1620 | ||
| 1617 | void | 1621 | void |
| 1618 | delete_surrounding_text (struct frame *f, ptrdiff_t left, | 1622 | delete_surrounding_text (struct frame *f, ptrdiff_t left, |
| @@ -1632,8 +1636,9 @@ delete_surrounding_text (struct frame *f, ptrdiff_t left, | |||
| 1632 | input_pending = true; | 1636 | input_pending = true; |
| 1633 | } | 1637 | } |
| 1634 | 1638 | ||
| 1635 | /* Request an immediate call to INTERFACE->point_changed with the new | 1639 | /* Request an immediate call to TEXT_INTERFACE->point_changed with the |
| 1636 | details of F's region unless a batch edit is in progress. */ | 1640 | new details of frame F's region unless a batch edit is in |
| 1641 | progress. */ | ||
| 1637 | 1642 | ||
| 1638 | void | 1643 | void |
| 1639 | request_point_update (struct frame *f, unsigned long counter) | 1644 | request_point_update (struct frame *f, unsigned long counter) |
| @@ -1651,8 +1656,8 @@ request_point_update (struct frame *f, unsigned long counter) | |||
| 1651 | input_pending = true; | 1656 | input_pending = true; |
| 1652 | } | 1657 | } |
| 1653 | 1658 | ||
| 1654 | /* Request that text conversion on F pause until the keyboard buffer | 1659 | /* Request that text conversion on frame F pause until the keyboard |
| 1655 | becomes empty. | 1660 | buffer becomes empty. |
| 1656 | 1661 | ||
| 1657 | Use this function to ensure that edits associated with a keyboard | 1662 | Use this function to ensure that edits associated with a keyboard |
| 1658 | event complete before the text conversion edits after the barrier | 1663 | event complete before the text conversion edits after the barrier |
| @@ -1674,19 +1679,18 @@ textconv_barrier (struct frame *f, unsigned long counter) | |||
| 1674 | input_pending = true; | 1679 | input_pending = true; |
| 1675 | } | 1680 | } |
| 1676 | 1681 | ||
| 1677 | /* Return N characters of text around point in F's old selected | 1682 | /* Return N characters of text around point in frame F's old selected |
| 1678 | window. | 1683 | window. |
| 1679 | 1684 | ||
| 1680 | If N is -1, return the text between point and mark instead, given | 1685 | If N is -1, return the text between point and mark instead, given |
| 1681 | that the mark is active. | 1686 | that the mark is active. |
| 1682 | 1687 | ||
| 1683 | Set *N to the actual number of characters returned, *START_RETURN | 1688 | Set *START_RETURN to the position of the first character returned, |
| 1684 | to the position of the first character returned, *START_OFFSET to | 1689 | *START_OFFSET to the offset of the lesser of mark and point within |
| 1685 | the offset of the lesser of mark and point within that text, | 1690 | that text, *END_OFFSET to the greater of mark and point within that |
| 1686 | *END_OFFSET to the greater of mark and point within that text, and | 1691 | text, and *LENGTH to the actual number of characters returned, |
| 1687 | *LENGTH to the actual number of characters returned, *BYTES to the | 1692 | *BYTES to the actual number of bytes returned, and *MARK_ACTIVE to |
| 1688 | actual number of bytes returned, and *MARK_ACTIVE to whether or not | 1693 | whether or not the mark is active. |
| 1689 | the mark is active. | ||
| 1690 | 1694 | ||
| 1691 | Value is NULL upon failure, and a malloced string upon success. */ | 1695 | Value is NULL upon failure, and a malloced string upon success. */ |
| 1692 | 1696 | ||
| @@ -1763,8 +1767,7 @@ get_extracted_text (struct frame *f, ptrdiff_t n, | |||
| 1763 | 1767 | ||
| 1764 | /* Extract the text from the buffer. */ | 1768 | /* Extract the text from the buffer. */ |
| 1765 | buffer = xmalloc (end_byte - start_byte); | 1769 | buffer = xmalloc (end_byte - start_byte); |
| 1766 | copy_buffer (start, start_byte, end, end_byte, | 1770 | copy_buffer_text (start, start_byte, end, end_byte, buffer); |
| 1767 | buffer); | ||
| 1768 | 1771 | ||
| 1769 | /* Get the mark. If it's not active, use PT. */ | 1772 | /* Get the mark. If it's not active, use PT. */ |
| 1770 | 1773 | ||
| @@ -1792,7 +1795,8 @@ get_extracted_text (struct frame *f, ptrdiff_t n, | |||
| 1792 | return buffer; | 1795 | return buffer; |
| 1793 | } | 1796 | } |
| 1794 | 1797 | ||
| 1795 | /* Return the text between the positions PT - LEFT and PT + RIGHT. If | 1798 | /* Return the text between the positions pt - LEFT and pt + RIGHT, |
| 1799 | where pt is the position of point in frame F's selected window. If | ||
| 1796 | the mark is active, return the range of text relative to the bounds | 1800 | the mark is active, return the range of text relative to the bounds |
| 1797 | of the region instead. | 1801 | of the region instead. |
| 1798 | 1802 | ||
| @@ -1868,8 +1872,7 @@ get_surrounding_text (struct frame *f, ptrdiff_t left, | |||
| 1868 | 1872 | ||
| 1869 | /* Extract the text from the buffer. */ | 1873 | /* Extract the text from the buffer. */ |
| 1870 | buffer = xmalloc (end_byte - start_byte); | 1874 | buffer = xmalloc (end_byte - start_byte); |
| 1871 | copy_buffer (start, start_byte, end, end_byte, | 1875 | copy_buffer_text (start, start_byte, end, end_byte, buffer); |
| 1872 | buffer); | ||
| 1873 | 1876 | ||
| 1874 | /* Get the mark. If it's not active, use PT. */ | 1877 | /* Get the mark. If it's not active, use PT. */ |
| 1875 | 1878 | ||
| @@ -1907,7 +1910,7 @@ conversion_disabled_p (void) | |||
| 1907 | /* Window system interface. These are called from the rest of | 1910 | /* Window system interface. These are called from the rest of |
| 1908 | Emacs. */ | 1911 | Emacs. */ |
| 1909 | 1912 | ||
| 1910 | /* Notice that F's selected window has been set from redisplay. | 1913 | /* Notice that frame F's selected window has been set from redisplay. |
| 1911 | Reset F's input method state. */ | 1914 | Reset F's input method state. */ |
| 1912 | 1915 | ||
| 1913 | void | 1916 | void |
| @@ -1934,11 +1937,11 @@ report_selected_window_change (struct frame *f) | |||
| 1934 | text_interface->reset (f); | 1937 | text_interface->reset (f); |
| 1935 | } | 1938 | } |
| 1936 | 1939 | ||
| 1937 | /* Notice that the point in F's selected window's current buffer has | 1940 | /* Notice that point in frame F's selected window's current buffer has |
| 1938 | changed. | 1941 | changed. |
| 1939 | 1942 | ||
| 1940 | F is the frame whose selected window was changed, W is the window | 1943 | F is the frame whose selected window was changed, WINDOW is the |
| 1941 | in question, and BUFFER is that window's current buffer. | 1944 | window in question, and BUFFER is that window's buffer. |
| 1942 | 1945 | ||
| 1943 | Tell the text conversion interface about the change; it will likely | 1946 | Tell the text conversion interface about the change; it will likely |
| 1944 | pass the information on to the system input method. */ | 1947 | pass the information on to the system input method. */ |
| @@ -2081,10 +2084,11 @@ check_postponed_buffers (void) | |||
| 2081 | 2084 | ||
| 2082 | DEFUN ("set-text-conversion-style", Fset_text_conversion_style, | 2085 | DEFUN ("set-text-conversion-style", Fset_text_conversion_style, |
| 2083 | Sset_text_conversion_style, 1, 2, 0, | 2086 | Sset_text_conversion_style, 1, 2, 0, |
| 2084 | doc: /* Set the text conversion style in the current buffer. | 2087 | doc: /* Set the current buffer's text conversion style to VALUE. |
| 2085 | 2088 | ||
| 2086 | Set `text-conversion-style' to VALUE, then force any input method | 2089 | After setting `text-conversion-style', force input methods |
| 2087 | editing frame displaying this buffer to stop itself. | 2090 | editing in a selected window displaying this buffer on any frame |
| 2091 | to stop themselves. | ||
| 2088 | 2092 | ||
| 2089 | This can lead to a significant amount of time being taken by the input | 2093 | This can lead to a significant amount of time being taken by the input |
| 2090 | method resetting itself, so you should not use this function lightly; | 2094 | method resetting itself, so you should not use this function lightly; |
| @@ -2110,7 +2114,7 @@ replacement key sequence returned starts a new key sequence and makes | |||
| 2110 | if (!text_interface) | 2114 | if (!text_interface) |
| 2111 | return Qnil; | 2115 | return Qnil; |
| 2112 | 2116 | ||
| 2113 | /* If there are any seleted windows displaying this buffer, reset | 2117 | /* If there are any selected windows displaying this buffer, reset |
| 2114 | text conversion on their associated frames. */ | 2118 | text conversion on their associated frames. */ |
| 2115 | 2119 | ||
| 2116 | if (buffer_window_count (current_buffer)) | 2120 | if (buffer_window_count (current_buffer)) |
| @@ -2167,13 +2171,13 @@ syms_of_textconv (void) | |||
| 2167 | "overriding-text-conversion-style"); | 2171 | "overriding-text-conversion-style"); |
| 2168 | 2172 | ||
| 2169 | DEFVAR_LISP ("text-conversion-edits", Vtext_conversion_edits, | 2173 | DEFVAR_LISP ("text-conversion-edits", Vtext_conversion_edits, |
| 2170 | doc: /* List of buffers that were last edited as a result of text conversion. | 2174 | doc: /* List of buffers that were last edited as result of text conversion. |
| 2171 | 2175 | ||
| 2172 | This list can be used while handling a `text-conversion' event to | 2176 | This list can be used while handling a `text-conversion' event to |
| 2173 | determine which changes have taken place. | 2177 | determine which changes have taken place. |
| 2174 | 2178 | ||
| 2175 | Each element of the list describes a single edit in a buffer, of the | 2179 | Each element of the list describes a single edit in a buffer, and |
| 2176 | form: | 2180 | is of the form: |
| 2177 | 2181 | ||
| 2178 | (BUFFER BEG END EPHEMERAL) | 2182 | (BUFFER BEG END EPHEMERAL) |
| 2179 | 2183 | ||
| @@ -2189,8 +2193,8 @@ as indenting or automatically filling text, should not take place. | |||
| 2189 | Otherwise, it is either a string containing text that was inserted, | 2193 | Otherwise, it is either a string containing text that was inserted, |
| 2190 | text deleted before point, or nil if text was deleted after point. | 2194 | text deleted before point, or nil if text was deleted after point. |
| 2191 | 2195 | ||
| 2192 | The list contents are ordered later edits first, so you must iterate | 2196 | The list contents are ordered in the reverse order of editing, i.e. |
| 2193 | through the list in reverse. */); | 2197 | the latest edit first, so you must iterate through the list in reverse. */); |
| 2194 | Vtext_conversion_edits = Qnil; | 2198 | Vtext_conversion_edits = Qnil; |
| 2195 | 2199 | ||
| 2196 | DEFVAR_LISP ("overriding-text-conversion-style", | 2200 | DEFVAR_LISP ("overriding-text-conversion-style", |
| @@ -2198,14 +2202,14 @@ through the list in reverse. */); | |||
| 2198 | doc: /* Non-buffer local version of `text-conversion-style'. | 2202 | doc: /* Non-buffer local version of `text-conversion-style'. |
| 2199 | 2203 | ||
| 2200 | If this variable is the symbol `lambda', it means to consult the | 2204 | If this variable is the symbol `lambda', it means to consult the |
| 2201 | buffer local variable `text-conversion-style' to determine whether or | 2205 | buffer-local value of `text-conversion-style' to determine whether or |
| 2202 | not to activate the input method. Otherwise, its value is used in | 2206 | not to activate the input method. Otherwise, the value is used in |
| 2203 | preference to any buffer local value of `text-conversion-style'. */); | 2207 | preference to any buffer-local value of `text-conversion-style'. */); |
| 2204 | Voverriding_text_conversion_style = Qlambda; | 2208 | Voverriding_text_conversion_style = Qlambda; |
| 2205 | 2209 | ||
| 2206 | DEFVAR_LISP ("text-conversion-face", Vtext_conversion_face, | 2210 | DEFVAR_LISP ("text-conversion-face", Vtext_conversion_face, |
| 2207 | doc: /* Face in which to display temporary edits by an input method. | 2211 | doc: /* Face in which to display temporary edits by an input method. |
| 2208 | nil means to display no indication of a temporary edit. */); | 2212 | The value nil means to display no indication of a temporary edit. */); |
| 2209 | Vtext_conversion_face = Qunderline; | 2213 | Vtext_conversion_face = Qunderline; |
| 2210 | 2214 | ||
| 2211 | defsubr (&Sset_text_conversion_style); | 2215 | defsubr (&Sset_text_conversion_style); |