diff options
| author | Eli Zaretskii | 2013-02-25 19:36:03 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2013-02-25 19:36:03 +0200 |
| commit | 343a2aefb528ce3c978ba2145705b9e37bfbe02a (patch) | |
| tree | 4672030eea98dfc9bd077ac58400271d1c812918 /src/ChangeLog | |
| parent | aec32f66d0db82b562e904dfe7bb6d54796fe773 (diff) | |
| download | emacs-343a2aefb528ce3c978ba2145705b9e37bfbe02a.tar.gz emacs-343a2aefb528ce3c978ba2145705b9e37bfbe02a.zip | |
Implement CLASH_DETECTION for MS-Windows.
src/filelock.c [WINDOWSNT]: Include w32.h.
(MAKE_LOCK_NAME): Don't use 'lock', it clashes with MS runtime
function of that name. Up-case the macro arguments.
(IS_LOCK_FILE): New macro.
(fill_in_lock_file_name): Use IS_LOCK_FILE instead of S_ISLNK.
(create_lock_file): New function, with body extracted from
lock_file_1.
[WINDOWSNT]: Implement lock files by writing a regular file with
the lock information as its contents.
(read_lock_data): New function, on Posix platforms just calls
emacs_readlinkat.
[WINDOWSNT]: Read the lock info from the file.
(current_lock_owner): Call read_lock_data instead of calling
emacs_readlinkat directly.
(lock_file) [WINDOWSNT]: Run the file name through
dostounix_filename.
src/w32proc.c (sys_kill): Support the case of SIG = 0, in which case
just check if the process by that PID exists.
src/w32.c (sys_open): Don't reset the _O_CREAT flag if _O_EXCL is
also present, as doing so will fail to error out if the file
already exists.
src/makefile.w32-in ($(BLD)/filelock.$(O)): Depend on src/w32.h.
nt/inc/ms-w32.h (BOOT_TIME_FILE): Define.
nt/config.nt (CLASH_DETECTION): Define to 1.
lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Reject files
that match "\`\.#", to avoid compiling lock files, even if they
are readable (as they are on MS-Windows).
doc/emacs/files.texi (Interlocking): Don't refer to symlinks as the
exclusive means of locking files.
etc/NEWS: Mention support for lock files on MS-Windows.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index dc9b97c3c03..135d4d48b41 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,33 @@ | |||
| 1 | 2013-02-25 Eli Zaretskii <eliz@gnu.org> | 1 | 2013-02-25 Eli Zaretskii <eliz@gnu.org> |
| 2 | 2 | ||
| 3 | Implement CLASH_DETECTION for MS-Windows. | ||
| 4 | |||
| 5 | * filelock.c [WINDOWSNT]: Include w32.h. | ||
| 6 | (MAKE_LOCK_NAME): Don't use 'lock', it clashes with MS runtime | ||
| 7 | function of that name. Up-case the macro arguments. | ||
| 8 | (IS_LOCK_FILE): New macro. | ||
| 9 | (fill_in_lock_file_name): Use IS_LOCK_FILE instead of S_ISLNK. | ||
| 10 | (create_lock_file): New function, with body extracted from | ||
| 11 | lock_file_1. | ||
| 12 | [WINDOWSNT]: Implement lock files by writing a regular file with | ||
| 13 | the lock information as its contents. | ||
| 14 | (read_lock_data): New function, on Posix platforms just calls | ||
| 15 | emacs_readlinkat. | ||
| 16 | [WINDOWSNT]: Read the lock info from the file. | ||
| 17 | (current_lock_owner): Call read_lock_data instead of calling | ||
| 18 | emacs_readlinkat directly. | ||
| 19 | (lock_file) [WINDOWSNT]: Run the file name through | ||
| 20 | dostounix_filename. | ||
| 21 | |||
| 22 | * w32proc.c (sys_kill): Support the case of SIG = 0, in which case | ||
| 23 | just check if the process by that PID exists. | ||
| 24 | |||
| 25 | * w32.c (sys_open): Don't reset the _O_CREAT flag if _O_EXCL is | ||
| 26 | also present, as doing so will fail to error out if the file | ||
| 27 | already exists. | ||
| 28 | |||
| 29 | * makefile.w32-in ($(BLD)/filelock.$(O)): Depend on src/w32.h. | ||
| 30 | |||
| 3 | * textprop.c (Fadd_text_properties, Fremove_text_properties) | 31 | * textprop.c (Fadd_text_properties, Fremove_text_properties) |
| 4 | (Fremove_list_of_text_properties): Skip all of the intervals in | 32 | (Fremove_list_of_text_properties): Skip all of the intervals in |
| 5 | the region between START and END that already have resp. don't | 33 | the region between START and END that already have resp. don't |