Function: calc-select-next
calc-select-next is an autoloaded, interactive and byte-compiled
function defined in calc-sel.el.gz.
Signature
(calc-select-next NUM)
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-sel.el.gz
(defun calc-select-next (num)
(interactive "p")
(if (< num 0)
(calc-select-previous (- num))
(calc-wrapper
(calc-prepare-selection)
(let* ((entry calc-selection-cache-entry)
(sel (nth 2 entry)))
(if sel
(progn
(while (>= (setq num (1- num)) 0)
(let* ((parent (calc-find-parent-formula (car entry) sel))
(p parent)
op)
(and (eq p t) (setq p nil))
(while (and (setq p (cdr p))
(not (eq (car p) sel))))
(if (cdr p)
(setq sel (or (and calc-assoc-selections
(setq op (assq (car-safe (nth 1 p))
calc-assoc-ops))
(memq (car parent) (nth 2 op))
(nth 1 (nth 1 p)))
(nth 1 p)))
(if (and calc-assoc-selections
(setq op (assq (car-safe parent) calc-assoc-ops))
(consp (setq p (calc-find-parent-formula
(car entry) parent)))
(eq (nth 1 p) parent)
(memq (car p) (nth 1 op)))
(setq sel (nth 2 p))
(error "No \"next\" sub-formula")))))
(calc-change-current-selection sel))
(if (Math-primp (car entry))
(calc-change-current-selection (car entry))
(calc-select-part num)))))))