From 9e466b6c1798322c54c4f0174070dbb023237f6d Mon Sep 17 00:00:00 2001 From: Guilherme Affonso Date: Wed, 19 Jun 2019 15:57:20 +0900 Subject: [PATCH] Allow to return values from dolist, dotimes and do-symbols --- lisp/l/common.l | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lisp/l/common.l b/lisp/l/common.l index 4c2c22520..7e7c5f49e 100644 --- a/lisp/l/common.l +++ b/lisp/l/common.l @@ -151,7 +151,7 @@ (while (< ,(car vars) ,endvar) ,@forms (setq ,(car vars) (1+ ,(car vars)))) - ,(caddr vars)))) + ,@(cddr vars)))) (defmacro dolist (vars &rest forms) (let ((lists (gensym "DOLIST")) (decl (car forms))) @@ -163,7 +163,7 @@ (while ,lists (setq ,(car vars) (pop ,lists)) ,@forms) - ,(caddr vars)))) + ,@(cddr vars)))) (defmacro do-symbols (vars &rest forms) (let* ((symbols (gensym "DOSYM")) @@ -183,7 +183,7 @@ (setq ,v (elt ,svec ,i)) (inc ,i) (when (symbolp ,v) . ,forms)) - ,(caddr vars)))) + ,@(cddr vars)))) (defmacro do-external-symbols (vars &rest forms) (let* ((symbols (gensym "DOEXTSYM")) @@ -203,7 +203,7 @@ (setq ,v (elt ,svec ,i)) (inc ,i) (when (symbolp ,v) . ,forms)) - ,(caddr vars)))) + ,@(cddr vars)))) (defmacro do-all-symbols (var &rest forms) (let ((apackage (gensym "DOALLSYM")))