From 0957baea77e336c0fc2f1e0781c57da8438c868f Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 1 Dec 2013 08:09:07 -0700 Subject: [PATCH] move `setup/xref` from "scribble-lib" to "racket-index" The `setup/xref` library conceptually belongs in "racket-index", and moving the library avoids a cross-package use of a private module. Merge to v6.0 original commit: d37e910169622364a10cdd34f00ade99ee216a77 --- pkgs/gui-pkgs/gui-lib/framework/private/text.rkt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/gui-pkgs/gui-lib/framework/private/text.rkt b/pkgs/gui-pkgs/gui-lib/framework/private/text.rkt index 2d10afba..a46a01f4 100644 --- a/pkgs/gui-pkgs/gui-lib/framework/private/text.rkt +++ b/pkgs/gui-pkgs/gui-lib/framework/private/text.rkt @@ -16,8 +16,7 @@ "coroutine.rkt" data/queue) -(require setup/xref - scribble/xref +(require scribble/xref scribble/manual-struct) (import mred^ @@ -4030,8 +4029,15 @@ designates the character that triggers autocompletion (let* ([sym->mpi (λ (mp) (module-path-index-resolve (module-path-index-join mp #f)))] [manual-mpis (and manuals (map sym->mpi manuals))]) - (unless xref - (set! xref (load-collections-xref))) + (unless xref + (let ([load-collections-xref + ;; Make the dependency on `setup/xref' indirect, so that a + ;; GUI does not depend on having documentation installed: + (with-handlers ([exn:missing-module? (lambda (exn) + (lambda () + (load-xref null)))]) + (dynamic-require 'setup/xref 'load-collections-xref))]) + (set! xref (load-collections-xref)))) (let ([ht (make-hash)]) (for-each