Hello, > You also said things like > >> That's exactly the point of the defconst: you can still modify the >> variable, but it sends a strong message to the user. Also, it's not >> about deprecation: code base should still rely on these variables. > > so maybe I picked one interpretation over the other.
I don't see any contradiction. You can modify a defconst, but the strong message is "you are not supposed to do that". I didn't suggest modifying these variables was expected. Anyway, I acknowledge I wasn't very clear. > Yes, sorry. By "nothing" I mean nothing we cannot achieve with > documentation and a :set method. This will not fix the bug. > Since we will still rely on the variables, the advantage for > maintenance is something I do not see. As a developer, you have to keep in mind that the string might be changed. Sometimes, it's easy to forget you cannot hardcode it, e.g. when writing a search regexp. I have done a similar mistake in ox-taskjuggler.el, where I expect the effort property to be named ":EFFORT:". More things to remember, more potential bugs, more maintenance efforts. > Cache friendliness I see, but I would think that if someone changes > these variables, they will not keep changing them. Of course. I shouldn't have talked about cache since it makes me sound like a lazy person. I can work around the cache problem. Again my main concern was to move to a proper, Emacs-independent, /minimal/ core syntax, i.e., to define the "Org format". For example, at the moment, external tools cannot rely on "SCHEDULED:" string to write even a basic Org file, because "SCHEDULED:" doesn't clearly belong to the syntax and, therefore, might be incompatible with some configurations. Regards, -- Nicolas Goaziou