Ignore:
Timestamp:
Oct 29, 2010, 3:53:56 PM (10 years ago)
Author:
rme
Message:

Merge trunk changes r14361 through r14380.

Location:
release/1.6/source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/1.6/source

  • release/1.6/source/lib/macros.lisp

    r14351 r14381  
    264264          ,@(if ret `((progn (setq ,varsym nil) ,ret))))))))
    265265
    266 (defmacro report-bad-arg (&rest args)
    267   `(values (%badarg ,@args)))
     266(defmacro report-bad-arg (&whole w thing typespec &environment env)
     267  (when (quoted-form-p typespec)
     268    (unless (ignore-errors (specifier-type-if-known (cadr typespec) env))
     269      (warn "Unknown type specifier ~s in ~s." (cadr typespec) w)))
     270  `(values (%badarg ,thing ,typespec)))
    268271
    269272(defmacro %cons-restart (name action report interactive test)
     
    38543857(defmacro int-errno-ffcall (entry &rest args)
    38553858  `(int-errno-call (ff-call ,entry ,@args)))
     3859
     3860(defmacro with-initial-bindings (bindings &body body)
     3861  (let* ((syms (gensym))
     3862         (values (gensym)))
     3863    `(multiple-value-bind (,syms ,values)
     3864        (initial-bindings ,bindings)
     3865      (progv ,syms ,values ,@body))))
     3866
     3867(defmacro with-standard-initial-bindings (&body body)
     3868  `(with-initial-bindings (standard-initial-bindings) ,@body))
     3869
Note: See TracChangeset for help on using the changeset viewer.