From e752f91ee4f33a4a0fe9b9fb081d06668de5ebc0 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 12 Apr 2011 15:47:02 -0400 Subject: [PATCH] `xref-binding->definition-tag': fix two-argument-list mode Closes PR 11847 original commit: 00ca86ffc6641892828a0444babd00357a03bb82 --- collects/scribble/xref.rkt | 2 +- collects/tests/scribble/xref.rkt | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 collects/tests/scribble/xref.rkt diff --git a/collects/scribble/xref.rkt b/collects/scribble/xref.rkt index e0c09565..bb5918a0 100644 --- a/collects/scribble/xref.rkt +++ b/collects/scribble/xref.rkt @@ -106,7 +106,7 @@ (let loop ([src (car id/binding)]) (cond [(module-path-index? src) - (search src)] + (search (list src (cadr id/binding)))] [(module-path? src) (loop (module-path-index-join src #f))] [else diff --git a/collects/tests/scribble/xref.rkt b/collects/tests/scribble/xref.rkt new file mode 100644 index 00000000..a055c9b2 --- /dev/null +++ b/collects/tests/scribble/xref.rkt @@ -0,0 +1,21 @@ +#lang racket/base +(require scribble/xref + racket/fasl + setup/dirs) + +(define xref (load-xref (list + (lambda () + (cadr + (call-with-input-file* + (build-path (find-doc-dir) + "reference" + "out.sxref") + fasl->s-exp)))))) + +(unless (equal? '(form ((lib "racket/contract.rkt") ->)) + (xref-binding->definition-tag + xref + (list '(lib "contract.rkt" "racket") '->) + #f)) + (error "failed")) +