1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 22:31:12 +02:00

*unspecified* is identifier syntax

* module/ice-9/boot-9.scm (*unspecified*): Define using
  identifier-syntax. Should also prevent it from being set!.
  (unspecified?): Move up.
This commit is contained in:
Andy Wingo 2010-06-18 11:46:41 +02:00
parent 39d950fd21
commit 410e83c012

View file

@ -2654,6 +2654,20 @@ module '(ice-9 q) '(make-q q-length))}."
(print-options print-enable print-disable)
(print-set!)))
;;; {The Unspecified Value}
;;;
;;; Currently Guile represents unspecified values via one particular value,
;;; which may be obtained by evaluating (if #f #f). It would be nice in the
;;; future if we could replace this with a return of 0 values, though.
(define-syntax *unspecified*
(identifier-syntax (if #f #f)))
(define (unspecified? v) (eq? v *unspecified*))
;;; {Running Repls}
@ -2666,9 +2680,6 @@ module '(ice-9 q) '(make-q q-length))}."
;; A provisional repl that acts like the SCM repl:
;;
(define *unspecified* (if #f #f))
(define (unspecified? v) (eq? v *unspecified*))
(define (default-pre-unwind-handler key . args)
;; Narrow by two more frames: this one, and the throw handler.
(save-stack 2)