Opened 11 years ago

Last modified 11 years ago

#940 closed defect

Cannot unset read syntax — at Initial Version

Reported by: megane Owned by:
Priority: minor Milestone: someday
Component: unknown Version: 4.8.x
Keywords: Cc:
Estimated difficulty:

Description

This error only shows up with the interpreter.

I've attached a patch.

(set-read-syntax!
 #\!
 (lambda (port) 
   (read-string 3 port)))

(print (string? !foo))

(set-read-syntax! #\! #f) ; <- try to unset
(print "here")
(print (string? !foo))

;; ; loading bug.scm ...
;; #t
;; here

;; Error: call of non-procedure: #f

;; 	Call history:

;; 	parley.scm:587: set-port-name!	  
;; 	<syntax>	  (set-read-syntax! #\! (lambda (port) (read-string 3 port)))
;; 	<syntax>	  (lambda (port) (read-string 3 port))
;; 	<syntax>	  (##core#lambda (port) (read-string 3 port))
;; 	<syntax>	  (##core#begin (read-string 3 port))
;; 	<syntax>	  (read-string 3 port)
;; 	<eval>	  (set-read-syntax! #\! (lambda (port) (read-string 3 port)))
;; 	<eval>	  (read-string 3 port)
;; 	<syntax>	  (print (string? "foo"))
;; 	<syntax>	  (string? "foo")
;; 	<eval>	  (print (string? "foo"))
;; 	<eval>	  (string? "foo")
;; 	<syntax>	  (set-read-syntax! #\! #f)
;; 	<eval>	  (set-read-syntax! #\! #f)
;; 	<syntax>	  (print "here")
;; 	<eval>	  (print "here")	<--

Change History (1)

Changed 11 years ago by megane

Note: See TracTickets for help on using tickets.