From 9227f4e342e29a173cab9db50391e0f31c6867d6 Mon Sep 17 00:00:00 2001 From: Marius Gerbershagen Date: Fri, 29 Dec 2017 16:58:27 +0100 Subject: [PATCH] fix #409: order of evaluation of values forms the fix for #330 is unaffected --- src/cmp/cmpinline.lsp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cmp/cmpinline.lsp b/src/cmp/cmpinline.lsp index 2ed45e000..a44a0a105 100644 --- a/src/cmp/cmpinline.lsp +++ b/src/cmp/cmpinline.lsp @@ -94,9 +94,10 @@ (defun emit-inlined-values (form forms) (let ((args (c1form-arg 0 form))) (prog1 (emit-inline-form (or (pop args) (c1nil)) - ;; the rest of the form in inlined values - ;; are the rest of the values args - args) + ;; the rest of the values args need to be + ;; added to the rest forms to execute side + ;; effects in the correct order + (append args forms)) (loop with *destination* = 'TRASH for form in args do (c2expr* form)))))