Changeset 5604


Ignore:
Timestamp:
Dec 9, 2006, 8:47:47 AM (18 years ago)
Author:
Gary Byers
Message:

WITH-OUTPUT-TO-STRING: if string provided, evaluate the ELEMENT-TYPE expression
(for side-effects) and ignore the result of its evaluation.

Some fixes in CTYPECASE handling, which hopefully didn't break anything else.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lib/macros.lisp

    r5578 r5604  
    870870        (if (eq construct 'etypecase)
    871871            (push `(t (values (%err-disp #.$XWRONGTYPE ,key-var ',types))) body)
    872             (push `(t (setf ,keyform (ensure-value-of-type ,key-var ',types ',keyform))
     872            (push `(t (setf ,key-var (ensure-value-of-type ,key-var ',types ',keyform))
    873873                      (go ,e-c-p)) body))))
    874874    `(cond ,@(nreverse body))))
     
    899899        (tag (gensym)))
    900900    `(prog (,key-var)
     901       (setq ,key-var ,keyform)
    901902       ,tag
    902        (setq ,key-var ,keyform)
    903903       (return ,(typecase-aux key-var clauses tag keyform)))))
    904904
     
    13811381      `(let* ((,string-var ,string)
    13821382              (,var (if ,string-var
    1383                         (%make-string-output-stream ,string-var)
     1383                      ,@(if element-type-p
     1384                            `((progn
     1385                                ,element-type
     1386                                (%make-string-output-stream ,string-var)))
     1387                            `((%make-string-output-stream ,string-var)))
    13841388                      ,@(if element-type-p
    13851389                            `((make-string-output-stream :element-type ,element-type))
Note: See TracChangeset for help on using the changeset viewer.