[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
When two users edit the same file at the same time, they are likely to interfere with each other. Emacs tries to prevent this situation from arising by recording a file lock when a file is being modified. (File locks are not implemented on Microsoft systems.) Emacs can then detect the first attempt to modify a buffer visiting a file that is locked by another Emacs job, and ask the user what to do. The file lock is really a file, a symbolic link with a special name, stored in the same directory as the file you are editing.
When you access files using NFS, there may be a small probability that you and another user will both lock the same file “simultaneously.” If this happens, it is possible for the two users to make changes simultaneously, but Emacs will still warn the user who saves second. Also, the detection of modification of a buffer visiting a file changed on disk catches some cases of simultaneous editing; see Buffer Modification Time.
This function returns nil
if the file filename is not locked.
It returns t
if it is locked by this Emacs process, and it returns
the name of the user who has locked it if it is locked by some other job.
(file-locked-p "foo") ⇒ nil |
This function locks the file filename, if the current buffer is modified. The argument filename defaults to the current buffer's visited file. Nothing is done if the current buffer is not visiting a file, or is not modified, or if the system does not support locking.
This function unlocks the file being visited in the current buffer, if the buffer is modified. If the buffer is not modified, then the file should not be locked, so this function does nothing. It also does nothing if the current buffer is not visiting a file, or if the system does not support locking.
File locking is not supported on some systems. On systems that do not
support it, the functions lock-buffer
, unlock-buffer
and
file-locked-p
do nothing and return nil
.
This function is called when the user tries to modify file, but it is locked by another user named other-user. The default definition of this function asks the user to say what to do. The value this function returns determines what Emacs does next:
t
says to grab the lock on the file. Then this user may
edit the file and other-user loses the lock.
nil
says to ignore the lock and let this user edit the
file anyway.
file-locked
error, in which case
the change that the user was about to make does not take place.
The error message for this error looks like this:
error--> File is locked: file other-user |
where file
is the name of the file and other-user is the name
of the user who has locked the file.
If you wish, you can replace the ask-user-about-lock
function with
your own version that makes the decision in another way. The code for its
usual definition is in ‘userlock.el’.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.