aboutsummaryrefslogtreecommitdiff
path: root/compat.texi
AgeCommit message (Collapse)Author
2023-01-21Update readmeDaniel Mendler
2023-01-21Update manualDaniel Mendler
2023-01-21Improve manualDaniel Mendler
2023-01-20compat-29: Add substitute-quotesDaniel Mendler
2023-01-20compat-29: Add use-region-noncontiguous-pDaniel Mendler
2023-01-20compat-25: Add save-mark-and-excursionDaniel Mendler
2023-01-20compat-27: Add minibuffer-history-valueDaniel Mendler
2023-01-20compat-27: Add ring-resizeDaniel Mendler
2023-01-19compat-25: Add macroexp-parse-body and macroexp-quoteDaniel Mendler
2023-01-19compat-29: Add use-region-beginning, use-region-end and ↵Daniel Mendler
get-scratch-buffer-create
2023-01-18compat-29: Add buffer-local-set-state and buffer-local-restore-stateDaniel Mendler
2023-01-18Manual: Document more missing functionsDaniel Mendler
2023-01-18compat-29: Add with-narrowingDaniel Mendler
2023-01-17compat-29: Add delete-lineDaniel Mendler
2023-01-17compat-29: Add list-of-strings-pDaniel Mendler
2023-01-17compat-29: Add plistpDaniel Mendler
2023-01-17Fix manualDaniel Mendler
2023-01-17compat-29: Add compiled-function-pDaniel Mendler
2023-01-17compat-29: Add plist-get generalized variableDaniel Mendler
2023-01-17compat-28: Add with-window-non-dedicatedDaniel Mendler
2023-01-17compat.texi: Add missing definitionDaniel Mendler
2023-01-17compat-25: Add hash-table-empty-pDaniel Mendler
2023-01-17compat-28: Add color-dark-pDaniel Mendler
2023-01-17Manual: Document more missing functionsDaniel Mendler
2023-01-16compat-27: Add date-ordinal-to-timeDaniel 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-16Update documentation, test coverage is now 100%.Daniel Mendler
2023-01-16Bump snapshot versionDaniel 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-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-15Add buffer-hash and with-buffer-unmodified-if-unchangedDaniel Mendler
2023-01-15compat-28: Add bounds-of-thing-at-mouseDaniel Mendler
2023-01-15compat-27: Add with-minibuffer-selected-windowDaniel Mendler
2023-01-15compat-28: Add subr-native-elisp-pDaniel Mendler
2023-01-15compat-27: Add fixnump and bignumpDaniel Mendler
2023-01-15compat-28: Add test for count-windowsDaniel Mendler
2023-01-14compat-28: Add macroexp-warn-and-returnDaniel Mendler
2023-01-14Update manualDaniel Mendler
2023-01-14Manual: Update version numbersDaniel Mendler
2023-01-12compat-29: Add buttonize and buttonize-regionDaniel Mendler
2023-01-10compat-29: Add with-memoizationDaniel Mendler
2023-01-09compat-28: Add make-separator-lineDaniel Mendler
2023-01-09Update manual, decoded-time-period is supportedDaniel Mendler
2023-01-08README: The mirror is outdatedDaniel Mendler
2023-01-07compat-29: Drop with-buffer-unmodified-if-unchangedDaniel Mendler
2023-01-07compat-29: Add pos-bol and pos-eolDaniel Mendler
2023-01-07compat-tests: Fix and test read-multiple-choiceDaniel 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-29: Drop broken string-limitDaniel Mendler
2023-01-07compat-29: Drop broken string-pixel-width and window-pixel-width (Fix #8)Daniel Mendler
These functions seem to hangup from time to time on 28.2 (seagle0128/doom-modeline#601). By dropping the functions the hangup in doom-modeline is resolved, since doom-modeline contains a runtime check for string-pixel-width. The compatibility function implementations do not contain any loops, this means there is an underlying bug in `window-text-pixel-size' in 28.2 exposed by the compatibility function. Either the compatibility function must be written in a different form or we cannot provide them at all.