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
