emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [ANN] lisp/ob-tangle-sync.el


From: Ihor Radchenko
Subject: Re: [ANN] lisp/ob-tangle-sync.el
Date: Thu, 03 Aug 2023 08:16:55 +0000

Mehmet Tekman <mtekman89@gmail.com> writes:

>> setq unexplained-params (delete-dups unexplained-params))
>
> The help mentions that it stores the result in the list, and it looks
> like it works
>
> #+BEGIN_SRC elisp
> (let ((x '(1 2 1 2 3))) (delete-dups x) x)
> #+END_SRC

This is just implementation detail.
As a general good practice, destructive list manipulation commands
should follow (setq foo (command foo)) pattern.

>> Instead, we should use
>> (mapcar #'org-babel-read (org-babel-balanced-split "yes \"my file with 
>> quotes\"" ?\s))
>
> See my next patch, it implements a quote aware string splitting
> function which is used just for the tangle headers. Is my
> implementation there enough, without having to use text
> properties?

We already have `org-babel-balanced-split'. Your patch will be a code
duplication.

Also, your patch will not handle
#+begin_src lang :tangle "tangle yes file"
vs.
#+begin_src lang :tangle tangle yes file

>> > -    (tangle  . ((tangle yes no :any)))
>> > +    (tangle  . ((tangle yes no :any)
>> > +                  (import export skip sync)))
>>
>> We should not yet change this before the code using the new tangle
>> values is in place.
>
> This is a big source of confusion for me, since I don't really
> know how to implement this extra merging behaviour *without*
> first having tangle headers implemented, since no other element
>  in `org-babel-common-header-args-w-values' has multiple
>  exclusion groups where at least one has `:any'

The new merging behavior does not have be used just yet.
We first implement the capability to handle exclusive groups with :any
and later, in another patch, make use of the new capability.
Does it make sense?

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



reply via email to

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