eigenscript.h declares 8 observer functions that no longer exist
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 88/100
Research direction
Start in src/eigenscript.h, where the eight dead observer prototypes sit at lines 634, 708, 713, 718, 723, 727, 732 and 2252. Re-run the grep from the issue to confirm no .c file defines them, and check the stale comment at src/vm.c:423. Remove the declarations and any comment describing them as live, then add a changes/internal/ fragment as described in changes/README.md. Done when a repo-wide grep finds no remaining references and make and make test pass.
Written by the indexing model from the issue text.
Description
src/eigenscript.h declares eight observer functions that have no definition anywhere in src/:
| prototype | line |
|---|---|
observer_window_size |
634 |
observer_window_get |
708 |
observer_improving |
713 |
observer_diverging |
718 |
observer_oscillating |
723 |
observer_equilibrium |
727 |
observer_stable |
732 |
observer_ensure_fresh |
2252 |
grep -rlw <name> --include=*.c src/ finds no .c file that mentions the first seven. observer_ensure_fresh appears only in a comment at src/vm.c:423, which says it came from eval.c, a translation unit the bytecode VM replaced.
A declaration without a definition compiles and links until someone calls it, so it reads as API that does not exist. The live predicates are the observer_slot_* functions in src/eigenscript.c.
Done when
- The eight declarations, and any comment that describes them as live, are removed from
src/eigenscript.h. - Nothing else in the tree names them, and
makeandmake testpass. - A
changes/internal/fragment explains that the change needs no changelog entry (seechanges/README.md).
Generated by Claude Code
- Dominant language
- C
- Stars
- 3
- Forks
- 7
- Avg merge
- 8h 41m
- Merged PRs (30d)
- 254
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from InauguralSystems/EigenScript
-
Amalgamation compiles with warnings at -O0 (-Wreturn-type) and -O1 (-Wmaybe-uninitialized)Possibly taken @facelessdevhack claimed this 1 day ago. Openarea:embed bug found-by:code-review
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
InauguralSystems/EigenScript#1775 ·
Maintainers usually reply within 1 day
-
UB: (int) cast of a user double outside int range in dispatch / vm_index_is_int / flat_index_atOpenarea:runtime-vm
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
InauguralSystems/EigenScript#1748 ·
Maintainers usually reply within 1 day
-
scan_int_tokens line/col fields are untestedPossibly taken @facelessdevhack claimed this 1 day ago. Openarea:stdlib found-by:critic kind:gate-defect
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
InauguralSystems/EigenScript#1693 ·
Maintainers usually reply within 1 day
-
area:gfx bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
InauguralSystems/EigenScript#1684 ·
Maintainers usually reply within 1 day
-
area:stdlib bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
InauguralSystems/EigenScript#1679 ·
Maintainers usually reply within 1 day
All issues in InauguralSystems/EigenScript
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
FujiNetWIFI/fujinet-lib#186 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100