# Re: Encoding the name in the file contents

Thomas Bushnell, BSG writes:
> Frank Mittelbach <frank.mittelbach@latex-project.org> writes:
>
> > Not perfectly but more or less it does. First of all, true
> > compatibility backward and forward can only be achived by no change
> > at all, even adding only features would potentially break existing
> > documents...
>
> It either *does* break them or it does not, and it's actually very
> easy to know the difference.  It does not "potentially" do anything.

of course it does only "potentially" break things.

What you don't seem to understand is that the users document + the code from
packages + the code from the kernel together determine the result.

You aren't in a situation like with C programs where data and program are
strictly separated. If you add a new option to gcc then nothing will break on
all with respect to existing usages. If on the other hand you extend a
language that in itself provides mechanisms to extend itself then all types of
breakage are possible depending on the data (!) fed to it.

TeX and as a result LaTeX is a language like lisp where there is no
distinction between data and code. To make the most simples of an example,
suppose a user document contains

\usepackage{foo}
\newcommand\bar{...}

then if you extend the package foo to define a command bar (add a feature)
that particular document breaks. Simple as that.

frank

--
To UNSUBSCRIBE, email to debian-legal-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org