diff -urN racket-6.12-wbsvr/share/pkgs/scribble-lib/help/search.rkt racket-6.12/share/pkgs/scribble-lib/help/search.rkt
--- racket-6.12-wbsvr/share/pkgs/scribble-lib/help/search.rkt 2018-03-19 17:14:56.017273013 -0400
+++ racket-6.12/share/pkgs/scribble-lib/help/search.rkt 2018-03-19 17:15:37.839113929 -0400
@@ -17,33 +17,38 @@
#:notify [notify void])
(define open-url (get-doc-open-url))
(cond
- [open-url
- (define dest-url (let ([u (string->url open-url)])
- (combine-url/relative
- u
- (string-join
- (for/list ([s (explode-path sub)])
- (if (path? s)
- (path-element->string s)
- (format "~a" s)))
- "/"))))
- (notify (url->string dest-url))
- (send-url (url->string
- (struct-copy url dest-url
- [fragment (or fragment
- (url-fragment dest-url))]
- [query (append
- (url-query dest-url)
- (if query
- (url-query
- (string->url
- (format "q?~a" query)))
- null))])))]
- [else
- (let* ([path (build-path (find-user-doc-dir) sub)]
- [path (if (file-exists? path) path (build-path (find-doc-dir) sub))])
- (notify path)
- (send-url/file path #:fragment fragment #:query query))]))
+ [open-url
+ (define dest-url (let ([u (string->url open-url)])
+ (combine-url/relative
+ u
+ (string-join
+ (for/list ([s (explode-path sub)])
+ (if (path? s)
+ (path-element->string s)
+ (format "~a" s)))
+ "/"))))
+ (notify (url->string dest-url))
+ (send-url (url->string
+ (struct-copy url dest-url
+ [fragment (or fragment
+ (url-fragment dest-url))]
+ [query (append
+ (url-query dest-url)
+ (if query
+ (url-query
+ (string->url
+ (format "q?~a" query)))
+ null))])))]
+ [else
+ (let* ([path (build-path (find-user-doc-dir) sub)]
+ [path (if (file-exists? path) path (build-path (find-doc-dir) sub))])
+ (notify path)
+ (if (file-exists? path)
+ (send-url/file path #:fragment fragment #:query query)
+ (let ([part (lambda (pfx x) (if x (string-append pfx x) ""))])
+ (send-url (string-append
+ "https://docs.racket-lang.org/"
+ sub (part "#" fragment) (part "?" query))))))]))
;; This is an example of changing this code to use the online manuals.
;; Normally, it's better to set `doc-open-url` in "etc/config.rktd",