emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [RFC] removing all results WAS: Re: idempotency ... org-babel-re


From: Daniele Pizzolli
Subject: Re: [O] [RFC] removing all results WAS: Re: idempotency ... org-babel-remove-inline-result
Date: Wed, 04 Feb 2015 09:59:06 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)

Hello Charles,

"Charles C. Berry" writes:

> Further Daniele's response to '[bug] Removing the Babel results':
>
>     http://article.gmane.org/gmane.emacs.orgmode/94604
>
> See below.
>
>> But why a `native' function? You know how to achieve this result and
>> can
>>
>> 1. add a customized function to your init file,
>> 2. submit a snippet to Worg, and/or
>> 3. contribute an *add on*, and/or
>> 4. argue for changes/additions to the Org code base, what you call a
>>   `native' function.
>>
>> Option 4 generates work for those who maintain Org code, so it needs
>> to be justified in terms of usefulness to other users and
>> issues in the code that it might fix or complicate.
>>
>> Even if 4 is the right path, a decision is needed on whether to add
>> new functions, or change the behavior of existing functions (possibly
>> adding a new variable or customization). The latter might be cleaner,
>> but runs the risk of breaking someone's code.
>
> The latter notion is along these lines:

Thanks for your reasoning and conclusion.

>
> #+BEGIN_SRC emacs-lisp
>    (defun org-babel-remove-result-one-or-many (x &optional keep-keyword)
>      "Remove the result of the current source block.
>    If called with a prefix argument, remove all result blocks and
>    results macros in the buffer. When KEEP-KEYWORD is non-nil, allow
>    RESULTS keywords to remain."
>      (interactive (list current-prefix-arg
>                         (y-or-n-p "Keep RESULTS keyword(y/n):")))

(y/n) seems to be redundant: y-or-n-p prints the options by itself.

>      (if x
>          (org-babel-map-executables nil
>            (org-babel-remove-result nil keep-keyword)
>            (org-babel-remove-inline-result))
>        (org-babel-remove-result nil keep-keyword)
>        (org-babel-remove-inline-result)))
> #+END_SRC
>
> which seems to handle Sebastien's `bug' if the user responds with 'y' (or 
> a calling function has a non-nil `keep-keyword'.

Seems reasonable to me.  But I still think that one-or-many does not
have a lot of sense since there is the one-case function already.

Is it possible to call it by something like C-u C-u M-x
org-babel-remove-result-one-or-many or by a custom keystroke and avoid
the interactive prompt and have it to clean all the result keeping the
keyword (without writing a function or using lambda)?

As a novice I like interactive prompt because you can be lead through
the choices, but I do not want to be annoyed by them when I become
expert and have the answer ready and it is almost always the same one.

If not, no worries, I think I will wrap in a custom one.

Thanks again,
Daniele



reply via email to

[Prev in Thread] Current Thread [Next in Thread]