logisim-evolution/logisim-evolution
Can't add components from a sub-sub-library
已關閉
#2,380 建立於 2025年11月2日
all OSbughelp wantedpri std
倉庫指標
- 星標
- (3,695 顆星)
- PR 合併指標
- (平均合併 3天 18小時) (30 天內合併 47 個 PR)
描述
Steps to reproduce:
- Have a custom library A.circ
- Have a custom library B.circ, which uses something from A.circ.
- Have a custom library C.circ, which uses something from B.circ.
- Good luck if you want to use something from A.circ in C.circ.
- A.circ is visible in C.circ's editor as a subfolder in the imported B.circ... but you can't add subcircuits from it, as they're not selectable for some reason.
- You can't import A.circ to C.circ because Logisim considers A.circ as already loaded and errors with "A.circ: Library is already loaded or there exists already a library with the same name (case-insensitive)". This is somewhat similar to #1809 where two loaded sublibraries can't have a shared custom library.
Except... if I open C.circ in a text editor and append A.circ manually, it appears as a top-level loaded library in C.circ and I can add components from it So, clearly Logisim doesn't functionally consider C.circ being "loaded" twice an issue.
Trying to hack in something from A.circ to C.circ without importing A.circ first results in an error, meaning despite seeing the components through B.circ, Logisim can't resolve them directly.
So, at start-time, either Logisim should recursively move all imported sublibraries to top-level, or it should recursively resolve components from sublibraries if they're not top-level.