Skip to content

Commit f4a8e87

Browse files
committed
Allow ommiting start value on 'do'
1 parent 4fe625c commit f4a8e87

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

lisp/l/common.l

+10-4
Original file line numberDiff line numberDiff line change
@@ -236,14 +236,17 @@
236236
`(block nil
237237
(let
238238
,(mapcar
239-
#'(lambda (v) (list (car v) (cadr v)))
239+
#'(lambda (v) (if (consp v)
240+
(list (car v) (cadr v))
241+
v))
240242
vars)
241243
,decl
242244
(tagbody
243245
,tag
244246
(if ,(car endtest) (return (progn . ,(cdr endtest))))
245247
,@body
246-
(psetq . ,(mapcan #'(lambda (v) (if (cddr v) (list (car v) (caddr v))))
248+
(psetq . ,(mapcan #'(lambda (v) (if (and (consp v) (cddr v))
249+
(list (car v) (caddr v))))
247250
vars))
248251
(go ,tag))) )))
249252

@@ -255,14 +258,17 @@
255258
`(block nil
256259
(let*
257260
,(mapcar
258-
#'(lambda (v) (list (car v) (cadr v)))
261+
#'(lambda (v) (if (consp v)
262+
(list (car v) (cadr v))
263+
v))
259264
vars)
260265
,decl
261266
(tagbody
262267
,tag
263268
(if ,(car endtest) (return (progn . ,(cdr endtest))))
264269
,@body
265-
(setq . ,(mapcan #'(lambda (v) (if (cddr v) (list (car v) (caddr v))))
270+
(setq . ,(mapcan #'(lambda (v) (if (and (consp v) (cddr v))
271+
(list (car v) (caddr v))))
266272
vars))
267273
(go ,tag))) )))
268274

0 commit comments

Comments
 (0)