On 2025-10-13 Mon 14:15, Titus von der Malsburg <[email protected]> wrote:
> On 2025-10-13 Mon 13:16, Christian Moe <[email protected]> wrote:
>> Titus von der Malsburg <[email protected]> writes:
>>> On 2025-10-13 Mon 00:02, Rudolf Adamkovič <[email protected]> wrote:
>>>> Ihor Radchenko <[email protected]> writes:
>>>>
>>>>> We have a non-syntax convention that EMAIL: ... EMAIL+: ...
>>>>> properties are concatenated (according to `org-property-separators')
>>>>
>>>> +1 Semantically, this is the standard way, supported directly by the Org
>>>> APIs.  It is what an Org user would expect to see used in the key-value
>>>> context of Org properties.  Put simply, KEY and KEY+ is the standard
>>>> idiom, as seen everywhere in Org.  BTW, I have been using this idiom for
>>>> invoicing, now for many years, and it works great in user code as well.
>>
>>> However, I’d still argue that there is an issue because
>>> `org-entry-properties' returns an arbitrary and undocumented subset of
>>> the properties when a property has multiple instances.  Given the syntax
>>> above, this case should not arise, but I think it still be more
>>> consistent and correct to simply return everything.  Assoc and friends
>>> will ignore the duplicates, it should therefore not cause harm (as
>>> explained in my last message).
>>>
>>> Plus, I think there is a documentation bug, since this particular use of
>>> the PHONE+ syntax is not explained in the documentation.  Let me know if
>>> you want me to create a patch for that.
>>
>> Hmm. The :PROPERTYNAME+: syntax for adding to the value of PROPERTYNAME is
>> documented in the manual. It is illustrated both for "#+PROPERTY:"
>> keywords and for property drawers in the CD-collection example.
>
> Clarification: I didn’t say that :PROPERTYNAME+: wasn’t documented at
> all.  The issue is that the documentation uses it only to add values to
> properties inherited from ancestor nodes.  It’s not clear from the
> documentation that it can also be used in the following way where it
> adds multiple values to the same node.
>
>   * Test
>   :PROPERTIES:
>   :N: Test
>   :PHONE: +12345 (WORK)
>   :PHONE+: +23456 (CELL)
>   :END:

I just observed a bug related to the :PROPERTYNAME+: syntax: In the
example above, the segment between the + in “+12345” and the + in
“:PHONE+:” is crossed out in org mode.  If this syntax is commonly used,
as Rudolf wrote, it’s surprising that no one has reported this bug yet.

  Titus

Reply via email to