branch: externals/compat commit 38e0066cafc24c5c7a16fd00db2df004833975f7 Author: Daniel Mendler <m...@daniel-mendler.de> Commit: Daniel Mendler <m...@daniel-mendler.de>
Drop support for 24.3 - Support would requires a brittle, untested require advice - 24.3 is untested on CI - Packages which use Compat all require Emacs 24.4 or newer --- .github/workflows/makefile.yml | 1 - README.md | 2 +- compat-24.el | 17 ----------------- compat.el | 2 +- compat.texi | 12 +++++------- 5 files changed, 7 insertions(+), 27 deletions(-) diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index b109e3d510..ef290bbbc0 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -15,7 +15,6 @@ jobs: strategy: matrix: emacs-version: - # - '24.3' - '24.4' - '24.5' - '25.1' diff --git a/README.md b/README.md index 57266b4841..5883705dca 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ COMPATibility Library for Emacs =============================== Find here the source for compat.el, a forwards-compatibility library -for (GNU) Emacs Lisp, versions 24.3 and newer. +for (GNU) Emacs Lisp, versions 24.4 and newer. For information on how to use Compat, please consult the [manual]. The latest state of development can be found in the [snapshot diff --git a/compat-24.el b/compat-24.el index 9d0157e917..533c9f68c7 100644 --- a/compat-24.el +++ b/compat-24.el @@ -378,23 +378,6 @@ When IGNORE-CASE is non-nil, FUN is expected to be case-insensitive." ;;;; Defined in subr-x.el -;;* UNTESTED -(compat-advise require (feature &rest args) - "Allow for Emacs 24.3 to require the inexistent FEATURE subr-x." - :version "24.4" - ;; As the compatibility advise around `require` is more a hack than - ;; of of actual value, the highlighting is suppressed. - :no-highlight t - (if (eq feature 'subr-x) - (progn - (unless (memq 'subr-x features) - (push 'subr-x features) - (dolist (a-l-element after-load-alist) - (when (eq (car a-l-element) 'subr-x) - (mapc #'eval (cdr a-l-element))))) - 'subr-x) - (apply oldfun feature args))) - (compat-defun hash-table-keys (hash-table) "Return a list of keys in HASH-TABLE." (let (values) diff --git a/compat.el b/compat.el index 22f9c45550..ad30c93e60 100644 --- a/compat.el +++ b/compat.el @@ -6,7 +6,7 @@ ;; Maintainer: Compat Development <~pkal/compat-de...@lists.sr.ht> ;; Version: 29.1.0.0-dev ;; URL: https://sr.ht/~pkal/compat -;; Package-Requires: ((emacs "24.3") (nadvice "0.3")) +;; Package-Requires: ((emacs "24.4") (nadvice "0.3")) ;; Keywords: lisp ;; This program is free software; you can redistribute it and/or modify diff --git a/compat.texi b/compat.texi index 543e2ffa86..bd75e43a13 100644 --- a/compat.texi +++ b/compat.texi @@ -100,10 +100,8 @@ for Emacs Lisp. That is to say by using Compat, an Elisp package does not have to make the decision to either use new and useful functionality or support old versions of Emacs. -Version 24.3 is chosen as the oldest version, because this is the newest -version on CentOS 7. It is intended to preserve compatibility for at -least as the Centos 7 reaches -@uref{https://wiki.centos.org/About/Product, EOL}, 2024. +Version 24.4 is chosen as the oldest version we can reasonably support, +since subr-x was introduced in this version. If you are developing a package with Compat in mind, consider loading `compat-help` (on your system, not in a package) to get relevant notes @@ -124,10 +122,10 @@ The intended use-case for this library is for package developers to add as a dependency in the header: @example -;; Package-Requires: ((emacs "24.3") (compat "28.1.2.2")) +;; Package-Requires: ((emacs "24.4") (compat "28.1.2.2")) @end example -There is no need to depend on @code{emacs} 24.3 specifically. One can +There is no need to depend on @code{emacs} 24.4 specifically. One can choose to any newer version, if features not provided by Compat necessitate it. @@ -174,7 +172,7 @@ Highlight functions that are implemented as compatibility definitions. @node Intentions @section Intentions -The library intends to provide support back until Emacs 24.3. The +The library intends to provide support back until Emacs 24.4. The intended audience are package developers that are interested in using newer developments, without having to break compatibility.