emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 5d45ba1: Replace with dolist some uses of while


From: Mark Oteiza
Subject: [Emacs-diffs] master 5d45ba1: Replace with dolist some uses of while
Date: Wed, 28 Jun 2017 00:03:55 -0400 (EDT)

branch: master
commit 5d45ba1a05bccc53d52422e867f378a0adeb8970
Author: Mark Oteiza <address@hidden>
Commit: Mark Oteiza <address@hidden>

    Replace with dolist some uses of while
    
    * lisp/calc/calc-units.el (calc-permanent-units):
    (math-compare-unit-names, math-simplify-units-quotient):
    (math-build-units-table-buffer): Use dolist to replace extra bindings
    and some while loops.
---
 lisp/calc/calc-units.el | 72 +++++++++++++++++++++----------------------------
 1 file changed, 30 insertions(+), 42 deletions(-)

diff --git a/lisp/calc/calc-units.el b/lisp/calc/calc-units.el
index 0e3715e..a8074ea 100644
--- a/lisp/calc/calc-units.el
+++ b/lisp/calc/calc-units.el
@@ -825,21 +825,18 @@ If COMP or STD is non-nil, put that in the units table 
instead."
        (forward-char -1))
      (insert ";;; Custom units stored by Calc on " (current-time-string) "\n")
      (if math-additional-units
-        (progn
+        (let (expr)
           (insert "(setq math-additional-units '(\n")
-          (let ((list math-additional-units))
-            (while list
-              (insert "  (" (symbol-name (car (car list))) " "
-                      (if (nth 1 (car list))
-                          (if (stringp (nth 1 (car list)))
-                              (prin1-to-string (nth 1 (car list)))
-                            (prin1-to-string (math-format-flat-expr
-                                              (nth 1 (car list)) 0)))
-                        "nil")
-                      " "
-                      (prin1-to-string (nth 2 (car list)))
-                      ")\n")
-              (setq list (cdr list))))
+           (dolist (u math-additional-units)
+             (insert "  (" (symbol-name (car u)) " "
+                     (if (setq expr (nth 1 u))
+                         (if (stringp expr)
+                             (prin1-to-string expr)
+                           (prin1-to-string (math-format-flat-expr expr 0)))
+                       "nil")
+                     " "
+                     (prin1-to-string (nth 2 u))
+                     ")\n"))
           (insert "))\n"))
        (insert ";;; (no custom units defined)\n"))
      (insert ";;; End of custom units\n")
@@ -916,15 +913,13 @@ If COMP or STD is non-nil, put that in the units table 
instead."
 (defun math-find-base-units-rec (expr pow)
   (let ((u (math-check-unit-name expr)))
     (cond (u
-          (let ((ulist (math-find-base-units u)))
-            (while ulist
-              (let ((p (* (cdr (car ulist)) pow))
-                    (old (assq (car (car ulist)) math-fbu-base)))
-                (if old
-                    (setcdr old (+ (cdr old) p))
-                  (setq math-fbu-base
-                         (cons (cons (car (car ulist)) p) math-fbu-base))))
-              (setq ulist (cdr ulist)))))
+           (dolist (x (math-find-base-units u))
+             (let ((p (* (cdr x) pow))
+                   (old (assq (car x) math-fbu-base)))
+               (if old
+                   (setcdr old (+ (cdr old) p))
+                 (setq math-fbu-base
+                       (cons (cons (car x) p) math-fbu-base))))))
          ((math-scalarp expr))
          ((and (eq (car expr) '^)
                (integerp (nth 2 expr)))
@@ -1377,20 +1372,15 @@ If COMP or STD is non-nil, put that in the units table 
instead."
                (if (eq pow1 1)
                    (math-to-standard-units (list '/ n d) nil)
                  (list '^ (math-to-standard-units (list '/ n d) nil) pow1))
-            (let (ud1)
-              (setq un (nth 4 un)
-                    ud (nth 4 ud))
-              (while un
-                (setq ud1 ud)
-                (while ud1
-                  (and (eq (car (car un)) (car (car ud1)))
-                       (setq math-try-cancel-units
-                             (+ math-try-cancel-units
-                                (- (* (cdr (car un)) pow1)
-                                   (* (cdr (car ud)) pow2)))))
-                  (setq ud1 (cdr ud1)))
-                (setq un (cdr un)))
-              nil))))))
+             (setq un (nth 4 un)
+                   ud (nth 4 ud))
+             (dolist (x un)
+               (dolist (y ud)
+                 (when (eq (car x) (car y))
+                   (setq math-try-cancel-units
+                         (+ math-try-cancel-units
+                            (- (* (cdr x) pow1)
+                               (* (cdr (car ud)) pow2))))))))))))
 
 (math-defsimplify ^
   (and math-simplifying-units
@@ -1578,9 +1568,8 @@ If COMP or STD is non-nil, put that in the units table 
instead."
             (insert "Calculator Units Table:\n\n")
             (insert "(All definitions are exact unless marked with an asterisk 
(*).)\n\n")
             (insert "Unit    Type  Definition                  
Description\n\n")
-            (while uptr
-              (setq u (car uptr)
-                    name (nth 2 u))
+            (dolist (u uptr)
+              (setq name (nth 2 u))
               (when (eq (car u) 'm)
                 (setq std t))
               (setq shadowed (and std (assq (car u) math-additional-units)))
@@ -1618,8 +1607,7 @@ If COMP or STD is non-nil, put that in the units table 
instead."
                   (insert " (redefined above)")
                 (unless (nth 1 u)
                   (insert " (base unit)")))
-              (insert "\n")
-              (setq uptr (cdr uptr)))
+              (insert "\n"))
             (insert "\n\nUnit Prefix Table:\n\n")
             (setq uptr math-unit-prefixes)
             (while uptr



reply via email to

[Prev in Thread] Current Thread [Next in Thread]