GNU ELPA - compat

compat

Description
Emacs Lisp Compatibility Library
Latest
compat-29.1.4.5.tar (.sig), 2024-Mar-16, 340 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-29.1.4.4.tar.lz2023-Nov-1372.7 KiB
compat-29.1.4.3.tar.lz2023-Nov-0472.7 KiB
compat-29.1.4.2.tar.lz2023-Jul-3072.1 KiB
compat-29.1.4.1.tar.lz2023-Mar-2671.6 KiB
compat-29.1.4.0.tar.lz2023-Mar-0571.3 KiB
compat-29.1.3.4.tar.lz2023-Feb-1170.3 KiB
compat-29.1.3.0.tar.lz2023-Jan-2263.7 KiB
compat-29.1.2.0.tar.lz2023-Jan-1656.0 KiB
compat-29.1.1.1.tar.lz2023-Jan-1456.7 KiB
compat-29.1.1.0.tar.lz2023-Jan-0756.0 KiB
compat-29.1.0.1.tar.lz2023-Jan-0558.9 KiB
compat-28.1.2.2.tar.lz2022-Aug-2548.8 KiB
compat-28.1.2.1.tar.lz2022-Aug-2448.9 KiB
compat-28.1.2.0.tar.lz2022-Jul-1837.2 KiB
compat-28.1.1.3.tar.lz2022-Jun-1936.8 KiB
compat-28.1.1.2.tar.lz2022-Jun-1536.7 KiB
compat-28.1.1.1.tar.lz2022-May-0736.3 KiB
compat-28.1.1.0.tar.lz2022-Apr-2235.8 KiB
compat-28.1.0.5.tar.lz2022-Apr-1833.9 KiB
compat-28.1.0.0.tar.lz2022-Apr-0530.9 KiB

News

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

  • 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 <2023-07-30 Sun>)

Release of "Compat" Version 29.1.4.1

  • compat-29: Add directory-abbrev-apply.
  • compat-29: Add directory-abbrev-make-regexp.

(Release <2023-03-26 Sun>)

Release of "Compat" Version 29.1.4.0

  • compat-27: Drop obsolete compat-call dired-get-marked-files.
  • compat-28: Add support for defcustom type natnum.
  • compat-29: Add with-restriction and without-restriction.
  • compat-29: Add cl-constantly.
  • compat-29: Drop with-narrowing which was renamed to with-restriction.
  • compat-28: Add support for defcustom type key.

(Release <2023-03-05 Sun>)

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 and process-lines-ignore-status.

(Release <2023-02-11 Sat>)

Release of "Compat" Version 29.1.3.3

  • compat-27: Add with-suppressed-warnings.
  • compat-29: Add cl-with-gensyms and cl-once-only.
  • compat-29: Load seq, which is preloaded on Emacs 29.

(Release <2023-02-08 Wed>)

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 and with-delayed-message.
  • compat-29: Add ert-with-temp-file and ert-with-temp-directory.
  • compat-29: Add set-transient-map with optional arguments MESSAGE and TIMEOUT.

(Release <2023-02-01 Wed>)

Release of "Compat" Version 29.1.3.1

  • Fix regression, which prevented loading Compat in interpreted mode. We ensure that Compat works interpreted and byte compiled by running the entire test suite twice in the CI. See https://github.com/magit/magit/issues/4858 for the corresponding Magit issue.
  • compat-27: Add file-name-unquote.
  • compat-28: Add mark-thing-at-mouse.
  • compat-29: Replace string-lines with version from Emacs 29, support optional KEEP-NEWLINES argument.

(Release <2023-01-25 Wed>)

Release of "Compat" Version 29.1.3.0

  • compat-25: Add hash-table-empty-p.
  • compat-25: Add macroexp-parse-body and macroexp-quote.
  • compat-25: Add region-noncontiguous-p.
  • compat-25: Add save-mark-and-excursion.
  • compat-26: Add read-answer.
  • compat-26: Add region-bounds.
  • compat-27: Add date-ordinal-to-time.
  • compat-27: Add file-size-human-readable-iec.
  • compat-27: Add major-mode-suspend and major-mode-restore.

… …