unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Ihor Radchenko <yantar92@posteo.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 65734@debbugs.gnu.org, manikulin@gmail.com,
	emacs-orgmode@gnu.org, monnier@iro.umontreal.ca, 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: Thu, 11 Jan 2024 18:08:11 +0000	[thread overview]
Message-ID: <87bk9rivzo.fsf__13764.73529251$1704996394$gmane$org@localhost> (raw)
In-Reply-To: <838r4vlt0n.fsf@gnu.org>

Eli Zaretskii <eliz@gnu.org> writes:

>> > How would kill-line know that it's about to kill a subtree?  All it
>> > knows is that it is killing some invisible text.
>> 
>> I imagine the following:
>> 
>> 1. `kill-*-line' function will, by default, test if invisible text of
>>    length size is killed and query the user when called interactively.
>> 
>> 2. Major modes could also set buffer-local `kill-line-query-function'
>>    that will return nil when killing should proceed without query or a
>>    string with query text.
>
> If the command is only sensitive to invisible text, it could warn
> about so-and-so many invisible characters being killed, but it could
> not warn about "subtrees", which is what you wanted.  Invisible text
> in a buffer could have nothing to do with subtrees, even if the buffer
> is under org-mode.

Let me elaborate. In Elisp, I am thinking about something like:

(defvar-local kill-line-query-function #'kill-line-query-default)
(defun kill-line-query-default (beg end)
  (let ((nlines <count invisible lines between beg end>))
  (when (> nlines threshold)
    (format "Kill %d invisible lines? " nlines))))

Then, Org mode can instead have

(setq-local kill-line-query-function #'org-kill-line-query)
(defun org-kill-line-query (beg end)
  (org-with-point-at beg
    (when (and (org-at-heading-p)
               (progn
                 (end-of-line)
                 (and (< (point) end)
                      (org-fold-folded-p))))
       "Kill hidden subtree along with headline? ")))

-- 
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>





  parent reply	other threads:[~2024-01-11 18:08 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
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 [this message]
     [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='87bk9rivzo.fsf__13764.73529251$1704996394$gmane$org@localhost' \
    --to=yantar92@posteo.net \
    --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 \
    /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).