1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-15 17:00:26 +00:00

(calcFunc-venum): Properly handle intervals.

This commit is contained in:
Jay Belanger 2008-09-20 22:09:39 +00:00
parent f3681087a3
commit 11041c992f
2 changed files with 22 additions and 12 deletions

View File

@ -1,3 +1,7 @@
2008-09-20 Vincent Belaïche <vincent.b.1@hotmail.fr>
* calc/calc-vec.el (calcFunc-venum): Properly handle intervals.
2008-09-20 Glenn Morris <rgm@gnu.org>
* emacs-lisp/lisp-mode.el (lisp-indent-offset):

View File

@ -1294,18 +1294,24 @@
(defun calcFunc-venum (a)
(setq a (calcFunc-vfloor a t))
(or (math-constp a) (math-reject-arg a "*Set must be finite"))
(let ((p a) next)
(while (cdr p)
(setq next (cdr p))
(if (eq (car-safe (nth 1 p)) 'intv)
(setcdr p (nconc (cdr (calcFunc-index (math-add
(math-sub (nth 3 (nth 1 p))
(nth 2 (nth 1 p)))
1)
(nth 2 (nth 1 p))))
(cdr (cdr p)))))
(setq p next))
a))
(let* ((prev a) (this (cdr prev)) this-val next this-last)
(while this
(setq next (cdr this)
this-val (car this))
(if (eq (car-safe this-val) 'intv)
(progn
(setq this (cdr (calcFunc-index (math-add
(math-sub (nth 3 this-val)
(nth 2 this-val))
1)
(nth 2 this-val))))
(setq this-last (last this))
(setcdr this-last next)
(setcdr prev this)
(setq prev this-last))
(setq prev this))
(setq this next)))
a)
(defun calcFunc-vpack (a)
(setq a (calcFunc-vfloor a t))