unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Highlighting cursor for char before
@ 2021-10-18 12:36 Alexandre Garreau
  2021-10-18 13:26 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Alexandre Garreau @ 2021-10-18 12:36 UTC (permalink / raw)
  To: Emacs-Devel devel

Hello,

TL;DR:  I know we can make the cursor so thin it becomes a bar like in 
other apps, instead of highlighted following char… but how to make it 
highlight the *previous* char? is there a way? that would be more logical 
and less confusing, especially when switching between ltr and rtl

Context: by default, emacs cursor highlights a character, instead of being 
a small vertical trait like in most applications today.  This is handy in 
overwrite mode, and logical as per the usage of the “suppr” key, but 
people hardly use these nowadays…  On the opposite, and pretty counter-
intuitively, the standard DEL command deletes the character *before* the 
one highlighted.  Furthermore, many unicode characters, character modifiers 
(hence the way to insert them) modify the character *before* them, which 
induce an even greater confusion: when for instance adding a diacritic 
this way, it will be added *not* on the character highlighted, but the one 
*before*.

Normally, anybody experienced with computers, hence anybody here, would 
not notice it, it would become “infraordinary” because we’re used to our 
ways of deleting chars, and seldom use separated diacritics (in my current 
main language, french, we have one key per modified letter, hence we don’t 
care, but for instance in italian, spanish and russian sometimes you want 
to mark tonic accent) in english and many languages…  and because of that, 
the fact you modify what’s “before” the highlighted character is unnoticed 
and goes smoothly.

What I have just noticed, is that the true semantic notion of “before” 
(that is correctly maintained in emacs common keybindings) is 
ergonomically a confusing notion once you write texts in both ltr and rtl 
languages.  There, your brain may have used to learn that you modify the 
left character, compared to the highlighted character, while of course it 
doesn’t: it keeps modifying the previous one, that is not even the 
highlighted character but the right one (that is, the wrong one: sorry for 
the confusion, I used “right” meaning direction, not expectedness (damn 
english for confusing notions, and yay for it for having the word 
“expectedness”)).

So that traditional way of highlighting cursor is already bogus and 
counterintuitive per se, but in certain context it becomes confusing and 
hard.  I’m not necessarily asking to change the default right now 
(although a solid thin trait would look more logical, appealing and 
familiar (that’s only one point among others) and less confusing to many, 
especially new users, without being incompatibly contradictory/confusion 
wrt the tradition), but how to reverse that? I’d like very much to do it, 
I’ve got acquainted to that highlighting block but I’d like something 
logical, not legacy (I never use overwrite mode, except with artist-mode 
(but that could be conditionally tweaked)).

A suggestion I propose that cursor-type may be equal to (box . -1) or 
(hollow . -1), or another variable such as cursor-

PS: sorry for verbosity, I really wanted to make all the points, but I 
feel that wasn’t optimal.  As always, I hope the fact it’s far faster to 
read than write will compensate… :/

PPS: I was unsure whether to post here or on help-gnu-emacs, but since I 
found nothing… I start thinking that there’s nothing implemented for that…




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-10-27 19:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-18 12:36 Highlighting cursor for char before Alexandre Garreau
2021-10-18 13:26 ` Eli Zaretskii
2021-10-27 14:44   ` Alexandre Garreau
2021-10-27 15:59     ` Eli Zaretskii
2021-10-27 18:49       ` Alexandre Garreau
2021-10-27 19:04         ` Eli Zaretskii

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).