From 77ac81dd99252cdb62ec4e5803c7225c9cfad72b Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Thu, 18 Jul 2024 10:27:35 +0200 Subject: [PATCH] update compat Signed-off-by: Andreas Gerler --- elpa/compat-29.1.4.1.signed | 1 - elpa/compat-29.1.4.1/compat-autoloads.el | 34 -- elpa/compat-29.1.4.1/compat-pkg.el | 2 - elpa/compat-29.1.4.5.signed | 1 + .../NEWS.org | 36 +- .../compat-25.el | 4 +- .../compat-26.el | 4 +- .../compat-27.el | 2 +- .../compat-28.el | 42 +- .../compat-29.el | 80 ++-- elpa/compat-29.1.4.5/compat-autoloads.el | 33 ++ .../compat-macs.el | 27 +- elpa/compat-29.1.4.5/compat-pkg.el | 2 + .../compat.el | 16 +- .../compat.info | 388 ++++++++++-------- elpa/{compat-29.1.4.1 => compat-29.1.4.5}/dir | 0 16 files changed, 388 insertions(+), 284 deletions(-) delete mode 100644 elpa/compat-29.1.4.1.signed delete mode 100644 elpa/compat-29.1.4.1/compat-autoloads.el delete mode 100644 elpa/compat-29.1.4.1/compat-pkg.el create mode 100644 elpa/compat-29.1.4.5.signed rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/NEWS.org (90%) rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/compat-25.el (98%) rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/compat-26.el (99%) rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/compat-27.el (99%) rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/compat-28.el (97%) rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/compat-29.el (97%) create mode 100644 elpa/compat-29.1.4.5/compat-autoloads.el rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/compat-macs.el (93%) create mode 100644 elpa/compat-29.1.4.5/compat-pkg.el rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/compat.el (91%) rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/compat.info (94%) rename elpa/{compat-29.1.4.1 => compat-29.1.4.5}/dir (100%) diff --git a/elpa/compat-29.1.4.1.signed b/elpa/compat-29.1.4.1.signed deleted file mode 100644 index 2e67f96e..00000000 --- a/elpa/compat-29.1.4.1.signed +++ /dev/null @@ -1 +0,0 @@ -Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2023-03-26T23:05:02+0200 using RSA \ No newline at end of file diff --git a/elpa/compat-29.1.4.1/compat-autoloads.el b/elpa/compat-29.1.4.1/compat-autoloads.el deleted file mode 100644 index 2044a1b7..00000000 --- a/elpa/compat-29.1.4.1/compat-autoloads.el +++ /dev/null @@ -1,34 +0,0 @@ -;;; compat-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*- -;; -;;; Code: - -(add-to-list 'load-path (directory-file-name - (or (file-name-directory #$) (car load-path)))) - - -;;;### (autoloads nil "compat" "compat.el" (0 0 0 0)) -;;; Generated autoloads from compat.el - -(register-definition-prefixes "compat" '("compat-")) - -;;;*** - -;;;### (autoloads nil "compat-macs" "compat-macs.el" (0 0 0 0)) -;;; Generated autoloads from compat-macs.el - -(register-definition-prefixes "compat-macs" '("compat-")) - -;;;*** - -;;;### (autoloads nil nil ("compat-25.el" "compat-26.el" "compat-27.el" -;;;;;; "compat-28.el" "compat-29.el" "compat-pkg.el") (0 0 0 0)) - -;;;*** - -;; Local Variables: -;; version-control: never -;; no-byte-compile: t -;; no-update-autoloads: t -;; coding: utf-8 -;; End: -;;; compat-autoloads.el ends here diff --git a/elpa/compat-29.1.4.1/compat-pkg.el b/elpa/compat-29.1.4.1/compat-pkg.el deleted file mode 100644 index ce297f22..00000000 --- a/elpa/compat-29.1.4.1/compat-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;; Generated package description from compat.el -*- no-byte-compile: t -*- -(define-package "compat" "29.1.4.1" "Emacs Lisp Compatibility Library" '((emacs "24.4") (seq "2.3")) :commit "cb09942868d50e654f159f9614fe3f22af96e547" :authors '(("Philip Kaludercic , Daniel Mendler" . "mail@daniel-mendler.de")) :maintainer '("Daniel Mendler , Compat Development" . "~pkal/compat-devel@lists.sr.ht") :keywords '("lisp") :url "https://github.com/emacs-compat/compat") diff --git a/elpa/compat-29.1.4.5.signed b/elpa/compat-29.1.4.5.signed new file mode 100644 index 00000000..e82e0d32 --- /dev/null +++ b/elpa/compat-29.1.4.5.signed @@ -0,0 +1 @@ +Good signature from 645357D2883A0966 GNU ELPA Signing Agent (2023) (trust undefined) created at 2024-03-31T11:15:02+0200 using EDDSA \ No newline at end of file diff --git a/elpa/compat-29.1.4.1/NEWS.org b/elpa/compat-29.1.4.5/NEWS.org similarity index 90% rename from elpa/compat-29.1.4.1/NEWS.org rename to elpa/compat-29.1.4.5/NEWS.org index f7f1a1a3..c466a003 100644 --- a/elpa/compat-29.1.4.1/NEWS.org +++ b/elpa/compat-29.1.4.5/NEWS.org @@ -2,6 +2,40 @@ #+link: compat-gh https://github.com/emacs-compat/compat/issues/ #+options: toc:nil num:nil author:nil +* Release of "Compat" Version 29.1.4.5 + +- Minor optimization of ~plist-get~ and ~plist-put~. +- Minor compatibility adjustments for the Emacs 30 development version. +- A minimal version of =compat.el= will be part of Emacs 30. Emacs :core packages + can directly ~(require 'compat)~ without the ~NOERROR~ flag. Furthermore Compat + will not be installed unnecessarily. If a package depending on Emacs 25.1 and + Compat 29.1 is installed on Emacs 30.1, Compat 29.1 will not be installed from + ELPA, since Emacs 30.1 already provides the required functionality. + +(Release <2024-03-16 Sat>) + +* Release of "Compat" Version 29.1.4.4 + +- Fix ~Package-Requires~ header in compat.el +- Fix ~Maintainer~ header in compat.el + +(Release <2023-11-13 Mon>) + +* Release of "Compat" Version 29.1.4.3 + +- compat-29: Add function =char-uppercase-p=. +- compat-29: Add function =window-configuration-equal-p=. + +(Release <2023-11-04 Sat>) + +* Release of "Compat" Version 29.1.4.2 + +- compat-28: Improve =make-separator-line= visuals on graphic displays. +- compat-28: Add =native-comp-available-p=, which always returns nil. +- compat-29: Add variable =lisp-directory=. + +(Release <2023-07-30 Sun>) + * Release of "Compat" Version 29.1.4.1 - compat-29: Add ~directory-abbrev-apply~. @@ -257,7 +291,7 @@ directly (see [[compat-srht:2]]). * Release of "Compat" Version 28.1.1.0 This release mostly fixes a number of smaller bugs that were not -identified as of 28.1.0.0. Nevertheless these warrent a version bump, +identified as of 28.1.0.0. Nevertheless these warrant a version bump, as some of these changes a functional. These include: - The addition of the =file-attribute-*= accessor functions. diff --git a/elpa/compat-29.1.4.1/compat-25.el b/elpa/compat-29.1.4.5/compat-25.el similarity index 98% rename from elpa/compat-29.1.4.1/compat-25.el rename to elpa/compat-29.1.4.5/compat-25.el index b393dc8e..182f5a35 100644 --- a/elpa/compat-29.1.4.1/compat-25.el +++ b/elpa/compat-29.1.4.5/compat-25.el @@ -1,6 +1,6 @@ ;;; compat-25.el --- Functionality added in Emacs 25.1 -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2023 Free Software Foundation, Inc. +;; Copyright (C) 2021-2024 Free Software Foundation, Inc. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -55,7 +55,7 @@ usage: (bool-vector &rest OBJECTS)" (aset seq i (car p)) (setq i (1+ i) p (cdr p))) (apply #'vector list))) - ((signal 'wrong-type-argument 'list-or-vector-p)))) + (t (signal 'wrong-type-argument (list 'list-or-vector-p seq))))) ;;;; Defined in editfns.c diff --git a/elpa/compat-29.1.4.1/compat-26.el b/elpa/compat-29.1.4.5/compat-26.el similarity index 99% rename from elpa/compat-29.1.4.1/compat-26.el rename to elpa/compat-29.1.4.5/compat-26.el index 0c22fbf0..c91a4866 100644 --- a/elpa/compat-29.1.4.1/compat-26.el +++ b/elpa/compat-29.1.4.5/compat-26.el @@ -1,6 +1,6 @@ ;;; compat-26.el --- Functionality added in Emacs 26.1 -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2023 Free Software Foundation, Inc. +;; Copyright (C) 2021-2024 Free Software Foundation, Inc. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -75,7 +75,7 @@ see `region-noncontiguous-p' and `extract-rectangle-bounds'." ;;;; Defined in subr.el -(compat-defun provided-mode-derived-p (mode &rest modes) ;; +(compat-defun provided-mode-derived-p (mode &rest modes) ;; "Non-nil if MODE is derived from one of MODES. Uses the `derived-mode-parent' property of the symbol to trace backwards. If you just want to check `major-mode', use `derived-mode-p'." diff --git a/elpa/compat-29.1.4.1/compat-27.el b/elpa/compat-29.1.4.5/compat-27.el similarity index 99% rename from elpa/compat-29.1.4.1/compat-27.el rename to elpa/compat-29.1.4.5/compat-27.el index 3ff075dd..3de78a49 100644 --- a/elpa/compat-29.1.4.1/compat-27.el +++ b/elpa/compat-29.1.4.5/compat-27.el @@ -1,6 +1,6 @@ ;;; compat-27.el --- Functionality added in Emacs 27.1 -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2023 Free Software Foundation, Inc. +;; Copyright (C) 2021-2024 Free Software Foundation, Inc. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by diff --git a/elpa/compat-29.1.4.1/compat-28.el b/elpa/compat-29.1.4.5/compat-28.el similarity index 97% rename from elpa/compat-29.1.4.1/compat-28.el rename to elpa/compat-29.1.4.5/compat-28.el index 4cca3c20..b5730b11 100644 --- a/elpa/compat-29.1.4.1/compat-28.el +++ b/elpa/compat-29.1.4.5/compat-28.el @@ -1,6 +1,6 @@ ;;; compat-28.el --- Functionality added in Emacs 28.1 -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2023 Free Software Foundation, Inc. +;; Copyright (C) 2021-2024 Free Software Foundation, Inc. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -26,11 +26,15 @@ (compat-version "28.1") +;;;; Defined in comp.c + +(compat-defalias native-comp-available-p ignore) ;; + ;;;; Defined in fns.c ;; FIXME Should handle multibyte regular expressions (compat-defun string-search (needle haystack &optional start-pos) ;; - "Search for the string NEEDLE in the strign HAYSTACK. + "Search for the string NEEDLE in the string HAYSTACK. The return value is the position of the first occurrence of NEEDLE in HAYSTACK, or nil if no match was found. @@ -48,9 +52,8 @@ issues are inherited." (when (and start-pos (or (< (length haystack) start-pos) (< start-pos 0))) (signal 'args-out-of-range (list start-pos))) - (save-match-data - (let ((case-fold-search nil)) - (string-match (regexp-quote needle) haystack start-pos)))) + (let (case-fold-search) + (string-match-p (regexp-quote needle) haystack start-pos))) (compat-defun length= (sequence length) ;; [[compat-tests:length=]] "Returns non-nil if SEQUENCE has a length equal to LENGTH." @@ -62,7 +65,7 @@ issues are inherited." t)) ((arrayp sequence) (= (length sequence) length)) - ((signal 'wrong-type-argument sequence)))) + (t (signal 'wrong-type-argument (list 'sequencep sequence))))) (compat-defun length< (sequence length) ;; [[compat-tests:length<]] "Returns non-nil if SEQUENCE is shorter than LENGTH." @@ -72,7 +75,7 @@ issues are inherited." (null (nthcdr (1- length) sequence))) ((arrayp sequence) (< (length sequence) length)) - ((signal 'wrong-type-argument sequence)))) + (t (signal 'wrong-type-argument (list 'sequencep sequence))))) (compat-defun length> (sequence length) ;; [[compat-tests:length>]] "Returns non-nil if SEQUENCE is longer than LENGTH." @@ -81,7 +84,7 @@ issues are inherited." (and (nthcdr length sequence) t)) ((arrayp sequence) (> (length sequence) length)) - ((signal 'wrong-type-argument sequence)))) + (t (signal 'wrong-type-argument (list 'sequencep sequence))))) ;;;; Defined in fileio.c @@ -132,7 +135,7 @@ inserted before contatenating." (setf (nthcdr count files) nil)) files)) -(compat-defun directory-files-and-attributes (directory &optional full match nosort id-format count) ;; +(compat-defun directory-files-and-attributes (directory &optional full match nosort id-format count) ;; "Handle additional optional argument COUNT." :extended t (let ((files (directory-files-and-attributes directory full match nosort id-format))) @@ -187,7 +190,7 @@ and BLUE, is normalized to have its value in [0,65535]." ;; The "RGBi" (RGB Intensity) specification is defined by ;; XCMS[0], see [1] for the implementation in Xlib. ;; - ;; [0] http://www.nic.funet.fi/pub/X11/X11R4/DOCS/color/Xcms.text + ;; [0] https://www.nic.funet.fi/pub/X11/X11R4/DOCS/color/Xcms.text ;; [1] https://gitlab.freedesktop.org/xorg/lib/libx11/-/blob/master/src/xcms/LRGB.c#L1392 ((string-match ;; (rx bos "rgbi:" (* space) @@ -221,9 +224,11 @@ and BLUE, is normalized to have its value in [0,65535]." (compat-defun make-separator-line (&optional length) ;; "Make a string appropriate for usage as a visual separator line. If LENGTH is nil, use the window width." - (concat (propertize (make-string (or length (1- (window-width))) ?-) - 'face 'separator-line) - "\n")) + (if (display-graphic-p) + (if length + (concat (propertize (make-string length ?\s) 'face '(:underline t)) "\n") + (propertize "\n" 'face '(:extend t :height 0.1 :inverse-video t))) + (concat (make-string (or length (1- (window-width))) ?-) "\n"))) ;;;; Defined in subr.el @@ -349,11 +354,10 @@ REPLACEMENT can use the following special elements: (compat-defun buffer-local-boundp (symbol buffer) ;; "Return non-nil if SYMBOL is bound in BUFFER. Also see `local-variable-p'." - (catch 'fail - (condition-case nil - (buffer-local-value symbol buffer) - (void-variable nil (throw 'fail nil))) - t)) + (condition-case nil + (progn (buffer-local-value symbol buffer) + t) + (void-variable nil))) (compat-defmacro with-existing-directory (&rest body) ;; "Execute BODY with `default-directory' bound to an existing directory. @@ -778,7 +782,7 @@ Other uses risk returning non-nil value that point to the wrong file." ;;;; Defined in env.el (compat-defmacro with-environment-variables (variables &rest body) ;; - "Set VARIABLES in the environent and execute BODY. + "Set VARIABLES in the environment and execute BODY. VARIABLES is a list of variable settings of the form (VAR VALUE), where VAR is the name of the variable (a string) and VALUE is its value (also a string). diff --git a/elpa/compat-29.1.4.1/compat-29.el b/elpa/compat-29.1.4.5/compat-29.el similarity index 97% rename from elpa/compat-29.1.4.1/compat-29.el rename to elpa/compat-29.1.4.5/compat-29.el index 8a22639b..5b0a4dfb 100644 --- a/elpa/compat-29.1.4.1/compat-29.el +++ b/elpa/compat-29.1.4.5/compat-29.el @@ -1,6 +1,6 @@ ;;; compat-29.el --- Functionality added in Emacs 29.1 -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2023 Free Software Foundation, Inc. +;; Copyright (C) 2021-2024 Free Software Foundation, Inc. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -25,11 +25,21 @@ (compat-require compat-28 "28.1") ;; Preloaded in loadup.el -;; TODO Update to 29.1 as soon as the Emacs emacs-29 branch version bumped -(compat-require seq "29.0") ;; +(compat-require seq "29.1") ;; -;; TODO Update to 29.1 as soon as the Emacs emacs-29 branch version bumped -(compat-version "29.0") +(compat-version "29.1") + +;;;; Defined in startup.el + +(compat-defvar lisp-directory ;; + (file-truename + (file-name-directory + (locate-file "simple" load-path (get-load-suffixes)))) + "Directory where Emacs's own *.el and *.elc Lisp files are installed.") + +;;;; Defined in window.c + +(compat-defalias window-configuration-equal-p compare-window-configurations) ;; ;;;; Defined in xdisp.c @@ -92,38 +102,40 @@ Unibyte strings are converted to multibyte for comparison." (compat-defun plist-get (plist prop &optional predicate) ;; "Handle optional argument PREDICATE." :extended t - (if (or (null predicate) (eq predicate 'eq)) - (plist-get plist prop) - (catch 'found - (while (consp plist) - (when (funcall predicate prop (car plist)) - (throw 'found (cadr plist))) - (setq plist (cddr plist)))))) + (pcase predicate + ((or `nil `eq) (plist-get plist prop)) + (`equal (lax-plist-get plist prop)) + (_ (catch 'found + (while (consp plist) + (when (funcall predicate prop (car plist)) + (throw 'found (cadr plist))) + (setq plist (cddr plist))))))) (compat-defun plist-put (plist prop val &optional predicate) ;; "Handle optional argument PREDICATE." :extended t - (if (or (null predicate) (eq predicate 'eq)) - (plist-put plist prop val) - (catch 'found - (let ((tail plist)) - (while (consp tail) - (when (funcall predicate prop (car tail)) - (setcar (cdr tail) val) - (throw 'found plist)) - (setq tail (cddr tail)))) - (nconc plist (list prop val))))) + (pcase predicate + ((or `nil `eq) (plist-put plist prop val)) + (`equal (lax-plist-put plist prop val)) + (_ (catch 'found + (let ((tail plist)) + (while (consp tail) + (when (funcall predicate prop (car tail)) + (setcar (cdr tail) val) + (throw 'found plist)) + (setq tail (cddr tail)))) + (nconc plist (list prop val)))))) (compat-defun plist-member (plist prop &optional predicate) ;; "Handle optional argument PREDICATE." :extended t - (if (or (null predicate) (eq predicate 'eq)) - (plist-member plist prop) - (catch 'found - (while (consp plist) - (when (funcall predicate prop (car plist)) - (throw 'found plist)) - (setq plist (cddr plist)))))) + (pcase predicate + ((or `nil `eq) (plist-member plist prop)) + (_ (catch 'found + (while (consp plist) + (when (funcall predicate prop (car plist)) + (throw 'found plist)) + (setq plist (cddr plist))))))) ;;;; Defined in gv.el @@ -278,7 +290,7 @@ in order to restore the state of the local variables set via this macro. (,(if (fboundp 'compat--setq-local) 'compat--setq-local 'setq-local) ,@pairs))) -(compat-defun list-of-strings-p (object) ;; +(compat-defun list-of-strings-p (object) ;; "Return t if OBJECT is nil or a list of strings." (declare (pure t) (side-effect-free t)) (while (and (consp object) (stringp (car object))) @@ -500,6 +512,14 @@ thus overriding the value of the TIMEOUT argument to that function.") ;;;; Defined in simple.el +(compat-defun char-uppercase-p (char) ;; + "Return non-nil if CHAR is an upper-case character. +If the Unicode tables are not yet available, e.g. during bootstrap, +then gives correct answers only for ASCII characters." + (cond ((unicode-property-table-internal 'lowercase) + (characterp (get-char-code-property char 'lowercase))) + ((and (>= char ?A) (<= char ?Z))))) + (compat-defun use-region-noncontiguous-p () ;; "Return non-nil for a non-contiguous region if `use-region-p'." (and (use-region-p) (region-noncontiguous-p))) diff --git a/elpa/compat-29.1.4.5/compat-autoloads.el b/elpa/compat-29.1.4.5/compat-autoloads.el new file mode 100644 index 00000000..676fd32e --- /dev/null +++ b/elpa/compat-29.1.4.5/compat-autoloads.el @@ -0,0 +1,33 @@ +;;; compat-autoloads.el --- automatically extracted autoloads (do not edit) -*- lexical-binding: t -*- +;; Generated by the `loaddefs-generate' function. + +;; This file is part of GNU Emacs. + +;;; Code: + +(add-to-list 'load-path (or (and load-file-name (directory-file-name (file-name-directory load-file-name))) (car load-path))) + + + +;;; Generated autoloads from compat.el + +(register-definition-prefixes "compat" '("compat-")) + + +;;; Generated autoloads from compat-macs.el + +(register-definition-prefixes "compat-macs" '("compat-")) + +;;; End of scraped data + +(provide 'compat-autoloads) + +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;; no-update-autoloads: t +;; no-native-compile: t +;; coding: utf-8-emacs-unix +;; End: + +;;; compat-autoloads.el ends here diff --git a/elpa/compat-29.1.4.1/compat-macs.el b/elpa/compat-29.1.4.5/compat-macs.el similarity index 93% rename from elpa/compat-29.1.4.1/compat-macs.el rename to elpa/compat-29.1.4.5/compat-macs.el index f34cb0d4..ffd52233 100644 --- a/elpa/compat-29.1.4.1/compat-macs.el +++ b/elpa/compat-29.1.4.5/compat-macs.el @@ -1,6 +1,6 @@ ;;; compat-macs.el --- Compatibility Macros -*- lexical-binding: t; no-byte-compile: t; -*- -;; Copyright (C) 2021-2023 Free Software Foundation, Inc. +;; Copyright (C) 2021-2024 Free Software Foundation, Inc. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -17,12 +17,13 @@ ;;; Commentary: -;; This file provides *internal* macros, which are used by Compat to -;; facilitate the definition of compatibility functions, macros and -;; variables. The `compat-macs' feature should never be loaded at -;; runtime in your Emacs and will only be used during byte -;; compilation. Every definition provided here should be considered -;; internal and may change any time between Compat releases. +;; WARNING: This file provides *internal* macros. The macros are used +;; by Compat to facilitate the definition of compatibility functions, +;; compatibility macros and compatibility variables. The +;; `compat-macs' feature should never be loaded at runtime in your +;; Emacs and will only be used during byte compilation. Every +;; definition provided here is internal, may change any time between +;; Compat releases and must not be used by other packages. ;;; Code: @@ -110,10 +111,9 @@ REST are attributes and the function BODY." ;; Remove unsupported declares. It might be possible to set these ;; properties otherwise. That should be looked into and implemented ;; if it is the case. - (when (and (listp (car-safe body)) (eq (caar body) 'declare)) - (when (<= emacs-major-version 25) - (delq (assq 'side-effect-free (car body)) (car body)) - (delq (assq 'pure (car body)) (car body)))) + (when (and (listp (car-safe body)) (eq (caar body) 'declare) (<= emacs-major-version 25)) + (setcar body (assq-delete-all 'pure (assq-delete-all + 'side-effect-free (car body))))) ;; Use `:extended' name if the function is already defined. (let* ((defname (if (and extended (fboundp name)) (intern (format "compat--%s" name)) @@ -142,7 +142,7 @@ REST are attributes and the function BODY." (defmacro compat-guard (cond &rest rest) "Guard definition with a runtime COND and a version check. The runtime condition must make sure that no definition is -overriden. REST is an attribute plist followed by the definition +overridden. REST is an attribute plist followed by the definition body. The attributes specify the conditions under which the definition is generated. @@ -240,7 +240,8 @@ definition is generated. ;; The boundp check is performed at runtime to make sure that we never ;; redefine an existing definition if Compat is loaded on a newer Emacs ;; version. - `((unless (boundp ',name) + `((defvar ,name) + (unless (boundp ',name) (,(if constant 'defconst 'defvar) ,name ,initval ,(compat-macs--docstring 'variable name docstring)) diff --git a/elpa/compat-29.1.4.5/compat-pkg.el b/elpa/compat-29.1.4.5/compat-pkg.el new file mode 100644 index 00000000..6b172644 --- /dev/null +++ b/elpa/compat-29.1.4.5/compat-pkg.el @@ -0,0 +1,2 @@ +;; Generated package description from compat.el -*- no-byte-compile: t -*- +(define-package "compat" "29.1.4.5" "Emacs Lisp Compatibility Library" '((emacs "24.4") (seq "2.23")) :commit "8d4e8a366681def88751f5e9975738ecd3180deb" :authors '(("Philip Kaludercic" . "philipk@posteo.net") ("Daniel Mendler" . "mail@daniel-mendler.de")) :maintainer '("Compat Development" . "~pkal/compat-devel@lists.sr.ht") :keywords '("lisp" "maint") :url "https://github.com/emacs-compat/compat") diff --git a/elpa/compat-29.1.4.1/compat.el b/elpa/compat-29.1.4.5/compat.el similarity index 91% rename from elpa/compat-29.1.4.1/compat.el rename to elpa/compat-29.1.4.5/compat.el index d318489d..b2eb9fef 100644 --- a/elpa/compat-29.1.4.1/compat.el +++ b/elpa/compat-29.1.4.5/compat.el @@ -1,13 +1,13 @@ ;;; compat.el --- Emacs Lisp Compatibility Library -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2023 Free Software Foundation, Inc. +;; Copyright (C) 2021-2024 Free Software Foundation, Inc. ;; Author: Philip Kaludercic , Daniel Mendler -;; Maintainer: Daniel Mendler , Compat Development <~pkal/compat-devel@lists.sr.ht> -;; Version: 29.1.4.1 +;; Maintainer: Compat Development <~pkal/compat-devel@lists.sr.ht> +;; Version: 29.1.4.5 ;; URL: https://github.com/emacs-compat/compat -;; Package-Requires: ((emacs "24.4") (seq "2.3")) -;; Keywords: lisp +;; Package-Requires: ((emacs "24.4") (seq "2.23")) +;; Keywords: lisp, maint ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -49,11 +49,11 @@ ;; Ensure that the newest compatibility layer is required at compile ;; time and runtime, but only if needed. (eval-when-compile - (defmacro compat--maybe-require-29 () - (when (< emacs-major-version 29) + (defmacro compat--maybe-require () + (when (version< emacs-version "29.1") (require 'compat-29) '(require 'compat-29)))) -(compat--maybe-require-29) +(compat--maybe-require) ;;;; Macros for extended compatibility function calls diff --git a/elpa/compat-29.1.4.1/compat.info b/elpa/compat-29.1.4.5/compat.info similarity index 94% rename from elpa/compat-29.1.4.1/compat.info rename to elpa/compat-29.1.4.5/compat.info index fcd83e1c..04d96edd 100644 --- a/elpa/compat-29.1.4.1/compat.info +++ b/elpa/compat-29.1.4.5/compat.info @@ -1,7 +1,7 @@ -This is doc0jZUSv.info, produced by makeinfo version 6.7 from +This is docXccUUB.info, produced by makeinfo version 6.8 from compat.texi. -Copyright © 2022-2023 Free Software Foundation, Inc. +Copyright © 2022-2024 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -20,16 +20,16 @@ START-INFO-DIR-ENTRY END-INFO-DIR-ENTRY  -File: doc0jZUSv.info, Node: Top, Next: Introduction, Up: (dir) +File: docXccUUB.info, Node: Top, Next: Introduction, Up: (dir) "Compat" Manual *************** This manual documents the usage of the "Compat" Emacs lisp library, the forward-compatibility library for Emacs Lisp, corresponding to version -29.1.4.1. +29.1.4.5. - Copyright © 2022-2023 Free Software Foundation, Inc. + Copyright © 2022-2024 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -68,7 +68,7 @@ Support  -File: doc0jZUSv.info, Node: Introduction, Next: Support, Prev: Top, Up: Top +File: docXccUUB.info, Node: Introduction, Next: Support, Prev: Top, Up: Top 1 Introduction ************** @@ -80,7 +80,7 @@ File: doc0jZUSv.info, Node: Introduction, Next: Support, Prev: Top, Up: Top * Limitations::  -File: doc0jZUSv.info, Node: Overview, Next: Usage, Up: Introduction +File: docXccUUB.info, Node: Overview, Next: Usage, Up: Introduction 1.1 Overview ============ @@ -95,44 +95,51 @@ audience are package developers that are interested in using newer developments, without having to break compatibility.  -File: doc0jZUSv.info, Node: Usage, Next: Limitations, Prev: Overview, Up: Introduction +File: docXccUUB.info, Node: Usage, Next: Limitations, Prev: Overview, Up: Introduction 1.2 Usage ========= The intended use-case for this library is for package developers to add -as a dependency in the header: +as a dependency in the header. The version of the Compat library +mirrors the version of Emacs releases. The current version of Compat +corresponds to the current Emacs release. - ;; Package-Requires: ((emacs "24.4") (compat "29.1.4.1")) + ;; Package-Requires: ((emacs "24.4") (compat "29.1.4.5")) - There is no need to depend on ‘emacs’ 24.4 specifically. One can -choose to any newer version, if features not provided by Compat -necessitate it, for example bug fixes or UI improvements. + There is no need to depend on ‘emacs 24.4’ specifically. One can +choose any newer version, if features not provided by Compat necessitate +it, for example bug fixes or UI improvements. In any file where compatibility forms are used, a (require 'compat) - should be added early on. In packages which are part of Emacs itself -and which want to take advantage of Compat, the ‘noerror’ flag should be -specified: ‘(require 'compat nil 'noerror)’. In the future a minimal -version of Compat may be added to the Emacs core, such that the -‘noerror’ flag will not be necessary anymore. - - This will load all necessary Compat definitions. Compat also loads -the ‘seq’ library which is preloaded by default on Emacs 29. Note that -if Compat is installed on a recent version of Emacs, all of the -definitions are disabled at compile time, such that no negative -performance impact is incurred. - - Note that Compat provides replacement functions with extended -functionality for functions that are already defined (‘sort’, ‘assoc’, -...). These functions may have changed their calling convention -(additional optional arguments) or may have changed their behavior. -These functions must be looked up explicitly with ‘compat-function’ or -called explicitly with ‘compat-call’. We call them “Extended -Definitions”. In contrast, newly “Added Definitions” can be called as -usual. + should be added early on. This will load all necessary Compat +definitions. Compat loads the ‘seq’ library which is preloaded by +default on Emacs 29. Note that if Compat is installed on a recent +version of Emacs, all of the definitions are disabled at compile time, +such that no negative performance impact is incurred. + + A minimal version of Compat will be present in Emacs version 30 and +newer. Packages which are part of Emacs itself and want to take +advantage of Compat, can also use ‘(require 'compat)’. The advantage of +the inclusion of a minimal Compat in Emacs is that Compat will not be +installed if you require a version newer or equal than the current Emacs +version. For example, if a package depending on Emacs 25.1 and Compat +29.1 is installed on Emacs 30.1, Compat will not be pulled in as +dependency, since Emacs 30.1 already provides the required +functionality. + + Compat provides replacement functions with extended functionality for +functions that are already defined, e.g., ‘sort’ or ‘assoc’. These +functions may have changed their calling convention (additional optional +arguments) or may have changed their behavior. These functions must be +looked up explicitly with ‘compat-function’ or called explicitly with +‘compat-call’. We call them “Extended Definitions”. In contrast, newly +“Added Definitions” can be called as usual. The Compat manual +explicitly documents the calling convention of each compatibility +function. (compat-call assoc key alist testfn) ;; Call extended `assoc' (mapcan fun seq) ;; Call newly added `mapcan' @@ -150,22 +157,16 @@ usual. ‘compat-call’ for a more convenient macro to directly call compatibility functions. - If Compat is used in core packages, where Compat must be required -currently with the ‘noerror’ flag, the macros ‘compat-call’ and -‘compat-function’ ar not available. In the future the macros could be -added to subr. Alternatively a minimal version of compat.el could be -added to the core. For now it is necessary to replicate the definition -of the macros within core packages. For example the package ERC defines -its own macro ‘erc-compat-call’, which replicates the Compat definition -precisely. - - This design has been chosen since Compat does not advise or override -existing functions. Generally Compat is written in defensive style -which is supposed to reduce potential breakage, and to increase the -chances of staying binary compatible across releases. The extensive -test coverage ensures that we can maintain high quality, which is -crucial for Compat which is not restricted to a namespace like usual -libraries. + If Compat is used in Emacs core packages, the macros ‘compat-call’ +and ‘compat-function’ will be available in Emacs version 30 and newer. + + The macros ‘compat-call’ and ‘compat-function’ are introduced by +Compat, since Compat does not advise or override existing functions. +Generally Compat is written in defensive style which is supposed to +reduce potential breakage, and to increase the chances of staying binary +compatible across releases. The extensive test coverage ensures that we +can maintain high quality, which is crucial for Compat which is not +restricted to a namespace like usual libraries. If you intend to use a compatibility function in your code it is recommended that you take a look at the test suite ‘compat-tests.el’. @@ -183,7 +184,7 @@ provide a development mailing list <~pkal/compat-devel@lists.sr.ht>).  -File: doc0jZUSv.info, Node: Limitations, Prev: Usage, Up: Introduction +File: docXccUUB.info, Node: Limitations, Prev: Usage, Up: Introduction 1.3 Limitations =============== @@ -195,12 +196,12 @@ limit the size of Compat and to ensure that the library stays maintainable. Emacs version 24.4 is chosen as the oldest version supported by -Compat, since Elisp has seen significant changes at that version. On -the library level, subr-x was introduced in 24.4. Most popular Emacs +Compat, since Elisp has seen significant changes at that version. Since +24.4 Emacs major versions consistently bump the major version number. +On the library level, subr-x was introduced in 24.4. Most popular Emacs packages already require 24.4 or even newer versions of Emacs. Supporting for more historical Emacs versions would complicate -maintainance significantly while only few packages and users would -benefit. +maintenance while only few packages and users would benefit. Below we list a number of reasons why certain functionality cannot be provided. Note that in some special cases exceptions can be made and @@ -246,7 +247,7 @@ belong here, a *note report: Development. would be much appreciated. library functions show wrong behavior for edge cases. In those cases Compat could in principle provide a compatibility function which is invoked via ‘compat-call’. Such extended definitions - would increase the maintainance burden of Compat. At the same time + would increase the maintenance burden of Compat. At the same time the benefits would be small given that Compat does not override existing definitions. @@ -267,15 +268,15 @@ belong here, a *note report: Development. would be much appreciated. external libraries that cannot be reasonably duplicated in the scope of a compatibility library. Sometimes new functions on the C level rely on internal data structures, which we cannot access, - rendering a backport impossible. For example a missing libxml - cannot be emulated. + rendering a backport impossible. For example a missing libxml or + libtreesitter cannot be emulated. • The semantics of Elisp changed on a deep level. For example the - addition of Bigint support in Emacs 27.1 cannot be replicated on - the level of Compat. + addition of big integer support in Emacs 27.1 cannot be replicated + on the level of Compat.  -File: doc0jZUSv.info, Node: Support, Next: Development, Prev: Introduction, Up: Top +File: docXccUUB.info, Node: Support, Next: Development, Prev: Introduction, Up: Top 2 Support ********* @@ -292,7 +293,7 @@ manage to provide for each Emacs version. * Emacs 29.1:: Compatibility support for Emacs 29.1  -File: doc0jZUSv.info, Node: Emacs 25.1, Next: Emacs 26.1, Up: Support +File: docXccUUB.info, Node: Emacs 25.1, Next: Emacs 26.1, Up: Support 2.1 Emacs 25.1 ============== @@ -523,7 +524,7 @@ implemented in 25.1: • The ‘thunk’ library.  -File: doc0jZUSv.info, Node: Emacs 26.1, Next: Emacs 27.1, Prev: Emacs 25.1, Up: Support +File: docXccUUB.info, Node: Emacs 26.1, Next: Emacs 27.1, Prev: Emacs 25.1, Up: Support 2.2 Emacs 26.1 ============== @@ -930,11 +931,11 @@ implemented in 26.1: • All changes related to ‘display-buffer’. • The function ‘window-swap-states’. • The function ‘string-version-lessp’. - • The ‘svg’ library. • The ‘xdg’ library. + • The ‘svg’ library (published separately as a :core package).  -File: doc0jZUSv.info, Node: Emacs 27.1, Next: Emacs 28.1, Prev: Emacs 26.1, Up: Support +File: docXccUUB.info, Node: Emacs 27.1, Next: Emacs 28.1, Prev: Emacs 26.1, Up: Support 2.3 Emacs 27.1 ============== @@ -1403,7 +1404,7 @@ implemented in 27.1: • The ‘image-converter’ library.  -File: doc0jZUSv.info, Node: Emacs 28.1, Next: Emacs 29.1, Prev: Emacs 27.1, Up: Support +File: docXccUUB.info, Node: Emacs 28.1, Next: Emacs 29.1, Prev: Emacs 27.1, Up: Support 2.4 Emacs 28.1 ============== @@ -1778,6 +1779,14 @@ available by Compat. native compilation is not available, this function always returns ‘nil’. + -- Function: native-comp-available-p + This function returns non-‘nil’ if the running Emacs process has + the native-compilation support compiled into it. On systems that + load ‘libgccjit’ dynamically, it also makes sure that library is + available and can be loaded. Lisp programs that need to know up + front whether native-compilation is available should use this + predicate. + -- Macro: with-window-non-dedicated window &rest body Evaluate BODY with WINDOW temporarily made non-dedicated. If WINDOW is nil, use the selected window. Return the value of the @@ -1856,7 +1865,7 @@ implemented in 28.1: • The ‘multisession’ library.  -File: doc0jZUSv.info, Node: Emacs 29.1, Prev: Emacs 28.1, Up: Support +File: docXccUUB.info, Node: Emacs 29.1, Prev: Emacs 28.1, Up: Support 2.5 Emacs 29.1 ============== @@ -1869,9 +1878,17 @@ functions are made available by Compat on Emacs versions older than 29.1. Note that due to upstream changes, it might happen that there will be the need for changes, so use these functions with care. - The ‘defcustom’ type ‘key’ introduced in Emacs 28.1 is made available + The ‘defcustom’ type ‘key’ introduced in Emacs 29.1 is made available by Compat. + -- Variable: lisp-directory + This variable holds a string naming the directory which holds + Emacs’s own ‘*.el’ and ‘*.elc’ files. This is usually the place + where those files are located in the Emacs installation tree, + unless Emacs is run from its build directory in which case it + points to the ‘lisp’ subdirectory in the source directory from + which Emacs was built. + -- Function: count-sentences start end Count sentences in current buffer from START to END. @@ -1974,6 +1991,10 @@ by Compat. Like ‘line-end-position’, but ignores fields (and is more efficient). + -- Function: char-uppercase-p char + Return non-‘nil’ if CHAR is an uppercase character according to + Unicode. + -- Macro: with-delayed-message (timeout message) body... Sometimes it’s unclear whether an operation will take a long time to execute or not, or it can be inconvenient to implement a @@ -2152,7 +2173,7 @@ by Compat. that happens, characters no longer map in a simple way to display columns, and display layout decisions with such strings, such as truncating too wide strings, can be a complex job. This function - helps in performing suvh jobs: it splits up its argument STRING + helps in performing such jobs: it splits up its argument STRING into a list of substrings, where each substring produces a single grapheme cluster that should be displayed as a unit. Lisp programs can then use this list to construct visually-valid substrings of @@ -2455,6 +2476,11 @@ by Compat. This is comparable to ‘and-let*’. + -- Function: window-configuration-equal-p config1 config2 + This function says whether two window configurations have the same + window layout, but ignores the values of point and the saved + scrolling positions—it can return ‘t’ even if those aspects differ. + -- Macro: ert-with-temp-file name &rest body Bind NAME to the name of a new temporary file and evaluate BODY. Delete the temporary file after BODY exits normally or non-locally. @@ -2659,6 +2685,8 @@ implemented in 29.1: • The function ‘string-pixel-width’ and ‘buffer-text-pixel-size’. • The function ‘minibuffer-lazy-highlight-setup’. • The function ‘pp-emacs-lisp-code’. + • The function ‘bidi-string-strip-control-characters’. + • The native function ‘current-cpu-time’. • The functions ‘xdg-state-home’, ‘xdg-current-desktop’ and ‘xdg-session-type’. • The macro ‘setopt’. @@ -2668,9 +2696,10 @@ implemented in 29.1: • The ‘string-edit’ library. • The ‘vtable’ library. • The ‘pixel-fill’ library. + • Support for symbols with position information.  -File: doc0jZUSv.info, Node: Development, Next: Function Index, Prev: Support, Up: Top +File: docXccUUB.info, Node: Development, Next: Function Index, Prev: Support, Up: Top 3 Development ************* @@ -2688,13 +2717,26 @@ issues. We also provide a development mailing list to have signed the FSF copyright assignment (https://www.gnu.org/software/emacs/manual/html_node/emacs/Copyright-Assignment.html), before any non-trivial contribution (roughly 15 lines of code) can be -applied. It is important that you provide tests when you contribute new +applied. + + It is important that you provide tests when you contribute new functionality. Compat has 100% test coverage by the test suite. We use continuous integration to check if patches preserve existing functionality. + Development for the currently stable Emacs version happens in the +main branch of the Compat Git repository. ELPA-devel nightly builds are +created from this branch. New features, which are not yet ready to be +merged directly into the main branch, are developed in feature branches. +Furthermore the Git repository has a branch emacs- where the +development for the upcoming Emacs release takes place. This branch is +separate from the main branch since the new functionality should not be +made available (neither via ELPA nor ELPA-devel) before the new Emacs +version has been reasonably stabilized, e.g., around the time when the +Emacs version branch is created in the Emacs repository on Savannah. +  -File: doc0jZUSv.info, Node: Function Index, Next: Variable Index, Prev: Development, Up: Top +File: docXccUUB.info, Node: Function Index, Next: Variable Index, Prev: Development, Up: Top Appendix A Function Index ************************* @@ -2702,53 +2744,54 @@ Appendix A Function Index [index] * Menu: -* add-display-text-property: Emacs 29.1. (line 178) +* add-display-text-property: Emacs 29.1. (line 190) * alist-get: Emacs 25.1. (line 82) * always: Emacs 28.1. (line 83) * and-let*: Emacs 26.1. (line 158) * assoc-delete-all: Emacs 26.1. (line 13) * bignump: Emacs 27.1. (line 55) -* bool-vector: Emacs 25.1. (line 178) +* bool-vector: Emacs 25.1. (line 177) * bounds-of-thing-at-mouse: Emacs 28.1. (line 292) * buffer-hash: Emacs 26.1. (line 80) * buffer-local-boundp: Emacs 28.1. (line 125) -* buffer-local-restore-state: Emacs 29.1. (line 42) -* buffer-local-set-state: Emacs 29.1. (line 42) -* buffer-match-p: Emacs 29.1. (line 246) -* buttonize: Emacs 29.1. (line 144) -* buttonize-region: Emacs 29.1. (line 153) -* cl-constantly: Emacs 29.1. (line 618) -* cl-once-only: Emacs 29.1. (line 641) -* cl-with-gensyms: Emacs 29.1. (line 622) -* color-dark-p: Emacs 28.1. (line 323) -* color-values-from-color-spec: Emacs 28.1. (line 329) -* compat-call: Usage. (line 43) -* compat-call <1>: Emacs 26.1. (line 278) +* buffer-local-restore-state: Emacs 29.1. (line 50) +* buffer-local-set-state: Emacs 29.1. (line 50) +* buffer-match-p: Emacs 29.1. (line 258) +* buttonize: Emacs 29.1. (line 156) +* buttonize-region: Emacs 29.1. (line 165) +* char-uppercase-p: Emacs 29.1. (line 127) +* cl-constantly: Emacs 29.1. (line 635) +* cl-once-only: Emacs 29.1. (line 658) +* cl-with-gensyms: Emacs 29.1. (line 639) +* color-dark-p: Emacs 28.1. (line 322) +* color-values-from-color-spec: Emacs 28.1. (line 328) +* compat-call: Usage. (line 50) * compat-call alist-get: Emacs 26.1. (line 344) * compat-call assoc: Emacs 26.1. (line 316) * compat-call assoc-delete-all: Emacs 27.1. (line 417) -* compat-call count-windows: Emacs 28.1. (line 405) -* compat-call define-key: Emacs 29.1. (line 738) +* compat-call count-windows: Emacs 28.1. (line 412) +* compat-call define-key: Emacs 29.1. (line 755) * compat-call executable-find: Emacs 27.1. (line 429) * compat-call file-size-human-readable: Emacs 27.1. (line 397) * compat-call line-number-at-pos: Emacs 26.1. (line 330) * compat-call lookup-key: Emacs 27.1. (line 356) -* compat-call plist-get: Emacs 29.1. (line 754) -* compat-call plist-member: Emacs 29.1. (line 778) -* compat-call plist-put: Emacs 29.1. (line 766) +* compat-call make-temp-file: Emacs 26.1. (line 278) +* compat-call plist-get: Emacs 29.1. (line 771) +* compat-call plist-member: Emacs 29.1. (line 795) +* compat-call plist-put: Emacs 29.1. (line 783) * compat-call recenter: Emacs 27.1. (line 346) * compat-call regexp-opt: Emacs 27.1. (line 385) -* compat-call set-transient-map: Emacs 29.1. (line 693) +* compat-call set-transient-map: Emacs 29.1. (line 710) * compat-call setq-local: Emacs 27.1. (line 370) -* compat-call sort: Emacs 25.1. (line 190) -* compat-call string-lines: Emacs 29.1. (line 729) +* compat-call sort: Emacs 25.1. (line 189) +* compat-call string-lines: Emacs 29.1. (line 746) * compat-call string-trim: Emacs 26.1. (line 375) * compat-call string-trim-left: Emacs 26.1. (line 359) * compat-call string-trim-right: Emacs 26.1. (line 367) -* compat-call string-width: Emacs 28.1. (line 388) -* compat-function: Usage. (line 51) -* compiled-function-p: Emacs 29.1. (line 214) -* count-sentences: Emacs 29.1. (line 17) +* compat-call string-width: Emacs 28.1. (line 395) +* compat-function: Usage. (line 58) +* compiled-function-p: Emacs 29.1. (line 226) +* count-sentences: Emacs 29.1. (line 25) * cXXXr: Emacs 26.1. (line 66) * cXXXXr: Emacs 26.1. (line 67) * date-days-in-month: Emacs 27.1. (line 213) @@ -2758,27 +2801,27 @@ Appendix A Function Index * decoded-time-hour: Emacs 27.1. (line 170) * decoded-time-minute: Emacs 27.1. (line 165) * decoded-time-month: Emacs 27.1. (line 180) -* decoded-time-period: Emacs 28.1. (line 360) +* decoded-time-period: Emacs 28.1. (line 359) * decoded-time-second: Emacs 27.1. (line 160) * decoded-time-weekday: Emacs 27.1. (line 190) * decoded-time-year: Emacs 27.1. (line 185) * decoded-time-zone: Emacs 27.1. (line 200) -* define-keymap: Emacs 29.1. (line 506) -* defvar-keymap: Emacs 29.1. (line 574) -* delete-line: Emacs 29.1. (line 51) -* directory-abbrev-apply: Emacs 29.1. (line 370) -* directory-abbrev-make-regexp: Emacs 29.1. (line 367) +* define-keymap: Emacs 29.1. (line 518) +* defvar-keymap: Emacs 29.1. (line 586) +* delete-line: Emacs 29.1. (line 59) +* directory-abbrev-apply: Emacs 29.1. (line 382) +* directory-abbrev-make-regexp: Emacs 29.1. (line 379) * directory-empty-p: Emacs 28.1. (line 243) * directory-name-p: Emacs 25.1. (line 56) * dlet: Emacs 28.1. (line 143) * dolist-with-progress-reporter: Emacs 27.1. (line 119) * ensure-list: Emacs 28.1. (line 158) -* ert-with-temp-directory: Emacs 29.1. (line 606) -* ert-with-temp-file: Emacs 29.1. (line 600) +* ert-with-temp-directory: Emacs 29.1. (line 623) +* ert-with-temp-file: Emacs 29.1. (line 617) * file-attribute-access-time: Emacs 26.1. (line 223) * file-attribute-collect: Emacs 26.1. (line 260) * file-attribute-device-number: Emacs 26.1. (line 255) -* file-attribute-file-identifier: Emacs 29.1. (line 327) +* file-attribute-file-identifier: Emacs 29.1. (line 339) * file-attribute-group-id: Emacs 26.1. (line 218) * file-attribute-inode-number: Emacs 26.1. (line 250) * file-attribute-link-number: Emacs 26.1. (line 208) @@ -2788,15 +2831,15 @@ Appendix A Function Index * file-attribute-status-change-time: Emacs 26.1. (line 234) * file-attribute-type: Emacs 26.1. (line 203) * file-attribute-user-id: Emacs 26.1. (line 213) -* file-backup-file-names: Emacs 28.1. (line 348) -* file-has-changed-p: Emacs 29.1. (line 352) +* file-backup-file-names: Emacs 28.1. (line 347) +* file-has-changed-p: Emacs 29.1. (line 364) * file-local-name: Emacs 26.1. (line 167) -* file-modes-number-to-symbolic: Emacs 28.1. (line 342) +* file-modes-number-to-symbolic: Emacs 28.1. (line 341) * file-name-concat: Emacs 28.1. (line 53) -* file-name-parent-directory: Emacs 29.1. (line 343) +* file-name-parent-directory: Emacs 29.1. (line 355) * file-name-quote: Emacs 26.1. (line 102) * file-name-quoted-p: Emacs 26.1. (line 95) -* file-name-split: Emacs 29.1. (line 333) +* file-name-split: Emacs 29.1. (line 345) * file-name-unquote: Emacs 26.1. (line 90) * file-name-with-extension: Emacs 28.1. (line 225) * file-size-human-readable-iec: Emacs 27.1. (line 251) @@ -2804,54 +2847,55 @@ Appendix A Function Index * flatten-tree: Emacs 27.1. (line 132) * format-message: Emacs 25.1. (line 44) * format-prompt: Emacs 28.1. (line 254) -* funcall-with-delayed-message: Emacs 29.1. (line 136) -* function-alias-p: Emacs 29.1. (line 221) +* funcall-with-delayed-message: Emacs 29.1. (line 148) +* function-alias-p: Emacs 29.1. (line 233) * garbage-collect-maybe: Emacs 28.1. (line 68) * gensym: Emacs 26.1. (line 70) -* get-display-property: Emacs 29.1. (line 161) -* get-scratch-buffer-create: Emacs 29.1. (line 30) -* hash-table-empty: Emacs 25.1. (line 120) -* if-let: Emacs 25.1. (line 97) +* get-display-property: Emacs 29.1. (line 173) +* get-scratch-buffer-create: Emacs 29.1. (line 38) +* hash-table-empty: Emacs 25.1. (line 119) +* if-let: Emacs 25.1. (line 96) * if-let*: Emacs 26.1. (line 149) * ignore-errors: Emacs 27.1. (line 106) * image-property: Emacs 26.1. (line 198) * insert-into-buffer: Emacs 28.1. (line 92) -* key-parse: Emacs 29.1. (line 407) -* key-valid-p: Emacs 29.1. (line 375) -* keymap-global-lookup: Emacs 29.1. (line 502) -* keymap-global-set: Emacs 29.1. (line 436) -* keymap-global-unset: Emacs 29.1. (line 456) -* keymap-local-lookup: Emacs 29.1. (line 498) -* keymap-local-set: Emacs 29.1. (line 446) -* keymap-local-unset: Emacs 29.1. (line 471) -* keymap-lookup: Emacs 29.1. (line 485) -* keymap-set: Emacs 29.1. (line 412) -* keymap-substitute: Emacs 29.1. (line 477) +* key-parse: Emacs 29.1. (line 419) +* key-valid-p: Emacs 29.1. (line 387) +* keymap-global-lookup: Emacs 29.1. (line 514) +* keymap-global-set: Emacs 29.1. (line 448) +* keymap-global-unset: Emacs 29.1. (line 468) +* keymap-local-lookup: Emacs 29.1. (line 510) +* keymap-local-set: Emacs 29.1. (line 458) +* keymap-local-unset: Emacs 29.1. (line 483) +* keymap-lookup: Emacs 29.1. (line 497) +* keymap-set: Emacs 29.1. (line 424) +* keymap-substitute: Emacs 29.1. (line 489) * length<: Emacs 28.1. (line 45) * length=: Emacs 28.1. (line 42) * length>: Emacs 28.1. (line 50) -* list-of-strings-p: Emacs 29.1. (line 54) +* list-of-strings-p: Emacs 29.1. (line 62) * macroexp-file-name: Emacs 28.1. (line 301) -* macroexp-parse: Emacs 25.1. (line 175) -* macroexp-quote: Emacs 25.1. (line 172) +* macroexp-parse: Emacs 25.1. (line 174) +* macroexp-quote: Emacs 25.1. (line 171) * macroexp-warn-and-return: Emacs 28.1. (line 305) -* macroexpand-1: Emacs 25.1. (line 165) +* macroexpand-1: Emacs 25.1. (line 164) * major-mode-restore: Emacs 27.1. (line 22) * major-mode-suspend: Emacs 27.1. (line 13) * make-empty-file: Emacs 27.1. (line 254) -* make-lock-file-name: Emacs 28.1. (line 356) +* make-lock-file-name: Emacs 28.1. (line 355) * make-nearby-temp-file: Emacs 26.1. (line 120) * make-separator-line: Emacs 28.1. (line 88) * mapcan: Emacs 26.1. (line 53) * mark-thing-at-mouse: Emacs 28.1. (line 298) -* match-buffers: Emacs 29.1. (line 280) +* match-buffers: Emacs 29.1. (line 292) * minibuffer-history-value: Emacs 27.1. (line 32) * named-let: Emacs 28.1. (line 207) -* ntake: Emacs 29.1. (line 201) +* native-comp-available-p: Emacs 28.1. (line 376) +* ntake: Emacs 29.1. (line 213) * package-get-version: Emacs 27.1. (line 205) -* plistp: Emacs 29.1. (line 57) -* pos-bol: Emacs 29.1. (line 111) -* pos-eol: Emacs 29.1. (line 115) +* plistp: Emacs 29.1. (line 65) +* pos-bol: Emacs 29.1. (line 119) +* pos-eol: Emacs 29.1. (line 123) * process-lines-handling-status: Emacs 28.1. (line 20) * process-lines-ignore-status: Emacs 28.1. (line 16) * proper-list-p: Emacs 27.1. (line 76) @@ -2859,7 +2903,7 @@ Appendix A Function Index * read-answer: Emacs 26.1. (line 17) * read-char-from-minibuffer: Emacs 27.1. (line 44) * read-multiple-choice: Emacs 26.1. (line 185) -* readablep: Emacs 29.1. (line 20) +* readablep: Emacs 29.1. (line 28) * region-bounds: Emacs 25.1. (line 28) * region-noncontiguous-p: Emacs 25.1. (line 34) * replace-regexp-in-string: Emacs 28.1. (line 117) @@ -2869,48 +2913,49 @@ Appendix A Function Index * string-chop-newline: Emacs 28.1. (line 202) * string-clean-whitespace: Emacs 28.1. (line 171) * string-distance: Emacs 27.1. (line 86) -* string-equal-ignore-case: Emacs 29.1. (line 234) +* string-equal-ignore-case: Emacs 29.1. (line 246) * string-fill: Emacs 28.1. (line 178) -* string-glyph-split: Emacs 29.1. (line 289) +* string-glyph-split: Emacs 29.1. (line 301) * string-greaterp: Emacs 25.1. (line 64) * string-lines: Emacs 28.1. (line 186) * string-pad: Emacs 28.1. (line 193) * string-replace: Emacs 28.1. (line 77) * string-search: Emacs 28.1. (line 34) -* string-split: Emacs 29.1. (line 240) -* subr-native-elisp-p: Emacs 28.1. (line 372) -* subr-primitive-p: Emacs 28.1. (line 365) -* substitute-quotes: Emacs 29.1. (line 26) -* take: Emacs 29.1. (line 187) +* string-split: Emacs 29.1. (line 252) +* subr-native-elisp-p: Emacs 28.1. (line 371) +* subr-primitive-p: Emacs 28.1. (line 364) +* substitute-quotes: Emacs 29.1. (line 34) +* take: Emacs 29.1. (line 199) * temporary-file-directory: Emacs 26.1. (line 137) * text-property-search-backward: Emacs 27.1. (line 332) * text-property-search-forward: Emacs 27.1. (line 260) * text-quoting-style: Emacs 28.1. (line 28) * thing-at-mouse: Emacs 28.1. (line 285) -* thread-first: Emacs 25.1. (line 123) -* thread-last: Emacs 25.1. (line 144) +* thread-first: Emacs 25.1. (line 122) +* thread-last: Emacs 25.1. (line 143) * time-equal-p: Emacs 27.1. (line 208) -* use-region-beginning: Emacs 29.1. (line 39) -* use-region-end: Emacs 29.1. (line 36) -* use-region-noncontiguous-p: Emacs 29.1. (line 33) -* when-let: Emacs 25.1. (line 115) +* use-region-beginning: Emacs 29.1. (line 47) +* use-region-end: Emacs 29.1. (line 44) +* use-region-noncontiguous-p: Emacs 29.1. (line 41) +* when-let: Emacs 25.1. (line 114) * when-let*: Emacs 26.1. (line 153) -* while-let: Emacs 29.1. (line 594) -* with-buffer-unmodified-if-unchanged: Emacs 29.1. (line 312) -* with-delayed-message: Emacs 29.1. (line 119) +* while-let: Emacs 29.1. (line 606) +* window-configuration-equal-p: Emacs 29.1. (line 612) +* with-buffer-unmodified-if-unchanged: Emacs 29.1. (line 324) +* with-delayed-message: Emacs 29.1. (line 131) * with-environment-variables: Emacs 28.1. (line 309) * with-existing-directory: Emacs 28.1. (line 132) * with-file-modes: Emacs 25.1. (line 71) -* with-memoization: Emacs 29.1. (line 60) +* with-memoization: Emacs 29.1. (line 68) * with-minibuffer-selected-window: Emacs 27.1. (line 38) -* with-restriction: Emacs 29.1. (line 65) +* with-restriction: Emacs 29.1. (line 73) * with-suppressed-warnings: Emacs 27.1. (line 65) -* with-window-non-dedicated: Emacs 28.1. (line 377) -* without-restriction: Emacs 29.1. (line 99) +* with-window-non-dedicated: Emacs 28.1. (line 384) +* without-restriction: Emacs 29.1. (line 107) * xor: Emacs 27.1. (line 142)  -File: doc0jZUSv.info, Node: Variable Index, Prev: Function Index, Up: Top +File: docXccUUB.info, Node: Variable Index, Prev: Function Index, Up: Top Appendix B Variable Index ************************* @@ -2920,9 +2965,10 @@ Appendix B Variable Index * exec-path: Emacs 27.1. (line 228) * gensym-counter: Emacs 26.1. (line 77) +* lisp-directory: Emacs 29.1. (line 17) * mounted-file-systems: Emacs 26.1. (line 133) * regexp-unmatchable: Emacs 27.1. (line 152) -* set-transient-map-timeout: Emacs 29.1. (line 719) +* set-transient-map-timeout: Emacs 29.1. (line 736) * text-quoting-style: Emacs 25.1. (line 13) @@ -2932,16 +2978,16 @@ Node: Top829 Node: Introduction2258 Node: Overview2421 Node: Usage2947 -Node: Limitations7161 -Node: Support11945 -Node: Emacs 25.112530 -Node: Emacs 26.121932 -Node: Emacs 27.139184 -Node: Emacs 28.159581 -Node: Emacs 29.179251 -Node: Development115649 -Node: Function Index116669 -Node: Variable Index131882 +Node: Limitations7326 +Node: Support12192 +Node: Emacs 25.112777 +Node: Emacs 26.122179 +Node: Emacs 27.139473 +Node: Emacs 28.159870 +Node: Emacs 29.179951 +Node: Development117330 +Node: Function Index119064 +Node: Variable Index134496  End Tag Table diff --git a/elpa/compat-29.1.4.1/dir b/elpa/compat-29.1.4.5/dir similarity index 100% rename from elpa/compat-29.1.4.1/dir rename to elpa/compat-29.1.4.5/dir -- 2.47.3