Version 31.0.0.1 of package Compat has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Compat describes itself as: ================================ Emacs Lisp Compatibility Library ================================ More at https://elpa.gnu.org/packages/compat.html ## Summary: Compat is the Elisp forwards compatibility library, which provides definitions introduced in newer Emacs versions. The definitions are only installed if necessary for your current Emacs version. If Compat is compiled on a recent version of Emacs, all of the definitions are disabled at compile time, such that no negative performance impact is incurred. The provided compatibility implementations of functions and macros are at least subsets of the actual implementations. Be sure to read the documentation string and the Compat manual. ## Recent NEWS: Release of "Compat" Version 31.0.0.1 ════════════════════════════════════ • compat-31: Improve `with-work-buffer' implementation. (Release <2026-05-03 Sun>) Release of "Compat" Version 31.0.0.0 ════════════════════════════════════ • compat-28: New pcase pattern `cl-type'. • compat-29: Add `string-glyph-compose' and `string-glyph-decompose'. • compat-31: New macros `static-when' and `static-unless'. • compat-31: New functions `oddp' and `evenp'. • compat-31: New functions `minusp' and `plusp'. • compat-31: New macros `incf' and `decf'. • compat-31: New function `color-blend'. • compat-31: New function `completion-table-with-metadata'. • compat-31: New function `completion-list-candidate-at-point'. • compat-31: New macro `with-work-buffer'. • compat-31: New function `unbuttonize-region'. • compat-31: New extended function `seconds-to-string'. • compat-31: New function `hash-table-contains-p'. • compat-31: New function `remove-display-text-property'. • compat-31: New functions `drop-while', `take-while', `member-if', `any', `all'. • compat-31: New function `set-local'. • compat-31: New function `ensure-proper-list'. • compat-31: New error API functions `error-type-p', `error-has-type-p', `error-type' and `error-slot-value'. • Drop support for Emacs 24.x. Emacs 25.1 is required now. In case Emacs 24.x support is still needed, Compat 30 can be used. (Release <2026-05-01 Fri>) Release of "Compat" Version 30.1.0.1 ════════════════════════════════════ • compat-28: Fix `named-let' tail recursion. (Release <2025-06-19 Thu>) Release of "Compat" Version 30.1.0.0 ════════════════════════════════════ • compat-30: Add oklab color functions. (Release <2025-04-02 Wed>) Release of "Compat" Version 30.0.2.0 ════════════════════════════════════ • compat-30: Rename `trusted-files' to `trusted-content'. (Release <2025-01-04 Sat>) Release of "Compat" Version 30.0.1.0 ════════════════════════════════════ • compat-30: New variable `untrusted-content'. • compat-30: New variable `trusted-files'. • compat-30: New function `trusted-content-p'. (Release <2024-12-15 Sun>) Release of "Compat" Version 30.0.0.0 ════════════════════════════════════ • compat-28: Mark `subr-native-elisp-p' as obsolete (renamed in Emacs 30). • compat-30: New function `char-to-name'. • compat-30: New function `obarray-clear'. • compat-30: New function `interpreted-function-p'. • compat-30: New function `primitive-function-p'. • compat-30: New function `closurep'. • compat-30: Add extended function `sort' with keyword arguments. • compat-30: New function `value<'. • compat-30: Add extended `copy-tree' with support for copying records with non-nil optional second argument. • compat-30: New macro `static-if'. • compat-30: New alias `drop'. • compat-30: New function `merge-ordered-lists'. • compat-30: New variables `completion-lazy-hilit' and `completion-lazy-hilit-fn' and new function `completion-lazy-hilit'. • compat-30: New function `require-with-check'. • compat-30: New functions `find-buffer' and `get-truename-buffer'. • compat-30: Add extended `completion-metadata-get' with support for `completion-category-overrides' and `completion-extra-properties'. (Release <2024-07-08 Mon>) Release of "Compat" Version 29.1.4.5 ════════════════════════════════════ • Minor optimization of `plist-get' and `plist-put'. • Minor compatibility adjustments for the Emacs 30 development version. • A minimal version of `compat.el' will be part of Emacs 30. Emacs :core packages can directly `(require 'compat)' without the `NOERROR' flag. Furthermore Compat will not be installed unnecessarily. If a package depending on Emacs 25.1 and Compat 29.1 is installed on Emacs 30.1, Compat 29.1 will not be installed from ELPA, since Emacs 30.1 already provides the required functionality. (Release <2024-03-16 Sat>) Release of "Compat" Version 29.1.4.4 ════════════════════════════════════ • Fix `Package-Requires' header in compat.el • Fix `Maintainer' header in compat.el (Release <2023-11-13 Mon>) Release of "Compat" Version 29.1.4.3 ════════════════════════════════════ • compat-29: Add function `char-uppercase-p'. • compat-29: Add function `window-configuration-equal-p'. (Release <2023-11-04 Sat>) Release of "Compat" Version 29.1.4.2 ════════════════════════════════════ … …
