dotemacs

My Emacs configuration
git clone git://git.entf.net/dotemacs
Log | Files | Refs | LICENSE

NEWS.org (12496B)


      1 #+link:    compat-srht https://todo.sr.ht/~pkal/compat/
      2 #+link:    compat-gh   https://github.com/emacs-compat/compat/issues/
      3 #+options: toc:nil num:nil author:nil
      4 
      5 * Release of "Compat" Version 29.1.4.1
      6 
      7 - compat-29: Add ~directory-abbrev-apply~.
      8 - compat-29: Add ~directory-abbrev-make-regexp~.
      9 
     10 (Release <2023-03-26 Sun>)
     11 
     12 * Release of "Compat" Version 29.1.4.0
     13 
     14 - compat-27: Drop obsolete ~compat-call dired-get-marked-files~.
     15 - compat-28: Add support for ~defcustom~ type ~natnum~.
     16 - compat-29: Add ~with-restriction~ and ~without-restriction~.
     17 - compat-29: Add ~cl-constantly~.
     18 - compat-29: Drop ~with-narrowing~ which was renamed to ~with-restriction~.
     19 - compat-28: Add support for ~defcustom~ type ~key~.
     20 
     21 (Release <2023-03-05 Sun>)
     22 
     23 * Release of "Compat" Version 29.1.3.4
     24 
     25 - Ensure that ~seq~ is required properly both at compile time and runtime, such
     26   that compilation of downstream packages works even if Compat itself is not
     27   compiled. Magit uses a complex continuous integration system, where Magit is
     28   compiled and tested, while the Compat dependency is not compiled.
     29 - compat-28: Add ~process-lines-handling-status~ and ~process-lines-ignore-status~.
     30 
     31 (Release <2023-02-11 Sat>)
     32 
     33 * Release of "Compat" Version 29.1.3.3
     34 
     35 - compat-27: Add ~with-suppressed-warnings~.
     36 - compat-29: Add ~cl-with-gensyms~ and ~cl-once-only~.
     37 - compat-29: Load ~seq~, which is preloaded on Emacs 29.
     38 
     39 (Release <2023-02-08 Wed>)
     40 
     41 * Release of "Compat" Version 29.1.3.2
     42 
     43 - compat-26: Add ~make-temp-file~ with optional argument TEXT.
     44 - compat-27: Mark ~compat-call dired-get-marked-files~ as obsolete. See the
     45   section limitations in the Compat manual.
     46 - compat-29: Add ~funcall-with-delayed-message~ and ~with-delayed-message~.
     47 - compat-29: Add ~ert-with-temp-file~ and ~ert-with-temp-directory~.
     48 - compat-29: Add ~set-transient-map~ with optional arguments MESSAGE and TIMEOUT.
     49 
     50 (Release <2023-02-01 Wed>)
     51 
     52 * Release of "Compat" Version 29.1.3.1
     53 
     54 - Fix regression, which prevented loading Compat in interpreted mode. We ensure
     55   that Compat works interpreted and byte compiled by running the entire test
     56   suite twice in the CI. See https://github.com/magit/magit/issues/4858 for the
     57   corresponding Magit issue.
     58 - compat-27: Add ~file-name-unquote~.
     59 - compat-28: Add ~mark-thing-at-mouse~.
     60 - compat-29: Replace ~string-lines~ with version from Emacs 29, support optional
     61   KEEP-NEWLINES argument.
     62 
     63 (Release <2023-01-25 Wed>)
     64 
     65 * Release of "Compat" Version 29.1.3.0
     66 
     67 - compat-25: Add ~hash-table-empty-p~.
     68 - compat-25: Add ~macroexp-parse-body~ and ~macroexp-quote~.
     69 - compat-25: Add ~region-noncontiguous-p~.
     70 - compat-25: Add ~save-mark-and-excursion~.
     71 - compat-26: Add ~read-answer~.
     72 - compat-26: Add ~region-bounds~.
     73 - compat-27: Add ~date-ordinal-to-time~.
     74 - compat-27: Add ~file-size-human-readable-iec~.
     75 - compat-27: Add ~major-mode-suspend~ and ~major-mode-restore~.
     76 - compat-27: Add ~make-decoded-time~.
     77 - compat-27: Add ~minibuffer-history-value~.
     78 - compat-27: Add ~read-char-from-minibuffer~.
     79 - compat-27: Add ~ring-resize~.
     80 - compat-28: Add ~color-dark-p~.
     81 - compat-28: Add ~directory-files-and-attributes~ with COUNT argument.
     82 - compat-28: Add ~text-quoting-style~.
     83 - compat-28: Add ~with-window-non-dedicated~.
     84 - compat-29: Add ~buffer-local-set-state~ and ~buffer-local-restore-state~.
     85 - compat-29: Add ~compiled-function-p~.
     86 - compat-29: Add ~count-sentences~.
     87 - compat-29: Add ~delete-line~.
     88 - compat-29: Add ~get-scratch-buffer-create~.
     89 - compat-29: Add ~list-of-strings-p~.
     90 - compat-29: Add ~plist-get~ generalized variable.
     91 - compat-29: Add ~plistp~.
     92 - compat-29: Add ~read-multiple-choice~ with LONG-FORM argument.
     93 - compat-29: Add ~readablep~.
     94 - compat-29: Add ~substitute-quotes~.
     95 - compat-29: Add ~use-region-beginning~, ~use-region-end~ and ~use-region-noncontiguous-p~.
     96 - compat-29: Add ~with-narrowing~.
     97 
     98 (Release <2023-01-22 Sun>)
     99 
    100 * Release of "Compat" Version 29.1.2.0
    101 
    102 - All compatibility functions are covered by tests!
    103 - Add links from compatibility definitions to tests.
    104 - BREAKING: Drop JSON parsing support (libjansson API, unused downstream).
    105 - BREAKING: Drop ~null-device~ (unused downstream).
    106 - BREAKING: Drop ~unlock-buffer~ (unused downstream).
    107 - compat-26: Add ~buffer-hash~.
    108 - compat-27: Add ~fixnump~ and ~bignump~.
    109 - compat-27: Add ~with-minibuffer-selected-window~.
    110 - compat-27: Add generalized variables for ~decoded-time-*~.
    111 - compat-28: Add ~macroexp-warn-and-return~.
    112 - compat-28: Add ~subr-native-elisp-p~.
    113 - compat-28: Add ~bounds-of-thing-at-mouse~.
    114 - compat-29: Add ~with-buffer-unmodified-if-unchanged~.
    115 - compat-29: Fix and test ~define-key~ with REMOVE argument.
    116 
    117 (Release <2023-01-16 Mon>)
    118 
    119 * Release of "Compat" Version 29.1.1.1
    120 
    121 - Add tests, 167 out of 203 definitions tested (82%).
    122 - compat-25: Improve algorithmic complexity of ~sort~.
    123 - compat-28: Add ~make-separator-line~.
    124 - compat-29: Minor fixes to ~keymap-*~ functions.
    125 - compat-29: Add ~with-memoization~.
    126 - compat-29: Add ~buttonize~ and ~buttonize-region~.
    127 
    128 (Release <2023-01-14 Sat>)
    129 
    130 * Release of "Compat" Version 29.1.1.0
    131 
    132 - The macros in ~compat-macs.el~ have been rewritten and simplified. The
    133   refactoring allows to further refine the criteria under which compatibility
    134   aliases, functions, macros and variables are installed.
    135 - Remove deprecated, prefixed compatibility functions.
    136 - Remove deprecated features ~compat-help~, ~compat-font-lock~ and ~compat-24~.
    137 - Compat uses runtime checks (~boundp~, ~fboundp~) to ensure that existing
    138   definitions are never overridden, when Compat is loaded on a newer Emacs than
    139   it was compiled on.
    140 - Compat compiles without byte compilation warnings on all supported Emacs
    141   versions. Warnings are treated as errors in the test suite.
    142 - Compat takes great care to remove unneeded definitions at compile time. On
    143   recent Emacs 29 the byte compiled files are empty and not loaded, such that
    144   Compat does not any cost to the Emacs process.
    145 - compat-26: Fix and test ~image-property~ setter.
    146 - compat-26: Fix and test ~read-multiple-choice~.
    147 - compat-28: Fix and test ~with-existing-directory~.
    148 - compat-28: Drop obsolete function ~make-directory-autoloads~.
    149 - compat-29: Drop broken functions ~string-pixel-width~ and
    150   ~buffer-text-pixel-size~. These functions had poor performance which lead to a
    151   downstream issue in the doom-modeline package. If a more efficient solution is
    152   possible, the function will be added back. See [[compat-gh:8]] for the bug report.
    153 - compat-29: Drop broken function ~string-limit~.
    154 - compat-29: Drop broken macro ~with-buffer-unmodified-if-unchanged~, which relied
    155   on ~buffer-hash~ which does not exist on all supported Emacs versions.
    156 - compat-29: Add ~pos-bol~ and ~pos-eol~.
    157 
    158 (Release <2023-01-07 Sat>)
    159 
    160 * Release of "Compat" Version 29.1.0.1
    161 
    162 - Add multiple new tests for existing APIs.
    163 - Fix bugs in compatibility functions: ~setq-local~, ~proper-list-p, prop-match-p~,
    164   ~file-name-concat~, ~replace-regexp-in-region~, ~replace-string-in-region~.
    165 - Add new Emacs 29 APIs. Some of them are still untested and may change. If you
    166   intend to use an Emacs 29 API please be careful and if possible contribute
    167   test cases. All untested functions are marked in the Compat code. Over time
    168   tests for all functions will be added gradually.
    169 - Add the macros ~compat-call~ and ~compat-function~ to call compatibility
    170   functions. Since Compat avoids overwriting already existing functions, we must
    171   define separate compatibility function definitions for functions which changed
    172   their calling convention or behavior. These compatibility definitions can be
    173   looked up using ~compat-function~ and called with ~compat-call~. For example ~assoc~
    174   can be called with a ~TESTFN~ since Emacs 26. In Emacs 25 and older the calling
    175   convention was ~(assoc KEY ALIST)~. In order to use the new calling convention
    176   you can use ~(compat-call assoc KEY ALIST TESTFN)~.
    177 - Deprecate all ~compat-*~ prefixed functions. Instead use the aforementioned
    178   ~compat-call~ or ~compat-function~ macros.
    179 - Deprecate ~compat-help.el~ and ~compat-font-lock.el.~
    180 - Development moved to GitHub.
    181 - BREAKING: Drop broken function ~func-arity~. Using ~func-arity~ is generally
    182   discouraged and the function is hard to implement properly due to all the
    183   various function types. There it is unlikely that the function will get
    184   reintroduced in Compat.
    185 - BREAKING: Drop broken function ~directory-files-recursively~. In case you need
    186   this function, a patch including tests is welcome.
    187 - BREAKING: Drop support for Emacs 24.3. Emacs 24.4 is required now. In case you
    188   still need Emacs 24.3 support, you can rely on Compat 28.1.2.2.
    189 
    190 (Release <2023-01-05 Thu>)
    191 
    192 * Release of "Compat" Version 28.1.2.2
    193 
    194 This is a minor release that hopes to address [[compat-srht:7]].
    195 
    196 (Release <2022-08-25 Thu>)
    197 
    198 * Release of "Compat" Version 28.1.2.1
    199 
    200 This is a minor release adding the following changes:
    201 
    202 - Add =derived-mode-p= defined in Emacs 27
    203 - Add =provided-mode-derived-p= defined in Emacs 27
    204 - Add =read-multiple-choice= defined in Emacs 26
    205 - Add =file-name-absolute-p= defined in Emacs 28
    206 
    207 The only other notable change is that the manual has been rewritten to
    208 include much more documentation that had been the case previously.
    209 
    210 (Release <2022-08-24 Wed>)
    211 
    212 * Release of "Compat" Version 28.1.2.0
    213 
    214 The main change of this release has been the major simplification of
    215 Compat's initialisation system, improving the situation around issues
    216 people had been reporting ([[compat-srht:4]], once again) with unconventional
    217 or unpopular packaging systems.
    218 
    219 In addition to this, the following functional changes have been made:
    220 
    221 - Fix =format-prompt= of an empty string as "default" argument
    222 - Add =decoded-time-period= defined in Emacs 28
    223 - Add =subr-primitive-p= defined in Emacs 28
    224 
    225 Minor improvements to manual are also part of this release.
    226 
    227 (Release <2022-07-18 Mon>)
    228 
    229 * Release of "Compat" Version 28.1.1.3
    230 
    231 This release just contains a hot-fix for an issue introduced in the
    232 last version, where compat.el raises an error during byte compilation.
    233 See [[compat-srht:4]].
    234 
    235 (Release <2022-06-19 Sun>)
    236 
    237 * Release of "Compat" Version 28.1.1.2
    238 
    239 Two main changes have necessitated a new patch release:
    240 
    241 1. Fix issues related to the loading of compat when uncompiled.  See
    242    [[https://lists.sr.ht/~pkal/compat-devel/%3C20220530191000.2183047-1-jonas%40bernoul.li%3E][this thread]] for more details on the problem.
    243 2. Fix issues related to the loading of compat on old pre-releases
    244    (think of 28.0.50). See [[https://lists.sr.ht/~pkal/compat-devel/%3Cf8635d7d-e233-448f-b325-9e850363241c%40www.fastmail.com%3E][this thread]] for more details on the
    245    problem.
    246 
    247 (Released <2022-06-22 Wed>)
    248 
    249 * Release of "Compat" Version 28.1.1.1
    250 
    251 This is a minor release fixing a bug in =json-serialize=, that could
    252 cause unintended side-effects, not related to packages using Compat
    253 directly (see [[compat-srht:2]]).
    254 
    255 (Released <2022-05-05 Thu>)
    256 
    257 * Release of "Compat" Version 28.1.1.0
    258 
    259 This release mostly fixes a number of smaller bugs that were not
    260 identified as of 28.1.0.0.  Nevertheless these warrent a version bump,
    261 as some of these changes a functional.  These include:
    262 
    263 - The addition of the =file-attribute-*= accessor functions.
    264 - The addition of =file-attribute-collect=.
    265 - Improvements to the Texinfo manual (via Jonas Bernoulli's recent
    266   work on =ox-texinfo=).  For the time being, the Texinfo file is
    267   maintained in the repository itself, next to the =MANUAL= file.
    268   This might change in the future.
    269 - Adding a prefix to =string-trim=, =string-trim-left= and
    270   =string-trim-right= (i.e. now =compat-string-trim=,
    271   =compat-string-trim-left= and =compat-string-trim-right=)
    272 - Improving the version inference used in the =compat-*= macros.
    273   This improves the compile-time optimisation that strips away
    274   functions that are known to be defined for a specific version.
    275 - The addition of generalised variable (=setf=) support for
    276   =compat-alist-get=.
    277 - The addition of =image-property= and generalised variable support
    278   for =image-property=.
    279 - The addition of the function =compat-executable-find=.
    280 - The addition of the function =compat-dired-get-marked-files=.
    281 - The addition of the function =exec-path=.
    282 - The addition of the function =make-lock-file-name=.
    283 - The addition of the function =null-device=.
    284 - The addition of the function =time-equal-p=.
    285 - The addition of the function =date-days-in-month=.
    286 - Handling out-of-directory byte compilation better.
    287 - Fixing the usage and edge-cases of =and-let*=.
    288 
    289 (Released <2022-04-22 Fri>)