Mats Lidell writes:
>>>>> Stephen J Turnbull <stephen(a)xemacs.org>
writes:
>:version is ignored in XEmacs. I suppose we could support it but
> we'd have to think about how we want to support it.
Support? I thought is was just a placeholder for that
information.
Probably; I don't know.
What smart things can be done with it?
The main thing that I can see is that a package that wants to support
multiple versions of Emacs can tell whether an API or default change
in customizations it uses occurred within the range of versions it
wants to support. There could be a command that checks all symbols in
a package for customization version, and reports on ones that have
changed "recently" (ie, more recently than a specified earliest
supported version).
Does GNU implement something interesting?
Unlikely. Remember, they only support one version of Emacs at any
given time. Their version spec is also broken in a number of ways.
For example, if the APIs that use a customization change, but its
default value doesn't, then :version doesn't change but its meaning
does. I'm not even sure if they update :version when additional
non-default values are added to a customizable variable. Also, if a
variable is deprecated or deleted, that won't change :version AFAICT.
Finally, the most interesting changes are in functions, but those
don't have a :version at all!
Might be interesting to implement that, if it can be done
automatically. I wonder if hg has a git diff equivalent (ie, that
reports the function containing changes) that could be warped into use
here, eg as part of the DOC file. (I've posted this to the tracker as
a RFE issue839.)
But until we have support, what to do? Remove it, use our version
number or keep the GNU version number to show what GNU version it was
synced from? I find it somewhat misleading to see the text :version
"22.1" i some of our files.
Well, I agree, and if it really bothers you you could remove them when
you find them. But OTOH, if you do remove them you'll create VCS
conflicts (for sure!) if and when the GNU :version changes. And it's
easy enough to tell people who go WTF? that XEmacs simply ignores
:version for GNU bug-compatibility.
I guess that means that if you're maintaining the file, feel free --
the cost of conflicts falls on you. If somebody else is maintaining
the file, ask them (well, you have to get their approval anyway). If
the maintainer is "xemacs-beta", do what you think is right -- and
risk the fallout if somebody gets annoyed by spurious (in their eyes)
conflicts.
Steve
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta