Re: [BUG] org-babel-load-file, org-babel-tangle-use-relative-file-links and :tangle header [9.6.11 (release_9.6.11 @ /opt/emacs/share/emacs/30.0.50/lisp/org/)]

2023-12-08 Thread TAKAHASHI Yoshio
Ihor Radchenko  writes:

> I followed your steps using the latest main.
> The results are identical for me.

Thank you for test.

My current environment is [1], org-mode in emacs master branch.  With
the latest org-mode main branch as of today, I get identical results,
too.

I'm happy to know the problem does not exist in org-mode main branch,
and will wait for merging them into emacs master branch.

Thank you for your time!


[1]
Emacs  : GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, 
cairo version 1.16.0)
 of 2023-11-19
Package: Org mode version 9.6.11 (release_9.6.11 @ 
/opt/emacs/share/emacs/30.0.50/lisp/org/)

-- 
TAKAHASHI Yoshio 



Re: [BUG] org-babel-load-file, org-babel-tangle-use-relative-file-links and :tangle header [9.6.11 (release_9.6.11 @ /opt/emacs/share/emacs/30.0.50/lisp/org/)]

2023-12-07 Thread TAKAHASHI Yoshio
TAKAHASHI Yoshio  writes:

>> This is because the default value of `org-babel-default-header-args'
>> already contains (:tangle . "no").
> Your explanation is very clear.  Thank you.

I did some tests.  Please check below transcript.  I expect to have the
same results in bloth case.


tkh:~$ cd /tmp
tkh:/tmp$ cat test1.org
* test1

#+begin_src emacs-lisp
  (print "1")
#+end_src

#+begin_src emacs-lisp :tangle "yes"
  (print "2")
#+end_src

#+begin_src emacs-lisp
  (print "3")
#+end_src

tkh:/tmp$ cat a.el
(require 'ox)
(setq org-babel-default-header-args
  (cons '(:tangle . "yes")
(assq-delete-all :tangle org-babel-default-header-args)))
(org-babel-tangle-file "/tmp/test1.org" "/tmp/test1.el" "emacs-lisp")
tkh:/tmp$ emacs -Q -batch --eval="(setq 
org-babel-tangle-use-relative-file-links t)" -l a.el
Tangled 3 code blocks from test1.org
tkh:/tmp$ cat test1.el
(print "2")
tkh:/tmp$ emacs -Q -batch --eval="(setq 
org-babel-tangle-use-relative-file-links nil)" -l a.el
Tangled 3 code blocks from test1.org
tkh:/tmp$ cat test1.el
(print "1")

(print "2")

(print "3")
tkh:/tmp$

-- 
TAKAHASHI Yoshio 



Re: [BUG] org-babel-load-file, org-babel-tangle-use-relative-file-links and :tangle header [9.6.11 (release_9.6.11 @ /opt/emacs/share/emacs/30.0.50/lisp/org/)]

2023-12-06 Thread TAKAHASHI Yoshio
Ihor Radchenko  writes:

> This is because the default value of `org-babel-default-header-args'
> already contains (:tangle . "no").
...
> As internal implementation detail, Org babel prefers the _last_ header
> arg value in the above list. Which is why you end up seeing what you are 
> seeing.
>
> Not a bug.
> Canceled.

Your explanation is very clear.  Thank you.
-- 
TAKAHASHI Yoshio 



[BUG] org-babel-load-file, org-babel-tangle-use-relative-file-links and :tangle header [9.6.11 (release_9.6.11 @ /opt/emacs/share/emacs/30.0.50/lisp/org/)]

2023-11-25 Thread TAKAHASHI Yoshio
Hi emacs-orgmode developers,

When org-babel-tangle-use-relative-file-links is t (default),
org-babel-load-file ignores any source block that does not have `:tangle
"yes"' or `:tangle filepath' header.

Even if org-babel-default-header-args is changed like
  (setq org-babel-default-header-args
(cons '(:tangle . "yes")
  (assq-delete-all :noweb org-babel-default-header-args)))
, the result is same.

When org-babel-tangle-use-relative-file-links is set to nil, it extracts
blocks have not :tangle header, in addition to have `:tangle "yes"' or
`:tangle filepath', and this is what I expect.

It may be too early to remove direcoty part from buffer file name in
org-babel-tangle-single-block.


test org-mode file:
#  --start--
#+begin_src emacs-lisp
  (setq a 1)
#+end_src

#+begin_src emacs-lisp :tangle (if t "yes" "no")
  (setq b 2)
#+end_src

#+begin_src emacs-lisp
  (setq c 3)
#+end_src

#+begin_src emacs-lisp :tangle "yes"
  (setq d 4)
#+end_src

#+begin_src emacs-lisp
  (setq e 5)
#+end_src
#  --end--

When invoke `(org-babel-load-file "ABOVEFILE.org")' with
org-babel-tangle-use-relative-file-links is t, the result .el file is:
#  --start--
(setq b 2)

(setq d 4)
#  --end--

With org-babel-tangle-use-relative-file-links is nil, the result is (as 
expected):
#  --start--
(setq a 1)

(setq b 2)

(setq c 3)

(setq d 4)

(setq e 5)
#  --end--


Emacs  : GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, 
cairo version 1.16.0)
 of 2023-11-19
Package: Org mode version 9.6.11 (release_9.6.11 @ 
/opt/emacs/share/emacs/30.0.50/lisp/org/)

-- 
TAKAHASHI Yoshio