purcell / whole-line-or-region

In Emacs, operate on current line if no region is active
114 stars 12 forks source link

Is it possible for this package to retain the original behavior of invisible regions? #25

Open JohnWick95 opened 3 months ago

JohnWick95 commented 3 months ago

For example, end-of-buffer sets the mark so that by simply pressing kill-ring-save or yank afterwards, you can copy or delete content between the mark and the point without highlighting any region. In this scenario, whole-line-or-region will yank/kill the current line since it does not recognize invisible regions. Is it possible to make whole-line-or-region aware of invisible regions?

purcell commented 3 months ago

Are you talking about when transient-mark-mode is off? With it enabled (the default) then there isn't really an invisible region afaik. And with it disabled, I believe there's always a region active, so this package would never select the whole line. Or am I missing something?

JohnWick95 commented 3 months ago

When transient-mark-mode is enabled without the whole-line-or-region package installed, executing M-> sets a mark and moves the point to the end of the buffer, without highlighting any region. However, performing a yank or kill command after this action applies to the entire area covered by the movement, despite no visible highlight.

Conversely, with whole-line-or-region enabled, performing a yank or kill after using M-> affects only the line where the point is currently located, not the entire area covered by the M-> command.

I'm curious if there's a way to maintain the default behavior for commands that set a mark and then jump, when yank or kill commands are subsequently used.