summary refs log tree commit diff
diff options
context:
space:
mode:
authorMorgan Smith <Morgan.J.Smith@outlook.com>2020-08-12 19:45:48 +0300
committerOleg Pykhalov <go.wigust@gmail.com>2020-08-12 19:47:38 +0300
commitdf403985ed8d0a87a2f3683fd01aacaf9bc8f91f (patch)
tree85106679001469ec5435fb7fb468d491a7e7fd62
parent9856346be490def60ae8425c5d18f5c69b823744 (diff)
downloadguix-df403985ed8d0a87a2f3683fd01aacaf9bc8f91f.tar.gz
gnu: Add emacs-explain-pause-mode.
* gnu/packages/emacs-xyz.scm (emacs-explain-pause-mode): New variable.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
-rw-r--r--gnu/packages/emacs-xyz.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index a223d22a34..3fc08971fe 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -3311,6 +3311,39 @@ keep pressing the key until it selects what you want.  There's also
 @code{er/contract-region} if you expand too far.")
     (license license:gpl3+)))
 
+(define-public emacs-explain-pause-mode
+  (let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
+        (revision "0"))
+    (package
+      (name "emacs-explain-pause-mode")
+      (version (git-version "0.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/lastquestion/explain-pause-mode")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
+      (build-system emacs-build-system)
+      (native-inputs
+       `(("emacs" ,emacs-buttercup)))
+      (arguments
+       '(#:tests? #t
+         ;; Don't run case-tests as they will fail to create sockets because
+         ;; the path is too long
+         #:test-command '("make" "byte-compile" "unit-tests")
+         ;; Parallel testing will cause the tests to run before
+         ;; byte-compilation is finished
+         #:parallel-tests? #f))
+      (home-page "https://github.com/lastquestion/explain-pause-mode")
+      (synopsis "Provides a top like interface to determine why Emacs paused")
+      (description "Monitors Emacs function calls and records their execution
+time.  This information can be reviewed to determine what is causing the user
+interface to pause.")
+      (license license:gpl3+))))
+
 (define-public emacs-fill-column-indicator
   (package
     (name "emacs-fill-column-indicator")