aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/calc/calc-vec.el30
2 files changed, 22 insertions, 12 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9dd02596ef0..1f0c6dd1678 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
12008-09-20 Vincent Belaïche <vincent.b.1@hotmail.fr>
2
3 * calc/calc-vec.el (calcFunc-venum): Properly handle intervals.
4
12008-09-20 Glenn Morris <rgm@gnu.org> 52008-09-20 Glenn Morris <rgm@gnu.org>
2 6
3 * emacs-lisp/lisp-mode.el (lisp-indent-offset): 7 * emacs-lisp/lisp-mode.el (lisp-indent-offset):
diff --git a/lisp/calc/calc-vec.el b/lisp/calc/calc-vec.el
index 5ca08377147..b0220cd89c2 100644
--- a/lisp/calc/calc-vec.el
+++ b/lisp/calc/calc-vec.el
@@ -1294,18 +1294,24 @@
1294(defun calcFunc-venum (a) 1294(defun calcFunc-venum (a)
1295 (setq a (calcFunc-vfloor a t)) 1295 (setq a (calcFunc-vfloor a t))
1296 (or (math-constp a) (math-reject-arg a "*Set must be finite")) 1296 (or (math-constp a) (math-reject-arg a "*Set must be finite"))
1297 (let ((p a) next) 1297 (let* ((prev a) (this (cdr prev)) this-val next this-last)
1298 (while (cdr p) 1298 (while this
1299 (setq next (cdr p)) 1299 (setq next (cdr this)
1300 (if (eq (car-safe (nth 1 p)) 'intv) 1300 this-val (car this))
1301 (setcdr p (nconc (cdr (calcFunc-index (math-add 1301 (if (eq (car-safe this-val) 'intv)
1302 (math-sub (nth 3 (nth 1 p)) 1302 (progn
1303 (nth 2 (nth 1 p))) 1303 (setq this (cdr (calcFunc-index (math-add
1304 1) 1304 (math-sub (nth 3 this-val)
1305 (nth 2 (nth 1 p)))) 1305 (nth 2 this-val))
1306 (cdr (cdr p))))) 1306 1)
1307 (setq p next)) 1307 (nth 2 this-val))))
1308 a)) 1308 (setq this-last (last this))
1309 (setcdr this-last next)
1310 (setcdr prev this)
1311 (setq prev this-last))
1312 (setq prev this))
1313 (setq this next)))
1314 a)
1309 1315
1310(defun calcFunc-vpack (a) 1316(defun calcFunc-vpack (a)
1311 (setq a (calcFunc-vfloor a t)) 1317 (setq a (calcFunc-vfloor a t))