emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Max Nikulin <manikulin@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH] ob-tangle.el: fix ‘:comments noweb’ double linking
Date: Sat, 13 Aug 2022 15:06:14 +0700	[thread overview]
Message-ID: <td7m1o$nug$1@ciao.gmane.io> (raw)
In-Reply-To: <87o7wo7igw.fsf@localhost>

On 13/08/2022 13:42, Ihor Radchenko wrote:
> Max Nikulin writes:
> 
>>> +             (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"?
> 
> match-end is used later in the code. Thus, string-match is justified.

The matched string is always "file:", so there is no actual point in 
`string-match'. It does not really matter however.

(let ((params '((:tangle . "/home/user/file.el")))
       (type "file:")
       (target "file:///dev/null"))
   (if (and target
	   org-babel-tangle-use-relative-file-links
	   (string-prefix-p type target))
       (concat type
	      (file-relative-name
                (substring target (length type))
	       (file-name-directory (alist-get :tangle params))))
     target))

In the code existed before and moved by the committed patch I do not 
like that "then" branch of the `if' form uses side effect of evaluation 
of the condition.



  reply	other threads:[~2022-08-13  8:07 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-29  4:54 [PATCH] ob-tangle.el: fix ‘:comments noweb’ double linking Hraban Luyat
2022-07-30  4:56 ` Ihor Radchenko
2022-07-30 23:42   ` Hraban Luyat
2022-08-03 11:40     ` Ihor Radchenko
2022-08-03 15:55     ` Max Nikulin
2022-08-10 20:54       ` Hraban Luyat
2022-08-11  4:26         ` Ihor Radchenko
2022-08-12  2:21           ` Hraban Luyat
2022-08-12 13:16             ` Max Nikulin
2022-08-13  6:42               ` Ihor Radchenko
2022-08-13  8:06                 ` Max Nikulin [this message]
2022-08-14  3:20                   ` Ihor Radchenko
2022-08-13  6:40             ` Ihor Radchenko
2022-08-11 15:00         ` Max Nikulin
2022-08-03 11:31   ` Bastien Guerry

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='td7m1o$nug$1@ciao.gmane.io' \
    --to=manikulin@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).