* Function to retrieve package version
@ 2019-05-21 4:55 Paul W. Rankin
2019-05-21 8:32 ` Michael Albinus
2019-05-21 21:55 ` Stefan Monnier
0 siblings, 2 replies; 13+ messages in thread
From: Paul W. Rankin @ 2019-05-21 4:55 UTC (permalink / raw)
To: Emacs developers
wrt.
http://lists.gnu.org/archive/html/help-gnu-emacs/2019-05/msg00022.html
I would like an easy function that retrieves the version of the
current package, e.g.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;; my-great-package.el --- A great package
;; Copyright (c) 1952-2019 Free Software Foundation, Inc.
;; Author: Mr. Big Pants <mister@bigpants.com>
;; Version: 2.7.0
;; Package-Requires: ((emacs "24.5"))
(defvar my-great-package-version
(package-get-version))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
my-great-package-version
-> "2.7.0"
--
https://www.paulwrankin.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-21 4:55 Function to retrieve package version Paul W. Rankin
@ 2019-05-21 8:32 ` Michael Albinus
2019-05-21 9:08 ` Paul W. Rankin
2019-05-21 21:55 ` Stefan Monnier
1 sibling, 1 reply; 13+ messages in thread
From: Michael Albinus @ 2019-05-21 8:32 UTC (permalink / raw)
To: Paul W. Rankin; +Cc: Emacs developers
"Paul W. Rankin" <hello@paulwrankin.com> writes:
> wrt. http://lists.gnu.org/archive/html/help-gnu-emacs/2019-05/msg00022.html
>
> I would like an easy function that retrieves the version of the
> current package, e.g.
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ;;; my-great-package.el --- A great package
>
> ;; Copyright (c) 1952-2019 Free Software Foundation, Inc.
>
> ;; Author: Mr. Big Pants <mister@bigpants.com>
> ;; Version: 2.7.0
> ;; Package-Requires: ((emacs "24.5"))
>
> (defvar my-great-package-version
> (package-get-version))
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> my-great-package-version
> -> "2.7.0"
(or (lm-header "package-version")
(lm-header "version"))
Best regards, Michael.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-21 8:32 ` Michael Albinus
@ 2019-05-21 9:08 ` Paul W. Rankin
2019-05-21 9:40 ` Michael Albinus
0 siblings, 1 reply; 13+ messages in thread
From: Paul W. Rankin @ 2019-05-21 9:08 UTC (permalink / raw)
To: Michael Albinus; +Cc: Emacs developers
On Tue, May 21 2019, Michael Albinus wrote:
>> my-great-package-version
>> -> "2.7.0"
>
> (or (lm-header "package-version")
> (lm-header "version"))
Thanks Michael, this is the best!
The lisp-mnt library should be added to the Elisp manual :)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-21 9:08 ` Paul W. Rankin
@ 2019-05-21 9:40 ` Michael Albinus
2019-05-21 20:18 ` Richard Stallman
0 siblings, 1 reply; 13+ messages in thread
From: Michael Albinus @ 2019-05-21 9:40 UTC (permalink / raw)
To: Paul W. Rankin; +Cc: Emacs developers
"Paul W. Rankin" <hello@paulwrankin.com> writes:
>> (or (lm-header "package-version")
>> (lm-header "version"))
>
> Thanks Michael, this is the best!
>
> The lisp-mnt library should be added to the Elisp manual :)
Yes, I was first looking there, and couldn't find it.
Do you want to contribute a patch? Or at least a bug report? (I'm
completely short in time; otherwise I would do it myself)
Best regards, Michael.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-21 9:40 ` Michael Albinus
@ 2019-05-21 20:18 ` Richard Stallman
2019-05-22 2:02 ` Paul W. Rankin
0 siblings, 1 reply; 13+ messages in thread
From: Richard Stallman @ 2019-05-21 20:18 UTC (permalink / raw)
To: Michael Albinus; +Cc: hello, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> > The lisp-mnt library should be added to the Elisp manual :)
> Yes, I was first looking there, and couldn't find it.
Please don't do that. The manual is very long already. That makes
printing expensive. Before we add a new topic, we need to consider
whether the benefit is worth the increase in cost.
You write it and put it in an @ifnottex conditional.
--
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-21 4:55 Function to retrieve package version Paul W. Rankin
2019-05-21 8:32 ` Michael Albinus
@ 2019-05-21 21:55 ` Stefan Monnier
2019-05-21 22:56 ` Eric Abrahamsen
1 sibling, 1 reply; 13+ messages in thread
From: Stefan Monnier @ 2019-05-21 21:55 UTC (permalink / raw)
To: emacs-devel
> (defvar my-great-package-version
> (package-get-version))
C-h o package-get-version RET says:
package-get-version is an autoloaded compiled Lisp function in ‘package.el’.
(package-get-version)
This function does not change global state, including the match data.
Return the version number of the package in which this is used.
Assumes it is used from an Elisp file placed inside the top-level directory
of an installed ELPA package.
The return value is a string (or nil in case we can’t find it).
-- Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-21 21:55 ` Stefan Monnier
@ 2019-05-21 22:56 ` Eric Abrahamsen
0 siblings, 0 replies; 13+ messages in thread
From: Eric Abrahamsen @ 2019-05-21 22:56 UTC (permalink / raw)
To: emacs-devel
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> (defvar my-great-package-version
>> (package-get-version))
>
> C-h o package-get-version RET says:
>
> package-get-version is an autoloaded compiled Lisp function in ‘package.el’.
>
> (package-get-version)
>
> This function does not change global state, including the match data.
>
> Return the version number of the package in which this is used.
> Assumes it is used from an Elisp file placed inside the top-level directory
> of an installed ELPA package.
> The return value is a string (or nil in case we can’t find it).
Aren't there a set of functions that start from a package name string,
rather than the current file? I thought there were functions that would
first retrieve a struct from your installed files, then extract a
name/version from that?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-21 20:18 ` Richard Stallman
@ 2019-05-22 2:02 ` Paul W. Rankin
2019-05-22 2:26 ` Eli Zaretskii
2019-05-22 22:39 ` Richard Stallman
0 siblings, 2 replies; 13+ messages in thread
From: Paul W. Rankin @ 2019-05-22 2:02 UTC (permalink / raw)
To: rms; +Cc: Michael Albinus, emacs-devel
On Wed, May 22 2019, Richard Stallman wrote:
> Please don't do that. The manual is very long already. That
> makes
> printing expensive. Before we add a new topic, we need to
> consider
> whether the benefit is worth the increase in cost.
Can you elaborate on what you mean here Richard? Do you mean
people printing the Elisp manual themselves, or does the FSF print
copies of the Elisp manual gratis?
If the former, surely the benefit of Emacs Lisp package
maintainers knowing about the built-in "utility functions for
Emacs Lisp maintainers" outweighs the miniscule additional cost of
a couple of paragraphs that might add a single page to the printed
output, which at the very most (barring some sort of OCD
condition) will be printed once per major release?
And if I'm going to the trouble/expense of printing the entire
Elisp manual, I damn sure want it to be as complete as possible,
rather than later discover it's missing key topics and so will
require a reprint. The idea that I'm being miserly about my stock
of printer paper in this scenario is a little unrealistic...
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-22 2:02 ` Paul W. Rankin
@ 2019-05-22 2:26 ` Eli Zaretskii
2019-05-22 2:49 ` Paul W. Rankin
2019-05-22 22:39 ` Richard Stallman
1 sibling, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2019-05-22 2:26 UTC (permalink / raw)
To: emacs-devel, Paul W. Rankin, rms; +Cc: Michael Albinus
On May 22, 2019 5:02:20 AM GMT+03:00, "Paul W. Rankin" <hello@paulwrankin.com> wrote:
>
> On Wed, May 22 2019, Richard Stallman wrote:
> > Please don't do that. The manual is very long already. That
> > makes
> > printing expensive. Before we add a new topic, we need to
> > consider
> > whether the benefit is worth the increase in cost.
>
> Can you elaborate on what you mean here Richard? Do you mean
> people printing the Elisp manual themselves, or does the FSF print
> copies of the Elisp manual gratis?
>
> If the former, surely the benefit of Emacs Lisp package
> maintainers knowing about the built-in "utility functions for
> Emacs Lisp maintainers" outweighs the miniscule additional cost of
> a couple of paragraphs that might add a single page to the printed
> output, which at the very most (barring some sort of OCD
> condition) will be printed once per major release?
>
> And if I'm going to the trouble/expense of printing the entire
> Elisp manual, I damn sure want it to be as complete as possible,
> rather than later discover it's missing key topics and so will
> require a reprint. The idea that I'm being miserly about my stock
> of printer paper in this scenario is a little unrealistic...
Richard means the manual whjch the FSF prints and sells. If it's too large, it will be more expensive.
But there's a way to have that cake and eat it, too: we can have certain portions of the manual conditioned by @ifnottex. We already do that for some less important topics. So there's no need to argue about this particular case.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-22 2:26 ` Eli Zaretskii
@ 2019-05-22 2:49 ` Paul W. Rankin
2019-05-22 7:49 ` Michael Albinus
2019-05-22 7:50 ` Eli Zaretskii
0 siblings, 2 replies; 13+ messages in thread
From: Paul W. Rankin @ 2019-05-22 2:49 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Michael Albinus, rms, emacs-devel
On Wed, May 22 2019, Eli Zaretskii wrote:
> Richard means the manual whjch the FSF prints and sells. If
> it's too large, it will be more expensive.
>
> But there's a way to have that cake and eat it, too: we can have
> certain portions of the manual conditioned by @ifnottex. We
> already do that for some less important topics. So there's no
> need to argue about this particular case.
Makes sense. But getting immediate pushback just means I won't be
contributing the topic.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-22 2:49 ` Paul W. Rankin
@ 2019-05-22 7:49 ` Michael Albinus
2019-05-22 7:50 ` Eli Zaretskii
1 sibling, 0 replies; 13+ messages in thread
From: Michael Albinus @ 2019-05-22 7:49 UTC (permalink / raw)
To: Paul W. Rankin; +Cc: Eli Zaretskii, rms, emacs-devel
"Paul W. Rankin" <hello@paulwrankin.com> writes:
> On Wed, May 22 2019, Eli Zaretskii wrote:
>> Richard means the manual whjch the FSF prints and sells. If it's
>> too large, it will be more expensive.
>>
>> But there's a way to have that cake and eat it, too: we can have
>> certain portions of the manual conditioned by @ifnottex. We already
>> do that for some less important topics. So there's no need to argue
>> about this particular case.
>
> Makes sense. But getting immediate pushback just means I won't be
> contributing the topic.
In the given case, I believe it is not mandatory to document the whole
lisp-mnt package. It would suffice to document `lm-header' in the node
"(elisp) Library Headers".
Best regards, Michael.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-22 2:49 ` Paul W. Rankin
2019-05-22 7:49 ` Michael Albinus
@ 2019-05-22 7:50 ` Eli Zaretskii
1 sibling, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2019-05-22 7:50 UTC (permalink / raw)
To: Paul W. Rankin; +Cc: michael.albinus, rms, emacs-devel
> From: "Paul W. Rankin" <hello@paulwrankin.com>
> Cc: emacs-devel@gnu.org, rms@gnu.org, Michael Albinus <michael.albinus@gmx.de>
> Date: Wed, 22 May 2019 12:49:09 +1000
>
> getting immediate pushback just means I won't be contributing the
> topic.
Not sure what you mean by that, Richard just asked not to add stuff
automatically without considering whether it's justified:
Before we add a new topic, we need to consider whether the benefit
is worth the increase in cost.
I see no negative pushback here, but that's me.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Function to retrieve package version
2019-05-22 2:02 ` Paul W. Rankin
2019-05-22 2:26 ` Eli Zaretskii
@ 2019-05-22 22:39 ` Richard Stallman
1 sibling, 0 replies; 13+ messages in thread
From: Richard Stallman @ 2019-05-22 22:39 UTC (permalink / raw)
To: Paul W. Rankin; +Cc: michael.albinus, emacs-devel
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> Can you elaborate on what you mean here Richard?
No time today. I am overloaded. But maybe someone else
can explain this to you.
--
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-05-22 22:39 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-21 4:55 Function to retrieve package version Paul W. Rankin
2019-05-21 8:32 ` Michael Albinus
2019-05-21 9:08 ` Paul W. Rankin
2019-05-21 9:40 ` Michael Albinus
2019-05-21 20:18 ` Richard Stallman
2019-05-22 2:02 ` Paul W. Rankin
2019-05-22 2:26 ` Eli Zaretskii
2019-05-22 2:49 ` Paul W. Rankin
2019-05-22 7:49 ` Michael Albinus
2019-05-22 7:50 ` Eli Zaretskii
2019-05-22 22:39 ` Richard Stallman
2019-05-21 21:55 ` Stefan Monnier
2019-05-21 22:56 ` Eric Abrahamsen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).