emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [PATCH v4] ob-tangle.el: Blocks overwrite each other when grouping b


From: Ihor Radchenko
Subject: Re: [PATCH v4] ob-tangle.el: Blocks overwrite each other when grouping before tangling
Date: Wed, 26 Jul 2023 07:20:47 +0000

Evgenii Klimov <eugene.dev@lipklim.org> writes:

>> So, :tangle no is always excluded.
>> When TANGLE-FILE is set and not equal to :tangle value (including
>> "yes"), block is also excluded.
>
> Indeed, but later
>
>    ‘no’
>         The *default*.  Do not extract the code in a source code file.
>         Example: ‘:tangle no’.
>
> in conjunction with TARGET-FILE's description in ~org-babel-tangle~
> docstring:
>
>    Optional argument TARGET-FILE can be used to specify a *default*
>    export file for all source blocks.
>
> made me feel doubt about TARGET-FILE's effect.

TARGET-FILE is used instead of the normal default.

> +(ert-deftest ob-tangle/collect-blocks ()
> +  "Test block collection into groups for tangling."
> +  (org-test-with-temp-text-in-file
> +      "* H1 with :tangle in properties
> +:PROPERTIES:
> +:header-args: :tangle relative.el
> +:END:
> ....
> +      ;; to the first header
> +      (insert (format "#+begin_src emacs-lisp :tangle %s
> +\"H1: absolute org-file.lang-ext :tangle %s\"
> +#+end_src" el-file-abs el-file-abs))
> +      (goto-char (point-max))

This combination of pre-filled text and insertions is a bit
disorienting. I understand why you need to insert some things only after
we know the temporary Org file name, but I'd instead placed all the
contents together via insert.

> +#+begin_src emacs-lisp :tangle %s
> +\"H2: relative org-file.lang-ext :tangle %s\"
> +#+end_src" el-file-rel el-file-rel))
> +      (should (equal (funcall expected-targets-fn 4)
> +                     (funcall collected-targets-fn 
> (org-babel-tangle-collect-blocks))))

When reading this code, I have no idea what it is trying to test.
Probably something to do with function names not being descriptive.
At least, a comment would help.

And the magic numbers "4" and "5" have no obvious meaning.

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