~ chicken-core (chicken-5) f40cdd54a54acee76d99799a8cd99a49b58ad226


commit f40cdd54a54acee76d99799a8cd99a49b58ad226
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Sun Sep 15 18:29:41 2019 +0200
Commit:     Peter Bex <peter@more-magic.net>
CommitDate: Sun Sep 15 18:29:41 2019 +0200

    Remove unnecessary boolean test on db-get-list results
    
    The result of db-get-list is guaranteed to always be a list, so no
    need to check for booleanness.
    
    This is a silly small improvement, but it improves readability.

diff --git a/optimizer.scm b/optimizer.scm
index 33debaab..fc2d3165 100644
--- a/optimizer.scm
+++ b/optimizer.scm
@@ -593,7 +593,7 @@
 		  (krefs (db-get-list db kont 'references)) )
 	     ;; Call-site has one argument and a known continuation (which is a ##core#lambda)
 	     ;;  that has only one use:
-	     (when (and lnode krefs (= 1 (length krefs)) (= 3 (length subs))
+	     (when (and lnode (= 1 (length krefs)) (= 3 (length subs))
 			(eq? '##core#lambda (node-class lnode)) )
 	       (let* ((llist (third (node-parameters lnode)))
 		      (body (first (node-subexpressions lnode))) 
@@ -603,7 +603,7 @@
 		     (let* ((var (car llist))
 			    (refs (db-get-list db var 'references)) )
 		       ;; Parameter is only used once?
-		       (if (and refs (= 1 (length refs)) (eq? 'if (node-class body)))
+		       (if (and (= 1 (length refs)) (eq? 'if (node-class body)))
 			   ;; Continuation contains an 'if' node?
 			   (let ((iftest (first (node-subexpressions body))))
 			     ;; Parameter is used only once and is the test-argument?
Trap