Subject: Re: bug#77438: [FEATURE REQUEST] Freely positioning the cursor anywhere in the buffer (Vimâs virtualedit=all Equivalent in Emacs)

From: Richard Stallman <[email-masked]>
Date: Thu, 03 Apr 2025 22:51:25 -0400

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > Here’s an idea: instead of modifying the internal concept where the
  > cursor is equal to the position between two characters, we could
  > implement a new mode that displays a "virtual cursor." This mode
  > would display a cursor representing a specific line/column, rather
  > than a position between two characters. It would allow the cursor to
  > be placed at a line/column position, which may not necessarily be
  > between two characters.

This would make display work as it should in this mode, with editing
commands that have special code to update the virtual cursor.

But if that will work only for commands that are updated with extra code
to understand these virtual cursor positions.  That would be an enormous
amount of work and wuuld complicate future maintenance.

A less ugly way to do this would be to modify the buffer contents model
so that there can be virtual spaces at the end of the current line.

But it won't be easy to make that work with full consistency for all
commands that operate on or look at the buffer.  Would the virtual spaces
extend to the right margin?  Would they extend only as far as he cursor?

If you do C-SPC C-n M-w, what should that put in the kill ring?
What about C-SPC C-u C-n M-w?  One would need to figure out a system that
gives the "right" answers for such questions.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)