From: "Mattias Engdegård" <mattiase@acm.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 38013@debbugs.gnu.org
Subject: bug#38013: [PATCH] Rectangular region selection with mouse
Date: Sun, 10 Nov 2019 14:49:11 +0100 [thread overview]
Message-ID: <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> (raw)
In-Reply-To: <83bltk95p7.fsf@gnu.org>
9 nov. 2019 kl. 21.04 skrev Eli Zaretskii <eliz@gnu.org>:
> I still see a 1-pixel thin "region" sometimes, which causes the text
> to move horizontally.
Such 'thin' regions (0 cells wide) are legitimate and useful for marking a vertical span of insertion points. For example, they can be used with 'C-x r t' or 'C-x r N'. They are produced in keyboard-based rectangle selection (C-x SPC C-n C-n C-n) as well.
> More importantly, if I drag the mouse through a
> TAB, it moves in jumps of several columns, not one column at a time.
The reason is that 'mouse-movement' events are not generated as long as the mouse stays within the same glyph, and a tab counts as a (suitably wide) single glyph. It can be worked around by zig-zagging the mouse a bit, but I agree it's untidy.
Fixing this requires some work on the lower-level plumbing which I'd hoped to avoid. One possibility is to add a global flag that forces 'remember_mouse_glyph' to consider all text glyphs to have nominal char width, or just zero width.
Or even simpler: assuming that STRETCH_GLYPHS are mostly tabs, we can treat them as image glyphs for 'remember_mouse_glyph' purposes. What about:
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2572,7 +2572,7 @@ remember_mouse_glyph (struct frame *f, int gx, int gy, NativeRectangle *rect)
if (g < end)
{
- if (g->type == IMAGE_GLYPH)
+ if (g->type == IMAGE_GLYPH || g->type == STRETCH_GLYPH)
next prev parent reply other threads:[~2019-11-10 13:49 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-31 21:55 bug#38013: [PATCH] Rectangular region selection with mouse Mattias Engdegård
2019-11-01 0:12 ` Drew Adams
2019-11-01 7:51 ` Eli Zaretskii
2019-11-01 11:53 ` Mattias Engdegård
2019-11-01 13:17 ` Eli Zaretskii
2019-11-01 13:30 ` Eli Zaretskii
2019-11-03 21:12 ` Mattias Engdegård
2019-11-03 21:51 ` Drew Adams
2019-11-04 9:07 ` martin rudalics
2019-11-04 11:33 ` Mattias Engdegård
2019-11-04 15:25 ` Drew Adams
2019-11-04 18:27 ` martin rudalics
2019-11-04 20:18 ` Mattias Engdegård
2019-11-05 9:35 ` martin rudalics
2019-11-07 17:48 ` Mattias Engdegård
2019-11-07 17:53 ` Drew Adams
2019-11-07 18:27 ` Mattias Engdegård
2019-11-07 19:08 ` martin rudalics
2019-11-07 20:46 ` Drew Adams
2019-11-08 17:33 ` Mattias Engdegård
2019-11-08 18:28 ` martin rudalics
2019-11-09 15:35 ` Mattias Engdegård
2019-11-09 17:54 ` Eli Zaretskii
2019-11-09 19:32 ` Mattias Engdegård
2019-11-09 20:04 ` Eli Zaretskii
2019-11-10 13:49 ` Mattias Engdegård [this message]
2019-11-12 14:26 ` Mattias Engdegård
2019-11-12 15:39 ` Drew Adams
2019-11-14 13:56 ` Mattias Engdegård
2019-11-16 12:35 ` Eli Zaretskii
2019-11-17 12:11 ` Mattias Engdegård
2019-11-18 18:08 ` Mattias Engdegård
2019-11-18 19:22 ` Drew Adams
2019-11-18 21:29 ` Juri Linkov
2019-11-19 7:57 ` martin rudalics
2019-11-19 13:57 ` Mattias Engdegård
2019-11-19 15:09 ` Drew Adams
2019-11-19 15:37 ` Mattias Engdegård
2019-11-19 16:08 ` Drew Adams
2019-11-19 16:26 ` Mattias Engdegård
2019-11-19 17:30 ` Eli Zaretskii
2019-11-20 22:38 ` Juri Linkov
2019-11-19 23:07 ` Juri Linkov
2019-11-20 7:57 ` martin rudalics
2019-11-23 11:57 ` Eli Zaretskii
2019-11-23 12:46 ` Mattias Engdegård
2019-11-23 14:53 ` Eli Zaretskii
2019-11-23 15:17 ` Mattias Engdegård
2019-11-27 14:04 ` Mattias Engdegård
2019-11-10 3:48 ` Richard Stallman
2019-11-01 13:23 ` martin rudalics
[not found] <<C2CEADBB-4388-45A5-9D4D-8963314B2913@acm.org>
[not found] ` <<83v9s3lo5f.fsf@gnu.org>
[not found] ` <<75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org>
[not found] ` <<9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at>
[not found] ` <<DEA04CF5-72AC-4251-B10B-06291BDAECC2@acm.org>
[not found] ` <<6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at>
[not found] ` <<A13CC15C-D255-4A38-B8EA-5FE818BB45D5@acm.org>
[not found] ` <<8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at>
[not found] ` <<411EAB4E-B666-4263-8514-5F47391268B1@acm.org>
[not found] ` <<2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at>
[not found] ` <<B6A6755E-2981-4369-9A6B-A0E752C69A77@acm.org>
[not found] ` <<3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at>
[not found] ` <<9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org>
[not found] ` <<83pni17x5b.fsf@gnu.org>
[not found] ` <<8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org>
[not found] ` <<83bltk95p7.fsf@gnu.org>
[not found] ` <<60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org>
[not found] ` <<83ftio6lsy.fsf@gnu.org>
[not found] ` <<290E5E66-964B-4E29-B141-166447AD5556@acm.org>
[not found] ` <<175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org>
[not found] ` <<7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default>
[not found] ` <<87imngub40.fsf@mail.linkov.net>
[not found] ` <<60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at>
[not found] ` <<DE4EC019-FA36-434E-882C-D80192512DDB@acm.org>
[not found] ` <<9302a9ac-e64c-41ed-898b-24d59465fba4@default>
[not found] ` <<EACDBDF2-FB23-475A-BCE9-3447DECBABC8@acm.org>
[not found] ` <<ba3f1c42-91a9-4985-9376-6a84196167e8@default>
[not found] ` <<83lfsb22pb.fsf@gnu.org>
2019-11-19 18:32 ` Drew Adams
2019-11-19 19:24 ` Eli Zaretskii
[not found] <<<C2CEADBB-4388-45A5-9D4D-8963314B2913@acm.org>
[not found] ` <<<83v9s3lo5f.fsf@gnu.org>
[not found] ` <<<75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org>
[not found] ` <<<9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at>
[not found] ` <<<DEA04CF5-72AC-4251-B10B-06291BDAECC2@acm.org>
[not found] ` <<<6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at>
[not found] ` <<<A13CC15C-D255-4A38-B8EA-5FE818BB45D5@acm.org>
[not found] ` <<<8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at>
[not found] ` <<<411EAB4E-B666-4263-8514-5F47391268B1@acm.org>
[not found] ` <<<2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at>
[not found] ` <<<B6A6755E-2981-4369-9A6B-A0E752C69A77@acm.org>
[not found] ` <<<3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at>
[not found] ` <<<9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org>
[not found] ` <<<83pni17x5b.fsf@gnu.org>
[not found] ` <<<8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org>
[not found] ` <<<83bltk95p7.fsf@gnu.org>
[not found] ` <<<60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org>
[not found] ` <<<83ftio6lsy.fsf@gnu.org>
[not found] ` <<<290E5E66-964B-4E29-B141-166447AD5556@acm.org>
[not found] ` <<<175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org>
[not found] ` <<<7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default>
[not found] ` <<<87imngub40.fsf@mail.linkov.net>
[not found] ` <<<60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at>
[not found] ` <<<DE4EC019-FA36-434E-882C-D80192512DDB@acm.org>
[not found] ` <<<9302a9ac-e64c-41ed-898b-24d59465fba4@default>
[not found] ` <<<EACDBDF2-FB23-475A-BCE9-3447DECBABC8@acm.org>
[not found] ` <<<ba3f1c42-91a9-4985-9376-6a84196167e8@default>
[not found] ` <<<83lfsb22pb.fsf@gnu.org>
[not found] ` <<dc319e8e-42b3-4db8-b8d4-1580e6397174@default>
[not found] ` <<83d0dn1xfd.fsf@gnu.org>
2019-11-19 19:34 ` Drew Adams
2019-11-19 19:48 ` Eli Zaretskii
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=60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org \
--to=mattiase@acm.org \
--cc=38013@debbugs.gnu.org \
--cc=eliz@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).