Amendments on April 18, 2023
bile: Always do synchronous PBFlushFile calls
On some systems doing this asynchronously was causing a lockup,
possibly due to their slower disk taking long enough that a second
flush (or the PBFlushVol right after it) would conflict. I'm still
not sure entirely what that was actually triggering, but this fixes
Valtteri Koskivuori reported the lockup issue and helped me track it
down to this code, and confirmed that this fixes the issue.
Amendments on April 17, 2023
browser+main: Hopefully fix a bug that was crashing after committing
Under heavy memory pressure, List Manager seems to close our
custom resource and then re-open it, clearing the custom addr
we set during setup. Make sure it's still alive before doing
an update or we'll jump to NULL.
repo: Make repo_init a bit faster
Don't count the ids and then fetch every nth one, just fetch the ids
Avoid some zeroing of things we're just going to overwrite
Also make temporary filenames unique, in case a previous run died
during diff for some reason.
Amendments on February 6, 2023
*: Lots of little fixes and dead variable removal
Found by cppcheck and scan-build
Amendments on November 10, 2022
Rez: Add an mstr resource to tell MultiFinder what our Open menu is
This allows MultiFinder to pass a double-clicked .repo file to an
already running Amend process and open it.
From Steve Crutchfield
repo: Provide some detailed progress while opening repos
This can take a while, so entertain the user while we work.
browser: Tweak menu language, fix bug in amendment exporting
We were passing a NULL pointer to SFPutFile instead of an empty
Pascal string, which has bad results on System 7. Now we will
supply "amendment_##.diff" as the default filename.
Also rename exporting functions to export an amendment instead of
a patch. The patch utility applies a diff, not a patch. But we're
exporting the whole amendment anyway.
Amendments on September 12, 2022
committer: Add Command+W shortcut to cancel commit
This requires passing through all keystrokes through focusable and
filtering on the receiver.