TobyLobster / Inform

Inform is a design system for interactive fiction based on natural language
Other
82 stars 18 forks source link

Inform 7 IDE fails to follow symlinks to extensions or interpreter templates #10

Open weaversam8 opened 2 years ago

weaversam8 commented 2 years ago

This might be a bug in the compiler, but during extension development, I symlinked an extension to the correct location (from my repo, which was elsewhere on my system) and it wasn't recognized during compilation. The same error also occurred when I symlinked an interpreter directory in the *.materials/Templates subfolder.

ganelson commented 1 year ago

It doesn't seem likely that this is an IDE issue.

It may arise because the code in Directories::listing(P) in Chapter 3 of the foundation module does not distinguish between symlinks and regular files. It's not altogether easy to change that assumption, though, because the users of this function assume that they can form a valid path by forming P/leafname on any leafname they find as a result of running, in effect, readdir on P. I might still expect that to work, though, if the symlink is sensibly named? Presumably fopen, for example, works when given a path that goes through a symlink?

I'm not sure what if anything it's sensible to do about this.