Mehmet Tekman <mtekma...@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>