branch: elpa/el-job
commit 63d841f64fdb422df209a95a68e4e1b48261731a
Author: Martin Edström <[email protected]>
Commit: Martin Edström <[email protected]>
Nicer dev tools
---
el-job.el | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/el-job.el b/el-job.el
index 0b7097e0c7..0a5be2e8e3 100644
--- a/el-job.el
+++ b/el-job.el
@@ -684,14 +684,24 @@ Tip: alternatively, you can preserve the process buffers
for inspection.
Use \\[el-job-cycle-debug-level] and they are not killed from then on."
(interactive)
(let* ((id (intern (completing-read "Get info on job: " el-jobs)))
- (job (gethash id el-jobs)))
+ (job (gethash id el-jobs))
+ (print-function
+ (if (y-or-n-p "Print with `cl-prin1' (pretty but may be slow)?")
+ (if (y-or-n-p "Print with `pp' (even prettier)?")
+ 'pp
+ 'cl-prin1)
+ 'prin1)))
(when job
(set-buffer (get-buffer-create "*el-job debug info*" t))
(so-long-mode)
(let ((inhibit-read-only t))
(erase-buffer)
- (prin1 job (current-buffer)))
- (switch-to-buffer (current-buffer)))))
+ (funcall print-function job (current-buffer)))
+ (switch-to-buffer (current-buffer))
+ (when (eq print-function 'prin1)
+ (message "Tip: See definition of the `el-job' struct
+for which order the fields come in.
+For example, the first field is ID, second is CALLBACK etc.")))))
(defun el-job-kill-all ()
"Kill all el-jobs ever registered and forget metadata."