compat
- Description
- Emacs Lisp Compatibility Library
- Latest
- compat-30.0.0.0.0.20241120.163841.tar (.sig), 2024-Nov-20, 380 KiB
- Maintainer
- Compat Development <~pkal/compat-devel@lists.sr.ht>
- Website
- https://github.com/emacs-compat/compat
- Browse ELPA's repository
- CGit or Gitweb
- Badge
- Manual
- compat
To install this package from Emacs, use package-install
or list-packages
.
Full description
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. Not every function provided in newer versions of Emacs is provided here. Some depend on new features from the C core, others cannot be implemented to a meaningful degree. Please consult the Compat manual for details regarding the usage of the Compat library and the provided functionality. The main audience for this library are not regular users, but package maintainers. Therefore no commands, user-facing modes or user options are implemented here.
Old versions
compat-30.0.0.0.0.20241113.165030.tar.lz | 2024-Nov-13 | 79.2 KiB |
compat-30.0.0.0.0.20241110.84905.tar.lz | 2024-Nov-10 | 79.0 KiB |
compat-30.0.0.0.0.20241103.105632.tar.lz | 2024-Nov-03 | 78.9 KiB |
compat-30.0.0.0.0.20240910.150701.tar.lz | 2024-Sep-10 | 78.9 KiB |
compat-30.0.0.0.0.20240803.181300.tar.lz | 2024-Aug-03 | 78.8 KiB |
compat-30.0.0.0.0.20240708.182228.tar.lz | 2024-Jul-08 | 78.8 KiB |
compat-29.1.4.5.0.20240708.50127.tar.lz | 2024-Jul-08 | 78.8 KiB |
compat-29.1.3.4.0.20230304.205402.tar.lz | 2023-Mar-04 | 71.2 KiB |
compat-28.1.2.2.0.20221122.225006.tar.lz | 2022-Nov-23 | 51.3 KiB |
compat-28.1.0.5.0.20220421.84722.tar.lz | 2022-Apr-21 | 34.0 KiB |
News
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
andcompletion-lazy-hilit-fn
and new functioncompletion-lazy-hilit
. - compat-30: New function
require-with-check
. - compat-30: New functions
find-buffer
andget-truename-buffer
. - compat-30: Add extended
completion-metadata-get
with support forcompletion-category-overrides
andcompletion-extra-properties
.
(Release
)Release of "Compat" Version 29.1.4.5
- Minor optimization of
plist-get
andplist-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 theNOERROR
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
)Release of "Compat" Version 29.1.4.4
- Fix
Package-Requires
header in compat.el - Fix
Maintainer
header in compat.el
(Release
)Release of "Compat" Version 29.1.4.3
- compat-29: Add function
char-uppercase-p
. - compat-29: Add function
window-configuration-equal-p
.
(Release
)Release of "Compat" Version 29.1.4.2
- compat-28: Improve
make-separator-line
visuals on graphic displays. - compat-28: Add
native-comp-available-p
, which always returns nil. - compat-29: Add variable
lisp-directory
.
(Release
)Release of "Compat" Version 29.1.4.1
- compat-29: Add
directory-abbrev-apply
. - compat-29: Add
directory-abbrev-make-regexp
.
(Release
)Release of "Compat" Version 29.1.4.0
- compat-27: Drop obsolete
compat-call dired-get-marked-files
. - compat-28: Add support for
defcustom
typenatnum
. - compat-29: Add
with-restriction
andwithout-restriction
. - compat-29: Add
cl-constantly
. - compat-29: Drop
with-narrowing
which was renamed towith-restriction
. - compat-28: Add support for
defcustom
typekey
.
(Release
)Release of "Compat" Version 29.1.3.4
- Ensure that
seq
is required properly both at compile time and runtime, such that compilation of downstream packages works even if Compat itself is not compiled. Magit uses a complex continuous integration system, where Magit is compiled and tested, while the Compat dependency is not compiled. - compat-28: Add
process-lines-handling-status
andprocess-lines-ignore-status
.
(Release
)Release of "Compat" Version 29.1.3.3
- compat-27: Add
with-suppressed-warnings
. - compat-29: Add
cl-with-gensyms
andcl-once-only
. - compat-29: Load
seq
, which is preloaded on Emacs 29.
(Release
)Release of "Compat" Version 29.1.3.2
- compat-26: Add
make-temp-file
with optional argument TEXT. - compat-27: Mark
compat-call dired-get-marked-files
as obsolete. See the section limitations in the Compat manual. - compat-29: Add
funcall-with-delayed-message
andwith-delayed-message
. - compat-29: Add
ert-with-temp-file
andert-with-temp-directory
.
… …