Subject: bug#65598: Lock-file link target uses obsolete system-name variable

From: JD Smith <[email-masked]>
Date: Tue, 29 Aug 2023 13:55:45 -0400

The variable system-name is obsoleted in favor of the (system-name) function.  But the lock file symlink target generated when file locks are enabled still uses the value of the variable, not the function.

This is important when you need to override the name of the system.  In my situation this is because (system-name) is dynamically updated as my laptop is attached to different networks (host.local, host.some.fqdn, etc.), leading to spurious "~/tmp/file locked by …” prompts as I move around.

I can easily fix this like:

(setq system-name  ; to prevent spurious locks as (system-name) changes
      (replace-regexp-in-string (rx ?. (* any) eos) "" (system-name)))

but that utilizes the obsolete variable.  Either un-obsoleting this variable, or having the internal file-lock code call (system-name), so it can be overridden with advice, is a suggested solution.

See also #19438.