On 12/08/2022 09:21, Hraban Luyat wrote:
@Max: what do you think of when-let? That seems more appropriate for this situation. Thoughts?
At first I thought about compatibility, but this form is available since Emacs-25, so it is not a problem.
Maybe I missed something, but I do not see clear advantage. Anyway it leads to `if' nested inside `when-let'.
+ (bare (and (string-match org-link-bracket-re l) + (match-string 1 l)))) + (when bare + (if (and org-babel-tangle-use-relative-file-links + (string-match org-link-types-re bare) + (string= (match-string 1 bare) "file"))
It looks like (string-prefix-p "file:" bare) but without the complex regexp. I see, such code was used before. By the way, why it is "bare", not e.g. "target"?
+ (concat "file:" + (file-relative-name (substring bare (match-end 0)) + (file-name-directory + (cdr (assq :tangle params)))))
I do not insist on changes since possible improvements are not really significant.