Fixed longstanding issue with get_cfg_idx, which prevented use of abbreviated long names.
Backup. About to change spsel iterators.
Got the new shortname/longname objects basically working and tested. Backing up to establish rollback point before changing global config to make subprojects belong to an array of dicts with mandatory name property so that order of sp processing will be deterministic.
More progress on set of prj/sprj objects.
Backing up.
Backing up conversion from s:cfg to prj and sprj objects...
Backup only.
Grep commands (internal and external) basically working with new strategy.
Renamed prack (project ack) to fps (fast project search). Plugin had already changed internally.
Find basically working with new object approach now as well. Edit commands still broken, and need to refactor refresh mechanism.
Got rewritten FPSOpen, FPSReopen, and FPSRefresh basically working.
Refactored command line parsing to used just parse_cmdline, which in turn uses parse_raw_cmdline. Basically working, but desperately need to rework error handling.
Reworked grep error handling.
Merged work on feature/refresh; it's not complete, but fairly stable and very different from develop.
Got the new Find and all its variants working. Note that it subsumes the Edit/Split functionality, rendering explicit edit commands completely unnecessary.
Fixed spec parsing bug, which prevented detection of trailing garbage in a spec.
Merge branch 'feature/refresh' into develop

* feature/refresh:
  Fixed spec parsing bug, which prevented detection of trailing garbage in a spec.
  Got the new Find and all its variants working. Note that it subsumes the Edit/Split functionality, rendering explicit edit commands completely unnecessary.
Fixed issue causing error on attempt to run FPSRefresh with no args. Still needs some refinement...
Merge branch 'feature/refresh'

* feature/refresh:
  Fixed issue causing error on attempt to run FPSRefresh with no args. Still needs some refinement...