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: Fri, 12 May 2023 12:33:10 +0000

Mehmet Tekman <mtekman89@gmail.com> writes:

>> It will be great if you could do it.
>> I have other things to work on.
>
> Of course! I'm just a little unfamiliar on how one coordinates active
> collaboration via mailing list :-)

Usually, we leave working on the patches to one person - whoever is the
most interested in the patch.

Maintainers and other interested users provide comments and suggestions.

> I've modified the `merge' function within `org-babel-merge-params' so
> that the main logic now accumulates a list of potential candidates that
> could be the :any keyword, and selects the last added candidate as the
> match.

I feel confused when reading the modified code.

> It all seems to be passing tests, though I would like to add my toy.org
> file to the org testing framework at some point.

I recommend trying various edge cases with your patch.
In particular:

1. Testing exclusive group inheritance when we inherit a header arg
   value that matches :any:

   #+PROPERTIES: header-args :tangle "foo.txt"
   #+begin_src ... :tangle no

   #+PROPERTIES: header-args :tangle no
   #+begin_src ... :tangle "foo.txt"

   #+PROPERTIES: header-args :tangle no
   * Heading
   :PROPERTIES:
   :header-args: :tangle "foo.txt"
   :END:
   #+begin_src ... :tangle yes

2. :tangle "file with spaces.txt"

I feel that the following code is not reliable when we inherit exact and
:any exclusive group members in alternations.

> +                   (if (member new-param exclusive-group)
> ...
> +                                ;; Cancel any potential matches if it's 
> caught
> +                                matched-param t
> +                                potential-any-param nil)
> +                        ;; If not a direct match, flag it as a potential
> +                        ;; :any match This can happen multiple times for
> +                        ;; each new-param, but only once for each
> +                        ;; exclusive-group.
> +                        (if (and (not matched-param)
> +                                 (member ":any" exclusive-group))

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