GNU ELPA - compat

compat

Description
Emacs Lisp Compatibility Library
Latest
compat-28.1.2.2.tar, 2022-Aug-25, 240 KiB
Maintainer
Compat Development <~pkal/compat-devel@lists.sr.ht>
Website
https://sr.ht/~pkal/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

To allow for the usage of Emacs functions and macros that are
defined in newer versions of Emacs, compat.el provides definitions
that are installed ONLY if necessary.  These reimplementations of
functions and macros are at least subsets of the actual
implementations.  Be sure to read the documentation string to make
sure.

Not every function provided in newer versions of Emacs is provided
here.  Some depend on new features from the core, others cannot be
implemented to a meaningful degree.  Please consult the Compat
manual for details.  The main audience for this library are not
regular users, but package maintainers.  Therefore commands and
user options are usually not implemented here.

Old versions

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 28.1.2.2

This is a minor release that hopes to address https://todo.sr.ht/~pkal/compat/7.

(Release <2022-08-25 Thu>)

Release of "Compat" Version 28.1.2.1

This is a minor release adding the following changes:

  • Add derived-mode-p defined in Emacs 27
  • Add provided-mode-derived-p defined in Emacs 27
  • Add read-multiple-choice defined in Emacs 26
  • Add file-name-absolute-p defined in Emacs 28

The only other notable change is that the manual has been rewritten to include much more documentation that had been the case previously.

(Release <2022-08-24 Wed>)

Release of "Compat" Version 28.1.2.0

The main change of this release has been the major simplification of Compat's initialisation system, improving the situation around issues people had been reporting (https://todo.sr.ht/~pkal/compat/4, once again) with unconventional or unpopular packaging systems.

In addition to this, the following functional changes have been made:

  • Fix format-prompt of an empty string as "default" argument
  • Add decoded-time-period defined in Emacs 28
  • Add subr-primitive-p defined in Emacs 28

Minor improvements to manual are also part of this release.

(Release <2022-07-18 Mon>)

Release of "Compat" Version 28.1.1.3

This release just contains a hot-fix for an issue introduced in the last version, where compat.el raises an error during byte compilation. See https://todo.sr.ht/~pkal/compat/4.

(Release <2022-06-19 Sun>)

Release of "Compat" Version 28.1.1.2

Two main changes have necessitated a new patch release:

  1. Fix issues related to the loading of compat when uncompiled. See this thread for more details on the problem.
  2. Fix issues related to the loading of compat on old pre-releases (think of 28.0.50). See this thread for more details on the problem.

(Released <2022-06-22 Wed>)

Release of "Compat" Version 28.1.1.1

This is a minor release fixing a bug in json-serialize, that could cause unintended side-effects, not related to packages using Compat directly (see https://todo.sr.ht/~pkal/compat/2).

(Released <2022-05-05 Thu>)

Release of "Compat" Version 28.1.1.0

This release mostly fixes a number of smaller bugs that were not identified as of 28.1.0.0. Nevertheless these warrent a version bump, as some of these changes a functional. These include:

  • The addition of the file-attribute-* accessor functions.
  • The addition of file-attribute-collect.
  • Improvements to the Texinfo manual (via Jonas Bernoulli's recent work on ox-texinfo). For the time being, the Texinfo file is maintained in the repository itself, next to the MANUAL file. This might change in the future.
  • Adding a prefix to string-trim, string-trim-left and string-trim-right (i.e. now compat-string-trim, compat-string-trim-left and compat-string-trim-right)
  • Improving the version inference used in the compat-* macros. This improves the compile-time optimisation that strips away functions that are known to be defined for a specific version.
  • The addition of generalised variable (setf) support for compat-alist-get.
  • The addition of image-property and generalised variable support for image-property.
  • The addition of the function compat-executable-find.
  • The addition of the function compat-dired-get-marked-files.
  • The addition of the function exec-path.
  • The addition of the function make-lock-file-name.
  • The addition of the function null-device.
  • The addition of the function time-equal-p.
  • The addition of the function date-days-in-month.
  • Handling out-of-directory byte compilation better.
  • Fixing the usage and edge-cases of and-let*.

Furthermore a bug tracker was added: https://todo.sr.ht/~pkal/compat, which is the preferred way to report issues or feature requests. … …