[elpa] externals/posframe 1dfac36 1/2: * posframe.el (posframe-poshandler-p0.5p0-to-w0.5p1): Use posframe-poshandler-p0p0-to-p0p1 to get y.
branch: externals/posframe commit 1dfac3639ae6549c3a88a3ab869f13102ffa6443 Author: Feng Shu Commit: Feng Shu * posframe.el (posframe-poshandler-p0.5p0-to-w0.5p1): Use posframe-poshandler-p0p0-to-p0p1 to get y. --- posframe.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posframe.el b/posframe.el index d5002ae..c2d84e2 100644 --- a/posframe.el +++ b/posframe.el @@ -1145,7 +1145,7 @@ Get a posframe position, which let posframe(0.5, 0) align to a position, which x = x of window(0.5, 0) and y = y of point(0, 1). The structure of INFO can be found in docstring of `posframe-show'. " (let ((x (car (posframe-poshandler-p0.5p0-to-w0.5w0 info))) -(y (cdr (posframe-poshandler-point-1 info +(y (cdr (posframe-poshandler-p0p0-to-p0p1 info (cons x y))) (defalias 'posframe-poshandler-point-bottom-left-corner-upward #'posframe-poshandler-p0p1-to-p0p1)
[elpa] externals/posframe cd4f8d2 2/2: * posframe.el (posframe-poshandler-p0.5p0-to-f0.5p1): New function.
branch: externals/posframe commit cd4f8d20f14c13423368c08af95cda1aa17ae1e6 Author: Feng Shu Commit: Feng Shu * posframe.el (posframe-poshandler-p0.5p0-to-f0.5p1): New function. --- posframe.el | 10 ++ 1 file changed, 10 insertions(+) diff --git a/posframe.el b/posframe.el index c2d84e2..656f102 100644 --- a/posframe.el +++ b/posframe.el @@ -1148,6 +1148,16 @@ structure of INFO can be found in docstring of `posframe-show'. " (y (cdr (posframe-poshandler-p0p0-to-p0p1 info (cons x y))) +(defun posframe-poshandler-p0.5p0-to-f0.5p1 (info) + "Posframe's position hanlder. + +Get a posframe position, which let posframe(0.5, 0) align to a +position, which x = x of frame(0.5, 0) and y = y of point(0, 1). The +structure of INFO can be found in docstring of `posframe-show'. " + (let ((x (car (posframe-poshandler-p0.5p0-to-f0.5f0 info))) +(y (cdr (posframe-poshandler-p0p0-to-p0p1 info +(cons x y))) + (defalias 'posframe-poshandler-point-bottom-left-corner-upward #'posframe-poshandler-p0p1-to-p0p1) (defun posframe-poshandler-p0p1-to-p0p1 (info) "Posframe's position hanlder.
[elpa] externals/posframe updated (c33d7b6 -> cd4f8d2)
elpasync pushed a change to branch externals/posframe. from c33d7b6 Simplify posframe-poshandler-point-1 new 1dfac36 * posframe.el (posframe-poshandler-p0.5p0-to-w0.5p1): Use posframe-poshandler-p0p0-to-p0p1 to get y. new cd4f8d2 * posframe.el (posframe-poshandler-p0.5p0-to-f0.5p1): New function. Summary of changes: posframe.el | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-)
[elpa] externals/org e2fa3c4: org-element-cache-map: Increase minimal Emacs version in 717a847d6
branch: externals/org commit e2fa3c4c4046b6f547e1f3c116e174e8f12ca5e1 Author: Ihor Radchenko Commit: Ihor Radchenko org-element-cache-map: Increase minimal Emacs version in 717a847d6 * lisp/org-element.el (org-element-cache-map): Do not byte-compile FUNC in Emacs 28 as well. Some variants of Emacs 28 do not byte-compile the lambda correctly [1]. [1] https://list.orgmode.org/87tuha62rq.fsf@localhost/T/#ma9f23ef9e96de01c53451f40d097e4ce2fd51571 --- lisp/org-element.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/org-element.el b/lisp/org-element.el index a69f89c..dbdacee 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -7110,7 +7110,7 @@ of FUNC. Changes to elements made in FUNC will also alter the cache." ;; somehow alters the FUNC result in ;; Emacs 26 and 27, but not in Emacs ;; >=28. - (version< emacs-version "28")) + (version< emacs-version "29")) func (let ((warning-minimum-log-level :error) (inhibit-message t))
[elpa] externals/eev 0691a8c: Fixed `find-libera-2a' and `find-libera-3a' in rcirc.el.
line into hyperlinks: - \\[eewrap-find-fline] -- wrap its contents in a `find-fline' - \\[eewrap-man] -- wrap its contents in a `find-man' - \\[eewrap-sh] -- wrap its contents in a `find-sh' - \\[eewrap-eepitch] -- generate an \" (eepitch-{xxx,kill,xxx})\" block - \\[eewrap-anchor] -- convert to two anchors pointing to one another - \\[eewrap-code-c-d] -- wrap its contents in a `code-c-d' and a `find-_file' - \\[eewrap-debian] -- wrap its contents in three Debian hyperlinks - \\[eewrap-eejump] -- make a `(defun eejump-N ...)' from N and a hyperlink - \\[eewrap-rm/mkdir/cd] -- make a rm/mkdir/cd triple - \\[eewrap-pdflike] -- generate links to pdf-like documents - \\[eewrap-audiovideo] -- generate audio/video hyperlinks -See: (find-wrap-intro) + \\[ee-kill-this-buffer] -- kill this buffer + \\[bury-buffer] -- put this buffer at the end of the list of all buffers + See: (find-eval-intro \"5. Going back\") +Jump to predefined places: + \\[eejump] -- jump to the list of eejump targets / show basic help + M-5 \\[eejump] -- jump to the tutorial at (find-eev-quick-intro) + M-2 \\[eejump] -- jump to the tutorial at (find-emacs-keys-intro) + M-1 \\[eejump] -- open the file ~/TODO + See: (find-eev-quick-intro \"7.2. The list of eejump targets\") +Control shell-like commands: + \\[eepitch-this-line] -- pitch this line to another Emacs buffer, + or execute it as lisp if it starts with `' + \\[eewrap-eepitch] -- generate an \" (eepitch-{xxx,kill,xxx})\" block + \\[eeit] -- create a test block + See: (find-eev-quick-intro \"6. Controlling shell-like programs\") +Commands to convert (\"wrap\") the current line into hyperlinks: + \\[eewrap-find-fline] -- wrap its contents in a `find-fline' + \\[eewrap-man] -- wrap its contents in a `find-man' + \\[eewrap-sh] -- wrap its contents in a `find-sh' + \\[eewrap-debian] -- wrap its contents in three Debian hyperlinks +Commands to convert the current line into other things: + \\[eewrap-eejump] -- make a `(defun eejump-N ...)' from N and a hyperlink + \\[eewrap-escript-block] -- convert to an e-script block + \\[eewrap-anchor] -- convert to two anchors pointing to one another + \\[eewrap-rm/mkdir/cd] -- make a rm/mkdir/cd triple +See: (find-wrap-intro) Commands to generate pages with lists of hyperlinks: - \\[find-here-links] -- \"hyperlinks to here\", which supersedes all these: - \\[find-efunction-links] -- hyperlinks to an Emacs function - \\[find-ekey-links] -- hyperlinks to a key sequence and to the function - associated to it - \\[find-evariable-links] -- hyperlinks to an Emacs variable - \\[find-eface-links] -- hyperlinks to a face (default: face at point) - \\[find-debpkg-links] -- hyperlinks about a Debian package - \\[find-ecolor-links] -- hyperlinks to a color - (find-eev-quick-intro \"4.2. `find-ekey-links' and friends\") - (find-here-links-intro) + \\[find-efunction-links] -- hyperlinks to an Emacs function + \\[find-ekey-links] -- hyperlinks to a key sequence + \\[find-evariable-links] -- hyperlinks to an Emacs variable + \\[find-eface-links] -- hyperlinks to a face (default: face at point) + \\[find-debpkg-links] -- hyperlinks about a Debian package + \\[find-here-links] -- hyperlinks to here + M-3 \\[find-here-links] -- hyperlinks to here for beginners + See: (find-eev-quick-intro \"\\n4.2.\" \"find-ekey-links\") + (find-here-links-intro \"4.\" \"find-here-links-3\") Commands to edit hyperlinks: - \\[ee-duplicate-this-line] -- duplicate this line - \\[ee-yank-pos-spec] -- yank into pos-spec-list - \\[ee-shrink-hyperlink-at-eol] -- shrink `find-xxxfile' to `find-xxx' - \\[eewrap-vldi-list-line] -- transform filename into hyperlink - See: (find-eval-intro \"Producing and refining hyperlinks\") -Other commands: - \\[find-eev-mode-links] -- show this help about eev-mode, or some links - \\[describe-char] -- lots of info about the character at point - \\[find-etpat] -- text properties at point - \\[find-etpat0] -- text properties at point (output in the echo area)") - + \\[ee-duplicate-this-line] -- duplicate this line + \\[ee-yank-pos-spec] -- yank into pos-spec-list + \\[ee-copy-this-line-to-kill-ring] -- copy this line to the kill ring + M-1 \\[ee-copy-this-line-to-kill-ring] -- copy the last anchor to the kill ring + \\[ee-shrink-hyperlink-at-eol] -- shrink `find-xxxfile' to `find-xxx' + See: (find-refining-intro \"2. Refining hyperlinks\") +") (defun eev-mode-define () "Use this to redefine `eev-mode' with another lighter and another docstring." diff --git a/eev-rcirc.el b/eev-rc
[elpa] externals/posframe e453fad 2/3: hanlder -> handler
branch: externals/posframe commit e453fad1dff06ed9c68735e1125d0cdbe2a4a231 Author: Feng Shu Commit: Feng Shu hanlder -> handler --- posframe.el | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/posframe.el b/posframe.el index 465eb9f..223a220 100644 --- a/posframe.el +++ b/posframe.el @@ -1086,7 +1086,7 @@ poshandler easily used for other purposes." :y-pixel-offset (or y-pixel-offset 0 (defun posframe-poshandler-absolute-x-y (info) - "Posframe's position hanlder. + "Posframe's position handler. Deal with (integer . integer) style position, the structure of INFO can be found in docstring @@ -1141,7 +1141,7 @@ of `posframe-show'." (defalias 'posframe-poshandler-point-bottom-left-corner #'posframe-poshandler-p0p0-to-p0p1) (defun posframe-poshandler-p0p0-to-p0p1 (info) - "Posframe's position hanlder. + "Posframe's position handler. Get a posframe position, which let posframe(0, 0) align to point(0, 1). The structure of INFO can be found in docstring of @@ -1151,7 +1151,7 @@ point(0, 1). The structure of INFO can be found in docstring of (defalias 'posframe-poshandler-point-window-center #'posframe-poshandler-p0.5p0-to-w0.5p1) (defun posframe-poshandler-p0.5p0-to-w0.5p1 (info) - "Posframe's position hanlder. + "Posframe's position handler. Get a posframe position, which let posframe(0.5, 0) align to a position, which x = x of window(0.5, 0) and y = y of point(0, 1). The @@ -1161,7 +1161,7 @@ structure of INFO can be found in docstring of `posframe-show'. " (cons x y))) (defun posframe-poshandler-p0.5p0-to-f0.5p1 (info) - "Posframe's position hanlder. + "Posframe's position handler. Get a posframe position, which let posframe(0.5, 0) align to a position, which x = x of frame(0.5, 0) and y = y of point(0, 1). The @@ -1172,7 +1172,7 @@ structure of INFO can be found in docstring of `posframe-show'. " (defalias 'posframe-poshandler-point-bottom-left-corner-upward #'posframe-poshandler-p0p1-to-p0p1) (defun posframe-poshandler-p0p1-to-p0p1 (info) - "Posframe's position hanlder. + "Posframe's position handler. Get a posframe position, which let posframe(0, 1) align to point(0, 1). The structure of INFO can be found in docstring of @@ -1181,7 +1181,7 @@ point(0, 1). The structure of INFO can be found in docstring of (defalias 'posframe-poshandler-point-top-left-corner #'posframe-poshandler-p0p0-to-p0p0) (defun posframe-poshandler-p0p0-to-p0p0 (info) - "Posframe's position hanlder. + "Posframe's position handler. Get a posframe position, which let posframe(0, 0) align to point(0, 0). The structure of INFO can be found in docstring of
[elpa] externals/posframe e5ca8bf 3/3: Improve docstring of posframe-poshandler-*
branch: externals/posframe commit e5ca8bf12294aaf7496f978a56bb917bfa22a5a7 Author: Feng Shu Commit: Feng Shu Improve docstring of posframe-poshandler-* --- posframe.el | 99 + 1 file changed, 41 insertions(+), 58 deletions(-) diff --git a/posframe.el b/posframe.el index 223a220..a27c671 100644 --- a/posframe.el +++ b/posframe.el @@ -1143,19 +1143,18 @@ of `posframe-show'." (defun posframe-poshandler-p0p0-to-p0p1 (info) "Posframe's position handler. -Get a posframe position, which let posframe(0, 0) align to -point(0, 1). The structure of INFO can be found in docstring of -`posframe-show'. Optional argument FONT-HEIGHT, UPWARD, CENTERING -." +Let posframe(0, 0) align to point(0, 1). The structure of INFO +can be found in docstring of `posframe-show'. Optional argument +FONT-HEIGHT, UPWARD, CENTERING ." (posframe-poshandler-point-1 info)) (defalias 'posframe-poshandler-point-window-center #'posframe-poshandler-p0.5p0-to-w0.5p1) (defun posframe-poshandler-p0.5p0-to-w0.5p1 (info) "Posframe's position handler. -Get a posframe position, which let posframe(0.5, 0) align to a -position, which x = x of window(0.5, 0) and y = y of point(0, 1). The -structure of INFO can be found in docstring of `posframe-show'. " +Let posframe(0.5, 0) align to a position, which x = x of +window(0.5, 0) and y = y of point(0, 1). The structure of INFO +can be found in docstring of `posframe-show'. " (let ((x (car (posframe-poshandler-p0.5p0-to-w0.5w0 info))) (y (cdr (posframe-poshandler-p0p0-to-p0p1 info (cons x y))) @@ -1163,9 +1162,9 @@ structure of INFO can be found in docstring of `posframe-show'. " (defun posframe-poshandler-p0.5p0-to-f0.5p1 (info) "Posframe's position handler. -Get a posframe position, which let posframe(0.5, 0) align to a -position, which x = x of frame(0.5, 0) and y = y of point(0, 1). The -structure of INFO can be found in docstring of `posframe-show'. " +Let posframe(0.5, 0) align to a position, which x = x of +frame(0.5, 0) and y = y of point(0, 1). The structure of INFO can +be found in docstring of `posframe-show'. " (let ((x (car (posframe-poshandler-p0.5p0-to-f0.5f0 info))) (y (cdr (posframe-poshandler-p0p0-to-p0p1 info (cons x y))) @@ -1174,18 +1173,16 @@ structure of INFO can be found in docstring of `posframe-show'. " (defun posframe-poshandler-p0p1-to-p0p1 (info) "Posframe's position handler. -Get a posframe position, which let posframe(0, 1) align to -point(0, 1). The structure of INFO can be found in docstring of -`posframe-show'." +Let posframe(0, 1) align to point(0, 1). The structure of INFO +can be found in docstring of `posframe-show'." (posframe-poshandler-point-1 info nil t)) (defalias 'posframe-poshandler-point-top-left-corner #'posframe-poshandler-p0p0-to-p0p0) (defun posframe-poshandler-p0p0-to-p0p0 (info) "Posframe's position handler. -Get a posframe position, which let posframe(0, 0) align to -point(0, 0). The structure of INFO can be found in docstring of -`posframe-show'." +Let posframe(0, 0) align to point(0, 0). The structure of INFO +can be found in docstring of `posframe-show'." (let ((font-height 0)) (posframe-poshandler-point-1 info font-height))) @@ -1193,9 +1190,8 @@ point(0, 0). The structure of INFO can be found in docstring of (defun posframe-poshandler-p0.5p0.5-to-f0.5f0.5 (info) "Posframe's position handler. -Get a posframe position, which let posframe(0.5, 0.5) align to -frame(0.5, 0.5). The structure of INFO can be found in docstring -of `posframe-show'." +Let posframe(0.5, 0.5) align to frame(0.5, 0.5). The structure of +INFO can be found in docstring of `posframe-show'." (cons (/ (- (plist-get info :parent-frame-width) (plist-get info :posframe-width)) 2) @@ -1207,9 +1203,8 @@ of `posframe-show'." (defun posframe-poshandler-p0.5p0-to-f0.5f0 (info) "Posframe's position handler. -Get a posframe position, which let posframe(0.5, 0) align to -frame(0.5, 0). The structure of INFO can be found in docstring of -`posframe-show'." +Let posframe(0.5, 0) align to frame(0.5, 0). The structure of +INFO can be found in docstring of `posframe-show'." (cons (/ (- (plist-get info :parent-frame-width) (plist-get info :posframe-width)) 2) @@ -1219,27 +1214,24 @@ frame(0.5, 0). The structure of INFO can be found in docstring of (defun posframe-poshandler-p0p0-to-f0f0 (_info) "Posframe's position handler. -Get a posframe position, which let posframe(0, 0) align to -frame(0, 0). The structure of INFO can be found in docstring of -`posframe-show'." +Let posframe(0, 0) align to frame(0, 0). The structure of INFO +can be found in docstring of `posframe-show'." '(0 . 0)) (defalias 'posframe-poshandler-frame-top-right-corner #'posframe-poshandler-p1p0-to-f1f0) (defun posframe-poshandler-p1p0-to-f1f0 (_info) "Posframe's position handler. -
[elpa] externals/posframe d13fe72 1/3: * posframe.el (posframe-show): Improve docstring about poshandler.
branch: externals/posframe commit d13fe723d818b1fd82f7905fc46336426b6f9932 Author: Feng Shu Commit: Feng Shu * posframe.el (posframe-show): Improve docstring about poshandler. --- posframe.el | 24 ++-- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/posframe.el b/posframe.el index 656f102..465eb9f 100644 --- a/posframe.el +++ b/posframe.el @@ -363,16 +363,28 @@ position. Its argument is a plist of the following form: By default, poshandler is auto-selected based on the type of POSITION, but the selection can be overridden using the POSHANDLER argument. -The name of poshandler function is like: +The names of poshandler functions are like: posframe-poshandler-p0.5p0-to-w0.5p1 -which mean is that posframe(a, b) align to a position(c, d): +which mean align posframe(0.5, 0) to a position(a, b) -1. a = 0.5 * posframe-width -2. b = 0 * posframe-height -3. c = 0.5 * window-width -4. d = 1 * point-height +1. a = x of window(0.5, 0) +2. b = y of point(1, 1) + +posframe(p), frame(f), window(w), point(p) + +(0,0) (0.5,0) (1,0) + ++---+ + || + || + || +(0, 0.5) ++ (1, 0.5) + || + || + || + ++---+ +(0,1) (0.5,1) (1,1) The alias of builtin poshandler functions are listed below:
[elpa] externals/posframe updated (cd4f8d2 -> e5ca8bf)
elpasync pushed a change to branch externals/posframe. from cd4f8d2 * posframe.el (posframe-poshandler-p0.5p0-to-f0.5p1): New function. new d13fe72 * posframe.el (posframe-show): Improve docstring about poshandler. new e453fad hanlder -> handler new e5ca8bf Improve docstring of posframe-poshandler-* Summary of changes: posframe.el | 135 +--- 1 file changed, 65 insertions(+), 70 deletions(-)
[elpa] externals/compat updated (5506770 -> 3082209)
elpasync pushed a change to branch externals/compat. from 5506770 Update .elpaignore new 97058d5 Handle TCO for condition-case new 5256e51 Fix TCO for cond when a condition only had a head new bc754a4 Remove list of untested functions from compat-tests.el new 3082209 Move require advice to compat-25.1 Summary of changes: compat-25.1.el | 13 + compat-28.1.el | 16 +++- compat-macs.el | 10 -- compat-tests.el | 47 ++- compat.el | 22 -- 5 files changed, 46 insertions(+), 62 deletions(-)
[elpa] externals/compat bc754a4 3/4: Remove list of untested functions from compat-tests.el
branch: externals/compat commit bc754a47a1c30f3c05b180f66bf0ef211cd1dfe7 Author: Philip Kaludercic Commit: Philip Kaludercic Remove list of untested functions from compat-tests.el --- compat-tests.el | 30 +- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/compat-tests.el b/compat-tests.el index 333f9d0..6c1f36d 100644 --- a/compat-tests.el +++ b/compat-tests.el @@ -25,35 +25,7 @@ ;; Note that not all functions have tests (yet), for the most part ;; because it is difficult to create a reproducible environment to ;; test these in or their tests are trivial -- or a combination of -;; both. The current list of untested functions, macros, etc. are: -;; -;; - buffer-local-boundp (`buffer-local-boundp') -;; - count-windows (`compat--count-windows') -;; - define-error (`compat--define-error') -;; - directory-empty-p (`compat--directory-empty-p') -;; - directory-files (`compat--directory-files') -;; - dlet (`compat--dlet') -;; - garbage-collect-maybe (`compat--garbage-collect-maybe') -;; - if-let (`compat--if-let') -;; - ignore-error (`compat--ignore-error') -;; - insert-into-buffer (`compat--insert-into-buffer') -;; - line-number-at-pos (`compat--line-number-at-pos') -;; - macroexp-file-name (`compat--macroexp-file-name') -;; - make-nearby-temp-file (`compat--make-nearby-temp-file') -;; - package-get-version (`compat--package-get-version') -;; - recenter (`compat--recenter') -;; - replace-regexp-in-region (`compat--replace-regexp-in-region') -;; - setq-local (`compat--setq-local') -;; - temporary-file-directory (`compat--temporary-file-directory') -;; - thing-at-mouse (`compat--thing-at-mouse') -;; - thread-first (`compat--thread-first') -;; - thread-last (`compat--thread-last') -;; - unlock-buffer (`compat--unlock-buffer') -;; - when-let (`compat--when-let') -;; - when-let* (`compat--when-let*') -;; - with-environment-variables (`compat--with-environment-variables') -;; - with-existing-directory (`compat--with-existing-directory') -;; - with-file-modes (`compat--with-file-modes') +;; both. ;; ;; Tests are welcome, but until then anyone working on these functions ;; should take care to test these manually.
[elpa] externals/compat 3082209 4/4: Move require advice to compat-25.1
branch: externals/compat commit 3082209c30a4ebb08b8229c81eaedaf9b8c142a5 Author: Philip Kaludercic Commit: Philip Kaludercic Move require advice to compat-25.1 As currently the only feature that depends on the require advice is subr-x, and that specifically on version 24.x, we can avoid advising require in all other cases. Thank you to Stefan Monnier for pointing this out. --- compat-25.1.el | 13 + compat-macs.el | 10 -- compat.el | 22 -- 3 files changed, 17 insertions(+), 28 deletions(-) diff --git a/compat-25.1.el b/compat-25.1.el index 5a4183e..b381fd8 100644 --- a/compat-25.1.el +++ b/compat-25.1.el @@ -112,6 +112,19 @@ Equality with KEY is tested by TESTFN, defaulting to `eq'." Defined in subr-x.el +(compat-advise require (feature &rest args) + "Allow for Emacs 24.x to require the inexistent FEATURE subr-x." + ;; As the compatibility advise around `require` is more a hack than + ;; of of actual value, the highlighting is suppressed. + :no-highlight t + :max-version "24.5" + (if (eq 'feature 'subr-x) + (let ((entry (assq feature after-load-alist))) +(let ((load-file-name nil)) + (dolist (form (cdr entry)) +(funcall (eval form t) +(apply oldfun feature args))) + (compat-defmacro if-let* (varlist then &rest else) "Bind variables according to VARLIST and evaluate THEN or ELSE. This is like `if-let' but doesn't handle a VARLIST of the form diff --git a/compat-macs.el b/compat-macs.el index f8d0c65..a479bff 100644 --- a/compat-macs.el +++ b/compat-macs.el @@ -102,12 +102,10 @@ TYPE is used to set the symbol property `compat-type' for NAME." (put ',realname 'compat-version ,version) ,(funcall def-fn realname version) ,(if feature -`(progn - (put ',feature 'setup-deferred-p t) - ;; Warning: This might be able throw an error if the code - ;; is not byte compiled, as explained in: - ;; https://nullprogram.com/blog/2018/02/22/. - (eval-after-load ',feature (lambda () ,body))) +;; Warning: This might be able throw an error if the code +;; is not byte compiled, as explained in: +;; https://nullprogram.com/blog/2018/02/22/. +`(eval-after-load ',feature (lambda () ,body)) body (defun compat-common-fdefine (type name arglist docstring rest) diff --git a/compat.el b/compat.el index 79a2c92..b2f56ee 100644 --- a/compat.el +++ b/compat.el @@ -141,28 +141,6 @@ advice." (not (eq (cdr (compat-func-arity func t)) n)) (void-function t -;; Suppress errors triggered by requiring non-existent libraries in -;; older versions of Emacs (e.g. subr-x). -(compat-advise require (feature &optional filename noerror) - "Avoid throwing an error if library has compatibility code." - ;; As the compatibility advise around `require` is more a hack than - ;; of of actual value, the highlighting is suppressed. - :no-highlight t - (condition-case err - (funcall oldfun feature filename) -(file-missing - (let ((entry (assq feature after-load-alist))) - (when (and entry - (get feature 'setup-deferred-p) - (null noerror)) - (signal (car err) (cdr err))) - (let ((load-file-name nil)) - (dolist (form (cdr entry)) - (funcall (eval form t)) -(error - (unless noerror - (signal (car err) (cdr err)) - ;; Load the actual compatibility definitions: (require 'compat-24.4) (require 'compat-25.1)
[elpa] externals/compat 97058d5 1/4: Handle TCO for condition-case
branch: externals/compat commit 97058d52f1be5e6af7db3475b3703f357cf9ef8a Author: Philip Kaludercic Commit: Philip Kaludercic Handle TCO for condition-case --- compat-28.1.el | 4 1 file changed, 4 insertions(+) diff --git a/compat-28.1.el b/compat-28.1.el index 9c5b26c..de49bad 100644 --- a/compat-28.1.el +++ b/compat-28.1.el @@ -440,6 +440,10 @@ as the new values of the bound variables in the recursive invocation." (if ,var ,(funcall tco var) ,(funcall tco (cons 'or (cddr expr)) (funcall tco (cadr expr + ((eq (car-safe expr) 'condition-case) + (append (list 'condition-case (cadr expr) +(funcall tco (caddr expr))) + (cdddr expr))) ((memq (car-safe expr) '(and progn)) (cons (car expr) (funcall tco-progn (cdr expr ((memq (car-safe expr) '(let let*))
[elpa] externals/compat 5256e51 2/4: Fix TCO for cond when a condition only had a head
branch: externals/compat commit 5256e51cdf2ef3bfc731248074d0ae59acefaffd Author: Philip Kaludercic Commit: Philip Kaludercic Fix TCO for cond when a condition only had a head --- compat-28.1.el | 12 +++- compat-tests.el | 17 + 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/compat-28.1.el b/compat-28.1.el index de49bad..56a6e1c 100644 --- a/compat-28.1.el +++ b/compat-28.1.el @@ -428,11 +428,13 @@ as the new values of the bound variables in the recursive invocation." (funcall tco-progn (cdddr expr ((eq (car-safe expr) 'cond) (cons 'cond -(mapcar (lambda (branch) - (list - (car branch) - (funcall tco-progn (cdr expr -(cdr expr +(mapcar + (lambda (branch) + (if (cdr branch) + (cons (car branch) + (funcall tco-progn (cdr branch))) + (list `(progn ,(funcall tco (car branch)) t + (cdr expr ((eq (car-safe expr) 'or) (if (cddr expr) (let ((var (make-symbol "var"))) diff --git a/compat-tests.el b/compat-tests.el index b422c75..333f9d0 100644 --- a/compat-tests.el +++ b/compat-tests.el @@ -1221,6 +1221,23 @@ the compatibility function." 8)) (should (= (compat--named-let l ((i 0)) (if (= i 10) i (l (1+ i 10)) + (should (= (compat--named-let l ((i 0)) + (condition-case nil + (if (= i 10) i (l (1+ i))) + (error nil))) + 10)) + (should (= (compat--named-let l ((i 0)) + (condition-case nil + (if (= i 10) i (l (1+ i))) + (error nil))) + 10)) + (should (= (compat--named-let l ((i 0)) + (cond +((= i 10) i) +((= (mod i 2) 0) + (l (+ i 2))) +((l (+ i 3) + 10)) (should (= (compat--named-let l ((i 0) (x 1)) (if (= i 8) x (l (1+ i) (* x 2 (expt 2 8
[elpa] externals/compat 01a59a2: Apply Chris Wellons' eval-after-load workaround
branch: externals/compat commit 01a59a2192845c50551cb2633bd77970bcaea93c Author: Philip Kaludercic Commit: Philip Kaludercic Apply Chris Wellons' eval-after-load workaround --- compat-macs.el | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/compat-macs.el b/compat-macs.el index a479bff..9545c8c 100644 --- a/compat-macs.el +++ b/compat-macs.el @@ -102,10 +102,8 @@ TYPE is used to set the symbol property `compat-type' for NAME." (put ',realname 'compat-version ,version) ,(funcall def-fn realname version) ,(if feature -;; Warning: This might be able throw an error if the code -;; is not byte compiled, as explained in: -;; https://nullprogram.com/blog/2018/02/22/. -`(eval-after-load ',feature (lambda () ,body)) +;; See https://nullprogram.com/blog/2018/02/22/: +`(eval-after-load 'feature `(funcall ,(lambda () ,@body))) body (defun compat-common-fdefine (type name arglist docstring rest)
[elpa] externals/consult ae2761e: Make menu-item :fiter functions pure functions (#453)
branch: externals/consult commit ae2761ead41a2e8bae011cee0f57830d6bf423b5 Author: Omar AntolĂn Camarena Commit: GitHub Make menu-item :fiter functions pure functions (#453) Currently the :filter functions for the menu-items used in narrowing do the narrowing themselves; with this change they instead return a command to do the narrowing. Returning a command is how the :filter functions are meant to be used: `:filter FILTER-FN' This property provides a way to compute the menu item dynamically. The property value FILTER-FN should be a function of one argument; when it is called, its argument will be REAL-BINDING. The function should return the binding to use instead. Moreover, it is not safe to have the side-effects carried out directly in the filter function, per the manual: Emacs can call this function at any time that it does redisplay or operates on menu data structures, so you should write it so it can safely be called at any time. This change will also fix oantolin/embark#388. --- consult.el | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/consult.el b/consult.el index 198d7e3..19b4673 100644 --- a/consult.el +++ b/consult.el @@ -1306,8 +1306,9 @@ This command is used internally by the narrowing system of `consult--read'." "" nil :filter ,(lambda (&optional _) (when (string= (minibuffer-contents-no-properties) "") - (consult-narrow nil) - #'ignore + (lambda () + (interactive) + (consult-narrow nil)) (defconst consult--narrow-space `(menu-item @@ -1318,9 +1319,10 @@ This command is used internally by the narrowing system of `consult--read'." (assoc (aref str 0) consult--narrow-keys)) (and (string= str "") (assoc 32 consult--narrow-keys - (delete-minibuffer-contents) - (consult-narrow (car pair)) - #'ignore) + (lambda () + (interactive) + (delete-minibuffer-contents) + (consult-narrow (car pair (defun consult-narrow-help () "Print narrowing help as a `minibuffer-message'.
[elpa] externals/company 811beea: company-preview-show-at-point: Better prefix chopping with fuzzy matchers
branch: externals/company commit 811beeade86669e20da35efed5b00de6a5e305ab Author: Dmitry Gutov Commit: Dmitry Gutov company-preview-show-at-point: Better prefix chopping with fuzzy matchers Fixes #1241 --- company.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/company.el b/company.el index 5044a55..f9e7194 100644 --- a/company.el +++ b/company.el @@ -3648,7 +3648,9 @@ Delay is determined by `company-tooltip-idle-delay'." (add-face-text-property mbeg mend 'company-preview-search nil completion))) -(setq completion (if company-common +(setq completion (if (string-prefix-p company-prefix completion + (eq (company-call-backend 'ignore-case) + 'keep-prefix)) (company-strip-prefix completion) completion))
[elpa] externals/posframe 2c2db29: * posframe.el (posframe-poshandler-argbuilder): Simplify parent-frame and parent-window.
branch: externals/posframe commit 2c2db2944040464800ed9cdcd16d2e9905135234 Author: Feng Shu Commit: Feng Shu * posframe.el (posframe-poshandler-argbuilder): Simplify parent-frame and parent-window. --- posframe.el | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/posframe.el b/posframe.el index a27c671..60e1088 100644 --- a/posframe.el +++ b/posframe.el @@ -1035,15 +1035,10 @@ poshandler easily used for other purposes." (frame-width (or (and child-frame (frame-pixel-width child-frame)) 0)) (frame-height (or (and child-frame (frame-pixel-height child-frame)) 0)) (frame-buffer (and child-frame (window-buffer (frame-root-window child-frame - (parent-frame (if child-frame - (frame-parent child-frame) - (selected-frame))) + (parent-frame (selected-frame)) (parent-frame-width (frame-pixel-width parent-frame)) (parent-frame-height (frame-pixel-height parent-frame)) - (parent-window - (if child-frame - (frame-root-window parent-frame) -(selected-window))) + (parent-window (selected-window)) (parent-window-top (window-pixel-top parent-window)) (parent-window-left (window-pixel-left parent-window)) (parent-window-width (window-pixel-width parent-window))
[elpa] externals/compat 1a2e3f8: Clarify that compat.el has not yet been published
branch: externals/compat commit 1a2e3f8c342d778b44499ff33e089554e953be68 Author: Philip Kaludercic Commit: Philip Kaludercic Clarify that compat.el has not yet been published --- README.md | 4 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 1709e01..62042b6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ COMPATibility Library for Emacs === +> **Note to package developers:** compat.el hasn't yet been published, +> and should not yet be added as a dependency. The official release +> of the package will coincide with the release of Emacs 28.1. + Find here the source for compat.el, a forwards-compatibility library for (GNU) Emacs Lisp, versions 24.3 and newer.