@Stefan Schippers:  Is is possible that when a schematic file is read in xschem, that the intepretation of "cwd" can be relocated to the location of the schematic being read?  This would make projects using xschem schematics more portable.
The problem is that I am trying to use entire projects as dependencies of other projects;  I have, for example, a project called 
sky130_ef_ip__analog_switches
  which is a library of analog switches.  It is all self-contained, so it has an "xschem" directory, and all the schematics in that directory include components from the same directory.
If I want to use those switches in another project, then I create a directory called "dependencies" in that project, and under "dependencies" I clone the 
sky130_ef_ip__analog_switches
 repository.  Then I can include a switch symbol by navigating to the repository and choosing a switch symbol.  However, that symbol is linked to a schematic, and that schematic may refer to other symbols in the same directory.  If so, then xschem cannot find those symbols.   But it 
can find the schematic linked to the symbol, so it seems to understand that a schematic should be in the same location as its corresponding symbol, but doesn't understand that symbols instanced in the schematic might also come from the same directory as the schematic.
It appears that xschem has some built-in concept of "cwd" because if I don't put the current directory into the XSCHEM_LIBRARY_PATH (either as an absolute path from root or as 
.
), then xschem will still find symbols in the directory where I start up.  It doesn't seem like too much of a stretch to ask that the built-in concept of "cwd" should change to the directory where a schematic is being read, so that local files referenced by that schematic will be discovered automatically.
Hopefully I explained that in an understandable way. . .