logisim-evolution/logisim-evolution

Can't add components from a sub-sub-library

已關閉

#2,380 建立於 2025年11月2日

 (1 則留言) (0 個反應) (0 位負責人)Java (505 個分叉)batch import
all OSbughelp wantedpri std

倉庫指標

星標
 (3,695 顆星)
PR 合併指標
 (平均合併 3天 18小時) (30 天內合併 47 個 PR)

描述

Steps to reproduce:

  1. Have a custom library A.circ
  2. Have a custom library B.circ, which uses something from A.circ.
  3. Have a custom library C.circ, which uses something from B.circ.
  4. 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.

貢獻者指南