unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Keith David Bershatsky <esq@lawlist.com>
To: Emacs Devel <emacs-devel@gnu.org>
Subject: nsterm.m: How to prevent _inactive_ window update from overreaching.
Date: Thu, 22 Nov 2018 11:07:26 -0800	[thread overview]
Message-ID: <m2wop5ue1d.wl%esq@lawlist.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2385 bytes --]

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 #2: 644a308b4e1513e04be9360e1586e14b32ec0159__2018_11_16.diff --]
[-- Type: application/diff, Size: 375541 bytes --]

[-- Attachment #3: 98463bed07ecc9057094928ffdc2321eaaf3ab52__2018_07_07.diff --]
[-- Type: application/diff, Size: 374957 bytes --]

             reply	other threads:[~2018-11-22 19:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-22 19:07 Keith David Bershatsky [this message]
2018-11-22 22:57 ` nsterm.m: How to prevent _inactive_ window update from overreaching Alan Third
  -- strict thread matches above, loose matches on Subject: below --
2018-11-22 20:13 Keith David Bershatsky
2018-11-25  2:20 Keith David Bershatsky
2018-11-26  2:14 Keith David Bershatsky
2018-11-26 20:09 ` Alan Third
2018-11-27  4:58 Keith David Bershatsky
2018-11-28 21:31 ` Alan Third
2018-11-29  5:52 Keith David Bershatsky
2018-12-12  7:07 Keith David Bershatsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2wop5ue1d.wl%esq@lawlist.com \
    --to=esq@lawlist.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).