Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

"Protected" error when re-providing a third party function

Đang mở
#283 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
30/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Lĩnh vực
documentation

Hướng nghiên cứu

Tái hiện lỗi build tài liệu từ ví dụ require/provide liên quan đến lệnh gọi mischief/function, sau đó kiểm tra scribblings/composition.scrbl và đường dẫn đánh giá Scribble được nêu trong stack trace, bao gồm scribble/eval.rkt. Công việc được hoàn tất khi build tài liệu không còn phát sinh dynamic-require: name is protected khi hàm của bên thứ ba được cung cấp lại.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

Hello,
I attempted to re-provide a function from a third party module (call from mischief/function) in my module, without modification. E.g.:

(require (only-in mischief/function call))
(provide call)

The code built successfully and the tests passed, but the Scribble docs failed to build with dynamic-require: name is protected (full error pasted below).

As a workaround, I manually copied the implementation from the third party source and provided it afresh from within my module without require-ing it; this is the commit that does that. This works, as expected. [Note: I just noticed that there is a redundant deftogether in that commit - this does not affect the error either way (I just checked).]

Environment
Racket 7.8 CS

Full error message:

Note that the error implicates a module (composition.scrbl) that isn't modified by the offending code.

examples: exception raised in example
  error: "dynamic-require: name is protected\n  name: 'syntax-local-expand-observer\n  module: #<resolved-module-path:'#%expobs>"
  context...:
   do-error
   .../scribble/eval.rkt:308:23: with-handlers-handler102
   .../private/more-scheme.rkt:163:2: select-handler/no-breaks
   .../scribble/eval.rkt:356:9
   .../private/map.rkt:40:19: loop
   [repeats 6 more times]
   .../private/manual-vars.rkt:218:40
   .../private/manual-vars.rkt:167:0: *deftogether
   interpret
   loop
   interpret
   [repeats 3 more times]
   proc
   call-in-empty-metacontinuation-frame
   body of "/Users/siddhartha/work/lisp/racket/relation/scribblings/composition.scrbl"
   interpret-expr

  context...:
   do-error
   call-in-empty-metacontinuation-frame
   .../setup/parallel-do.rkt:332:4: !work-done method in list-queue%
   .../setup/parallel-do.rkt:282:17
   .../setup/parallel-do.rkt:236:4
   dynamic-wind
   .../setup/scribble.rkt:138:0: setup-scribblings
   call-in-empty-metacontinuation-frame
   winder-dummy
   .../setup/setup-core.rkt:72:0: setup-core
   call-in-empty-metacontinuation-frame
   body of "/Applications/Racket v7.8/collects/setup/main.rkt"
   temp35_0
   run-module-instance!
   call-in-empty-metacontinuation-frame
   body of "/Applications/Racket v7.8/collects/raco/main.rkt"
Ngôn ngữ chính
Racket
Star
250
Fork
102
Merge trung bình
11 ngày 9 giờ
Pull request đã merge (30 ngày)
2

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của racket/scribble

Tất cả issue của racket/scribble

Issue tương tự

Thêm issue về Documentation

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.