fix scribble pdf button

closes PR 12141
This commit is contained in:
Robby Findler 2011-08-30 20:40:58 -05:00
parent 5dab69cf4b
commit 050d0c0fe0

View File

@ -25,6 +25,7 @@
bmp bmp
(λ (drs-frame) (λ (drs-frame)
(define fn (send (send drs-frame get-definitions-text) get-filename)) (define fn (send (send drs-frame get-definitions-text) get-filename))
(define html? (equal? suffix #".html"))
(cond (cond
[fn [fn
(parameterize ([drracket:rep:after-expression (parameterize ([drracket:rep:after-expression
@ -32,15 +33,21 @@
(printf "scribble: loading xref\n") (printf "scribble: loading xref\n")
(define xref ((dynamic-require 'setup/xref 'load-collections-xref))) (define xref ((dynamic-require 'setup/xref 'load-collections-xref)))
(printf "scribble: rendering\n") (printf "scribble: rendering\n")
((dynamic-require 'scribble/render 'render) (parameterize ([current-input-port (open-input-string "")])
(list (eval 'doc)) ((dynamic-require 'scribble/render 'render)
(list fn) (list (eval 'doc))
#:xrefs (list xref)) (list fn)
#:render-mixin (dynamic-require (if html?
'scribble/html-render
'scribble/pdf-render)
'render-mixin)
#:xrefs (list xref)))
(cond (cond
[(equal? suffix #".html") [html?
(send-url/file (path-replace-suffix fn suffix))] (send-url/file (path-replace-suffix fn suffix))]
[else [else
(system (format "open ~s" (path->string (path-replace-suffix fn suffix))))]))]) (parameterize ([current-input-port (open-input-string "")])
(system (format "open \"~a\"" (path->string (path-replace-suffix fn suffix)))))]))])
(send drs-frame execute-callback))] (send drs-frame execute-callback))]
[else [else
(message-box "Scribble" "Cannot render buffer without filename")])))) (message-box "Scribble" "Cannot render buffer without filename")]))))