Opened 9 years ago

Closed 9 years ago

#940 closed defect (fixed)

Cannot unset read syntax

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

Description (last modified by sjamaan)

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")	<--

Attachments (1)

set-read-syntax-unset-with-false.patch (582 bytes) - added by megane 9 years ago.

Download all attachments as: .zip

Change History (2)

Changed 9 years ago by megane

comment:1 Changed 9 years ago by sjamaan

Description: modified (diff)
Resolution: fixed
Status: newclosed

Fixed by 399f9968848c2dc1d0d7e94df5e2c5a699934e53 (what a pretty commit id... so many 9s)

Thanks!

Note: See TracTickets for help on using tickets.