branch: externals/compat commit e4b57d2819741f26d03afc90f0aa3179a893be5d Author: Philip Kaludercic <phil...@posteo.net> Commit: Philip Kaludercic <phil...@posteo.net>
Increase base version to 24.3 --- Makefile | 2 -- README.md | 7 ++++++- compat-24.2.el | 60 --------------------------------------------------------- compat-24.3.el | 44 ------------------------------------------ compat-tests.el | 26 +------------------------ compat.el | 4 ---- 6 files changed, 7 insertions(+), 136 deletions(-) diff --git a/Makefile b/Makefile index a7f3208..f05370b 100644 --- a/Makefile +++ b/Makefile @@ -4,8 +4,6 @@ EMACS = emacs BYTEC = compat-macs.elc \ - compat-24.2.elc \ - compat-24.3.elc \ compat-24.4.elc \ compat-25.1.elc \ compat-26.1.elc \ diff --git a/README.md b/README.md index 513219f..c24108e 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,17 @@ COMPATibility Library for Emacs =============================== Find here the source for compat.el, a forwards-compatibility library -for (GNU) Emacs Lisp. +for (GNU) Emacs Lisp, versions 24.3 and newer. The intended audience of this library aren't day-to-day users, but package developers that wish to make use of newer functionality, not provided in older versions of Emacs, without breaking compatibility for users bound to specific Emacs releases. +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 [EOL], 2024. + Installation ------------ @@ -61,6 +65,7 @@ Distribution compat.el and all other files in this directory are distributed under the GPL, Version 3 (like Emacs itself). +[EOL]: https://wiki.centos.org/About/Product [GNU ELPA]: http://elpa.gnu.org/packages/compat.html [copyright assignment]: https://www.gnu.org/software/emacs/manual/html_node/emacs/Copyright-Assignment.html [SourceHut]: https://sr.ht/~pkal/compat diff --git a/compat-24.2.el b/compat-24.2.el deleted file mode 100644 index 7eff5f5..0000000 --- a/compat-24.2.el +++ /dev/null @@ -1,60 +0,0 @@ -;;; compat-24.2.el --- Compatibility Layer for Emacs 24.2 -*- lexical-binding: t; -*- - -;; Copyright (C) 2021 Free Software Foundation, Inc. - -;; Author: Philip Kaludercic <phil...@posteo.net> -;; Keywords: lisp - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: - -;; Find here the functionality added in Emacs 24.2, needed by older -;; versions. -;; -;; Do NOT load this library manually. Instead require `compat'. - -;;; Code: - -(eval-when-compile (require 'compat-macs)) - -;;;; Defined in subr.el - -(compat-defun autoloadp (object) - "Non-nil if OBJECT is an autoload." - (eq 'autoload (car-safe object))) - -(compat-defun buffer-narrowed-p () - "Return non-nil if the current buffer is narrowed." - (/= (- (point-max) (point-min)) (buffer-size))) - -(compat-defun posnp (obj) - "Return non-nil if OBJ appears to be a valid position. -A `posn' object is returned from functions such as `event-start'. -If OBJ is a valid `posn' object, but specifies a frame rather -than a window, return nil." - (and (windowp (car-safe obj)) - (atom (car-safe (setq obj (cdr obj)))) ;AREA-OR-POS. - (integerp (car-safe (car-safe (setq obj (cdr obj))))) ;XOFFSET. - (integerp (car-safe (cdr obj))))) - -;;;; Defined in files.el - -(compat-defun file-name-base (filename) - "Return the base name of the FILENAME: no directory, no extension." - (file-name-sans-extension - (file-name-nondirectory (or filename (buffer-file-name))))) - -(provide 'compat-24.2) -;;; compat-24.2.el ends here diff --git a/compat-24.3.el b/compat-24.3.el deleted file mode 100644 index d2ba1dd..0000000 --- a/compat-24.3.el +++ /dev/null @@ -1,44 +0,0 @@ -;;; compat-24.3.el --- Compatibility Layer for Emacs 24.3 -*- lexical-binding: t; -*- - -;; Copyright (C) 2021 Free Software Foundation, Inc. - -;; Author: Philip Kaludercic <phil...@posteo.net> -;; Keywords: lisp - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: - -;; Find here the functionality added in Emacs 24.3, needed by older -;; versions. -;; -;; Do NOT load this library manually. Instead require `compat'. - -;;; Code: - -(eval-when-compile (require 'compat-macs)) - -;;;; Defined in subr.el - -(compat-defmacro defvar-local (var val &optional docstring) - "Define VAR as a buffer-local variable with default value VAL. -Like `defvar' but additionally marks the variable as being automatically -buffer-local wherever it is set." - (declare (debug defvar) (doc-string 3)) - `(progn - (defvar ,var ,val ,docstring) - (make-variable-buffer-local ',var))) - -(provide 'compat-24.3) -;;; compat-24.3.el ends here diff --git a/compat-tests.el b/compat-tests.el index ce5fe8b..de7adb9 100644 --- a/compat-tests.el +++ b/compat-tests.el @@ -67,8 +67,7 @@ (eval-when-compile (require 'compat-macs) - (load "compat-24.2.el" nil nil nil t) - (load "compat-24.3.el" nil nil nil t) + (load "compat.el" nil nil nil t) (load "compat-24.4.el" nil nil nil t) (load "compat-25.1.el" nil nil nil t) (load "compat-26.1.el" nil nil nil t) @@ -1103,29 +1102,6 @@ the compatibility function." (compat--should '(1 2 3 4) '(1 2 2 3 4 4)) (compat--should '(1 2 3 2 4) '(1 2 2 3 2 4 4)))) -(ert-deftest compat-autoloadp () - "Check if `autoloadp' was implemented correctly." - (compat-test autoloadp - (compat--should t '(autoload . anything)) - (compat--should nil 'anything))) - -(ert-deftest compat-file-name-base () - "Check if `file-name-base' was implemented correctly." - (compat-test file-name-base - (compat--should "file" "file.txt") - (compat--should "file" "/path/to/some/file.txt") - (compat--should "file" "/path/to/some/file"))) - -(ert-deftest compat-posnp () - "Check if `posnp' was implemented correctly." - (compat-test posnp - ;; FIXME: return an actual posn. - ;; (compat--should t (posn-at-point)) - (compat--should nil (current-buffer)) - (compat--should nil (point-max)) - (compat--should nil (point-min)) - (compat--should nil nil))) - (ert-deftest compat-string-clean-whitespace () "Check if `string-clean-whitespace' was implemented correctly." (compat-test string-clean-whitespace diff --git a/compat.el b/compat.el index 804ae50..4c1fcd2 100644 --- a/compat.el +++ b/compat.el @@ -60,10 +60,6 @@ (signal (car err) (cdr err)))))) ;; Load the actual compatibility definitions: -(when (version< emacs-version "24.2") - (require 'compat-24.2)) -(when (version< emacs-version "24.3") - (require 'compat-24.3)) (when (version< emacs-version "24.4") (require 'compat-24.4)) (when (version< emacs-version "25")