;ELC   
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put create-lockfiles safe-local-variable booleanp define-error file-locked "File is locked" file-error] 4)
#@58 Add the `help-key-binding' face to string KEY.

(fn KEY)
(defalias 'userlock--fontify-key #[257 "\300\301\302#\207" [propertize face help-key-binding] 5 (#$ . 248)])
#@422 Ask user what to do when he wants to edit FILE but it is locked by OPPONENT.
This function has a choice of three things to do:
  do (signal \='file-locked (list FILE OPPONENT))
    to refrain from editing the file
  return t (grab the lock on the file)
  return nil (edit the file even though it is locked).
You can redefine this function to choose among those three alternatives
in any way you like.

(fn FILE OPPONENT)
(defalias 'ask-user-about-lock #[514 "\305 \210\306 \307\310\"\216\311\211\211G\312V\203! \313\211G\312Z\311OP\202\" \262G\314V\203I \315 \307\316\"\216\317\320\"\210\321\322O\313\323\321	\"Q)\262\202J \262\204\314 \324\325\326\327!\326\330!\326\331!\326\332!&\210\203k \333\334!\210\335\211\336 \227\311*\211\fU\203\202 \337 \266\202L \340\341\"\262\204\247 \342 \210\324\343\326\330!\326\327!\326\331!\326\332!%\210\344\345!\266\202L A\346=\203\270 \337 \210\311\262\210\202L A\347=\203\310 \350\351D\"\210\210\202L A\266\203)\207" [noninteractive cursor-in-echo-area inhibit-quit quit-flag help-char discard-input current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] nil 22 "..." 25 match-data #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] string-match " (pid [0-9]+)" 0 13 match-string message "%s locked by %s: (%s, %s, %s, %s)? " userlock--fontify-key "s" "q" "p" "?" error "Cannot resolve lock conflict in batch mode" t read-char ask-user-about-lock-help assoc ((115 . t) (113 . yield) (7 . yield) (112) (63 . help)) beep "Please type %s, %s, or %s; or %s for help" sit-for 3 help yield signal file-locked] 15 (#$ . 422)])
(defalias 'ask-user-about-lock-help #[0 "r\306\307!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!\210+\211rq\210\316\317\320\321!\320\322!\320\323!$c\210\324 )\325!\210)\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only get-buffer-create "*Help*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook format "It has been detected that you want to modify a file that someone else has\nalready started modifying in Emacs.\n\nYou can <%s>teal the file; the other user becomes the\n  intruder if (s)he ever unmodifies the file and then changes it again.\nYou can <%s>roceed; you edit at your own (and the other user's) risk.\nYou can <%s>uit; don't modify this file." userlock--fontify-key "s" "p" "q" help-mode internal-temp-output-buffer-show standard-output] 9])
(define-error 'file-supersession nil 'file-error)
#@17 

(fn FILENAME)
(defalias 'userlock--check-content-unchanged #[257 "\3051V \306!\306!\232\204 \307\310!\210\214~\210p	ed\311\312\313\"r\211q\210\314\315\"\216\313\316!\210*\317 ZU\205G \320\321ped&)\322U*\262\205Q \323 \210\324\266\204)0\207\325\326\"\210\320\207" [buffer-file-truename buffer-file-coding-system non-essential coding-system-for-read case-fold-search (debug error) expand-file-name cl--assertion-failed (equal (expand-file-name filename) (expand-file-name buffer-file-truename)) generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents buffer-size nil compare-buffer-substrings 0 set-visited-file-modtime unchanged message "Unchanged content check: %S"] 13 (#$ . 2994)])
#@17 

(fn FILENAME)
(defalias 'userlock--ask-user-about-supersession-threat #[257 "\300!?\205\n \301!\207" [userlock--check-content-unchanged ask-user-about-supersession-threat] 3 (#$ . 3781)])
#@442 Ask a user who is about to modify an obsolete buffer what to do.
This function has two choices: it can return, in which case the modification
of the buffer will proceed, or it can (signal \='file-supersession (file)),
in which case the proposed buffer modification will not be made.

You can rewrite this to use any criterion you like to choose which one to do.
The buffer in question is current when this function is called.

(fn FILENAME)
(defalias 'ask-user-about-supersession-threat #[257 "\302 \210\303 \304\305\"\216\306\307\310!\311\312!\311\313!\311\314!\311\315!&\316\317\203, \320\321\"\210\322\323!\210\211\204k \324\"\262\211\325\267\202e \326 \210\317\262\202, \327\317\330 ?\"\210\331\332\333D\"\210\202, \331\332\334D\"\210\202, \202, \317\262\202, \320\335!\210\317\211\266\203)\207" [noninteractive buffer-backed-up discard-input current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] format "%s changed on disk; really edit the buffer? (%s, %s, %s or %s) " file-name-nondirectory userlock--fontify-key "y" "n" "r" "C-h" (121 110 114 63 8) nil message "%s" error "Cannot resolve conflict in batch mode" read-char-choice #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (63 60 8 60 114 69 110 87 121 98)) ask-user-about-supersession-help revert-buffer buffer-modified-p signal file-supersession "File reverted" "File changed on disk" "File on disk now will become a backup file if you save these changes."] 10 (#$ . 3980)])
(defalias 'ask-user-about-supersession-help #[0 "r\306\307!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!\210+\211rq\210\316\317\320\321!\320\322!\320\323!\320\322!%c\210\324 )\325!\210)\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only get-buffer-create "*Help*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook format "You want to modify a buffer whose disk file has changed\nsince you last read it in or saved it with this buffer.\n\nIf you say %s to go ahead and modify this buffer,\nyou risk ruining the work of whoever rewrote the file.\nIf you say %s to revert, the contents of the buffer are refreshed\nfrom the file on disk.\nIf you say %s, the change you started to make will be aborted.\n\nUsually, you should type %s to get the latest version of the\nfile, then make the change again." userlock--fontify-key "y" "r" "n" help-mode internal-temp-output-buffer-show standard-output] 10])
#@67 Report an ERROR that occurred while unlocking a file.

(fn ERROR)
(defalias 'userlock--handle-unlock-error #[257 "\300\301\302\303\304!\"\305#\207" [display-warning (unlock-file) message "%s, ignored" error-message-string :warning] 7 (#$ . 6532)])
