mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-16 02:50:26 -08:00
Fix display of working text on NS (Bug#23412, Bug#1453)
* lisp/term/ns-win.el (ns-insert-working-text): (ns-delete-working-text): Change how working text is deleted to handle changed order of operations. * src/nsterm.m ([EmacsView insertText:]): Move deletion of working text until after insertion of new text. Copyright-paperwork-exempt: yes
This commit is contained in:
parent
bfc54230c5
commit
ba042176d8
2 changed files with 8 additions and 10 deletions
|
|
@ -316,10 +316,9 @@ The overlay is assigned the face `ns-working-text-face'."
|
|||
(interactive)
|
||||
(ns-delete-working-text)
|
||||
(let ((start (point)))
|
||||
(insert ns-working-text)
|
||||
(overlay-put (setq ns-working-overlay (make-overlay start (point)
|
||||
(current-buffer) nil t))
|
||||
'face 'ns-working-text-face)))
|
||||
(overlay-put (setq ns-working-overlay (make-overlay start (point)))
|
||||
'after-string
|
||||
(propertize ns-working-text 'face 'ns-working-text-face))))
|
||||
|
||||
(defun ns-echo-working-text ()
|
||||
"Echo contents of `ns-working-text' in message display area.
|
||||
|
|
@ -342,8 +341,7 @@ See `ns-insert-working-text'."
|
|||
;; Still alive?
|
||||
(overlay-buffer ns-working-overlay))
|
||||
(with-current-buffer (overlay-buffer ns-working-overlay)
|
||||
(delete-region (overlay-start ns-working-overlay)
|
||||
(overlay-end ns-working-overlay))
|
||||
(overlay-put ns-working-overlay 'after-string nil)
|
||||
(delete-overlay ns-working-overlay)))
|
||||
((integerp ns-working-overlay)
|
||||
(let ((msg (current-message))
|
||||
|
|
|
|||
|
|
@ -6460,10 +6460,6 @@ not_in_argv (NSString *arg)
|
|||
if (!emacs_event)
|
||||
return;
|
||||
|
||||
/* First, clear any working text. */
|
||||
if (workingText != nil)
|
||||
[self deleteWorkingText];
|
||||
|
||||
/* It might be preferable to use getCharacters:range: below,
|
||||
cf. https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CocoaPerformance/Articles/StringDrawing.html#//apple_ref/doc/uid/TP40001445-112378.
|
||||
However, we probably can't use SAFE_NALLOCA here because it might
|
||||
|
|
@ -6492,6 +6488,10 @@ not_in_argv (NSString *arg)
|
|||
emacs_event->code = code;
|
||||
EV_TRAILER ((id)nil);
|
||||
}
|
||||
|
||||
/* Last, clear any working text. */
|
||||
if (workingText != nil)
|
||||
[self deleteWorkingText];
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue