/[cmucl]/src/code/macros.lisp
ViewVC logotype

Diff of /src/code/macros.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.87 by gerd, Sat Feb 8 11:33:39 2003 UTC revision 1.88 by toy, Tue Feb 18 16:55:49 2003 UTC
# Line 1243  Line 1243 
1243    (let ((keyform-value (gensym))    (let ((keyform-value (gensym))
1244          (clauses ())          (clauses ())
1245          (keys ()))          (keys ()))
1246      (dolist (case cases)      (do* ((case-list cases (cdr case-list))
1247              (case (first case-list) (first case-list)))
1248             ((null case-list))
1249        (cond ((atom case)        (cond ((atom case)
1250               (error "~S -- Bad clause in ~S." case name))               (error "~S -- Bad clause in ~S." case name))
1251              ((and (not allow-otherwise)              ((and (not allow-otherwise)
1252                   (memq (car case) '(t otherwise)))                    (null (cdr case-list))
1253                      (memq (car case) '(t otherwise)))
1254                 ;; The CLHS says OTHERWISE clause is an OTHERWISE clause
1255                 ;; only if it's the last case.  Otherwise, it's just a
1256                 ;; normal clause.
1257               (if errorp               (if errorp
1258                   (error "No default clause allowed in ~S: ~S" name case)                   (error "No default clause allowed in ~S: ~S" name case)
1259                   (push `(t nil ,@(rest case)) clauses)))                   (push `(t nil ,@(rest case)) clauses)))

Legend:
Removed from v.1.87  
changed lines
  Added in v.1.88

  ViewVC Help
Powered by ViewVC 1.1.5