aboutsummaryrefslogtreecommitdiff
path: root/compat-28.el
AgeCommit message (Collapse)Author
2023-01-19Backport pcasefeature/pcaseDaniel Mendler
Seems problematic
2023-01-18compat-28: Add directory-files-and-attributes with COUNT argumentDaniel Mendler
2023-01-17compat-28: Add with-window-non-dedicatedDaniel Mendler
2023-01-17compat-28: Add color-dark-pDaniel Mendler
2023-01-16Drop explicit unlock-bufferDaniel Mendler
This API is unused as of now. Most of the file locking API additions in Emacs 28 are missing, lock-file, unlock-file, etc. Those have higher priority.
2023-01-16Add test for file-backup-file-namesDaniel Mendler
2023-01-16compat-28: Drop null-deviceDaniel Mendler
This API is currently unused. I first have to understand `with-connection-local-variables' better. Maybe that macro should be backported first. The function `null-device' always returns /dev/null for me. What is the point of this API?
2023-01-16null-device: Use file-remote-pDaniel Mendler
2023-01-16Add test for directory-filesDaniel Mendler
2023-01-16Add test for thing-at-mouseDaniel Mendler
2023-01-16Add test for directory-empty-pDaniel Mendler
2023-01-16Drop JSON support for now (libjansson)Daniel Mendler
I have not taken this decision lightly. There are currently no consumers of the backported JSON api, which allows us to take this measure. The problem is that backporting the libjansson API on top of json.el is non-trivial and led to numerous problems: 1. There is a significant mismatch between the libjansson API and the json.el API. 2. The libjansson API did not support RFC 8259 when it was introduced in 27 This was corrected in 28, which requires Compat to provide two compatibility versions for the json functions. 3. The `json-serialize' compatibility function was very inefficient, since it has to walk and copy the entire object tree in order to repair certain objects for the consumption by `json-encode'. This adds slowness on top of the already slow json.el implementation. 4. `json-parse-buffer' (RFC 8259) modifies the buffer in order to support toplevel object parsing and relies on undo to restore the buffer state. This will not work for read-only buffers and for buffers with disable undo and will have other undesired side effects. 5. The performance of libjansson and json.el are too different. It will be unexpected if a backported API is suddenly much slower as expected. This leads to performance bugs downstream. For now the JSON support lives in the json branch. We can reinstate it slowly and on-demand if necessary. However experience with the `string-pixel-width' function showed that we have to be careful when backports are much slower than the original function due to performance bugs.
2023-01-15Fix compat-tests linksDaniel Mendler
2023-01-15Nicer link syntaxDaniel Mendler
2023-01-15Add links from compatibility functions to testsDaniel Mendler
2023-01-15compat-28: Add bounds-of-thing-at-mouseDaniel Mendler
2023-01-15compat-macs: Simplification, remove :min-version and :max-versionDaniel Mendler
2023-01-15compat-28: Add subr-native-elisp-pDaniel Mendler
2023-01-15compat-28: Add test for count-windowsDaniel Mendler
2023-01-14compat-28: Add macroexp-warn-and-returnDaniel Mendler
2023-01-14compat-28: Use original definition of decoded-time-periodDaniel Mendler
2023-01-12Remove unnecessary :feature arguments from compat-defunsDaniel Mendler
2023-01-12compat-29: Add buttonize and buttonize-regionDaniel Mendler
2023-01-12compat-28: Add test for macroexp-file-nameDaniel Mendler
2023-01-12compat-28: Add test for dletDaniel Mendler
2023-01-09alist-get: Minor cleanupDaniel Mendler
2023-01-09Remove unnecessary declare-functionDaniel Mendler
2023-01-09compat-28: Add make-separator-lineDaniel Mendler
2023-01-07compat-28: Fix and test with-existing-directoryDaniel Mendler
2023-01-07compat-28: Drop make-directory-autoloadsDaniel Mendler
This command has been added in 28.1 and deprecated in 29.1. It was untested in compat.el all along.
2023-01-07compat-tests: Add test for with-environment-variablesDaniel Mendler
2023-01-07Explicit functions: Mention reason of existence in the docstringDaniel Mendler
Replicating the docstring of the original function is not needed.
2023-01-06Move json functions to compat.elDaniel Mendler
These functions are defined conditionally. Therefore they must not be part of the versioned files. Conditionally-defined functions are a special complicated edge case, which need more testing. Therefore the json functions are currently marked as UNTESTED.
2023-01-06Only require Compat libraries which are neededDaniel Mendler
2023-01-05Fix and test replace-regexp/string-in-regionDaniel Mendler
2023-01-05Use ashDaniel Mendler
2023-01-05Remove :versionDaniel Mendler
2023-01-05Add string-splitDaniel Mendler
2023-01-05Remove unnecessary declare-functionsDaniel Mendler
2023-01-05Fix file-name-concatDaniel Mendler
2023-01-05Use string-remove-prefixDaniel Mendler
2023-01-04Test buffer-local-boundpDaniel Mendler
2023-01-04Mark a few functions as testedDaniel Mendler
2023-01-04Add testsDaniel Mendler
2023-01-04Test setq-localDaniel Mendler
2023-01-04Add gensym testDaniel Mendler
2023-01-04Mark tested functionsDaniel Mendler
2023-01-04RenameDaniel Mendler
2023-01-04Add UNTESTED labels behind compat-defuns for greppabilityDaniel Mendler
2023-01-04Always require subr-x at compile timeDaniel Mendler