Hi Mosè > Hi Uwe, > 2014-11-25 18:48 GMT+01:00 Uwe Brauer : > I agree backward compatibility should be preserved as long as possible > (but not at any cost), but about what? Most users only customize > variables, don't fiddle with functions, if they write some elisp we > hope they're also able to read the doc string of a function and see > which are its arguments, if they've been changed. But please consider > the first version of a program (nor the second, the third, and so on) > is not perfect, when you develop it you arrive at a point in which you > must choose between keeping it bugged/broken, and fix it and break > compatibility (or fork it). My point is the following: if you improve a function or variable by adding more options it should be done, in my opinion, in way the user has not to change his old settings. > Regarding the change to `LaTeX-label', the whole point of it was to > let users choose to which environments label should be inserted. The > addition of the second argument was needed to discriminate between > environments and sections as suggested by Vladimir. I don't want to start this discussion again, since I also use reftex, my labels look typically \label{rem:fixpoint-scheme:2} Meaning that this is the second remark in the file called fixpoint-scheme. For me this is enough I wouldn't need to add more information like the one concerning the section, but I understand there are users with other needs. > Defaulting `prefix' to an empty string when no type is provided (in > order to make this argument optional) would defeat the whole > purpose of the change. Only defaulting `prefix' to nil wouldn't > break old codes using `LateX-label' function, but keeping the > second argument mandatory helps users be aware of the change of the > syntax of `LaTeX-label'. I had a look at the code and it is really a complete rewrite. From my philosophical point of view, the "appropriate" approach would have been to leave the second argument optionally not mandatory, and a user interested in this enhancement could consult the documentation and not the other way around: that the long-term-user gets an error and presumes a bug. Something like this. (defun LaTeX-label (name &optional type) > Moral: I'm not going to change `LaTeX-label'. Would you accept an (ugly) patch? (Also the changes that I do this any time soon are unlikely due to my workload and other priorities, such as the xemacs pkg sync.) regards Uwe