1
Fork 0
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:
Kevin Ryde 2006-12-12 22:20:40 +00:00
parent 0238dc9de2
commit ab9b209eb8

View file

@ -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
;;;