> I noticed that you modified argument order of a public function > `org-babel-detangle' -- is it possible that you retain the order of > arguments? Good catch - I think I changed the order so that it would match the interactivity of its sister function `org-babel-tangle', and I think in a previous rendition of ob-tangle-sync.el, I called `org-babel-detangle' interactively. But I see now that I no longer directly call it anywhere in my edited code, so I can easily change it back. Attached is a patch Best On Wed, 3 May 2023 at 04:35, Ruijie Yu wrote: > > Mehmet Tekman writes: > > > Hello again, sorry for the delay - I had some holiday time off > > that couldn't wait ;-) > > > > I've modified the ob-tangle.el file for the main tangling and > > detangling functions. Most importantly, both functions can now > > exchange information from the source Org mode file to the target > > remote tangle file in either direction, depending on whether the > > source Org file has `:tangle-sync ' in the header. > > > > The action is one of: > > > > - "export" = always transmit information from the source Org mode > > block to the target remote file. > > - "import" = always transmit information from the target remote > > file to the source Org mode block. > > - "skip" = skip the block. > > - "both" = transmit information from source block to target block > > or target block to source, depending on whether the > > tangle or detangle is called from the source buffer or > > the target buffer respectively. > > > > These functions work at the whole buffer and at the per-block > > level. The `org-babel-tangle-sync' functions automate this > > process by hooking into the `after-save-hook' and tangling / > > detangling the current block. > > > > I feel that I should write what the main motivation for this is: > > Dotfiles that are always in sync with the org-mode files they > > stem from. > > > > Hope this turns into something big! > > Best, > > > > Mehmet > > > > [4. application/x-patch; > 0005-lisp-ob-tangle-sync.el-Automatic-synchronization-of-.patch]... > > > > [5. application/x-patch; > 0004-lisp-ob-tangle.el-Sync-aware-tangle-function-with-be.patch]... > > > > [6. application/x-patch; > 0002-lisp-ob-tangle.el-Sync-action-aware-detangle-functio.patch]... > > > > [7. application/x-patch; > 0003-lisp-ob-tangle.el-Tangle-function-made-aware-of-remo.patch]... > > > > [8. application/x-patch; > 0001-lisp-ob-tangle.el-Detangle-a-single-block.patch]... > > > > [9. application/x-patch; > 0006-etc-ORG-NEWS-lisp-ob-tangle.el-Added-news-and-name.patch]... > > I noticed that you modified argument order of a public function > `org-babel-detangle' -- is it possible that you retain the order of > arguments? > > The accumulated change you proposed is this: > > -(defun org-babel-detangle (&optional source-code-file) > +(defun org-babel-detangle (&optional arg source-code-file ignore-header) > > What I think it should be: > > (defun org-babel-detangle (&optional source-code-file arg > ignore-header) ...) > > This way, existing (external) users of this function can rest assured > that their code is not broken by your patchset. Thoughts? > > -- > Best, > > > RY > > [Please note that this mail might go to spam due to some > misconfiguration in my mail server -- still investigating.] >