Hello,

I was helping out "ablephar`" on IRC and they found that setting a
file property `header-args:C++` does not work.

After some edebug magic, I discovered that org has a feature that lets
you append property values! (Not the best way to discover a great
feature, I must say! :-)

The fix could either be a documentation fix. (I would've tried using
cpp instead of C++, if I knew that was supported). But, this would
still have some users seeing things broken and then looking up docs or
trying out the alternative.

OR

a "hacky" fix, (better for the users ?), could be to consider KEY+ to
be indicating appending, but KEY++ to not.  Thoughts?


Thanks,
Puneeth
diff --git a/lisp/org.el b/lisp/org.el
index e806440..fc850b8 100755
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -15415,7 +15415,8 @@ Being in this list makes sure that they are offered for completion.")
 (defun org--update-property-plist (key val props)
   "Associate KEY to VAL in alist PROPS.
 Modifications are made by side-effect.  Return new alist."
-  (let* ((appending (string= (substring key -1) "+"))
+  (let* ((appending (and (string= (substring key -1) "+")
+                         (not (string= (substring key -2) "++"))))
 	 (key (if appending (substring key 0 -1) key))
 	 (old (assoc-string key props t)))
     (if (not old) (cons (cons key val) props)

Reply via email to