Provide LOAD-PORT to load forms from a port.
This commit is contained in:
		
							parent
							
								
									c936bcce29
								
							
						
					
					
						commit
						855cffa3c7
					
				| 
						 | 
					@ -23,12 +23,12 @@
 | 
				
			||||||
       (let ((o-port (current-noise-port)))
 | 
					       (let ((o-port (current-noise-port)))
 | 
				
			||||||
	 (display truename o-port)
 | 
						 (display truename o-port)
 | 
				
			||||||
	 (force-output o-port)
 | 
						 (force-output o-port)
 | 
				
			||||||
	 (really-read-forms port)))
 | 
						 (read-forms-from-port port)))
 | 
				
			||||||
     (lambda ()
 | 
					     (lambda ()
 | 
				
			||||||
       (close-input-port port)
 | 
					       (close-input-port port)
 | 
				
			||||||
       (set! port #f)))))
 | 
					       (set! port #f)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (really-read-forms port)	    
 | 
					(define (read-forms-from-port port)	    
 | 
				
			||||||
  (let loop ((forms '()))
 | 
					  (let loop ((forms '()))
 | 
				
			||||||
    (let ((form (read port)))
 | 
					    (let ((form (read port)))
 | 
				
			||||||
      (if (eof-object? form)
 | 
					      (if (eof-object? form)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -178,7 +178,7 @@
 | 
				
			||||||
; Reading the forms in a file.
 | 
					; Reading the forms in a file.
 | 
				
			||||||
; This is used by scan-package and rts/eval.scm.
 | 
					; This is used by scan-package and rts/eval.scm.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-structure reading-forms (export read-forms $note-file-package)
 | 
					(define-structure reading-forms (export read-forms read-forms-from-port $note-file-package)
 | 
				
			||||||
  (open scheme-level-2
 | 
					  (open scheme-level-2
 | 
				
			||||||
	fluids filenames
 | 
						fluids filenames
 | 
				
			||||||
	signals				;error
 | 
						signals				;error
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1181,6 +1181,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-interface evaluation-interface
 | 
					(define-interface evaluation-interface
 | 
				
			||||||
  (export eval load load-into eval-from-file
 | 
					  (export eval load load-into eval-from-file
 | 
				
			||||||
 | 
					          load-port
 | 
				
			||||||
	  ; eval-scanned-forms
 | 
						  ; eval-scanned-forms
 | 
				
			||||||
	  ))
 | 
						  ))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,24 +29,13 @@
 | 
				
			||||||
		     (interaction-environment)
 | 
							     (interaction-environment)
 | 
				
			||||||
		     (car package-option))))
 | 
							     (car package-option))))
 | 
				
			||||||
    (really-load-into filename package #t)))
 | 
					    (really-load-into filename package #t)))
 | 
				
			||||||
; JMG For scsh.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (load-into-port port p)
 | 
					 | 
				
			||||||
  (error "JMG: load into port called. See rts/eval"))
 | 
					 | 
				
			||||||
 ; (compile-and-run-port port p
 | 
					 | 
				
			||||||
;			(lambda (template)
 | 
					 | 
				
			||||||
;			  (invoke-template template p))
 | 
					 | 
				
			||||||
;			(current-noise-port)
 | 
					 | 
				
			||||||
;			#t)); JMG whatever #t means...
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (load-port port . package-option)
 | 
					(define (load-port port . package-option)
 | 
				
			||||||
  (error "JMG: load port called. See rts/eval "))
 | 
					  (let ((package (if (null? package-option)
 | 
				
			||||||
;  (let ((p (if (null? package-option)
 | 
					                     (interaction-environment)
 | 
				
			||||||
;	       (interaction-environment)
 | 
					                     (car package-option)))
 | 
				
			||||||
;	       (car package-option))))
 | 
					        (forms (read-forms-from-port port)))
 | 
				
			||||||
;    (noting-undefined-variables p
 | 
					    (compile-and-run forms package #f #t)))
 | 
				
			||||||
;      (lambda ()
 | 
					 | 
				
			||||||
;	(load-into-port port p)))))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
;----------------
 | 
					;----------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue