summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kaludercic <philipk@posteo.net>2025-02-20 23:47:50 +0100
committerPhilip Kaludercic <philipk@posteo.net>2025-02-20 23:47:50 +0100
commit03e173ff2fc625e29249ece8a774695cbb3196d3 (patch)
treee1bb44380dc599a2b9a68f75dc5f20fc7572362f
parentbfc0a46098be2dcaad0518ec200ff5a2be5cc9bb (diff)
Prepare support for Emacs 31
-rw-r--r--Makefile1
-rw-r--r--compat-31.el32
-rw-r--r--compat.el6
-rw-r--r--compat.texi26
4 files changed, 62 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 65d92ae..9da028f 100644
--- a/Makefile
+++ b/Makefile
@@ -46,6 +46,7 @@ BYTEC = compat-25.elc \
compat-28.elc \
compat-29.elc \
compat-30.elc \
+ compat-31.elc \
compat.elc \
compat-macs.elc \
compat-tests.elc
diff --git a/compat-31.el b/compat-31.el
new file mode 100644
index 0000000..cd519c6
--- /dev/null
+++ b/compat-31.el
@@ -0,0 +1,32 @@
+;;; compat-31.el --- Functionality added in Emacs 31 -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2025 Free Software Foundation, Inc.
+
+;; 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:
+
+;; Functionality added in Emacs 31, needed by older Emacs versions.
+
+;;; Code:
+
+(eval-when-compile (load "compat-macs.el" nil t t))
+(compat-require compat-30 "30.1")
+
+;; TODO Update to 31.1 as soon as the Emacs emacs-31 branch version bumped
+(compat-version "31.0.50")
+
+
+(provide 'compat-31)
+;;; compat-31.el ends here
diff --git a/compat.el b/compat.el
index 3fe2a27..15af46c 100644
--- a/compat.el
+++ b/compat.el
@@ -50,9 +50,9 @@
;; time and runtime, but only if needed.
(eval-when-compile
(defmacro compat--maybe-require ()
- (when (version< emacs-version "30.0.50")
- (require 'compat-30)
- '(require 'compat-30))))
+ (when (version< emacs-version "31.0.50")
+ (require 'compat-31)
+ '(require 'compat-31))))
(compat--maybe-require)
;;;; Macros for extended compatibility function calls
diff --git a/compat.texi b/compat.texi
index 1534e4c..2743071 100644
--- a/compat.texi
+++ b/compat.texi
@@ -75,6 +75,7 @@ Support
* Emacs 28.1:: Compatibility support for Emacs 28.1
* Emacs 29.1:: Compatibility support for Emacs 29.1
* Emacs 30.1:: Compatibility support for Emacs 30.1
+* Emacs 31.1:: Compatibility support for Emacs 31.1
@end detailmenu
@end menu
@@ -311,6 +312,7 @@ manage to provide for each Emacs version.
* Emacs 28.1:: Compatibility support for Emacs 28.1
* Emacs 29.1:: Compatibility support for Emacs 29.1
* Emacs 30.1:: Compatibility support for Emacs 30.1
+* Emacs 31.1:: Compatibility support for Emacs 31.1
@end menu
@node Emacs 25.1
@@ -3686,6 +3688,30 @@ argument must not contain cycles.
Compat does not provide support for the following Lisp features
implemented in 30.1:
+@node Emacs 31.1
+@section Emacs 31.1
+
+@subsection Added Definitions
+The following functions and macros are implemented in Emacs
+31.1. These functions are made available by Compat on Emacs versions
+older than 31.1. Note that due to upstream changes, it might happen
+that there will be the need for changes, so use these functions with
+care.
+
+@c Placeholder
+
+@subsection Extended Definitions
+These functions must be called explicitly via @code{compat-call},
+since their calling convention or behavior was extended in Emacs 31.1:
+
+@c Placeholder
+
+@subsection Missing Definitions
+Compat does not provide support for the following Lisp features
+implemented in 31.1:
+
+@c Placeholder
+
@node Development
@chapter Development