bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#17684: #22873 (multiple fake cursors); and, #17684 (crosshairs).


From: Keith David Bershatsky
Subject: bug#17684: #22873 (multiple fake cursors); and, #17684 (crosshairs).
Date: Sat, 10 Nov 2018 19:36:17 -0800

Proof concept patch version 015.  Changes include, but are not limited to:

-  Coordinates for the fake cursors are now obtained by effectively dumping the 
glyph matrix and looking for the desired glyph; e.g., based upon a particular 
character position in the buffer, or a particular window relative X.  [The 
previous versions relied upon moving IT.]

-  Multiple fake cursors and crosshairs are now supported in the inactive 
window.

-  The foreground filled color of a hollow cursor is now configurable, 
including, but not limited to when the region inactive, and active region 
beginning and/or the active region end.

-  Colors of fake cursors in inactive window can be customized to be different 
than the active window.

-  New fringe indicators when engaging different forms of horizontal scrolling.

-  New fringe indicators when the idle timer for crosshairs is pending.

-  Other miscellaneous new stuff, but not too significant.

-  Miscellaneous bug fixes.

There are miscellaneous changes to the core of Emacs to facilitate generate 
tracing/debugging information.  Said modifications will eventually be removed.

Due to the fact that I do not presently have a computer set up with MacOS 
Mojave, I cannot test a current version of Emacs master branch that includes 
the Mojave changes to nsterm.m made by Alan Third some time ago.  Based upon 
the help I received from Alan on the Emacs Devel mailing list, it would appear 
that simply restoring update_window_cursor to its unmodified state will permit 
drawing crosshairs and multiple fake cursors on a platform of Emacs for MacOS 
Mojave.  My recollection is that those restrictions were instituted to prevent 
redisplaying the crosshairs in certain mouseover situations.

SETUP:

Step 1:  git clone -b master git://git.sv.gnu.org/emacs.git

Step 2:  In the new emacs folder, go back to an Emacs version from 07/07/2018:

git reset --hard 98463bed07ecc9057094928ffdc2321eaaf3ab52

[Going back in time to 07/07/2018 saves @lawlist a couple of hours by not having
to deal with unrelated recent changes to the master branch by the Emacs team.]

Step 3:  From within the new emacs folder created in Step 1, apply the patch:

git apply /path/to/the/11_10_2018__18_53_09_703.diff

[There should not be any error messages at this point; i.e, you should be 
returned to a new command prompt.]

Step 4:  ./autogen.sh

Step 5:  ./configure ... [your custom options]

Step 6:  make

Step 7:  make install

-  To try out built-in fake cursors with Magnar Sveen's library 
(multiple-cursors), install that package first.  If the multiple-cursors 
package by Magnar Sveen is not already installed, then there are two easy ways 
to install that package:

   Type:  M-x mc-install

   OR, evaluate the following snippet:

  (progn
    (require 'package)
    (add-to-list 'package-archives '("melpa" . 
"http://melpa.milkbox.net/packages/";) t)
    (package-initialize)
    (package-refresh-contents)
    (package-install 'multiple-cursors))

-  To try out the crosshairs feature, open a relatively simple buffer (e.g., 
just code or text) and type:  M-x +-mode

    The default setting is on an idle timer, so just move around or type 
something to see how it works.

-  To see an example of a variety of built-in cursor styles and widths, type:  
M-x mc-test

Attachment: 11_10_2018__18_53_09_703.diff
Description: application/diff


reply via email to

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