Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: GeForce GTX 1060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.17
Broken: version: 2.80 (sub 64), branch: master (modified), commit date: 2019-05-15 23:47, hash: `rB02a7e57d9c07`
1] A number of settings accessible through the Preference editor do not mark the preferences as dirty for the purposes of auto saving preference settings at exit. List below.
2] Rather than solving all the individual "dirty detection" issues, perhaps it would simply make sense to always save preferences at exit regardless of whether we think they're dirty or not (as long as auto save is on). Because so many things are part of preferences (Quick Favorites etc. it seems likely that every non-trivial Blender session may do something that dirties the preferences so they're going to be saved most of the time anyway.
3] Minor bug/feature: If Auto Save Preferences is off, and we think the config is clean then the [Save Preferences] button is drawn greyed out, but clicking it still results in a save preferences being done. This is against expectations that a "disabled" button will do nothing when clicked. Also applies to the Revert to Saved option in the menu.
4] Maybe we should check to see if the config directory is writeable before trying to overwrite the config and give a friendlier message than you currently get as it makes a couple of attmpts (Windows example):
Writing userprefs: 'G:\bdev\build_windows_Release_x64_vc15_Release\bin\Release\2.80\config\userpref.blend' Unable to delete file
Error: Cannot change old file (file saved with @)
Users might be running Blender off read-only media for one reason or another.
5] Here's the list of the things found so far that fail to flag the preferences as dirty:
File Paths: If you edit the path field manually then on enter the config is marked dirty. However, if you use the File Browser icon to select a new value, then the config is NOT marked dirty. This seems to apply generally to any file path preference, including path settings that are part of add-on settings in the Add-ons page (Blenderkit for example). Also the font selection fields under Interface, Text Rendering.
Changes to the list of excluded paths under Auto Run Python Scripts on the Save & Load page.
Changes to an existing Keymap entry (changing which key, modifiers, etc.
Changes to any of the parameters under "Walk" and "Gravity" under Fly & Walk in the Navigation page, including toggling Gravity on/off.