aboutsummaryrefslogtreecommitdiff
path: root/compat-28.el
AgeCommit message (Collapse)Author
2026-01-01; Update copyright yearsDaniel Mendler
2025-06-12; WhitespaceDaniel Mendler
2025-06-11compat-28: Fix 'named-let's TCO involving short-circuiting 'and'Philip Kaludercic
2025-01-01Update copyright yearsDaniel Mendler
2024-05-30compat-28: Fix links to testsDaniel Mendler
2024-05-30compat-28: Fix links to testsDaniel Mendler
2024-05-30compat-28: Mark subr-native-elisp-p as obsoleteDaniel Mendler
The function has been renamed to native-comp-function-p in Emacs 30.
2024-03-16Use https links everywhereDaniel Mendler
2024-01-12Update copyright yearsDaniel Mendler
2024-01-06Fix typos in documentation (#32)Jonas Bernoulli
2023-09-08Typo in docstring for string-searchMattias Engdegård
2023-09-08Simplify buffer-local-boundpMattias Engdegård
2023-09-08Correct error signalling in sort, length=, length< and length>Mattias Engdegård
2023-08-09Optimize string-searchDaniel Mendler
2023-05-24Use compat-defaliasDaniel Mendler
2023-04-09Check that all compatibility definitions link to a corresponding testDaniel Mendler
2023-04-09compat-28: Add native-comp-available-pDaniel Mendler
2023-04-07Improve make-separator-line againDaniel Mendler
On graphic display use a string of spaces with :underline=t if length is non-nil, otherwise use only a newline :extend=t. On terminal displays use dashes.
2023-04-07make-separator-line: Ensure that argument length is respectedDaniel Mendler
2023-04-07make-separator-line: Use :extend only on Emacs 27 and newerDaniel Mendler
2023-04-07make-separator-line: Emulate 'separator-line' for graphical displaysPhilip Kaludercic
2023-04-07make-separator-line: Do not use undefined separator-line faceDaniel Mendler
2023-03-04compat-28: Add support for natnum defcustom typeDaniel Mendler
2023-02-26Always reload compat-macs to avoid compilation issuesDaniel Mendler
2023-02-11More robust method to require libraries conditionallyDaniel Mendler
2023-02-10compat-28: Add process-lines-ignore-status and process-lines-handling-statusDaniel Mendler
2023-01-25compat-28: Add mark-thing-at-mouseDaniel Mendler
2023-01-22compat-29: Provide string-lines implementation from Emacs 29Daniel Mendler
2023-01-21Rename :explicit to :extendedDaniel Mendler
2023-01-21Shorten docstrings of :explicit definitionsDaniel Mendler
2023-01-21Drop unneeded definitionsDaniel Mendler
2023-01-21Improve commentaryDaniel Mendler
2023-01-21Minor stylistic improvementsDaniel Mendler
2023-01-20Add missing links to testsDaniel Mendler
2023-01-20compat-29: Add substitute-quotesDaniel Mendler
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