emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nsterm.m: How to prevent _inactive_ window update from overreaching.


From: Keith David Bershatsky
Subject: nsterm.m: How to prevent _inactive_ window update from overreaching.
Date: Thu, 22 Nov 2018 11:07:26 -0800

In working on feature requests #17684 (crosshairs / visible fill column) and 
#22873 (multiple fake cursors), I have come across a situation where nsterm.m 
updates a portion of the _active_ window when updating the _inactive_ window.  
Although this is the case as of 11/16/2018, it was not the case back on 
07/07/2018.  The change occurred sometime between 07/07/2018 and 11/16/2018.

In the following examples, the _active_ window on the right gets updated first 
in time.  Using a version of Emacs from 07/07/2018, updating the _inactive_ 
window does not cause the active window to be modified.  Using a version of 
Emacs from 11/16/2018, updating the _inactive_ window updates a portion of the 
_active_ window.  The update happens from the top of the window to the X axis 
of the cursor in the _inactive_ window.

In the 07/07/2018 screenshot, the crosshairs and visible fill column in the 
_active_ window are not touched by updates to the _inactive_ window.

In the 11/16/2018 screenshot, the crosshairs and visible fill column in the 
_active_ window are partially erased by updates to the _inactive_ window.

https://www.lawlist.com/images/nsterm_07_07_2018_a.png

https://www.lawlist.com/images/nsterm_11_16_2018_a.png

The 07/07/2018 example was made with OSX (10.6.8) using Emacs master branch 
bearing commit 98463bed07ecc9057094928ffdc2321eaaf3ab52 and applying the 
attached patch (98463bed07ecc9057094928ffdc2321eaaf3ab52__2018_07_07.diff).

The 11/16/2018 example was made with OSX (10.6.8) using Emacs master branch 
bearing commit 644a308b4e1513e04be9360e1586e14b32ec0159 and applying the 
attached patch (644a308b4e1513e04be9360e1586e14b32ec0159__2018_11_16.diff).

QUESTION:  When updating the _inactive_ window, how can I prevent the current 
version of nsterm.m from updating a portion of the _active_ window (from the 
top of the window to the X axis of the cursor in the _inactive_ window)?

STEP 1:  Apply the relevant patch to the applicable Emacs versions from either 
07/07/2018 or 11/16/2018, and build Emacs --with-ns.

STEP 2:  From the *GNU Emacs* screen, type:

M-F10 (toggle-frame-maximized)

M-x split-window-horizontally

C-x o (other-window)

M-x +-mode

Move the cursor in the _active_ window (on the right side of the frame) to the 
letter "i" in "Darwin", which is the third line from the bottom.  The results 
should be the same as in the screenshots above.


Attachment: 644a308b4e1513e04be9360e1586e14b32ec0159__2018_11_16.diff
Description: application/diff

Attachment: 98463bed07ecc9057094928ffdc2321eaaf3ab52__2018_07_07.diff
Description: application/diff


reply via email to

[Prev in Thread] Current Thread [Next in Thread]