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