> So, it is an implicit nil, or empty string for the purposes of the link
> (we should have no notion of nil in there)

Empty string sounds good. After some thoughts I find logical to assume that the 
user meant the empty string if no data was provided.


"Ihor Radchenko" <[email protected]> writes:

> Julien Dallot <[email protected]> writes:
>
>>> #+begin_src emacs-lisp :noweb is test
>>> #+end_src
>>>
>>> interpreted as (:noweb "is test"), simply splicing the value by :keyword
>>> (unless :keyword is inside "...").
>> That looks good to me. Especially if it is already in use.
>>
>> There are some edge cases that should be taken care of.
>> Like, what if the second word starts with a ":"? Then we should treat it as 
>> a normal keyword (since it may be used by some third-party package). But 
>> then, we cannot simply parse a link like
>> [[::(:id wrong :syntax :regexp foo)]]
>> as a plist, as this would result in
>> (:id "wrong" :syntax :regexp "foo")
>> which is an invalid plist since all properties must have a value (this 
>> problem also applies if we want to give a property the empty string without 
>> "...")
>>
>> Then not sure what to do. We could fill the gap with an empty string:
>> (:id "wrong" :syntax "" :regexp "foo")
>> or remove the :syntax part altogether:
>> (:id "wrong" :regexp "foo")
>
> If we continue the analogy with src blocks,
>
> #+begin_src emacs-lisp :noweb is :comments :eval yes
> #+end_src
>
> will yield (via org-babel-get-src-block-info)
>
> ((:noweb . "is") (:comments) (:eval . "yes"))
>
> So, it is an implicit nil, or empty string for the purposes of the link
> (we should have no notion of nil in there)


Reply via email to