Subject: 30.0.50; [Cygwin] `lock-file' creates a symlink with funny name

From: Katsumi Yamaoka <[email-masked]>
Date: Tue, 16 Apr 2024 21:33:07 +0900

Hi,

As you know, Emacs creates a lock file when start editing a FILE
by default, it is a symbolic link that is linked to a name
looking like this:

.#FILE -> [email-masked]

Where 1234 is Emacs' pid.  It will be removed after saving
the FILE.  Even if the lock file is left, Emacs will remove it
when opening the FILE for the next time.  However, recently lock
files no longer got deleted on at least the latest Cygwin on
Windows 11.  It is (probably) because Emacs came to create lock
files with a funny name like this:

.#FILE -> [email-masked]:-11644473599

For that case `(unlock-file "FILE")' issues this warning:

Warning (unlock-file): Unlocking file: Invalid argument, FILE, ignored

I don't know what ":-11644473599" is, but I did the bisection
and found that it started with this change:

,----
| commit 393f58c85aeb78f814866ccaad9ae7efd3fa6766
| Author: Adam Porter <[email-masked]>
| Date:   Fri Mar 8 23:43:14 2024 -0600
|
|     'vtable-update-object' can now be called with one argument
|
|     It's often necessary to update the representation of a single
|     object in a table (e.g a struct, whose identity does not change
|     when its slots'
|     values are changed).  To do so, now the function may be called
|     like this:
|
|       (vtable-update-object table object)
|
|     Instead of like this:
|
|       (vtable-update-object table object object)
|
|     This also documents the behavior of the just-discovered limitation filed
|     as bug#69837.
|     * lisp/emacs-lisp/vtable.el (vtable-update-object): Make 'old-object'
|     argument optional.  (Bug#69666)
|
|     * doc/misc/vtable.texi (Interface Functions): Update documentation.
|
|     * etc/NEWS: Add news entry.
|
| commit 689f04a2ddfae856153bed762cc1461d66ec88de
| [...]
`----

Though it doesn't seem helpful since `git diff 689f04a..393f58c'
reports a huge amount of diff.  Hmm.

Thanks in advance.
Regards,

In GNU Emacs 30.0.50 (build 1, x86_64-pc-cygwin, GTK+ Version
 3.24.41, cairo version 1.17.4) of 2024-04-15 built on localhost
Windowing system distributor 'The Cygwin/X Project', version 11.0.12101012