GNU ELPA - compat

compat

Description
Emacs Lisp Compatibility Library
Latest
compat-29.1.4.1.tar, 2023-Mar-26, 340 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.4.0.tar.lz2023-Mar-0571.3 KiB
compat-29.1.3.4.tar.lz2023-Feb-1170.3 KiB
compat-29.1.3.3.tar.lz2023-Feb-0869.6 KiB
compat-29.1.3.2.tar.lz2023-Feb-0167.9 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

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

Release of "Compat" Version 29.1.2.0

  • All compatibility functions are covered by tests!
  • Add links from compatibility definitions to tests.

… …