define-method-combination does not support the :arguments list
Compiling the ChanL module gives this error:
;;; Error:
;;; in file actors.lisp, position 4359
;;; at (DEFINE-METHOD-COMBINATION SELECT ...)
;;; * The macro form (DEFINE-METHOD-COMBINATION SELECT (&OPTIONAL (SLEEP 1/7)) ((SELECT *)) (:ARGUMENTS ACTOR) (LET (BEFORE AFTER AROUND RECV SEND DEFAULT) (DOLIST (METHOD SELECT) (ECASE (FIRST (METHOD-QUALIFIERS METHOD)) (:BEFORE (PUSH METHOD BEFORE)) (:AROUND (PUSH METHOD AROUND)) (:AFTER (PUSH METHOD AFTER)) (SEND (PUSH METHOD SEND)) (RECV (PUSH METHOD RECV)) ((NIL) (PUSH METHOD DEFAULT)))) (FLET ((BUILD-RECV (METHOD &AUX (SLOT (SECOND (METHOD-QUALIFIERS METHOD)))) `((RECV (SLOT-CHANNEL ,ACTOR ',SLOT) VALUE) (SETF (SLOT-VALUE ,ACTOR ',SLOT) VALUE) (CALL-METHOD ,METHOD))) (BUILD-SEND (METHOD &AUX (SLOT (SECOND (METHOD-QUALIFIERS METHOD)))) `((SEND (SLOT-CHANNEL ,ACTOR ',SLOT) (SLOT-VALUE ,ACTOR ',SLOT)) (CALL-METHOD ,METHOD))) (CALL-METHODS (METHODS) (MAPCAR (LAMBDA (METHOD) `(CALL-METHOD ,METHOD)) METHODS))) (LET ((FORM `(MULTIPLE-VALUE-PROG1 (PROGN ,@(CALL-METHODS BEFORE) (SELECT ,@(MAPCAR #'BUILD-RECV RECV) ,@(MAPCAR #'BUILD-SEND SEND) (T ,(IF DEFAULT `(CALL-METHOD ,@DEFAULT) `(SLEEP ,SLEEP))))) ,@(CALL-METHODS AFTER)))) (IF (NULL AROUND) FORM `(CALL-METHOD ,(FIRST AROUND) (,@(REST AROUND) (MAKE-METHOD ,FORM)))))))) was not expanded successfully.
;;; Error detected:
;;; Option :ARGUMENTS is not supported in DEFINE-METHOD-COMBINATION.
Condition of type: COMPILE-FILE-ERROR
COMPILE-FILE-ERROR while compiling #<cl-source-file "chanl" "src" "actors">
Available restarts:
1. (RETRY) Retry compiling #<cl-source-file "chanl" "src" "actors">.
2. (ACCEPT) Continue, treating compiling #<cl-source-file "chanl" "src" "actors"> as having been successful.
3. (RETRY) Retry ASDF operation.
4. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
5. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
The ecl file combin.lsp
states on line 256 that ':arguments' is not supported, it is part of the standard though.