[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU ELPA package for CC-mode
From: |
Stefan Monnier |
Subject: |
Re: GNU ELPA package for CC-mode |
Date: |
Thu, 23 Aug 2018 18:17:22 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
> You don't understand the notion of the VCS logs becoming polluted?
No, indeed, see below.
> In every possible way, bar the superficial. c-version is an essential
> part of CC Mode,
Hardly: I removed it in my local Emacs and everything works just as well
as before.
> and is THE version of CC Mode. The proposed VERSION: header is not
> a part of CC Mode, it is part of ELPA, recording the number of the
> ELPA release only.
The "Version:" header could just as well be THE version.
So, I still don't see in which way they're fundamentally different.
>> > This "Version:" header certainly has no place in master, though I can
>> > see an argument being made for it being included in an ELPA version of
>> > CC Mode.
>> The purpose of this "Version:" header is to document for package.el
>> ....
> Yes. It's essentially part of package.el, not part of CC Mode or of
> master.
I don't think the version of a package can be considered to be "part of
package.el".
>> .... which version of the cc-mode package is bundled with Emacs so
>> that it ....
> "It" being what? Emacs? package.el?
package.el or "Emacs via package.el".
>> .... can decide whether some other cc-mode ELPA package is more or
>> less recent (and hence whether to activate that other package or not).
>> So it very much belongs in `master`.
> I can't follow your arguments, sorry.
Here's the scenario:
- Scene 1:
Georges is happily using Emacs-25.4 when he notices that he'd like the
support for newer C++ language features present in the newer version of
CC-mode, so he installs a newer CC-mode package locally.
- Scene 2: Georges is very happy.
- Scene 3: Georges is a bit older, using Emacs-28.3 and usually happy
about it, except baffled that his CC-mode is still not supporting the
latest features of C++++ despite the etc/NEWS claiming that it does.
- Scene 4: Georges realizes that the problem was the old CC-mode package
he had installed which took precedence over his Emacs's newer bundled
CC-mode. So he removes his old CC-mode package.
- Scene 5: Goerges is forced to go back to Emacs-25.4 temporarily and is
annoyed that he get rid of that old CC-mode package which worked
better than the even older CC-mode bundled with Emacs-25.4.
By adding a "Version:" header in Emacs's bundled CC-mode package,
package.el can automatically decide whether to use the bundled CC-mode
package of the separately install CC-mode package based on which of the
two is more recent, so Georges wouldn't hit the above problem in scene
3 and wouldn't have to remove the old CC-mode package hence could switch
between 25.4 and 28.3 without problems.
> Your conclusion doesn't appear to
> follow from the arguments. This proposed "Version:" header has no
> purpose in master, only in package.el, isn't that right?
Not sure what you mean by "in package.el". "package.el" is a file
bundled with Emacs which provides facilities to
install/activate/deinstall packages and that's all.
>> >> The generation of the new package happens when the "Version:" header
>> >> changes, so I don't think we want this header to be auto-generated on
>> >> every commit.
>> > "Changes" is a verb with an agent. Under what scenario do you envisage
>> > this version number being changed?
>> Someone pushed a commit which changes that part of the file.
> That wasn't the question I was attempting to ask; I wanted you to tell
> me about the schedule for changing the version number, the criterion for
> doing so, the frequency with which it will be done, things like that.
I'd assume that unless you decide otherwise noone but you would change
that "Version:" header (for fear of you biting their head off), so you'd
get to choose those things the way you like.
Personally, I'd recommend you'd upgrade the "Version:" header whenever
the file has accrued enough new features or bug fixes that some users of
non-master Emacs may want to install that new package in their
own Emacs.
> It seems to make sense to make such a release on each CC Mode commit to
> master. I thought that was the idea - to keep the ELPA release
> synchronised with master. However, if we end up keeping this obtrusive
> "Version:" in cc-mode.el, I would say do it on every tenth commit that
> changes the substance of cc-mode.el, thus keeping the aforementioned
> pollution within reasonable bounds.
You can upgrade the "Version:" header as part of some other commit.
That's usually what I do.
Stefan
- GNU ELPA package for CC-mode, Stefan Monnier, 2018/08/19
- Re: GNU ELPA package for CC-mode, Alan Mackenzie, 2018/08/21
- Re: GNU ELPA package for CC-mode, Stefan Monnier, 2018/08/23
- Re: GNU ELPA package for CC-mode, Alan Mackenzie, 2018/08/23
- Re: GNU ELPA package for CC-mode,
Stefan Monnier <=
- Re: GNU ELPA package for CC-mode, Eli Zaretskii, 2018/08/24
- Re: GNU ELPA package for CC-mode, Michael Albinus, 2018/08/24
- Re: GNU ELPA package for CC-mode, Stefan Monnier, 2018/08/24
- Tramp as ELPA package (was: GNU ELPA package for CC-mode), Michael Albinus, 2018/08/25
- Re: Tramp as ELPA package, Stefan Monnier, 2018/08/25
- Re: Tramp as ELPA package, Stefan Monnier, 2018/08/25
- Re: Tramp as ELPA package, Andreas Schwab, 2018/08/26
- Re: Tramp as ELPA package, Michael Albinus, 2018/08/26
- Re: Tramp as ELPA package, Michael Albinus, 2018/08/26
- Re: Tramp as ELPA package, Stefan Monnier, 2018/08/26