;ELC   
;;; compiled by ckclark@major.MIT.EDU on Tue Aug  3 03:47:04 1993
;;; from file /afs/sipb.mit.edu/contrib/emacs/elisp19/edb/database.el
;;; emacs version 19.16.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")))
    (error "This file was compiled for Emacs 19"))

(byte-code "ć" ["1.18" edb-version "June 16, 1993" edb-date nil] 1)
(defvar db-load-hooks nil "\
Function or list of functions run after loading EDB.
You can use this to customize key bindings or load extensions.")
(defvar db-databases nil "\
Assoc list of database names and databases.")
(byte-code "! " [boundp db-displaytypes nil] 2)
(defvar db-recordfieldtypes nil "\
Alist of typenames and recordfieldspecs.")
(defvar db-inform-interval 10 "\
When doing a lengthy computation, inform the user of progress every this
many records.  If nil, don't inform.")
(byte-code "! \"\"\"M" [boundp db-logged nil defalias db-log #[(string) "!p\n= dbű)` Ǝq! =?1 !`=dbű)_ p=_ !=_  =_ `\"+*͉" [get-buffer-create "*Database-Log*" this-buffer target-buffer string "\n" ((byte-code "	! 	! 	q" [bufferp this-buffer buffer-name] 2)) get-buffer-window target-window selected-window window-point track-window-point-p set-window-point t db-logged] 4] db-message #[(format-string &rest args) "\n#!!)" [apply format format-string args formatted db-log db-best-fit-message] 4] db-warning (macro . #[(format-string &rest args) "ED\"" [append db-message concat "Warning: " format-string args] 5]) db-warn] 3)
(defvar db-disable-debugging-support t "\
If non-nil, then debugging calls will be compiled out of the source and the
variable  db-debug-p  will have no effect.  Setting this variable at run-time
has no effect if you are running EDB compiled; you must set it when you compile
EDB, or run EDB interpreted.  Defaults to t.")
(defvar db-debug-p nil "\
*T if database debugging is enabled.  Defaults to nil.
Has no effect on code compiled with `db-disable-debugging-support' set.")
(defalias 'db-debug '(macro . #[(&rest body) "! 	? \"E" [boundp db-disable-debugging-support if db-debug-p append (progn) body] 5 "\
Execute BODY if `db-debug-p' is non-nil.
See also variable `db-disable-debugging-support'."]))
(byte-code "#\"\"#" [put db-debug edebug-form-spec (&rest form) defalias db-debug-log (macro . #[(string) "\nDD" [db-debug db-log string] 3]) db-debug-message (macro . #[(format-string &rest args) "D\"D" [db-debug append db-message format-string args] 4]) (&rest form)] 4)
(defalias 'db-prepare-to-debug #[nil "!" [t debug-on-error nil db-disable-debugging-support db-debug-p load-database uncompiled] 2 "\
Prepare to debug EDB.
Set variables `debug-on-error', `db-disable-debugging-support',  and db-debug-p.
Also load uncompiled EDB source." nil])
(defalias 'edb-version #[nil "t\n  \"#" [message "%s" emacs-version format "EDB %s of %s" edb-version edb-date] 4 "\
Return a string describing the version of EDB that is running." nil])
(defvar edb-directory nil "\
A string, the name of the directory containing the EDB source files.")
(byte-code "! \"	 \"\n\n#\"" [boundp db-running-lucid-emacs string-match "Lucid" emacs-version append ("db-rep" "db-format" "db-file-io" "db-summary" "db-interfa" "db-types" "db-time") ("db-lucid") edb-essential-file-names ("db-util" "backtracef") edb-required-file-names ("db-convert" "db-rdb" "db-search" "db-sort" "db-tagged" "db-two-dbs") edb-autoloaded-file-names edb-file-names mapcar #[(file-name) "P" [file-name ".el"] 2] edb-source-file-names] 4)
(defalias 'load-database #[(&optional uncompiled) " ! \n \nB & ( \"*" [edb-directory expand-file-name edb-dir load-path mapcar load uncompiled edb-source-file-names edb-file-names] 4 "\
Load all the files of EDB, the Emacs database.
With prefix arg, load source, not compiled, code; EDB will run interpreted.
This function is a good candidate for autoloading." "P"])
(defalias 'edb-update #[(&optional directory) "\n  $!!\n! \n\"!y`!`\nP#!\nذ!!!\n! " [file-name-as-directory expand-file-name directory edb-directory read-file-name "What directory contains EDB? " nil default-directory t file-directory-p error "%s is not a directory." write-region re-search-forward "^begin 644 " 0 "^end\n" "edb-diff.Z.UUE" message "uudecoding, uncompressing, and applying patch..." shell-command "cd " "; " "uudecode edb-diff.Z.UUE; " "zcat edb-diff.Z | patch" "uudecoding, uncompressing, and applying patch...done" load-database byte-recompile-directory] 7 "\
Install the EDB update found in the current buffer after point.
EDB is assumed to be in the directory specified by `edb-directory'.
If you have trouble with this command, it is likely that your version of EDB
is not exactly the same as the last release.  You might have an old
release, or you might have a pre-release.  (When users request features or
report bugs, I sometimes place a pre-release of the next version of EDB
on theory.lcs.mit.edu so that their problems are corrected right away.)" nil])
(autoload (quote db-convert) "db-convert" "\
Convert DATABASE's field structure.  To be autoloaded." t)
(autoload (quote db-rdb-setup) "db-rdb" "\
Prepare EDB to read files in RDB format.  To be autoloaded." t)
(autoload (quote database-sort) "db-sort" "\
Sort and return DATABASE, which is also side-effected.  To be autoloaded." t)
(byte-code "\"!!\"" [autoload database-sort-interface "db-sort" make-variable-buffer-local dbf-field-priorities dbf-omitted-to-end-p db-process-two-databases "db-two-dbs"] 3)
(autoload (quote db-merge) "db-two-dbs" "\
Merge two read-in databases.  To be autoloaded." t)
(byte-code "\"\"\"\"!" [autoload databases-compatible "db-two-dbs" db-parse-match-pattern "db-search" db-print-match-pattern db-match make-variable-buffer-local dbf-field-search-defaults] 3)
(autoload (quote db-tagged-setup) "db-tagged" "\
Prepare EDB to read files in tagged format.  To be autoloaded." t)
(defalias 'byte-compile-database-all #[(&optional directory) "	\"" [byte-compile-database directory t] 3 "\
Compile all source (.el) files in EDB, the Emacs database, unconditionally.
Calls `byte-compile-database'." nil])
(defalias 'byte-compile-database #[(&optional directory all) "\n  $!!\n! \n\"!Ɖe @\n\"!PR \"\\ !TA4 Us ۂt #,!p = eb!!!!!!!!!eb\"eb\"eb!)H q !2 =? 2!`=5eb!!!!!!!!!eb\"eb\"eb!)5Gp =G2 !=G2 =G2`\"+*" [file-name-as-directory expand-file-name directory edb-directory read-file-name "What directory contains EDB? " nil default-directory t file-directory-p error "%s is not a directory." load-database edb-source-file-names 0 dest source count files file-name-sans-versions "c" all file-newer-than-file-p byte-compile-file message "Done (Total of %d file%s compiled)" 1 "" "s" get-buffer-create "*Compile-Log*" this-buffer target-buffer delete-matching-lines "with-electric-help is not known to be defined" "x-flush-mouse-queue is not known to be defined" "mouse-track is not known to be defined" "function link-set-record being redefined" "link-set-record defined multiple times" "db-lucid" "map-extent" "delete-extent" "db-fontify" replace-string "  ** The following functions are not known to be defined: \n\n" "\n" "While compiling the end of the data:\n\n" "199.\nWhile compiling .*:\n\\(\\'\\|\n\\)" ((byte-code "	! 	! 	q" [bufferp this-buffer buffer-name] 2)) get-buffer-window target-window selected-window window-point track-window-point-p set-window-point] 8 "\
Compile source (.el) files in EDB, the Emacs database, which need it.
If optional prefix argument ALL is non-nil, every source file is recompiled." (list (or edb-directory (read-file-name "What directory contains EDB? " nil default-directory t)) current-prefix-arg)])
(byte-code "!!\"\" B\"!!" [require backtracef db-util mapcar load edb-essential-file-names assoc dbc-omit-p minor-mode-alist (dbc-omit-p " Omit") db-add-to-hook kill-buffer-hooks db-kill-buffer-hook provide database run-hooks db-load-hooks] 3)
