]> git.eshelyaron.com Git - emacs.git/commitdiff
Finish making previous changes.
authorJay Belanger <jay.p.belanger@gmail.com>
Thu, 25 Nov 2004 06:29:11 +0000 (06:29 +0000)
committerJay Belanger <jay.p.belanger@gmail.com>
Thu, 25 Nov 2004 06:29:11 +0000 (06:29 +0000)
lisp/calc/calc-units.el

index 03864ce3f0798516e03bee0ae895ebfb973862b0..9386dae8952711b977030da50b616e23f5f76998 100644 (file)
@@ -665,25 +665,25 @@ Entries are (SYMBOL EXPR DOC-STRING TEMP-TYPE BASE-UNITS).")
 (defvar math-fbu-base)
 (defvar math-fbu-entry)
 
-(defun math-find-base-units (entry)
-  (if (eq (nth 4 entry) 'boom)
-      (error "Circular definition involving unit %s" (car entry)))
-  (or (nth 4 entry)
-      (let (base)
-       (setcar (nthcdr 4 entry) 'boom)
-       (math-find-base-units-rec (nth 1 entry) 1)
-       '(or base
-           (error "Dimensionless definition for unit %s" (car entry)))
-       (while (eq (cdr (car base)) 0)
-         (setq base (cdr base)))
-       (let ((b base))
+(defun math-find-base-units (math-fbu-entry)
+  (if (eq (nth 4 math-fbu-entry) 'boom)
+      (error "Circular definition involving unit %s" (car math-fbu-entry)))
+  (or (nth 4 math-fbu-entry)
+      (let (math-fbu-base)
+       (setcar (nthcdr 4 math-fbu-entry) 'boom)
+       (math-find-base-units-rec (nth 1 math-fbu-entry) 1)
+       '(or math-fbu-base
+           (error "Dimensionless definition for unit %s" (car math-fbu-entry)))
+       (while (eq (cdr (car math-fbu-base)) 0)
+         (setq math-fbu-base (cdr math-fbu-base)))
+       (let ((b math-fbu-base))
          (while (cdr b)
            (if (eq (cdr (car (cdr b))) 0)
                (setcdr b (cdr (cdr b)))
              (setq b (cdr b)))))
-       (setq base (sort base 'math-compare-unit-names))
-       (setcar (nthcdr 4 entry) base)
-       base)))
+       (setq math-fbu-base (sort math-fbu-base 'math-compare-unit-names))
+       (setcar (nthcdr 4 math-fbu-entry) math-fbu-base)
+       math-fbu-base)))
 
 (defun math-compare-unit-names (a b)
   (memq (car b) (cdr (memq (car a) math-cu-unit-list))))
@@ -694,10 +694,11 @@ Entries are (SYMBOL EXPR DOC-STRING TEMP-TYPE BASE-UNITS).")
           (let ((ulist (math-find-base-units u)))
             (while ulist
               (let ((p (* (cdr (car ulist)) pow))
-                    (old (assq (car (car ulist)) base)))
+                    (old (assq (car (car ulist)) math-fbu-base)))
                 (if old
                     (setcdr old (+ (cdr old) p))
-                  (setq base (cons (cons (car (car ulist)) p) base))))
+                  (setq math-fbu-base 
+                         (cons (cons (car (car ulist)) p) math-fbu-base))))
               (setq ulist (cdr ulist)))))
          ((math-scalarp expr))
          ((and (eq (car expr) '^)
@@ -716,8 +717,8 @@ Entries are (SYMBOL EXPR DOC-STRING TEMP-TYPE BASE-UNITS).")
          ((eq (car expr) 'var)
           (or (eq (nth 1 expr) 'pi)
               (error "Unknown name %s in defining expression for unit %s"
-                     (nth 1 expr) (car entry))))
-         (t (error "Malformed defining expression for unit %s" (car entry))))))
+                     (nth 1 expr) (car math-fbu-entry))))
+         (t (error "Malformed defining expression for unit %s" (car math-fbu-entry))))))
 
 
 (defun math-units-in-expr-p (expr sub-exprs)