mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Bugfix: Recursively use method*, not method, in method*
* module/oop/goops.scm (method*): Do not use method.
This commit is contained in:
parent
d2756503f1
commit
382d890026
1 changed files with 4 additions and 5 deletions
|
@ -2073,10 +2073,9 @@ function."
|
||||||
;;; eliminated. Note also that it doesn't support the (next-method) call
|
;;; eliminated. Note also that it doesn't support the (next-method) call
|
||||||
;;; as does the following implementation.
|
;;; as does the following implementation.
|
||||||
;;;
|
;;;
|
||||||
;;; If you make changes to the following implementation, bear in mind
|
;;; If you make changes, bear in mind that define-method* is supposed to
|
||||||
;;; that define-method* is supposed to also be able to handle ordinary
|
;;; also be able to handle ordinary methods without keyword formals. See
|
||||||
;;; methods without keyword formals. See the Guile Reference and the
|
;;; the Guile Reference and the module (oop goops keyword-formals).
|
||||||
;;; module (oop goops keyword-formals).
|
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(define-syntax define-method
|
(define-syntax define-method
|
||||||
|
@ -2369,7 +2368,7 @@ function."
|
||||||
(define-syntax method*
|
(define-syntax method*
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
(syntax-case x ()
|
(syntax-case x ()
|
||||||
((_ formals) #'(method formals (if #f #f)))
|
((_ formals) #'(method* formals (if #f #f)))
|
||||||
((_ formals body0 body1 ...)
|
((_ formals body0 body1 ...)
|
||||||
(with-syntax (((formals (specializer ...) keyword-formals)
|
(with-syntax (((formals (specializer ...) keyword-formals)
|
||||||
(parse-keyword-formals #'formals)))
|
(parse-keyword-formals #'formals)))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue