;ELC   
;;; compiled by yoav@mit.edu on Fri Feb 13 02:47:59 1998
;;; from file /mit/yoav/work/lcs/src/usage.el
;;; emacs version 19.34.1.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`usage.el' was compiled for Emacs 19.29 or later"))


(require (quote timer))
#@50 The total number of changes made to the document
(defvar total-changes 0 (#$ . 478))
#@66 The total number of inserts made to the document (of any length)
(defvar insert 0 (#$ . 569))
#@29 the total number of deletes
(defvar delete 0 (#$ . 669))
#@39 the total number of modify operations
(defvar modify 0 (#$ . 732))
#@73 the total number of times the buffer was idle for over half a
   second
(defvar idle5 0 (#$ . 805))
#@65 the total number of times the buffer was idle for over a second
(defvar idle10 0 (#$ . 911))
#@71 the total number of times the buffer was idle for over two
   seconds
(defvar idle20 0 (#$ . 1010))
#@71 the total number of times the buffer was idle for over ten
   seconds
(defvar idle100 0 (#$ . 1116))
#@47 the time from when the use-mode was turned on
(defvar start-time 0 (#$ . 1223))
#@22 an insert at the end
(defvar append 0 (#$ . 1309))
#@23 a deletion at the end
(defvar truncate 0 (#$ . 1366))
#@49 an insertion in the 1st quarter of the document
(defvar ins-1qr 0 (#$ . 1426))
#@49 an insertion in the 2nd quarter of the document
(defvar ins-2qr 0 (#$ . 1511))
#@49 an insertion in the 3rd quarter of the document
(defvar ins-3qr 0 (#$ . 1596))
#@49 an insertion in the 4th quarter of the document
(defvar ins-4qr 0 (#$ . 1681))
#@47 a deletion in the 1st quarter of the document
(defvar del-1qr 0 (#$ . 1766))
#@47 a deletion in the 2nd quarter of the document
(defvar del-2qr 0 (#$ . 1849))
#@47 a deletion in the 3rd quarter of the document
(defvar del-3qr 0 (#$ . 1932))
#@47 a deletion in the 4th quarter of the document
(defvar del-4qr 0 (#$ . 2015))
(byte-code "ÀÁ!ˆÀÂ!ˆÀÃ!ˆÀÄ!ˆÀÅ!ˆÀÆ!ˆÀÇ!ˆÀÈ!ˆÀÉ!ˆÀÊ!ˆÀË!ˆÀÌ!ˆÀÍ!ˆÀÎ!ˆÀÏ!ˆÀÐ!ˆÀÑ!ˆÀÒ!ˆÀÓ!‡" [make-variable-buffer-local total-changes insert delete modify idle5 idle10 idle20 idle100 start-time append truncate ins-1qr ins-2qr ins-3qr ins-4qr del-1qr del-2qr del-3qr del-4qr] 2)
#@42 original value of after-change-functions
(defvar use-mode-orig-after-change-functions nil (#$ . 2374))
(byte-code "ÀÁ!„ ÂÁBÂ‡" [boundp idle-timers-to-cancel nil current-load-list] 2)
#@39 *Non-nil enables usage mode on buffer
(defvar use-mode nil (#$ . -2567))
(byte-code "ÀÁ!ˆÁ\nž„ Ã\nBÀ‡" [make-variable-buffer-local use-mode minor-mode-alist (use-mode " use")] 2)
#@60 minor mode for figuring out the kinds of usage on a buffer
(defalias 'use-mode #[(&optional arg) "„	 	?‚ Â!ÃV‰ƒ} \fÆ ÃÃ	Ã\nÃÃ\fÃÃÃÃÃÃÃÃÃÃÃÃÃÚÛÜÝ#BÚßÜà#BÚáÜâ#BÚãÜä#Bå\fB‰‡‰‡" [arg use-mode prefix-numeric-value 0 after-change-functions use-mode-orig-after-change-functions current-time start-time total-changes insert delete modify idle5 idle10 idle20 idle100 append truncate ins-1qr ins-2qr ins-3qr ins-4qr del-1qr del-2qr del-3qr del-4qr run-with-idle-timer 0.5 t use-mode-5-dsec idle-timers-to-cancel 1 use-mode-10-dsec 2 use-mode-20-dsec 10 use-mode-100-dsec use-mode-buffer-change-hook] 5 (#$ . 2754) "P"])
#@22 Keymap for use-mode.
(defvar use-mode-map nil (#$ . 3429))
(byte-code "„ ÀÁÂ !‰MˆÃ\fž„ ÃB\fBÀ‡" [use-mode-map copy-keymap current-global-map use-mode minor-mode-map-alist] 3)
#@65 Is called after the user hasn't done anything for half a second
(defalias 'use-mode-5-dsec #[nil "T‰‡" [idle5] 2 (#$ . 3616)])
#@60 Is called after the user hasn't done anything for a second
(defalias 'use-mode-10-dsec #[nil "T	S‰‡" [idle10 idle5] 2 (#$ . 3751)])
#@63 Is called after the user hasn't done anything for two seconds
(defalias 'use-mode-20-dsec #[nil "S	T‰‡" [idle10 idle20] 2 (#$ . 3892)])
#@63 Is called after the user hasn't done anything for ten seconds
(defalias 'use-mode-100-dsec #[nil "S	T‰‡" [idle20 idle100] 2 (#$ . 4037)])
#@231 This function is used to keep track of the kinds of changes being
  made to the document. It is called every time a change to the buffer
  is made, whether an insert, delete, or modify. It then updates the
  appropriate variables
(defalias 'use-mode-buffer-change-hook #[(beg end old-len) "	ZÃ G‰Å¥T\nUƒ\" 	T‰	‚Ò \nVƒ \nT\n\fVƒB T\fT‰\f‚Ò 	WƒR T‰‚Ò 	‰\\Wƒd T‰‚Ò 	Ï_Wƒv T‰‚Ò \fT‰\f‚Ò T	\fUƒ˜ TT‰‚Ò 	Wƒ¨ T‰‚Ò 	‰\\Wƒº T‰‚Ò 	Ï_WƒÌ T‰‚Ò T‰+‡" [end beg new-len buffer-string buffer-len 4 quarter total-changes old-len modify delete truncate del-4qr del-1qr del-2qr 3 del-3qr insert append ins-4qr ins-1qr ins-2qr ins-3qr] 4 (#$ . 4185)])
(defalias 'use-report #[(&optional arg) "À Á‰@\f@ZÅ_‰A@\fA@Z\\ÆÇ!ˆÆÈÉ \"ˆÆÇ!ˆÆÊ\"ˆÆÌÎ_¥\"ˆÆÏÎ_¥\"ˆÆÑÎ_¥\"ˆÆÓÎ_¥\"ˆÆÕÎ_¥\"ˆÆ×!ˆÆØÎ_¥\"ˆÆÚÎ_¥\"ˆÆÜÎ_¥\"ˆÆÞÎ_¥\"ˆÆà!ˆÆØ!Î_¥\"ˆÆÚ\"Î_¥\"ˆÆÜ#Î_¥\"ˆÆÞ$Î_¥\"ˆÆå!ˆÆæ\n\"ˆÆç!ˆÆè)\"ˆÆê+\"ˆÆì-\"ˆÆî/\"ˆÆÇ!*‡" [current-time nil total-time time start-time 65536 message "----------------------------------------------------" "   Use-mode report for buffer %s" buffer-name "Total number of changes made :   %s" total-changes "                     inserts :   %s %%" insert 100 "                     deletes :   %s %%" delete "               modifications :   %s %%" modify "                     appends :   %s %%" append "                   truncates :   %s %%" truncate " the insertions occurred in:" "                 1st quarter :   %s %%" ins-1qr "                 2nd quarter :   %s %%" ins-2qr "                 3rd quarter :   %s %%" ins-3qr "                 4th quarter :   %s %%" ins-4qr " the deletions occurred in:" del-1qr del-2qr del-3qr del-4qr "" " The editing of the buffer took %s seconds." " During the editing of the buffer, it was idle for" "     between 1/2 sec to a sec :  %s times" idle5 "      between 1 sec to 2 secs :  %s times" idle10 "  between 2 secs to a 10 secs :  %s times" idle20 "                 over 10 secs :  %s times" idle100] 5 nil "b"])
