Eli Zaretskii <e...@gnu.org> writes: >> It would also make sense to group the two edits together via >> `combine-after-change-calls', although a more universal way to know that >> certain edits are a part of the same known command (even when called >> non-interactively) would be useful. > > The command kills in two parts for a good reason, which is explained > in the comments to the code. So making a single group will not work, > I think, at least not in all situations.
I think there is misunderstanding. `combine-after-change-calls' will not affect the two-step modification of the kill ring, if we put it around `kill-whole-line'. Or do I miss something? > ... And relying on after-change > hooks to fix this use case sounds too obscure and fragile to me. Indeed. I did not talk about this particular bug report. What I meant is some way to group change hooks executed by the same function/command. >> In addition, `org-kill-line' acts specially in certain scenarios: >> >> For >> * Heading <point> text :tag1:tag2: >> >> `org-kill-line' will keep and re-align ":tag1:tag2:": >> >> * Heading <point> :tag1:tag2: >> >> It would be nice if we could express such behavior without overriding >> the `kill-line' command. > > This could be handled by a suitable extension to end-of-visible-line. > For example, introduce a new text property which end-of-visible-line > would then handle the same as it currently handles invisible text. I am not sure if I like the idea of text property - marking all the tags in buffer with text property is expensive. What about something like `end-of-visible-line-function'? -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>