;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:39:24 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/emacs-lock.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`emacs-lock.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@70 Whether emacs is locked to prevent exiting.  See `check-emacs-lock'.
(defvar emacs-lock-from-exiting nil (#$ . 622))
(make-variable-buffer-local 'emacs-lock-from-exiting)
#@74 Whether a shell or telnet buffer was locked when its process was killed.
(defvar emacs-lock-buffer-locked nil (#$ . 799))
(byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local emacs-lock-buffer-locked put permanent-local t] 4)
#@134 Check if variable `emacs-lock-from-exiting' is t for any buffer.
If any t is found, signal error and display the locked buffer name.
(defalias 'check-emacs-lock #[nil "\302 \212\205! @q\210	\203 \303\304\305 \"\210\202 A\211\204 \306*\207" [buffers emacs-lock-from-exiting buffer-list error "Emacs is locked from exit due to buffer: %s" buffer-name nil] 4 (#$ . 1055)])
#@100 Toggle `emacs-lock-from-exiting' between t and nil for the current buffer.
See `check-emacs-lock'.
(defalias 'toggle-emacs-lock #[nil "\203	 \301\202 \302\203 \303\304!\207\303\305!\207" [emacs-lock-from-exiting nil t message "Buffer is now locked" "Buffer is now unlocked"] 2 (#$ . 1440) nil])
#@128 Check if variable `emacs-lock-from-exiting' is t for a buffer.
If t is found, signal error and display the locked buffer name.
(defalias 'emacs-lock-check-buffer-lock #[nil "\205	 \301\302\303 \"\207" [emacs-lock-from-exiting error "Buffer `%s' is locked, can't delete it" buffer-name] 3 (#$ . 1748)])
(defalias 'emacs-lock-shell-sentinel #[nil "\300\301\302 !\303\"\207" [set-process-sentinel get-buffer-process buffer-name emacs-lock-clear-sentinel] 3])
(defalias 'emacs-lock-clear-sentinel #[(proc str) "\203\f \302\303\304\305!\207\302\211\207" [emacs-lock-from-exiting emacs-lock-buffer-locked nil t message "Buffer is now unlocked"] 2])
(defalias 'emacs-lock-was-buffer-locked #[nil "\205 \302\211\207" [emacs-lock-buffer-locked emacs-lock-from-exiting t] 2])
(byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\210\300\305\307\"\210\300\310\306\"\210\300\310\307\"\210\311\312!\207" [add-hook kill-emacs-hook check-emacs-lock kill-buffer-hook emacs-lock-check-buffer-lock shell-mode-hook emacs-lock-was-buffer-locked emacs-lock-shell-sentinel telnet-mode-hook provide emacs-lock] 3)
