- `(if (ansi-stream-p stream)
- (funcall (,slot stream) stream ,@args)
- ,@(when stream-dispatch
- `(,(destructuring-bind (function &rest args) stream-dispatch
- `(,function stream ,@args)))))
- `(funcall (,slot stream) stream ,@args))))
+ `(if (ansi-stream-p stream)
+ (funcall (,slot stream) stream ,@args)
+ ,@(when stream-dispatch
+ `(,(destructuring-bind (function &rest args) stream-dispatch
+ `(,function stream ,@args)))))
+ `(funcall (,slot stream) stream ,@args))))
+
+(defmacro with-out-stream/no-synonym (stream (slot &rest args) &optional stream-dispatch)
+ `(let ((stream ,stream))
+ ,(if stream-dispatch
+ `(if (ansi-stream-p stream)
+ (funcall (,slot stream) stream ,@args)
+ ,@(when stream-dispatch
+ `(,(destructuring-bind (function &rest args) stream-dispatch
+ `(,function stream ,@args)))))
+ `(funcall (,slot stream) stream ,@args))))