aboutsummaryrefslogtreecommitdiff
path: root/compat-27.el
AgeCommit message (Collapse)Author
2023-01-03Always load prefixed definitionsDaniel Mendler
We will move away from prefixed definitions later on and introduce `compat-function' and `compat-funcall' macros. These macros make it possible to call compatibility functions with different calling conventions. The prefixed definitions will be deprecated. The problem with the prefixed definitions is two-fold: 1. They pollute the namespace and the API surface of Compat will become larger and larger with every version. 2. Since Compat is not part of Emacs itself, the prefixed definitions cannot be used by :core packages. By adding the `compat-funcall' and `compat-function' macro to the core itself, which is a minimal addition, using compatibility function with modified calling convention becomes possible.
2023-01-03Merge branch 'emacs-29.1'Philip Kaludercic
2023-01-03Update copyright yearsPhilip Kaludercic
2022-11-22Add make-empty-file defined in Emacs 27Philip Kaludercic
2022-09-01Use 'compat-defun' when defining 'derived-mode-p'Philip Kaludercic
Reported by Kunht Kun: https://todo.sr.ht/~pkal/compat/8.
2022-08-30Add text-property-search functions from Emacs 27Philip Kaludercic
2022-08-29Always load compat-macs.el while compilingPhilip Kaludercic
This is another attempt at solving https://todo.sr.ht/~pkal/compat/7, as had been done with 66b83295 before. The difference is that the previous attempt could still avoid re-loading compat-macs.el if 'compat-macs' had previously been loaded, and hence also be missing any new macros that require a manual, full recompilation.
2022-08-29Always load compat-macsPhilip Kaludercic
This is a temporary workaround that might help avoid issues like https://todo.sr.ht/~pkal/compat/7 and perhaps https://todo.sr.ht/~pkal/compat/5 too. This will be reverted before the next release.
2022-08-25Always load compat-macsPhilip Kaludercic
This is a temporary workaround that might help avoid issues like https://todo.sr.ht/~pkal/compat/7 and perhaps https://todo.sr.ht/~pkal/compat/5 too. This will be reverted before the next release.
2022-08-17Remove unused local variable in file-name-absolute-pPhilip Kaludercic
2022-08-10Avoid using when-let in provided-mode-derived-pPhilip Kaludercic
2022-08-10Add derived-mode-p from Emacs 27Philip Kaludercic
2022-08-10Add provided-mode-derived-p from Emacs 27Philip Kaludercic
2022-08-10Explicitly define versions instead of inferring them from file namesPhilip Kaludercic
This is a further simplification that avoids difficult edge cases. Among other things this also satisfied Flymake, that copies and renames files to a temporary directory, breaking the version inference process.
2022-07-20Add file-name-absolute-p from Emacs 28Philip Kaludercic
2022-07-17Add a declare-function for json-serializePhilip Kaludercic
2022-07-17Wrap provide calls in `compat--inhibit-prefixed'Philip Kaludercic
This is even simpler and less risky than copying `features' as it alleviates the risk of confusing the loading procedure.
2022-05-29Re-add void-function tests removed in ec82f43ef0Philip Kaludercic
2022-05-29Fix byte compiler failure introduced in ec82f43ef0Philip Kaludercic
The test in `json-available-p' assumes that t can be interpreted as a JSON value, which was not the case prior to 28.1. It is therefore necessary to modify the test by serializing a value that was supported with Emacs 27.1.
2022-05-28Clarify when to load compat-XY.el filesPhilip Kaludercic
Thanks to Jonas for reporting the discrepancy in this issue: https://todo.sr.ht/~pkal/compat/3.
2022-05-08Use same test as json-available-p for json.c functionsPhilip Kaludercic
2022-05-05Improve json-serialize compatibilityPhilip Kaludercic
On closer inspection, there were more differences between `json-encode' and `json-serialize', that have to be rectified before the object is processed. These include raising errors for the wrong data-types, where `json-serialize' is more strict than `json-encode'.
2022-04-21Ignore unused variable "err" in condition-casePhilip Kaludercic
2022-04-21Improve exec-path if the exec-path handler couldn't be foundPhilip Kaludercic
2022-04-20Add compat--file-local-name declarationPhilip Kaludercic
2022-04-19Add 2022 to the copyright linesPhilip Kaludercic
2022-04-18Add and use exec-pathPhilip Kaludercic
2022-04-18Do not pass more than two argument to <= in date-days-in-monthPhilip Kaludercic
2022-04-18Use an realname reference to file-local-namePhilip Kaludercic
2022-04-14Add date-days-in-monthPhilip Kaludercic
2022-04-14Add time-equal-pPhilip Kaludercic
2022-04-11Add compat-dired-get-marked-filesPhilip Kaludercic
2022-04-11Add compat-executable-findPhilip Kaludercic
2022-04-10Ensure that all prefixed functions do not use :condPhilip Kaludercic
As a prefixed function should always be defined (even if the real function exists and works), using conditions that might result in the function not being included is contradictory and should be avoided.
2022-03-14Avoid failing ":cond"-check if assoc-delete-all is not definedPhilip Kaludercic
2022-03-13Move assoc-delete-all to emacs-27Philip Kaludercic
2022-03-07Add "Maintainer" and "URL" headers to remaining filesPhilip Kaludercic
2022-03-05Ensure that json-insert can use json-serializePhilip Kaludercic
2022-03-05Define setq-local as a macro, not a functionPhilip Kaludercic
2022-03-04Mark all currently untested functionsPhilip Kaludercic
2022-03-04Remove unnecessary whitespace before closing parenthesesPhilip Kaludercic
2022-03-01Drop point releases from file namesPhilip Kaludercic