[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22873: #22873 (multiple fake cursors); and, #17684 (crosshairs / fil
From: |
Keith David Bershatsky |
Subject: |
bug#22873: #22873 (multiple fake cursors); and, #17684 (crosshairs / fill-column). |
Date: |
Tue, 20 Nov 2018 20:53:56 -0800 |
Version 016.000 [11/20/2018]
CHANGELOG:
- The area of code that prevented crosshairs and other fake cursors from
working on MacOS Mojave has been fixed.
- New Feature: This is the first implementation of a visible fill column
using fake cursors, which has similar abilities to crosshairs; e.g.,
draw forthwith whenever the real cursor gets drawn; draw on an idle
timer; fill column indicator in inactive/active windows have different
colors; suppress display of fill column indicator in inactive windows
(if so desired); color of the fill column indicator in active/inactive
windows is a different color when the cursor is lined up with the fill
column and crosshairs is active. Crosshairs incorporates the fill
column indicator if the variable `+-fill-column' is non-nil; or, there
is a separate minor-mode called `mc-fill-column-mode' (if so desired).
- Floating horizontal ruler now increments by glyph->pixel_width instead
of frame-char-width. [This avoids visible gaps.]
- Multiple fake cursors can now be placed at the end of a line when there
is no `buffer-display-table' entry for a visible EOL glyph.
- Crosshairs now use the line height instead of the glyph height. [This
avoids visible gaps in the vertical ruler of crosshairs.]
- The border color for images with a fake cursor now match the fake
cursor color.
- With the gracious assistance of Eli Z., a test now exists for the situation
when `draw_glyphs' redraws a tab stretch due to a subsequent character
with a left overhang. Additional work needs to be done ... [infra].
- Only call `update_begin' / `update_end' when the frame was not already
in the process of being updated.
- Miscellaneous bug fixes.
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 11/16/2018:
git reset --hard 644a308b4e1513e04be9360e1586e14b32ec0159
Step 3: From within the new emacs folder created in Step 1, apply the patch:
git apply /path/to/the/11_20_2018__18_16_28_577.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 is installed, an eval-after-load "multiple-cursors-core" statement
within crosshairs.el will redefine a couple of functions and set up a few
keyboard shortcuts.] 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 crosshairs and the visible fill column, type: M-x +-mode
- To try out only the visible fill column, type: M-x mc-fill-column-mode
- To learn how to use the multiple fake cursors feature, examine the
interactive function `mc-test'.
TODO:
- Crosshairs in the inactive windows is causing cursors in the active
windows to be erased (when the active window drew prior thereto).
- Face of tab stretch gets extended to window edge on NS, but not on X11
or NT platforms:
https://lists.gnu.org/archive/html/emacs-devel/2018-11/msg00316.html
- Continue working on the section of code within `draw_glyphs' that is
responsible for redrawing a stretch tab (erasing a fake cursor) when the next
character has a left overhang. " A". A temporary fix has been instituted
that simply bypasses the section of code at issue; however, the optimal
solution will be to let `draw_glyphs' do its thing and then redraw the
fake cursors along the stretch tab subsequent thereto.
- Multiple Cursors: If point is in the middle of a composite character, then
select a fully composed character so that the fake cursor is visible.
- Fake cursors are being redrawn too often when non-selected visible windows
have an ongoing process that require frequent redisplay updates (e.g.,
an eshell buffer. @lawlist may have already corrected the frequent redisplay
issue as to mouse-overs, but will need to check this once again to be sure.
11_20_2018__18_16_28_577.diff
Description: application/diff
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#22873: #22873 (multiple fake cursors); and, #17684 (crosshairs / fill-column).,
Keith David Bershatsky <=