fix wxme reader to preserve line-counting mode
Closes PR 11141
This commit is contained in:
parent
036ed57000
commit
2e29c09f96
|
@ -662,16 +662,20 @@
|
|||
(define/kw (wxme-port->text-port port #:optional [close? #t])
|
||||
(wxme-convert-port port close? #f))
|
||||
|
||||
(define (do-read port who read)
|
||||
(define (do-read orig-port who read)
|
||||
(let ([port (if (gui-available?)
|
||||
;; GUI mode, since GRacket is available:
|
||||
(let ([text% (dynamic-require 'mred 'text%)]
|
||||
[open-input-text-editor (dynamic-require 'mred 'open-input-text-editor)])
|
||||
(let ([t (new text%)])
|
||||
(send t insert-port port 'standard)
|
||||
(open-input-text-editor t 0 'end values (object-name port) #t)))
|
||||
(send t insert-port orig-port 'standard)
|
||||
(open-input-text-editor t 0 'end values (object-name orig-port) #t)))
|
||||
;; Non-GUI mode:
|
||||
(decode who port (lambda (x) x) #f #f))])
|
||||
(decode who orig-port (lambda (x) x) #f #f))])
|
||||
;; Turn on line counting if it was on before:
|
||||
(let-values ([(line col pos) (port-next-location orig-port)])
|
||||
(when line (port-count-lines! port)))
|
||||
;; Read:
|
||||
(let ([v (read port)])
|
||||
(let ([v2 (let loop ()
|
||||
(let ([v2 (read port)])
|
||||
|
|
Loading…
Reference in New Issue
Block a user