mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-28 16:00:22 +02:00
Exercise top-level define setting procedure-name.
This commit is contained in:
parent
0238dc9de2
commit
ab9b209eb8
1 changed files with 27 additions and 0 deletions
|
@ -201,6 +201,33 @@
|
|||
(map + '(1 2) '(3)))
|
||||
)))
|
||||
|
||||
;;;
|
||||
;;; define with procedure-name
|
||||
;;;
|
||||
|
||||
(define old-procnames-flag (memq 'procnames (debug-options)))
|
||||
(debug-enable 'procnames)
|
||||
|
||||
;; names are only set on top-level procedures (currently), so these can't be
|
||||
;; hidden in a let
|
||||
;;
|
||||
(define foo-closure (lambda () "hello"))
|
||||
(define bar-closure foo-closure)
|
||||
(define foo-pws (make-procedure-with-setter car set-car!))
|
||||
(define bar-pws foo-pws)
|
||||
|
||||
(with-test-prefix "define set procedure-name"
|
||||
|
||||
(pass-if "closure"
|
||||
(eq? 'foo-closure (procedure-name bar-closure)))
|
||||
|
||||
(pass-if "procedure-with-setter"
|
||||
(eq? 'foo-pws (pk (procedure-name bar-pws)))))
|
||||
|
||||
(if old-procnames-flag
|
||||
(debug-enable 'procnames)
|
||||
(debug-disable 'procnames))
|
||||
|
||||
;;;
|
||||
;;; promises
|
||||
;;;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue