Five curses documentation statements contradict the implementation
Abierto
Nadie ha tomado este issue todavía.
docs
topic-curses
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Documentation
Five statements in Doc/library/curses.rst describe behaviour the module does not have.
| documented | says | actually |
|---|---|---|
halfdelay() |
"raise an exception if nothing has been typed" | getch() returns -1 |
termname() |
"truncated to 14 characters" | returns the full name |
window.scroll() |
"no effect unless it has been enabled ... with scrollok" |
raises curses.error |
window.insnstr() |
"If n is zero or negative, the entire string is inserted" | zero inserts nothing |
window.insch() |
"The cursor position does not change" | the (y, x) form moves it |
$ TERM=screen.xterm-256color ./python repro.py; cat out.txt
halfdelay(2); getch() -> -1
termname() -> b'screen.xterm-256color'
scroll() no scrollok -> curses.error: wscrl() (called by scroll()) returned ERR
insnstr('ABC', 0) -> '....'
insch(3, 5, ch); getyx -> (3, 5)
repro.py
import curses
out = []
stdscr = curses.initscr()
try:
curses.cbreak()
curses.halfdelay(2)
out.append(f"halfdelay(2); getch() -> {stdscr.getch()!r}")
curses.cbreak()
out.append(f"termname() -> {curses.termname()!r}")
w = curses.newwin(5, 20, 0, 0)
w.scrollok(False)
try:
w.scroll(1)
out.append("scroll() no scrollok -> returned None")
except curses.error as e:
out.append(f"scroll() no scrollok -> curses.error: {e}")
w.addstr(2, 0, "....")
w.move(2, 0)
w.insnstr("ABC", 0)
out.append(f"insnstr('ABC', 0) -> {w.instr(2, 0, 4).decode()!r}")
w.insch(3, 5, ord('x'))
out.append(f"insch(3, 5, ch); getyx -> {w.getyx()}")
finally:
curses.endwin()
open("out.txt", "w").write("\n".join(out) + "\n")
Linked PRs
- gh-157141
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Abre Doc/library/curses.rst y compara las cinco afirmaciones enumeradas con las salidas de repro.py. Comprueba el PR gh-157141 enlazado antes de empezar; el trabajo está terminado cuando los cinco comportamientos documentados coinciden con la implementación demostrada.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- documentation
- Tipo de issue
- Documentación
- Dificultad
- 1/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 25/100