.
original commit: dda1377906f39682d613567333fb1aa537573466
This commit is contained in:
parent
7c976eb0a8
commit
b6b1e488d0
|
@ -7,15 +7,15 @@
|
||||||
(define (make-sexp-snipclass% sexp-snip%)
|
(define (make-sexp-snipclass% sexp-snip%)
|
||||||
(class snip-class%
|
(class snip-class%
|
||||||
(define/override (read in)
|
(define/override (read in)
|
||||||
(let* ([left-bracket (string-ref (send in get-string) 0)]
|
(let* ([left-bracket (integer->char (bytes-ref (send in get-bytes) 0))]
|
||||||
[right-bracket (string-ref (send in get-string) 0)]
|
[right-bracket (integer->char (bytes-ref (send in get-bytes) 0))]
|
||||||
[snip-count (send in get-exact)]
|
[snip-count (send in get-exact)]
|
||||||
[saved-snips
|
[saved-snips
|
||||||
(let loop ([n snip-count])
|
(let loop ([n snip-count])
|
||||||
(cond
|
(cond
|
||||||
[(zero? n) null]
|
[(zero? n) null]
|
||||||
[else
|
[else
|
||||||
(let* ([classname (send in get-string)]
|
(let* ([classname (bytes->string/utf-8 (send in get-bytes))]
|
||||||
[snipclass (send (get-the-snip-class-list) find classname)])
|
[snipclass (send (get-the-snip-class-list) find classname)])
|
||||||
(cons (send snipclass read in)
|
(cons (send snipclass read in)
|
||||||
(loop (- n 1))))]))])
|
(loop (- n 1))))]))])
|
||||||
|
|
|
@ -98,8 +98,8 @@
|
||||||
(saved-snips saved-snips)))
|
(saved-snips saved-snips)))
|
||||||
|
|
||||||
(define/override (write stream-out)
|
(define/override (write stream-out)
|
||||||
(send stream-out put (string left-bracket))
|
(send stream-out put (bytes (char->integer left-bracket)))
|
||||||
(send stream-out put (string right-bracket))
|
(send stream-out put (bytes (char->integer right-bracket)))
|
||||||
(send stream-out put (length saved-snips))
|
(send stream-out put (length saved-snips))
|
||||||
(let loop ([snips saved-snips])
|
(let loop ([snips saved-snips])
|
||||||
(cond
|
(cond
|
||||||
|
@ -107,7 +107,7 @@
|
||||||
[else
|
[else
|
||||||
(let* ([snip (car snips)]
|
(let* ([snip (car snips)]
|
||||||
[snipclass (send snip get-snipclass)])
|
[snipclass (send snip get-snipclass)])
|
||||||
(send stream-out put (send snipclass get-classname))
|
(send stream-out put (string->bytes/utf-8 (send snipclass get-classname)))
|
||||||
(send snip write stream-out))
|
(send snip write stream-out))
|
||||||
(loop (cdr snips))])))
|
(loop (cdr snips))])))
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@
|
||||||
(right-bracket right-bracket)
|
(right-bracket right-bracket)
|
||||||
(saved-snips snips))
|
(saved-snips snips))
|
||||||
left-pos left-pos)
|
left-pos left-pos)
|
||||||
(send text end-edit-sequence))))
|
(send text end-edit-sequence))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user