GNU ELPA - compat

compat

Description
Emacs Lisp Compatibility Library
Latest
compat-29.1.3.2.tar, 2023-Feb-01, 320 KiB
Maintainer
Daniel Mendler <mail@daniel-mendler.de>, 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, run in Emacs:

M-x package-install RET compat RET

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.3.1.tar.lz2023-Jan-2564.4 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.3.tar.lz2022-Apr-0832.0 KiB
compat-28.1.0.1.tar.lz2022-Apr-0530.9 KiB
compat-28.1.0.0.tar.lz2022-Apr-0530.9 KiB

News

1 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>)

2 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.
  • 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>)

3 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.
  • compat-27: Add make-decoded-time.
  • compat-27: Add minibuffer-history-value.
  • compat-27: Add read-char-from-minibuffer.
  • compat-27: Add ring-resize.
  • compat-28: Add color-dark-p.
  • compat-28: Add directory-files-and-attributes with COUNT argument.
  • compat-28: Add text-quoting-style.
  • compat-28: Add with-window-non-dedicated.
  • compat-29: Add buffer-local-set-state and buffer-local-restore-state.
  • compat-29: Add compiled-function-p.
  • compat-29: Add count-sentences.
  • compat-29: Add delete-line.
  • compat-29: Add get-scratch-buffer-create.
  • compat-29: Add list-of-strings-p.
  • compat-29: Add plist-get generalized variable.
  • compat-29: Add plistp.
  • compat-29: Add read-multiple-choice with LONG-FORM argument.
  • compat-29: Add readablep.
  • compat-29: Add substitute-quotes.
  • compat-29: Add use-region-beginning, use-region-end and use-region-noncontiguous-p.
  • compat-29: Add with-narrowing.

(Release <2023-01-22 Sun>)

4 Release of "Compat" Version 29.1.2.0

  • All compatibility functions are covered by tests!
  • Add links from compatibility definitions to tests.
  • BREAKING: Drop JSON parsing support (libjansson API, unused downstream).
  • BREAKING: Drop null-device (unused downstream).
  • BREAKING: Drop unlock-buffer (unused downstream).
  • compat-26: Add buffer-hash.
  • compat-27: Add fixnump and bignump.
  • compat-27: Add with-minibuffer-selected-window.
  • compat-27: Add generalized variables for decoded-time-*.
  • compat-28: Add macroexp-warn-and-return.
  • compat-28: Add subr-native-elisp-p.
  • compat-28: Add bounds-of-thing-at-mouse.
  • compat-29: Add with-buffer-unmodified-if-unchanged.
  • compat-29: Fix and test define-key with REMOVE argument.

(Release <2023-01-16 Mon>)

5 Release of "Compat" Version 29.1.1.1

  • Add tests, 167 out of 203 definitions tested (82%).
  • compat-25: Improve algorithmic complexity of sort.
  • compat-28: Add make-separator-line.
  • compat-29: Minor fixes to keymap-* functions.
  • compat-29: Add with-memoization.
  • compat-29: Add buttonize and buttonize-region.

(Release <2023-01-14 Sat>)

6 Release of "Compat" Version 29.1.1.0

  • The macros in compat-macs.el have been rewritten and simplified. The refactoring allows to further refine the criteria under which compatibility aliases, functions, macros and variables are installed.
  • Remove deprecated, prefixed compatibility functions.
  • Remove deprecated features compat-help, compat-font-lock and compat-24.
  • Compat uses runtime checks (boundp, fboundp) to ensure that existing definitions are never overridden, when Compat is loaded on a newer Emacs than

… …