A multi-byte character in new PyREPL requires two backspaces to delete
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 77.2k
- Fork
- 35.9k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
Bug report
Bug description:
Bug report
To reproduce
- Open the new REPL
- Paste:
é - Backspace to remove the pasted character
The paste-able string above is letter 'e' followed by \u0301. To create it use:
print('e\u0301')
The \u0301 is a combining mark with zero-width display length
Current behavior
Two backspaces are required to remove the displayed character
Expected behavior
One backspace is required to remove the displayed character
This is the behavior in the old REPL
CPython versions tested on:
3.14.0, 3.15.0a2
Operating systems tested on:
Linux
Linked PRs
- gh-145332
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện vấn đề trong PyREPL mới với chuỗi ký tự kết hợp e\u0301, sau đó so sánh hành vi xóa của nó với REPL cũ. Được xem là hoàn tất khi một lần nhấn backspace xóa ký tự đang hiển thị và hành vi liên quan được kiểm thử; hãy kiểm tra PR được liên kết gh-145332 trước vì công việc có thể đã được tiến hành.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- cli
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 32/100