all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Remove version numbers for some built-in packages?
@ 2020-03-04  4:38 Stefan Kangas
  2020-03-04 15:41 ` Stefan Monnier
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Kangas @ 2020-03-04  4:38 UTC (permalink / raw)
  To: Emacs developers

It seems like the package versions in built-in packages sometimes
change very rarely.  For example, checkdoc.el has had the same version
number since 1998.  An extreme example is edmacro.el, which has had
the same version number since 1993.  Yet if you run M-x
finder-by-keyword, the version number will be displayed next to the
package name like it actually means something.

It seems to me that having no version number in the library would make
more sense in these cases.  It's part of Emacs and has whatever
version Emacs has.  Also having no version would clarify which
packages might have a more recent version available elsewhere.

So speaking of version numbers of built-in packages, which are not
available from ELPA or elsewhere, and maintained only in our own tree:

1. Do we need a version number in the header for these cases?

2. Do the 'foobar-version' variables serve any purpose whatsoever (in
these cases), or should they just be declared obsolete?  Maybe they
were useful at one point, but they're hardly useful when the values
haven't changed in 15+ years.

Some examples of the packages I'm talking about:
- checkdoc
- delim-col
- edmacro
- hippie-exp
- woman
- edt

Some examples of packages I'm *not* talking about:
- org-mode
- cc-mode
- ada-mode

To be clear, I'm *not* talking about any package available also from
ELPA, has an active maintainer to make the decision, or where the
version number has changed some time during the previous decade.  I
would suggest to clean up only the most obvious candidates.

Best regards,
Stefan Kangas



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Remove version numbers for some built-in packages?
  2020-03-04  4:38 Remove version numbers for some built-in packages? Stefan Kangas
@ 2020-03-04 15:41 ` Stefan Monnier
  2020-03-05 14:20   ` Stefan Kangas
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Monnier @ 2020-03-04 15:41 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: Emacs developers

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/x-markdown; coding=UTF-8, Size: 582 bytes --]

> Some examples of the packages I'm talking about:
> - checkdoc
> - delim-col
> - edmacro
> - hippie-exp
> - woman
> - edt

Yes, these packages don't really have version numbers nowadays, it's
a remnant of the past.  We should definitely remove the `<foo>-version`
variables in those cases.  The "Version:" header can be marginally
useful in some cases (I've used those things a few times last year while
digging into our past), so it'd be good to keep it somewhere, tho
I agree that it doesn't need to appear in the list of packages with
their version numbers.


        Stefan




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Remove version numbers for some built-in packages?
  2020-03-04 15:41 ` Stefan Monnier
@ 2020-03-05 14:20   ` Stefan Kangas
  2020-03-21  2:00     ` Stefan Kangas
  0 siblings, 1 reply; 4+ messages in thread
From: Stefan Kangas @ 2020-03-05 14:20 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs developers

[-- Attachment #1: Type: text/plain, Size: 882 bytes --]

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Some examples of the packages I'm talking about:
>> - checkdoc
>> - delim-col
>> - edmacro
>> - hippie-exp
>> - woman
>> - edt
>
> Yes, these packages don't really have version numbers nowadays, it's
> a remnant of the past.  We should definitely remove the `<foo>-version`
> variables in those cases.  The "Version:" header can be marginally
> useful in some cases (I've used those things a few times last year while
> digging into our past), so it'd be good to keep it somewhere, tho
> I agree that it doesn't need to appear in the list of packages with
> their version numbers.

It seems like there is a convention to use "Old-Version" instead of
"Version" in these cases.  I think we can do the same here.

Please find attached two patches with my proposed changes, based on
your input.  WDYT?

Best regards,
Stefan Kangas


[-- Attachment #2: 0001-Add-Old-prefix-to-Version-header-in-some-cases.patch --]
[-- Type: text/x-diff, Size: 5258 bytes --]

From 34ddd3243c865de775f80ed50910cf90cb0ae150 Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefankangas@gmail.com>
Date: Thu, 5 Mar 2020 04:24:19 +0100
Subject: [PATCH 1/2] Add "Old-" prefix to "Version" header in some cases

The version number exists a historical accident and is no longer
relevant in these cases.
Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html

* lisp/calendar/icalendar.el:
* lisp/emacs-lisp/checkdoc.el:
* lisp/hippie-exp.el:
* lisp/linum.el:
* lisp/master.el:
* lisp/progmodes/cwarn.el:
* lisp/repeat.el:
* lisp/ruler-mode.el:
* lisp/textmodes/remember.el:
* lisp/wdired.el:
* lisp/woman.el: Change "Version" header to "Old-Version".
---
 lisp/calendar/icalendar.el  | 2 +-
 lisp/emacs-lisp/checkdoc.el | 2 +-
 lisp/hippie-exp.el          | 2 +-
 lisp/linum.el               | 2 +-
 lisp/master.el              | 2 +-
 lisp/progmodes/cwarn.el     | 2 +-
 lisp/repeat.el              | 2 +-
 lisp/ruler-mode.el          | 2 +-
 lisp/textmodes/remember.el  | 2 +-
 lisp/wdired.el              | 2 +-
 lisp/woman.el               | 2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el
index 6847ba9749..0a4b68a9cb 100644
--- a/lisp/calendar/icalendar.el
+++ b/lisp/calendar/icalendar.el
@@ -6,7 +6,7 @@
 ;; Created:        August 2002
 ;; Keywords:       calendar
 ;; Human-Keywords: calendar, diary, iCalendar, vCalendar
-;; Version:        0.19
+;; Old-Version:    0.19
 
 ;; This file is part of GNU Emacs.
 
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index ccdddb47c3..e531503c3e 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1997-1998, 2001-2020 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
-;; Version: 0.6.2
+;; Old-Version: 0.6.2
 ;; Keywords: docs, maint, lisp
 
 ;; This file is part of GNU Emacs.
diff --git a/lisp/hippie-exp.el b/lisp/hippie-exp.el
index 98edacd6ec..ce5fc585c8 100644
--- a/lisp/hippie-exp.el
+++ b/lisp/hippie-exp.el
@@ -4,7 +4,7 @@
 
 ;; Author: Anders Holst <aho@sans.kth.se>
 ;; Maintainer: emacs-devel@gnu.org
-;; Version: 1.6
+;; Old-Version: 1.6
 ;; Keywords: abbrev convenience
 
 ;; This file is part of GNU Emacs.
diff --git a/lisp/linum.el b/lisp/linum.el
index 8f0e7ddce4..5efaafc9dc 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -5,7 +5,7 @@
 ;; Author: Markus Triska <markus.triska@gmx.at>
 ;; Maintainer: emacs-devel@gnu.org
 ;; Keywords: convenience
-;; Version: 0.9x
+;; Old-Version: 0.9x
 
 ;; This file is part of GNU Emacs.
 
diff --git a/lisp/master.el b/lisp/master.el
index b0996bf129..387116a8fb 100644
--- a/lisp/master.el
+++ b/lisp/master.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1999-2020 Free Software Foundation, Inc.
 
 ;; Author: Alex Schroeder <alex@gnu.org>
-;; Version: 1.0.2
+;; Old-Version: 1.0.2
 ;; Keywords: comm
 
 ;; This file is part of GNU Emacs.
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el
index 6cd2fa3ec0..6e84f4f1bc 100644
--- a/lisp/progmodes/cwarn.el
+++ b/lisp/progmodes/cwarn.el
@@ -4,7 +4,7 @@
 
 ;; Author: Anders Lindgren
 ;; Keywords: c, languages, faces
-;; Version: 1.3.1
+;; Old-Version: 1.3.1
 
 ;; This file is part of GNU Emacs.
 
diff --git a/lisp/repeat.el b/lisp/repeat.el
index db33b08338..f275db6fdd 100644
--- a/lisp/repeat.el
+++ b/lisp/repeat.el
@@ -4,7 +4,7 @@
 
 ;; Author: Will Mengarini <seldon@eskimo.com>
 ;; Created: Mo 02 Mar 98
-;; Version: 0.51
+;; Old-Version: 0.51
 ;; Keywords: convenience, vi, repeat
 
 ;; This file is part of GNU Emacs.
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index f6b49b46e3..82e6178da1 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: David Ponce <david@dponce.com>
 ;; Created: 24 Mar 2001
-;; Version: 1.6
+;; Old-Version: 1.6
 ;; Keywords: convenience
 
 ;; This file is part of GNU Emacs.
diff --git a/lisp/textmodes/remember.el b/lisp/textmodes/remember.el
index 836dfb4a53..bc69ccea35 100644
--- a/lisp/textmodes/remember.el
+++ b/lisp/textmodes/remember.el
@@ -5,7 +5,7 @@
 ;; Author: John Wiegley <johnw@gnu.org>
 ;; Maintainer: emacs-devel@gnu.org
 ;; Created: 29 Mar 1999
-;; Version: 2.0
+;; Old-Version: 2.0
 ;; Keywords: data memory todo pim
 ;; URL: http://gna.org/projects/remember-el/
 
diff --git a/lisp/wdired.el b/lisp/wdired.el
index 11cbe5822a..768b8f597b 100644
--- a/lisp/wdired.el
+++ b/lisp/wdired.el
@@ -4,7 +4,7 @@
 
 ;; Filename: wdired.el
 ;; Author: Juan León Lahoz García <juanleon1@gmail.com>
-;; Version: 2.0
+;; Old-Version: 2.0
 ;; Keywords: dired, environment, files, renaming
 
 ;; This file is part of GNU Emacs.
diff --git a/lisp/woman.el b/lisp/woman.el
index beebde95e9..51f189ae7b 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -6,7 +6,7 @@
 ;; Maintainer: emacs-devel@gnu.org
 ;; Keywords: help, unix
 ;; Adapted-By: Eli Zaretskii <eliz@gnu.org>
-;; Version: 0.551
+;; Old-Version: 0.551
 ;; URL: http://centaur.maths.qmul.ac.uk/Emacs/WoMan/
 
 ;; This file is part of GNU Emacs.
-- 
2.25.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-Declare-some-package-version-variables-obsolete.patch --]
[-- Type: text/x-diff, Size: 9063 bytes --]

From 9a13a0f9ed6d8a264ce01392c4994bdcb6461e72 Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefankangas@gmail.com>
Date: Thu, 5 Mar 2020 05:06:19 +0100
Subject: [PATCH 2/2] Declare some <package>-version variables obsolete

Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html

* lisp/calendar/icalendar.el (icalendar-version):
* lisp/dframe.el (dframe-version):
* lisp/emacs-lisp/checkdoc.el (checkdoc-version):
* lisp/emulation/edt.el (edt-version):
* lisp/international/mule.el (mule-version)
(mule-version-date):
* lisp/linum.el (linum-version):
* lisp/play/bubbles.el (bubbles-version):
* lisp/speedbar.el (speedbar-version):
* lisp/textmodes/remember.el (remember-version):
* lisp/url/url-vars.el (url-version):
* lisp/woman.el (woman-version): Declare obsolete.

* lisp/emacs-lisp/checkdoc.el (checkdoc-start-section):
* lisp/speedbar.el (speedbar-mode):
* lisp/url/url-about.el (url-about-protocols):
* lisp/url/url-http.el (url-http--user-agent-default-string):
* lisp/url/url-news.el (url-news-fetch-message-id):
* lisp/woman.el (woman-menu, woman-mode): Stop using variables
declared obsolete above.
---
 lisp/calendar/icalendar.el  | 1 +
 lisp/dframe.el              | 1 +
 lisp/emacs-lisp/checkdoc.el | 3 ++-
 lisp/emulation/edt.el       | 4 +---
 lisp/international/mule.el  | 3 ++-
 lisp/linum.el               | 1 +
 lisp/play/bubbles.el        | 1 +
 lisp/speedbar.el            | 3 ++-
 lisp/textmodes/remember.el  | 1 +
 lisp/url/url-about.el       | 2 +-
 lisp/url/url-http.el        | 2 +-
 lisp/url/url-news.el        | 2 +-
 lisp/url/url-vars.el        | 1 +
 lisp/woman.el               | 3 +--
 14 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el
index 0a4b68a9cb..d76c110503 100644
--- a/lisp/calendar/icalendar.el
+++ b/lisp/calendar/icalendar.el
@@ -107,6 +107,7 @@
 
 (defconst icalendar-version "0.19"
   "Version number of icalendar.el.")
+(make-obsolete-variable 'icalendar-version nil "28.1")
 
 ;; ======================================================================
 ;; Customizables
diff --git a/lisp/dframe.el b/lisp/dframe.el
index 2c421470a5..efe2bc57d9 100644
--- a/lisp/dframe.el
+++ b/lisp/dframe.el
@@ -7,6 +7,7 @@
 
 (defvar dframe-version "1.3"
   "The current version of the dedicated frame library.")
+(make-obsolete-variable 'dframe-version nil "28.1")
 
 ;; This file is part of GNU Emacs.
 
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index e531503c3e..4235414fae 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -170,6 +170,7 @@
 ;;; Code:
 (defvar checkdoc-version "0.6.1"
   "Release version of checkdoc you are currently running.")
+(make-obsolete-variable 'checkdoc-version nil "28.1")
 
 (require 'cl-lib)
 (require 'help-mode) ;; for help-xref-info-regexp
@@ -2642,7 +2643,7 @@ checkdoc-start-section
       (goto-char (point-max))
       (let ((inhibit-read-only t))
         (insert "\n\n\C-l\n*** " label ": "
-                check-type " V " checkdoc-version)))))
+                check-type)))))
 
 (defun checkdoc-error (point msg)
   "Store POINT and MSG as errors in the checkdoc diagnostic buffer."
diff --git a/lisp/emulation/edt.el b/lisp/emulation/edt.el
index 8dc18ebc85..e70b44658d 100644
--- a/lisp/emulation/edt.el
+++ b/lisp/emulation/edt.el
@@ -178,10 +178,8 @@ edt-rect-start-point
 (defvar edt-user-global-map)
 (defvar rect-start-point)
 
-;;;
-;;;  Version Information
-;;;
 (defconst edt-version "4.0" "EDT Emulation version number.")
+(make-obsolete-variable 'edt-version nil "28.1")
 
 ;;;
 ;;;  User Configurable Variables
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 6659479120..b57d4146cf 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -30,12 +30,13 @@
 
 ;;; Code:
 
-;; FIXME?  Are these still relevant?  Nothing uses them AFAICS.
 (defconst mule-version "6.0 (HANACHIRUSATO)" "\
 Version number and name of this version of MULE (multilingual environment).")
+(make-obsolete-variable 'mule-version nil "28.1")
 
 (defconst mule-version-date "2003.9.1" "\
 Distribution date of this version of MULE (multilingual environment).")
+(make-obsolete-variable 'mule-version-date nil "28.1")
 
 \f
 ;;; CHARSET
diff --git a/lisp/linum.el b/lisp/linum.el
index 5efaafc9dc..e8c364245a 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -32,6 +32,7 @@
 ;;; Code:
 
 (defconst linum-version "0.9x")
+(make-obsolete-variable 'linum-version nil "28.1")
 
 (defvar linum-overlays nil "Overlays used in this buffer.")
 (defvar linum-available nil "Overlays available for reuse.")
diff --git a/lisp/play/bubbles.el b/lisp/play/bubbles.el
index 6842cb0630..e598257379 100644
--- a/lisp/play/bubbles.el
+++ b/lisp/play/bubbles.el
@@ -80,6 +80,7 @@
 ;;; Code:
 
 (defconst bubbles-version "0.5" "Version number of bubbles.el.")
+(make-obsolete-variable 'bubbles-version nil "28.1")
 
 (require 'gamegrid)
 
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index d8dccfac93..e9c15b71ce 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -7,6 +7,7 @@
 
 (defvar speedbar-version "1.0"
   "The current version of speedbar.")
+(make-obsolete-variable 'speedbar-version nil "28.1")
 (defvar speedbar-incompatible-version "0.14beta4"
   "This version of speedbar is incompatible with this version.
 Due to massive API changes (removing the use of the word PATH)
@@ -1078,7 +1079,7 @@ speedbar-mode
     (setq font-lock-keywords nil) ;; no font-locking please
     (setq truncate-lines t)
     (make-local-variable 'frame-title-format)
-    (setq frame-title-format (concat "Speedbar " speedbar-version)
+    (setq frame-title-format "Speedbar"
 	  case-fold-search nil
 	  buffer-read-only t)
     (speedbar-set-mode-line-format)
diff --git a/lisp/textmodes/remember.el b/lisp/textmodes/remember.el
index bc69ccea35..279dbb4450 100644
--- a/lisp/textmodes/remember.el
+++ b/lisp/textmodes/remember.el
@@ -181,6 +181,7 @@
 
 (defconst remember-version "2.0"
   "This version of remember.")
+(make-obsolete-variable 'remember-version nil "28.1")
 
 (defgroup remember nil
   "A mode to remember information."
diff --git a/lisp/url/url-about.el b/lisp/url/url-about.el
index fd83ac3436..59c233b58c 100644
--- a/lisp/url/url-about.el
+++ b/lisp/url/url-about.el
@@ -51,7 +51,7 @@ url-about-protocols
 	  "  <title>Supported Protocols</title>\n"
 	  " </head>\n"
 	  " <body>\n"
-	  "  <h1>Supported Protocols - URL v" url-version "</h1>\n"
+          "  <h1>Supported Protocols - URL package in Emacs " emacs-version "</h1>\n"
 	  "  <table width='100%' border='1'>\n"
 	  "   <tr>\n"
 	  "    <td>Protocol\n"
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index 55953c83c0..669c24571f 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -225,7 +225,7 @@ url-http--user-agent-default-string
         (os-info (unless (and (listp url-privacy-level)
                               (memq 'os url-privacy-level))
                    (format "(%s; %s)" url-system-type url-os-type)))
-        (url-info (format "URL/%s" url-version)))
+        (url-info (format "URL/Emacs")))
     (string-join (delq nil (list package-info url-info
                                  emacs-info os-info))
                  " ")))
diff --git a/lisp/url/url-news.el b/lisp/url/url-news.el
index d47eb02db6..9ef17cccd7 100644
--- a/lisp/url/url-news.el
+++ b/lisp/url/url-news.el
@@ -75,7 +75,7 @@ url-news-fetch-message-id
 		"  </div>\n"
 		" </body>\n"
 		"</html>\n"
-		"<!-- Automatically generated by URL v" url-version " -->\n"
+                "<!-- Automatically generated by URL in Emacs " emacs-version " -->\n"
 		)))
     buf))
 
diff --git a/lisp/url/url-vars.el b/lisp/url/url-vars.el
index 4e44eedb12..d9277cf6f4 100644
--- a/lisp/url/url-vars.el
+++ b/lisp/url/url-vars.el
@@ -24,6 +24,7 @@
 
 (defconst url-version "Emacs"
   "Version number of URL package.")
+(make-obsolete-variable 'url-version nil "28.1")
 
 (defgroup url nil
   "Uniform Resource Locator tool."
diff --git a/lisp/woman.el b/lisp/woman.el
index 51f189ae7b..c0e27c5707 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -401,6 +401,7 @@
 ;;; Code:
 
 (defvar woman-version "0.551 (beta)" "WoMan version information.")
+(make-obsolete-variable 'woman-version nil "28.1")
 
 (require 'man)
 (require 'button)
@@ -1830,7 +1831,6 @@ woman-follow-word
    ["Mini Help" woman-mini-help t]
    ,@(if (fboundp 'customize-group)
 	 '(["Customize..." (customize-group 'woman) t]))
-   ["Show Version" (message "WoMan %s" woman-version) t]
    "--"
    ("Advanced"
     ["View Source" (view-file woman-last-file-name) woman-last-file-name]
@@ -1878,7 +1878,6 @@ woman-mode
 WoMan is an ELisp emulation of much of the functionality of the Emacs
 `man' command running the standard UN*X man and ?roff programs.
 WoMan author: F.J.Wright@Maths.QMW.ac.uk
-WoMan version: see `woman-version'.
 See `Man-mode' for additional details.
 \\{woman-mode-map}"
   (let ((Man-build-page-list (symbol-function 'Man-build-page-list))
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: Remove version numbers for some built-in packages?
  2020-03-05 14:20   ` Stefan Kangas
@ 2020-03-21  2:00     ` Stefan Kangas
  0 siblings, 0 replies; 4+ messages in thread
From: Stefan Kangas @ 2020-03-21  2:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs developers

> Please find attached two patches with my proposed changes, based on
> your input.

No further comments within 2 weeks, so I've now pushed this to master
as commit 84548f8dc7 and c1772ce296.

Best regards,
Stefan Kangas



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-03-21  2:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-04  4:38 Remove version numbers for some built-in packages? Stefan Kangas
2020-03-04 15:41 ` Stefan Monnier
2020-03-05 14:20   ` Stefan Kangas
2020-03-21  2:00     ` Stefan Kangas

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.