[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/compat ee068f0 82/99: Revert back to manual advising
From: |
ELPA Syncer |
Subject: |
[elpa] externals/compat ee068f0 82/99: Revert back to manual advising |
Date: |
Sun, 17 Oct 2021 05:58:01 -0400 (EDT) |
branch: externals/compat
commit ee068f000d7fac853a48784240931f9d8dd96e29
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Philip Kaludercic <philipk@posteo.net>
Revert back to manual advising
---
compat-macs.el | 10 ++++------
compat.el | 8 ++------
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/compat-macs.el b/compat-macs.el
index e019090..da5d91c 100644
--- a/compat-macs.el
+++ b/compat-macs.el
@@ -156,18 +156,16 @@ attributes (see `compat-generate-common')."
`(defalias ',name #',realname))
((eq type 'advice)
;; nadvice.el was introduced in Emacs 24.4, so older versions
- ;; have to manually advise the old function.
+ ;; have to advise the function using advice.el's `defadvice'.
(if (version<= "24.4" emacs-version)
`(advice-add ',name :around #',realname)
- ;; FIXME consider using advice.el and `ad-add-advice'.
(let ((oldfun (make-symbol (format "compat--oldfun-%S" realname))))
`(progn
(defvar ,oldfun (indirect-function ',name))
(put ',name 'compat-advice-fn #',realname)
- (defadvice ,name (around
- ,(intern (format "ad--%S" realname))
- (&rest args) activate)
- (apply #',realname (cons ,oldfun args)))))))))
+ (defalias ',name
+ (lambda (&rest args)
+ (apply #',realname (cons ,oldfun args))))))))))
(lambda ()
(cond
((memq type '(func macro))
diff --git a/compat.el b/compat.el
index d150b86..2ec5aaa 100644
--- a/compat.el
+++ b/compat.el
@@ -43,9 +43,7 @@
;;;; Core functionality
-(declare-function ad-is-advised "advice" (function))
(declare-function ad-is-active "advice" (function))
-(declare-function ad-get-advice-info-field "advice" (function field))
(declare-function advice--p "nadvice" (func))
(declare-function advice--car "nadvice" (func))
@@ -67,10 +65,8 @@ advice."
(if (numberp (cdr arity))
(1- (cdr arity))
(cdr arity)))))
- ((and handle-advice
- (featurep 'advice)
- ;; See `ad-advice-p'
- (ad-is-active func))
+ ((and handle-advice (get func 'compat-advice-fn))
+ ;; Handle manual advising:
(let* ((adv (get func 'compat-advice-fn))
(arity (compat-func-arity adv)))
(cons (1- (car arity))
- [elpa] externals/compat 4364563 43/99: Use unprefixed symbols where possible, (continued)
- [elpa] externals/compat 4364563 43/99: Use unprefixed symbols where possible, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 658db90 47/99: Simplify and-let* implementation, ELPA Syncer, 2021/10/17
- [elpa] externals/compat ad92d70 61/99: Add decoded-time-* functions from 27.1, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 476aa10 62/99: Add json-* functions from 27.1, ELPA Syncer, 2021/10/17
- [elpa] externals/compat a0ea4ae 65/99: Call alist-get-full-elisp from alist-get-handle-testfn, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 4513631 70/99: Fix compat-func-arity advice handling, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 09bf8d8 75/99: Declare nadvice functions for compat-func-arity, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 80ab781 77/99: Use advice.el for advising functions previously to Emacs 24.4, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 20afc89 78/99: Add :cond checks to json-* functions in compat-27.1, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 72c0781 81/99: Mention Chris Wellons' article on lambdas and byte compilation, ELPA Syncer, 2021/10/17
- [elpa] externals/compat ee068f0 82/99: Revert back to manual advising,
ELPA Syncer <=
- [elpa] externals/compat 7bef68b 84/99: Mark regexp-opt as part of regexp-opt.el, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 7619f21 89/99: Display version number of manual advice docstring, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 7245918 96/99: Fix handling of file-missing in require advice, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 29dc297 98/99: Ensure that compat-maxargs-/= is visible at compile time, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 61a1da1 44/99: Remove indirect-function compatibility, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 044acff 58/99: Optionally let compat-func-arity handle advice, ELPA Syncer, 2021/10/17
- [elpa] externals/compat a46ab78 19/99: Add button-buttonize to emacs-28.1, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 9c6818c 20/99: Add directory-name-p compatibility function, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 070384b 24/99: Fix compat-tests for older versions, ELPA Syncer, 2021/10/17
- [elpa] externals/compat 05092cb 25/99: Fix compat-test indentation in compat-tests, ELPA Syncer, 2021/10/17