Function: calc-truncate-stack
calc-truncate-stack is an autoloaded, interactive and byte-compiled
function defined in calc-mode.el.gz.
Signature
(calc-truncate-stack N &optional REL)
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-mode.el.gz
(defun calc-truncate-stack (n &optional rel)
(interactive "P")
(calc-wrapper
(let ((oldtop calc-stack-top)
(newtop calc-stack-top))
(calc-record-undo (list 'set 'saved-stack-top calc-stack-top))
(let ((calc-stack-top 0)
(nn (prefix-numeric-value n)))
(setq newtop
(if n
(progn
(if rel
(setq nn (+ oldtop nn))
(if (< nn 0)
(setq nn (+ nn (calc-stack-size)))
(setq nn (1+ nn))))
(if (< nn 1)
1
(if (> nn (calc-stack-size))
(calc-stack-size)
nn)))
(max 1 (calc-locate-cursor-element (point)))))
(if (= newtop oldtop)
()
(calc-pop-stack 1 oldtop t)
(calc-push-list '(top-of-stack) newtop)
(if calc-line-numbering
(calc-refresh))))
(calc-record-undo (list 'set 'saved-stack-top 0))
(setq calc-stack-top newtop))))