(Replying to my own mail since I haven't received Stefan's answer, maybe because I'm not subscribed to the list) > > - M-: (add-text-properties 1 3 '(face '(italic :weight bold))) RET > This is wrong. It should be > > (add-text-properties 1 3 '(face '(italic (:weight bold)))) > > I.e. a face property ca hold either a "face" or a list of "face"s, > where "face" can be either a symbol or a plist of face attributes. > So you can set the `face` property to > > italic > > (:weight bold) > > (italic (:weight bold)) > > ((:weight bold) italic) > > (italic) > > ... > > but if the value you used above did what you intended, it's just > a lucky accident. Yes, I eventually did figure out that this only works incidentally. The only reason I tested this specific invokation is because the problematic text in Org buffers had (:strike-through t org-level-1) So I replaced the call to font-lock-prepend-text-property with font-lock-append-text-property as a silly workaround. I since took a look at font-lock-prepend-text-property and cooked up the attached patch; if it is correct, I guess font-lock-append-text-property could use something similar.