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

codeblock reports errors in terms of read-syntax

Đang mở
#273 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
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Lĩnh vực
documentation

Hướng nghiên cứu

Bắt đầu bằng cách chạy ví dụ Scribble codeblock được cung cấp và so sánh lỗi read-syntax trong thời gian chạy của nó với vị trí mã nguồn được hiển thị trong ví dụ markdown. Truy vết đường dẫn phân tích cú pháp của codeblock và đường dẫn markdown/scrib, sau đó xác minh rằng đầu vào khối không hợp lệ báo cáo lỗi và vị trí mã nguồn phù hợp, thay vì để lộ thông báo read-syntax nội bộ.

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

Mô tả

bug

When codeblock can't parse its arguments, the error can be raised in terms of read-syntax. For example, the following program produces the error message “:4:4: read-syntax: bad syntax # ” at runtime (not at read-time):

#lang scribble/manual

@codeblock{
 `@"`"`
 A ::= B
 | C
 | D # which is an E
 `@"`"`
}

This inspired @shriram's example in https://github.com/greghendershott/markdown/issues/84. With that example, the srcloc points to the markdown/scrib library:

#lang at-exp racket

(require markdown markdown/scrib scribble/decode)

(define xs
  (parameterize  ([current-input-port
                   (open-input-string
                    @string-append{```
                    A ::= B
                    | C
                    | D # which is an E
                    ```})])
    (read-markdown)))

xs

(with-handlers ([exn:fail? (λ (e) e)])
  (xexprs->scribble-pres xs))
Ngôn ngữ chính
Racket
Star
251
Fork
101
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.