emacs-devel
[Top][All Lists]
Advanced

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

Highlighting cursor for char before


From: Alexandre Garreau
Subject: Highlighting cursor for char before
Date: Mon, 18 Oct 2021 14:36:30 +0200

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…




reply via email to

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