Subject: Re: bug#19178: closed (Re: bug#19178: 11.88; 11.88 Xemacs 11.88 problem with env and labels)

From: Mosè Giordano <[email-masked]>
Date: Wed, 26 Nov 2014 11:39:09 +0100

Hi Uwe,

2014-11-25 18:48 GMT+01:00 Uwe Brauer <[email-masked]>:
>>> "Mos" == Mos  <Mos> writes:
>
>    > 2014-11-25 15:42 GMT+01:00 Uwe Brauer <[email-masked]>:
>    >> Grrr, this breaks backwards[1] compatibility
>
>    > This time I'd call it backward ;-)
>
>    >> Couldn't that have been optional?
>
>    > Well, perhaps yes and I'll think about making it optional, but you
>    > took part into the discussion about this change and didn't object :-)
>
>
> Oops starting Alzheimer? Usually I have the holy principle
>
> Thou shalt not make code which is backward or forward incompatible.
>
> It is even hang over my desk in my office :-D

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).

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.  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'.
Moral: I'm not going to change `LaTeX-label'.

Bye,
Mosè