[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/assess cd394f309f 49/95: Add documentation for assess-c
From: |
ELPA Syncer |
Subject: |
[elpa] externals/assess cd394f309f 49/95: Add documentation for assess-call |
Date: |
Tue, 19 Jul 2022 15:57:32 -0400 (EDT) |
branch: externals/assess
commit cd394f309f0fc59e4e737ca8f4b5f1462f971a6b
Author: Phillip Lord <phillip.lord@russet.org.uk>
Commit: Phillip Lord <phillip.lord@russet.org.uk>
Add documentation for assess-call
---
assess-call.el | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/assess-call.el b/assess-call.el
index 69f3c83a7e..4a9dfdabad 100644
--- a/assess-call.el
+++ b/assess-call.el
@@ -32,10 +32,30 @@
;;; Code:
+;; ** Call Capture
+
+;; Here we provide a function for tracing calls to a particular function. This
+;; can be a direct or indirect call; parameters and return values are available
+;; for inspection afterwards. For example:
+
+;; #+begin_src elisp
+;; (assess-call-capture
+;; '+
+;; (lambda()
+;; (+ 1 1)))
+;; ;; => (((1 1) . 2))
+;; #+end_src
+
+;; The return value is a list of cons cells, one for each invocation, of the
+;; parameters and return values.
+
+
;; #+begin_src emacs-lisp
-(defvar assess-call--capture-store nil)
+(defvar assess-call--capture-store nil
+ "Store for parameters captured.")
(defun assess-call--capture-advice (fn &rest args)
+ "Advice for capturing args and return from a function."
(let ((rtn (apply fn args)))
(setq assess-call--capture-store
(cons (cons args rtn)
@@ -43,6 +63,10 @@
rtn))
(defun assess-call-capture (sym-fn fn)
+ "Trace all calls to SYM-FN when FN is called with no args.
+
+The return value is a list of cons cells, with car being the
+parameters of the calls, and the cdr being the return value."
(setq assess-call--capture-store nil)
(advice-add sym-fn :around #'assess-call--capture-advice)
(funcall fn)
- [elpa] externals/assess 74d8de749c 64/95: assess-with-temp-buffers now uses let*, (continued)
- [elpa] externals/assess 74d8de749c 64/95: assess-with-temp-buffers now uses let*, ELPA Syncer, 2022/07/19
- [elpa] externals/assess fca80753d7 66/95: Kill even modified file associated buffers, ELPA Syncer, 2022/07/19
- [elpa] externals/assess df2532f2ec 56/95: Add autoload cookies, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 979c26b3b7 73/95: Add assess-with-filesystem, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 190eab03d7 74/95: Fix debug declation in -with-temp-buffers, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 1c34f2bc14 79/95: Fix error symbol declaration, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 1b1ac33709 87/95: Fix travis build, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 29950d8964 90/95: Merge pull request #18 from DamienCassou/typos, ELPA Syncer, 2022/07/19
- [elpa] externals/assess cb2c0361a7 91/95: Add expected failure, ELPA Syncer, 2022/07/19
- [elpa] externals/assess be539d6447 92/95: Update test framework, drop early 24, ELPA Syncer, 2022/07/19
- [elpa] externals/assess cd394f309f 49/95: Add documentation for assess-call,
ELPA Syncer <=
- [elpa] externals/assess 38084cff73 60/95: v0.3 release, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 4a5eee8ba9 62/95: Fix version number, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 29e80b7540 65/95: Ensure capture function returns correct value, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 9374be7b98 72/95: Add initial lentic support to assess-discover, ELPA Syncer, 2022/07/19
- [elpa] externals/assess e57945bb84 75/95: Merge pull request #9 from DamienCassou/typos, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 63e934c6f2 76/95: State that text properties are ignored, ELPA Syncer, 2022/07/19
- [elpa] externals/assess deb6e4cb23 80/95: Remove direct dash dependency, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 1ef6760358 82/95: Add Emacs24.1 to multi-test target, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 83fddff944 83/95: Update README, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 87118057b3 84/95: v0.4 Release, ELPA Syncer, 2022/07/19