unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: emacs-orgmode@gnu.org, Eli Zaretskii <eliz@gnu.org>,
	65734@debbugs.gnu.org, Max Nikulin <manikulin@gmail.com>,
	iota@whxvd.name
Subject: bug#65734: [BUG] kill-whole-line on folded subtrees [9.6.8 (release_9.6.8-3-g21171d @ /home/w/usr/emacs/0/29/0/lisp/org/)]
Date: Sun, 07 Jan 2024 11:27:13 -0500	[thread overview]
Message-ID: <jwvzfxhf7nq.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <875y4ovct9.fsf@localhost> (Ihor Radchenko's message of "Tue, 05 Sep 2023 15:50:58 +0000")

> The reported bug is a side effect of a feature when Org automatically
> reveals hidden outlines that are "broken" due to edits and thus could
> not be unfolded easily. For example, when destroying parent heading in a
> folding subtree:

I'd be in favor of changing `kill-whole-line` to do the kill in a single
step rather than killing the "before" and "after" separately.
I understand why it doesn't do that, but I'm not sure it's worth the
trouble (or we should change the `kill-region` thingy to be more
robust, e.g. record the position of the last kill so that it doesn't
need to rely on (< end beg) to guess whether to append or prepend and
it can automatically notice when the new kill is *around* the previous
one).

But in addition to that, I suspect that Org should probably not modify
visibility directly from the modification hooks.  Instead, its
modification hook function should just stash the info somewhere and then
update the visibility later on, such as in a `post-command-hook`, timer,
`pre-redisplay-functions`, younameit.

As a rule of thumb, I think modification hooks should be treated a bit
like POSIX signal handlers: just record the event somewhere but don't do
any substantial work in there.


        Stefan






  parent reply	other threads:[~2024-01-07 16:27 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87il8pao4l.fsf@whxvd.name>
2023-09-05 10:29 ` bug#65734: [BUG] kill-whole-line on folded subtrees [9.6.8 (release_9.6.8-3-g21171d @ /home/w/usr/emacs/0/29/0/lisp/org/)] Ihor Radchenko
2023-09-05 11:54   ` Eli Zaretskii
2023-09-05 15:25     ` Sebastian Miele
     [not found]     ` <875y4oaban.fsf@whxvd.name>
2023-09-05 15:50       ` Eli Zaretskii
     [not found]       ` <83bkeg4o1u.fsf@gnu.org>
2023-09-06  8:23         ` Ihor Radchenko
2023-09-06 12:16           ` Eli Zaretskii
     [not found]           ` <838r9j339x.fsf@gnu.org>
2023-09-06 13:30             ` Sebastian Miele
     [not found]             ` <87tts78lve.fsf@whxvd.name>
2023-09-07 13:49               ` Ihor Radchenko
2023-09-10 16:31               ` Sebastian Miele
2023-09-10 16:57                 ` Eli Zaretskii
2023-09-12 13:04                   ` Sebastian Miele
2023-09-12 14:09                     ` Eli Zaretskii
2023-12-25 18:53                   ` Sebastian Miele
2024-01-06  8:58                     ` Eli Zaretskii
2024-06-19 14:01                       ` Ihor Radchenko
2024-06-19 14:50                         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-22  9:00                         ` Eli Zaretskii
2024-06-22  9:51                           ` Eli Zaretskii
2024-06-23 19:26                             ` bug#65734: 29.1.50; kill-whole-line and visibility of Org subtrees Andrea Corallo
2024-06-22 19:00                           ` bug#65734: [BUG] kill-whole-line on folded subtrees [9.6.8 (release_9.6.8-3-g21171d @ /home/w/usr/emacs/0/29/0/lisp/org/)] Stefan Kangas
2024-06-27  8:41                             ` Eli Zaretskii
2023-12-04 12:42                 ` Ihor Radchenko
2023-12-04 23:20                   ` Sebastian Miele
2023-09-06  8:30     ` Ihor Radchenko
2023-09-06 12:20       ` Eli Zaretskii
2023-09-07 10:00         ` Ihor Radchenko
     [not found]         ` <87pm2upajy.fsf@localhost>
2023-09-07 10:19           ` Eli Zaretskii
     [not found]           ` <83il8mz3nf.fsf@gnu.org>
2023-09-07 10:27             ` Sebastian Miele
2023-09-07 13:43             ` Ihor Radchenko
2023-09-06 15:04       ` Sebastian Miele
     [not found]       ` <87o7if72b2.fsf@whxvd.name>
2023-09-07 10:03         ` Ihor Radchenko
2023-09-05 14:30   ` Max Nikulin
     [not found]   ` <ce55662a-190f-f719-8383-fa53ce808191@gmail.com>
2023-09-05 15:42     ` Eli Zaretskii
2023-09-05 15:50       ` Ihor Radchenko
     [not found]       ` <875y4ovct9.fsf@localhost>
2023-09-05 16:02         ` Max Nikulin
2023-09-05 16:12           ` Ihor Radchenko
2023-09-05 16:14         ` Eli Zaretskii
2024-01-07 16:27         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2024-01-08 12:15           ` Ihor Radchenko
2024-01-08 15:33             ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found]             ` <jwvcyub26fb.fsf-monnier+emacs@gnu.org>
2024-01-09 14:52               ` Ihor Radchenko
     [not found]               ` <878r4yy2wu.fsf@localhost>
2024-01-09 16:48                 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-09 22:21                   ` Ihor Radchenko
2024-01-09 15:47             ` Ihor Radchenko
2024-01-09 16:01               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-09 22:33                 ` Ihor Radchenko
     [not found]                 ` <87frz6w2zt.fsf@localhost>
2024-01-10  3:08                   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-10 12:52                   ` Eli Zaretskii
     [not found]                   ` <83cyu9nyea.fsf@gnu.org>
2024-01-10 13:05                     ` Ihor Radchenko
     [not found]                     ` <87sf35pcds.fsf@localhost>
2024-01-10 13:55                       ` Eli Zaretskii
2024-01-10 16:26                       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found]                       ` <jwv1qap88jp.fsf-monnier+emacs@gnu.org>
2024-01-10 16:39                         ` Eli Zaretskii
2024-01-11 15:44                         ` Ihor Radchenko
     [not found]                       ` <83y1cxmgws.fsf@gnu.org>
2024-01-11 15:50                         ` Ihor Radchenko
     [not found]                         ` <87ttnjj2dp.fsf@localhost>
2024-01-11 16:05                           ` Eli Zaretskii
     [not found]                           ` <83bk9rlusw.fsf@gnu.org>
2024-01-11 16:15                             ` Ihor Radchenko
     [not found]                             ` <87h6jjj17y.fsf@localhost>
2024-01-11 16:44                               ` Eli Zaretskii
     [not found]                               ` <838r4vlt0n.fsf@gnu.org>
2024-01-11 18:08                                 ` Ihor Radchenko
     [not found]                                 ` <87bk9rivzo.fsf@localhost>
2024-01-11 19:19                                   ` Eli Zaretskii
     [not found]                                   ` <8334v3lltf.fsf@gnu.org>
2024-01-12 12:24                                     ` Ihor Radchenko
2024-01-12 12:32                                       ` Eli Zaretskii
     [not found]                                       ` <83zfxaivfv.fsf@gnu.org>
2024-01-12 12:39                                         ` Ihor Radchenko
     [not found]                                         ` <87v87ypvyh.fsf@localhost>
2024-01-12 14:03                                           ` Eli Zaretskii
2024-01-12 14:15                                             ` Ihor Radchenko
2024-01-12 21:09                                   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-12 21:16                                     ` Ihor Radchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvzfxhf7nq.fsf-monnier+emacs@gnu.org \
    --to=bug-gnu-emacs@gnu.org \
    --cc=65734@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=emacs-orgmode@gnu.org \
    --cc=iota@whxvd.name \
    --cc=manikulin@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    --cc=yantar92@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).