fixed another path/string bug in the autosave recovery dialog
This commit is contained in:
parent
994c1f202c
commit
c455631eb3
|
@ -37,9 +37,11 @@
|
||||||
(quote-literal-label (apply format format-str args)))
|
(quote-literal-label (apply format format-str args)))
|
||||||
|
|
||||||
;; quote-literal-label: string -> string
|
;; quote-literal-label: string -> string
|
||||||
(define (quote-literal-label a-str)
|
(define (quote-literal-label a-str #:quote-amp? [quote-amp? #t])
|
||||||
(trim-string (regexp-replace* #rx"(&)" a-str "\\1\\1")
|
(define quoted (if quote-amp?
|
||||||
maximum-string-label-length))
|
(regexp-replace* #rx"(&)" a-str "\\1\\1")
|
||||||
|
a-str))
|
||||||
|
(trim-string quoted maximum-string-label-length))
|
||||||
|
|
||||||
;; selected-text-color : color
|
;; selected-text-color : color
|
||||||
(define selected-text-color (send the-color-database find-color "black"))
|
(define selected-text-color (send the-color-database find-color "black"))
|
||||||
|
@ -303,17 +305,18 @@
|
||||||
than @racket[size] by trimming the @racket[str]
|
than @racket[size] by trimming the @racket[str]
|
||||||
and inserting an ellispses into it.})
|
and inserting an ellispses into it.})
|
||||||
|
|
||||||
(proc-doc
|
(proc-doc/names
|
||||||
gui-utils:quote-literal-label
|
gui-utils:quote-literal-label
|
||||||
(->i ([str string?])
|
(->* (string?)
|
||||||
()
|
(#:quote-amp? any/c)
|
||||||
[res (str)
|
|
||||||
(and/c string?
|
(and/c string?
|
||||||
(lambda (str)
|
(λ (str) ((string-length str) . <= . 200))))
|
||||||
((string-length str) . <= . 200)))])
|
((string)
|
||||||
@{Constructs a string whose ampersand characters are
|
((quote-amp? #t)))
|
||||||
escaped; the label is also trimmed to <= 200
|
@{Constructs a string whose length is less than @racket[200] and,
|
||||||
characters.})
|
if @racket[quote-amp?] is not @racket[#f], then it also quotes
|
||||||
|
the ampersand in the result (making the string suitable for use in
|
||||||
|
@racket[menu-item%] label, for example).})
|
||||||
|
|
||||||
(proc-doc
|
(proc-doc
|
||||||
gui-utils:format-literal-label
|
gui-utils:format-literal-label
|
||||||
|
|
|
@ -239,7 +239,9 @@
|
||||||
(when filename-result
|
(when filename-result
|
||||||
(disable-line)
|
(disable-line)
|
||||||
(send msg2 set-label (string-constant autosave-recovered!))
|
(send msg2 set-label (string-constant autosave-recovered!))
|
||||||
(send msg1 set-label filename-result)))))]
|
(send msg1 set-label (gui-utils:quote-literal-label
|
||||||
|
(path->string filename-result)
|
||||||
|
#:quote-amp #f))))))]
|
||||||
[disable-line
|
[disable-line
|
||||||
(λ ()
|
(λ ()
|
||||||
(send recover enable #f)
|
(send recover enable #f)
|
||||||
|
@ -297,7 +299,11 @@
|
||||||
(define vp (make-object vertical-panel% parent))
|
(define vp (make-object vertical-panel% parent))
|
||||||
(define t (make-object show-files-text%))
|
(define t (make-object show-files-text%))
|
||||||
(define msg1 (make-object message% label vp))
|
(define msg1 (make-object message% label vp))
|
||||||
(define msg2 (make-object message% (path->string filename) vp))
|
(define msg2 (new message%
|
||||||
|
[label (gui-utils:quote-literal-label
|
||||||
|
(path->string filename)
|
||||||
|
#:quote-amp #f)]
|
||||||
|
[parent vp]))
|
||||||
(define ec (make-object editor-canvas% vp t))
|
(define ec (make-object editor-canvas% vp t))
|
||||||
(send t load-file filename)
|
(send t load-file filename)
|
||||||
(send t hide-caret #t)
|
(send t hide-caret #t)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user