branch: elpa/casual
commit d785f53b011ce24340b73338ffa0695616acbd0c
Merge: 0fc5875f56 35a91af3a2
Author: Charles Choi <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #116 from
kickingvegas/111-add-global-stack-operations-to-all-calc-menus
Add TAB binding for calc-roll-down
---
docs/images/casual-calc-tmenu.png | Bin 385045 -> 326986 bytes
lisp/casual-calc-stack.el | 2 +-
lisp/casual-calc-utils.el | 12 +++++++++++-
lisp/casual-calc.el | 1 +
tests/test-casual-calc.el | 3 ++-
5 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/docs/images/casual-calc-tmenu.png
b/docs/images/casual-calc-tmenu.png
index c9ebd3a382..ae37bd28f9 100644
Binary files a/docs/images/casual-calc-tmenu.png and
b/docs/images/casual-calc-tmenu.png differ
diff --git a/lisp/casual-calc-stack.el b/lisp/casual-calc-stack.el
index 0070c106db..806fc4c390 100644
--- a/lisp/casual-calc-stack.el
+++ b/lisp/casual-calc-stack.el
@@ -62,7 +62,7 @@ from `kill-ring' operations."
;; Wrapped Functions
(defun casual-calc--stack-roll-all ()
- "Roll down stack accounting for all elements currently on the stack.
+ "Roll down all elements currently on the stack.
* References
- info node `(calc) Stack Manipulation'
diff --git a/lisp/casual-calc-utils.el b/lisp/casual-calc-utils.el
index be72c1786f..bd52872377 100644
--- a/lisp/casual-calc-utils.el
+++ b/lisp/casual-calc-utils.el
@@ -112,6 +112,16 @@ plain ASCII-range string."
(interactive)
(call-interactively #'calc-edit))
+(transient-define-suffix casual-calc-roll-down ()
+ "Roll stack down.
+
+Invokes command `calc-roll-down'."
+ :transient t
+ :key "TAB"
+ :description "Roll↓"
+ (interactive)
+ (call-interactively #'calc-roll-down))
+
(defconst casual-calc-operators-group
["Operators"
("+" "add" casual-calc--plus :transient t)
@@ -141,11 +151,11 @@ plain ASCII-range string."
(casual-lib-quit-one)
(casual-calc-algebraic-entry)
(casual-calc-enter)
+ (casual-calc-roll-down)
(casual-calc-pop)
(casual-calc-undo-suffix)
(casual-lib-quit-all)])
-
(defun casual-calc--percent-of ()
"Apply percentage at top of stack (1:) to value above it (2:).
diff --git a/lisp/casual-calc.el b/lisp/casual-calc.el
index b21f114367..dd4e00d741 100644
--- a/lisp/casual-calc.el
+++ b/lisp/casual-calc.el
@@ -142,6 +142,7 @@
(casual-lib-quit-one)
(casual-calc-algebraic-entry)
(casual-calc-enter)
+ (casual-calc-roll-down)
(casual-calc-pop)
(casual-calc-undo-suffix)
("q" "Quit" calc-quit)])
diff --git a/tests/test-casual-calc.el b/tests/test-casual-calc.el
index 470708986c..d4dab778fe 100644
--- a/tests/test-casual-calc.el
+++ b/tests/test-casual-calc.el
@@ -82,7 +82,8 @@
("C" . casual-calc--stack-clear)
("L" . casual-calc--stack-last)
("w" . casual-calc--copy-as-kill)
- ("z" . casual-calc-variable-crud-tmenu))))
+ ("z" . casual-calc-variable-crud-tmenu)
+ (" " . casual-calc-roll-down))))
(casualt-suffix-testbench-runner test-vectors
#'casual-calc-tmenu
'(lambda () (random 5000))))