;ELC ;;; compiled by jwz@thalidomide on Sat May 21 01:34:14 1994 ;;; from file /th/jwz/emacs19/lisp/packages/crypt.el ;;; emacs version 19.10 Lucid (beta24). ;;; bytecomp version 2.24; 26-Apr-94. ;;; 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.")) (defvar crypt-encryption-type 'crypt "\ *Method of encryption. Must be an element of `crypt-encryption-alist.' If you change this after crypt++ is loaded then do \\[crypt-rebuild-tables].") (defvar crypt-encryption-file-extension nil "\ *Regexp for extension of files encrypted with `crypt-encryption-type.' Should be of the form \"\\\\(\\\\.foo\\\\)$\". nil says use default values in `crypt-encryption-alist.' If you change this after crypt++ is loaded then do \\[crypt-rebuild-tables].") (defvar crypt-never-ever-decrypt nil "\ *t says never attempt to decrypt a buffer.") (defvar crypt-auto-write-buffer-encrypted nil "\ *t says files with `crypt-encryption-alist' file extension auto-encrypted. nil says query. See `crypt-auto-write-buffer.'") (defvar crypt-confirm-password nil "\ *t says confirm new passwords and when writing a newly encrypted buffer.") (defvar crypt-encoded-disable-auto-save t "\ *If t, turn off auto-save-mode for buffers which are encoded. If non-nil but not t, then no message is displayed. The default is t is because there isn't any way to tell emacs to encode the autosave file, so the autosave would be in a different format from the original. The disadvantage of turning off autosaves is that any work you do in that buffer will be completely lost if the changes are not explicitly saved. It is probably best to set this variable to nil and use buffer-local variables in files for which you don't actually care about autosaves. Unencoded recovery data is better than none at all.") (defvar crypt-encrypted-disable-auto-save t "\ *If t, turn off auto-save-mode for buffers which are encrypted. If non-nil but not t, then no message is displayed. The default is t is because there isn't any way to tell emacs to encrypt the autosave file, so the autosave would be in cleartext form. The disadvantage of turning off autosaves is that any work you do in that buffer will be completely lost if the changes are not explicitly saved. You might consider setting this variable to nil and use buffer-local variables in files for which security is more important than data recovery.") (defconst crypt-encryption-magic-regexp "[-]" "\ Regexp that must be found very close to beginning of encrypted buffer. This is intended to be an internal variable (not user-visible). If you change this after crypt++ is loaded then do \\[crypt-rebuild-tables].") (defconst crypt-encryption-magic-regexp-inverse "\\`\\|^\\(..\\)?\\([ ]\\|[ ]\\)" "\ Regexp that must *not* be found very close to beginning of encrypted buffer. This is intended to be an internal variable (not user-visible). If you change this after crypt++ is loaded then do \\[crypt-rebuild-tables].") (defconst crypt-magic-search-limit 100 "\ Limit of regular expression search used to recognize encrypted files. Maximum position in file for presence of `crypt-encryption-magic-regexp' and absence of `crypt-encryption-magic-regexp-inverse'.") (fset 'crypt-build-encryption-alist #[nil " \n ʼnƉȯ \n ˉȯ \n ˉȯ \n Չȯ F" [crypt crypt-encryption-magic-regexp crypt-encryption-magic-regexp-inverse crypt-encryption-file-extension "\\(\\.e\\)$" "crypt" nil "Crypt" t des "\\(\\.des\\)$" "des" ("-e" "-k") ("-d" "-k") "DES-CBC" des-ecb ("-e" "-b" "-k") ("-d" "-b" "-k") "DES-ECB" pgp "\\(\\.pgp\\)$" "pgp" ("+batchmode" "+verbose=0" "-c" "-f" "-z") ("+batchmode" "+verbose=0" "-f" "-z") "PGP"] 14]) (defconst crypt-encryption-alist (crypt-build-encryption-alist) "\ List of elements describing the encryption methods available. each element looks like (ENCRYPTION-TYPE MAGIC-REGEXP MAGIC-REGEXP-INVERSE FILE-EXTENSION ENCRYPT-PROGRAM DECRYPT-PROGRAM ENCRYPT-ARGS DECRYPT-ARGS MINOR-MODE GARBAGE-REGEXP-OR-LISPEXP FILE-EXTENSION-TRICKS ) ENCRYPTION-TYPE is a symbol denoting the encryption type. MAGIC-REGEXP regexp that must match very close to the beginning of an encrypted buffer. This may also be some elisp expression to be evaluated at (point-min) that will return t for an encrypted buffer. If this is set to nil then crypt++ will never try to decrypt a buffer. Currently set to the internal variable `crypt-encryption-magic-regexp' which will match non-ASCII characters. MAGIC-REGEXP-INVERSE regexp that must _NOT_ match very close to the beginning of an encrypted buffer. This may also be some elisp expression to be evaluated at (point-min) that will return t for a NON-encrypted buffer. If this is set to t then crypt++ will never try to decrypt a buffer. Currently set to the internal variable `crypt-encryption-magic-regexp-inverse' which will match Sun OS, 4.x BSD, and Ultrix executable magic numbers, so binaries can still be edited (heh) without headaches. FILE-EXTENSION regexp denoting the file extension usually appended the filename of files encrypted with ENCRYPT-PROGRAM. The variable `crypt-encryption-file-extension' will over ride the default. ENCRYPT-PROGRAM name of executable file to be used for encryption. DECRYPT-PROGRAM name of executable file to be used for decryption. ENCRYPT-ARGS arguments to be passed to ENCRYPT-PROGRAM may be a string or a list of strings or nil. DECRYPT-ARGS arguments to be passed to DECRYPT-PROGRAM may be a string or a list of strings or nil. MINOR-MODE string denoting the name for the encrypted minor mode as it will appear in the mode line. GARBAGE-REGEXP-OR-LISPEXP dummy variable for compatibility with encoding. FILE-EXTENSION-TRICKS is t or nil depending on whether or not tricks converting between different encryption types can be done based on FILE-EXTENSION; typically t. ") (defvar crypt-auto-decode-buffer t "\ *t says buffers visiting encoded files will be decoded automatically. nil means to ask before doing the decoding.") (defvar crypt-auto-write-buffer nil "\ *t says save files with `crypt-encoding-alist' file extensions as encoded. nil says to ask before doing this encoding. Similarly, buffers originating from encoded files to be written to files not ending in `crypt-encoding-alist' file extensions will be written in plain format automatically. nil says to ask before doing this decoding.") (byte-code "!!\"##" [boundp crypt-auto-write-answer-local ask make-variable-buffer-local set-default put permanent-local t preserved] 4) (defvar crypt-query-if-interactive t "\ *t says ask when saving buffers where `crypt-encoded-mode' was toggled. nil says that even if filename extension is plain (i.e., not listed in `crypt-encoding-alist') buffer will be written in an encoded format without asking. This variable is designed for users that edit a plain file (with plain extension) and then toggle `(crypt-encoded-mode)' and do not wish to be queried every time that they save the buffer. NOTE: if `(crypt-encoded-mode)' was not called interactively (the usual scenario) then the value of this variable has no effect on how the buffer is written to disk. In such a case `crypt-no-extension-implies-plain' is then the relevant variable.") (defvar crypt-no-extension-implies-plain t "\ *t says file extensions not in `crypt-encoding-alist' may be written plain. if `crypt-auto-write-buffer' is also t then any file ending in a plain extension is written in plain format automatically, otherwise query user. nil says user works with encoded (compressed) files without file extensions and will not be queried each time they save these files. NOTE: (1) this does not effect find-file (C-x C-f) since that works with a magic regexp. (2) there is no way to distinguish between write-file and save-buffer so nil will mean that neither will query.") (defvar crypt-freeze-vs-fortran t "\ *t says `.F' file extension denotes a frozen file not a Fortran file. If you change this variable after crypt++ has been loaded then do \\[crypt-rebuild-tables].") (defvar crypt-compact-vs-C++ nil "\ *t says `.C' file extension denotes a compacted file not a C++ file. If you change this variable after crypt++ has been loaded then do \\[crypt-rebuild-tables].") (defvar crypt-ignored-filenames nil "\ *List of regexp filenames for which encoded to plain conversion is not done. A filename with a plain extension, in encoded format, that is matched by one of these elements will be saved in encoded format without a query for conversion to plain format. This variable is provided for users that want to compress their incoming mail for RMAIL and VM which look for files `RMAIL' and `INBOX,' respectively, to store incoming mail. For example, the gzip extensions on `RMAIL.gz' and `INBOX.gz' can be removed, this variable set to '(\"INBOX$\" \"RMAIL$\") and no query about conversion to plain format will be made.") (defvar crypt-default-encoding "gzip" "\ *Default encoding type as string used when `crypt-encoded-mode' is toggled. Must match one of the elements of `crypt-encoding-alist'.") (defvar crypt-dos-has-ctrl-z nil "\ t if this buffer had a ctrl-z stripped from end, otherwise, nil. Buffer local and set by `crypt-dos-to-unix-region'") (byte-code "!\"##M" [make-variable-buffer-local crypt-dos-has-ctrl-z set-default nil put permanent-local t preserved crypt-build-encoding-alist #[nil "‰ǯ ˉǯ ҉ ‰ ‰‰ " [compress "" nil "\\(\\.Z\\)$" "compress" "uncompress" "Compress" t gzip "" "\\(\\.g?z\\)$" "gzip" "--quiet" "--decompress --quiet" "Zip" freeze "\\|" "\\(\\.F\\)$" "freeze" "" "-d" "Freeze" crypt-freeze-vs-fortran compact "" "\\(\\.C\\)$" "compact" "uncompact" "Compact" "^Compression *:.*\n" crypt-compact-vs-C++ dos "[^\n ]* $" "\\(\\.DOS\\)$" crypt-unix-to-dos-region crypt-dos-to-unix-region "Dos"] 15]] 4) (defconst crypt-encoding-alist (crypt-build-encoding-alist) "\ List of elements describing the encoding methods available. each element looks like (ENCODING-TYPE MAGIC-REGEXP MAGIC-REGEXP-INVERSE FILE-EXTENSION ENCODE-PROGRAM DECODE-PROGRAM ENCODE-ARGS DECODE-ARGS MINOR-MODE GARBAGE-REGEXP-OR-LISPEXP FILE-EXTENSION-TRICKS ) ENCODING-TYPE is a symbol denoting the encoding type. Currently known encodings are (compress compact freeze gzip). MAGIC-REGEXP is a regexp that matches the magic number at the beginning of files encoded with ENCODING-TYPE. MAGIC-REGEXP-INVERSE dummy variable for compatibility with encryption. FILE-EXTENSION is a string denoting the file extension usually appended the filename of files encoded with ENCODING-TYPE. ENCODE-PROGRAM is a string denoting the name of the executable used to encode files. DECODE-PROGRAM is a string denoting the name of the executable used to decode files. ENCODE-ARGS arguments to be passed to ENCODE-PROGRAM may be a string or a list of strings or nil. DECODE-ARGS arguments to be passed to DECODE-PROGRAM may be a string or a list of strings or nil. MINOR-MODE is a string denoting the name for the encoded minor mode as it will appear in the mode line. GARBAGE-REGEXP-OR-LISPEXP is (1) a regexp that matches any extraneous text that is produced by the ENCODE-COMMAND including any newlines and will be removed from the buffer before saving to disk; (2) a lisp expression that will clean up extraneous material in the buffer or nil. This is normally not needed but can be derived for any ENCODE-COMMAND by checking the standard error that results from `sh -c \"cat foo | ENCODE-COMMAND > bar\"'. FILE-EXTENSION-TRICKS is t or nil depending on whether or not tricks converting between different encoding types can be done based on FILE-EXTENSION; typically t. ") (fset 'crypt-rebuild-tables #[nil "   " [crypt-build-encryption-alist crypt-encryption-alist crypt-build-encoding-alist crypt-encoding-alist crypt-rebuild-minor-modes-alist] 1 "\ Rebuilds the encryption and encoding tables and `minor-mode-alist'. Allows user to alter variables used in building these tables. May be called interactively or in an initialization file. Part of `after-init-hook'." nil]) (defvar crypt-buffer-save-encrypted nil "\ *non-nil says save buffer encrypted with `crypt-encryption-type.' local to all buffers.") (byte-code "!##" [make-variable-buffer-local crypt-buffer-save-encrypted put permanent-local t preserved] 4) (defvar crypt-buffer-encryption-key nil "\ *Key used for encryption of current buffer. Local to all buffers.") (byte-code "!##" [make-variable-buffer-local crypt-buffer-encryption-key put permanent-local t preserved] 4) (defvar crypt-buffer-save-encoded nil "\ *non-nil says buffer will be saved encoded. Local to all buffers.") (byte-code "!##" [make-variable-buffer-local crypt-buffer-save-encoded put permanent-local t preserved] 4) (defvar crypt-buffer-encoding-type nil "\ *non-nil says buffer is encoded with ENCODING-TYPE. Local to all buffers.") (byte-code "!##" [make-variable-buffer-local crypt-buffer-encoding-type put permanent-local t preserved] 4) (defvar crypt-buffer-interactive-encoded-mode nil "\ t says `crypt-encoded-mode' was toggled interactively, almost always nil. Local to all buffers.") (byte-code "!##MMMMMMMMMMMMM" [make-variable-buffer-local crypt-buffer-interactive-encoded-mode put permanent-local t preserved crypt-get-alist-member #[(type n) "\n \"\n \"8" [n assoc type crypt-encryption-alist crypt-encoding-alist] 4] crypt-get-magic-regexp (macro . #[(type) " E" [crypt-get-alist-member type 1] 3]) crypt-get-magic-regexp-inverse (macro . #[(type) " E" [crypt-get-alist-member type 2] 3]) crypt-get-file-extension (macro . #[(type) " E" [crypt-get-alist-member type 3] 3]) crypt-get-encoding-program (macro . #[(type) " E" [crypt-get-alist-member type 4] 3]) crypt-get-decoding-program (macro . #[(type) " E" [crypt-get-alist-member type 5] 3]) crypt-get-encoding-args (macro . #[(type) " E" [crypt-get-alist-member type 6] 3]) crypt-get-decoding-args (macro . #[(type) " E" [crypt-get-alist-member type 7] 3]) crypt-get-minor-mode-name (macro . #[(type) " E" [crypt-get-alist-member type 8] 3]) crypt-get-cleanup-regexp (macro . #[(type) " E" [crypt-get-alist-member type 9] 3]) crypt-get-extension-tricks (macro . #[(type) " E" [crypt-get-alist-member type 10] 3]) crypt-buffer-save-name #[(type) " !P!" [intern "crypt-buffer-save-" symbol-name type] 4] crypt-build-minor-mode-alist #[nil " \"PDC\"\"" [append crypt-buffer-save-encrypted " " crypt-get-alist-member crypt-encryption-type 8 mapcar #[(element) " @!\n!\n#\n#\n @\"P)D" [crypt-buffer-save-name element variable make-variable-buffer-local put permanent-local t preserved " " crypt-get-alist-member 8] 5] crypt-encoding-alist] 6]] 4) (defconst crypt-minor-mode-alist (crypt-build-minor-mode-alist) "\ Alist containing encoded and encrypted minor modes. Derived from variable `crypt-encoding-alist' and function `crypt-build-minor-mode-encrypted'") (byte-code "MMMMMMMM" [crypt-rebuild-minor-modes-alist #[nil "@ > @ \" Ao*  \"" [crypt-minor-mode-alist minor-mode-alist nil elt alist delq crypt-build-minor-mode-alist append] 4] crypt-save-point (macro . #[(&rest body) "!\nDCB\nDEE)" [make-symbol "saved-point" var let (point) unwind-protect progn body goto-char] 6]) crypt-find-file-hook #[nil " ‰` ʎ  \"! \"!\"\"ڔO \" \" \" !\"!\"\"ڔO \"* !  !!." [buffer-file-name buffer-modified-p nil buffer-read-only encoded encrypted case-fold-search old-buffer-modified-p old-buffer-file-name saved-point ((goto-char saved-point)) crypt-encoded-p crypt-auto-decode-buffer y-or-n-p format "Decode %s? " buffer-name message "Decoding %s..." crypt-encode-buffer t crypt-buffer-encoding-type string-match crypt-get-alist-member 3 0 1 input-pending-p "Decoding %s... done" crypt-encrypted-p "Decrypting %s..." crypt-encrypt-buffer crypt-buffer-encryption-key crypt-encryption-type 10 "Decrypting %s... done" set-auto-mode hack-local-variables crypt-encoded-mode crypt-encrypted-mode set-buffer-modified-p] 7] crypt-encoded-p #[(&optional buffer) "q~eb ‰ @ A@! @e Ab -" [buffer crypt-encoding-alist nil found elt alist looking-at crypt-buffer-encoding-type t] 4] crypt-encrypted-p #[(&optional buffer) "? q~eb \" \"d^ ; # !eb;#!? !) Қ!Ϊ-" [crypt-never-ever-decrypt buffer crypt-get-alist-member crypt-encryption-type 1 2 crypt-magic-search-limit limit magic-regexp-inverse magic-regexp re-search-forward t eval crypt-buffer-encryption-key nil crypt-confirm-password call-interactively crypt-set-encryption-key "" message "No key given. Assumed normal."] 5] crypt-check-extension-for-encoding #[nil " @ \n8\"g Ad \n\n@ =?\n@\" \n8#!!\n@ ! \"!!\n \n@\" \n8#!\n\n@ !\n@ \n\"gAc ,? \"!!\n ," [crypt-encoding-alist nil elt found case-fold-search alist string-match 3 buffer-file-name t crypt-buffer-save-encoded crypt-buffer-encoding-type crypt-get-alist-member 10 crypt-y-or-n-p format "Write %s using %s? " buffer-name 4 crypt-encoded-mode -1 1 "Write %s a plain file? " crypt-ignored-filenames tlist crypt-buffer-interactive-encoded-mode crypt-query-if-interactive crypt-no-extension-implies-plain "Write %s as a plain file? "] 7] crypt-y-or-n-p #[(prompt) "=\n !" [crypt-auto-write-answer-local ask crypt-auto-write-buffer y-or-n-p prompt] 2] crypt-write-file-hook #[nil " \n\";\n\"\")\n\" \n \"!!! ! T#``}ێ !!ebed$ #!# \"#;! \"#! \" ed%ed|!." [crypt-check-extension-for-encoding crypt-get-alist-member crypt-encryption-type 3 nil case-fold-search string-match buffer-file-name 10 crypt-buffer-save-encrypted crypt-auto-write-buffer-encrypted y-or-n-p format "Write %s as an encrypted file? " buffer-name call-interactively crypt-set-encryption-key crypt-encrypted-mode 1 crypt-buffer-save-encoded get-buffer-create " *crypt copy buffer*" selective-display buffer-read-only copy-buffer copy-to-buffer buffer-size ((byte-code "ed|" [] 2)) setmodes buffer-backed-up backup-buffer insert-buffer-substring kill-buffer subst-char-in-region 13 crypt-buffer-encryption-key error "No encryption key set for buffer %s" "Encryption key is not a string" message "Encrypting %s..." crypt-encrypt-buffer "Encoding %s..." crypt-encode-buffer write-region t set-buffer-modified-p (set-file-modes buffer-file-name setmodes) ((error))] 6]] 2) (fset 'crypt-encrypt-region #[(start end key &optional decrypt) "`‰ \"\"\"\" ̚ Љ& < Љ¯ C#\" Љ &," [saved-point ((goto-char saved-point)) nil args prog decrypt crypt-get-alist-member crypt-encryption-type 5 7 4 6 "" call-process-region start end t key apply append] 9 "\ Encrypt region START to END using KEY and `crypt-encryption-type'. When called interactively START and END default to point and mark (START being the lesser of the two), and KEY is prompted for. With optional DECRYPT non-nil, decryption is done." (byte-code " !ȪP ? \" F)" [nil decrypt barf-if-buffer-read-only region-beginning region-end crypt-read-string-no-echo y-or-n-p "Decrypt region? " "De" "En" "crypt buffer using key: " crypt-confirm-password] 5)]) (fset 'crypt-encrypt-buffer #[(key &optional decrypt buffer) "pqed\n $)" [buffer crypt-encrypt-region key decrypt] 5]) (fset 'crypt-encode-region #[(start end &optional decode) "t `Îĉ\"\"\"\"; <  @Q Ap Θ = Qω&  FE!*?\"\"b!?=!;!ޔޕ|!?!!!?!+*" [crypt-buffer-encoding-type crypt-read-encoding-type saved-point ((goto-char saved-point)) nil args prog decode crypt-get-alist-member 5 7 4 6 " " "" t call-process-region start end shell-file-name "-c" eval 1 9 case-fold-search clean magic looking-at error "Encoding failed!" 0] 10 "\ Encode region START to END. When called interactively START and END default to point and mark (START being the lesser of the two). With optional DECODE non-nil, decoding is done. If encoding is attempted, then checks for correct magic number at start of newly-encoded region. If not found, then searches and deletes a user-defined regexp, or executes a user-defined lisp expression, as defined in `crypt-encoding-alist,' and checks again for magic number." "*r\nP"]) (fset 'crypt-encode-buffer #[(&optional decode buffer) "pqed\n#)" [buffer crypt-encode-region decode] 4]) (fset 'crypt-dos-to-unix-region #[(start end) "d\n}eb##q dSb! !+" [end remove-ctrl-z start search-forward " \n" nil t replace-match "\n" looking-at "" crypt-dos-has-ctrl-z ""] 5 "\ Converts region from START to END, from dos to unix format. Replaces \"\\r\\n\" with \"\\n\" and, if exists, removes ^Z at end of file. Sets `crypt-dos-has-ctrl-z'."]) (fset 'crypt-unix-to-dos-region #[(start end) " d }eb##q\ndbc+" [crypt-dos-has-ctrl-z end add-ctrl-z start search-forward "\n" nil t replace-match " \n" ""] 4 "\ Converts region from START to END, from dos to unix format. Replaces \"\\n\" with \"\\r\\n\" and adds a ^Z at end of file if `crypt-dos-has-ctrl-z' is non-nil."]) (fset 'crypt-encrypted-mode #[(&optional arg) "\n\nV? !!=! Ϊ! =?!)" [crypt-buffer-save-encrypted oldval arg 0 crypt-buffer-encryption-key call-interactively crypt-set-encryption-key crypt-encrypted-disable-auto-save auto-save-default auto-save-mode t message "Auto-save off (in this buffer)" buffer-file-name 1 set-buffer-modified-p] 3 "\ Toggle encrypted mode. With ARG, turn on iff positive, otherwise turn off. minor mode in which buffers are automatically encrypted before being written. if toggled and a key has been set for the current buffer, then the current buffer is marked modified, since it needs to be rewritten with or without encryption. Entering encrypted mode causes auto-saving to be turned off in the current buffer, as there is no way in Emacs Lisp to force auto save files to be encrypted." "P"]) (byte-code "M\"" [crypt-forget-encryption-key #[nil "\")Ň" [crypt-buffer-encryption-key t inhibit-quit fillarray 0 nil] 3] add-hook kill-buffer-hook] 3) (defvar crypt-forget-passwd-timeout 3600 "\ *Do not retain passwords for encrypted buffers more than this many seconds. If nil, keep them indefinitely.") (byte-code "MMMM" [crypt-reset-passwd-timer #[nil "! ! ! #)" [fboundp get-itimer "crypt-forget-passwds" name delete-itimer crypt-forget-passwd-timeout start-itimer crypt-reset-passwds-timeout] 4] crypt-reset-passwds-timeout #[nil "  @q  @!\") AY +‡" [buffer-list t nil keep-going inhibit-quit buffers crypt-buffer-encryption-key buffer-modified-p crypt-forget-encryption-key message "Password discarded in buffer %s" buffer-name crypt-reset-passwd-timer] 5] crypt-symbol-alist-to-table #[(list) "\n\"" [mapcar #[(x) " @!C" [symbol-name x] 2] list] 3] crypt-read-encoding-type #[nil "\nQ !\"GU\n! ! )" [completing-read "encoding type (? for list): [" crypt-default-encoding "] " crypt-symbol-alist-to-table crypt-encoding-alist type 0 intern crypt-buffer-encoding-type] 5]] 2) (fset 'crypt-encoded-mode #[(&optional arg) "t  V ? ! \"  \n! =!\nЪ! =?!)" [crypt-buffer-interactive-encoded-mode crypt-buffer-encoding-type crypt-read-encoding-type crypt-buffer-save-encoded oldval arg 0 set-variable crypt-buffer-save-name crypt-encoded-disable-auto-save auto-save-default auto-save-mode t message "Auto-save off (in this buffer)" buffer-file-name 1 set-buffer-modified-p] 4 "\ Toggle encoded mode. With ARG, turn on iff positive, otherwise turn off. minor mode in which buffers are automatically encoded before being written. if toggled then current buffer is marked modified, since it needs to be written with or without encoding. Entering encoded mode causes auto-saving to be turned off in the current buffer, as there is no way in Emacs Lisp to force auto save files to be encoded." "P"]) (byte-code "!!MM" [fboundp buffer-disable-undo buffer-flush-undo crypt-read-string-no-echo read-passwd] 2) (fset 'crypt-set-encryption-key #[(key &optional buffer) "tA p q\n ! \n= \"\n! )" [command-history buffer key crypt-buffer-encryption-key message "Key is identical to original, no change." fillarray 0 crypt-buffer-save-encrypted set-buffer-modified-p t crypt-reset-passwd-timer] 3 "\ Set the encryption KEY, a string, for current buffer or optionally BUFFER. If buffer is in encrypted mode, then it is also marked as modified, since it needs to be saved with the new key." (byte-code " \" \"C" [barf-if-buffer-read-only crypt-read-string-no-echo format "Encryption key for %s? [RET to ignore]: " buffer-name crypt-confirm-password] 4)]) (byte-code " \"!M\"\"̏!\"\"\"\"\"\"\"" [crypt-buffer-save-encrypted minor-mode-alist append crypt-minor-mode-alist fboundp add-hook #[(hook function &optional append) " ! L J< @= CL) : A J\" ) J>  J C JBL" [boundp hook nil old lambda function assoc tail append] 4 "Add to the value of HOOK the function FUNCTION.\nFUNCTION is not added if already present.\nFUNCTION is added (if necessary) at the beginning of the hook list\nunless the optional argument APPEND is non-nil, in which case\nFUNCTION is added at the end.\n\nHOOK should be a symbol, and FUNCTION may be any valid function. If\nHOOK is void, it is first set to nil. If HOOK's value is a single\nfunction, it is changed to a list of functions."] find-file-hooks crypt-find-file-hook find-file-not-found-hooks err (byte-code "#" [add-hook write-file-hooks crypt-write-file-hook t] 4) ((error (byte-code "<@=C>C\"" [write-file-hooks lambda crypt-write-file-hook append] 3))) boundp after-init-hook crypt-rebuild-tables crypt-rebuild-minor-modes-alist crypt-bind-insert-file string-match "^19" emacs-version term-setup-hook] 3) (defvar crypt-bind-insert-file t "\ *t value means bind `crypt-insert-file' over `insert-file'. If you wish to change this variable after crypt++ has been loaded then do \\[crypt-bind-insert-file].") (defvar crypt-auto-decode-insert nil "\ *t says decode/decrypt files that are inserted with `crypt-insert-file'. nil says to ask before doing this.") (fset 'crypt-bind-insert-file #[nil "t!\n # #" [y-or-n-p "Bind crypt-insert-file over insert-file? " crypt-bind-insert-file substitute-key-definition insert-file crypt-insert-file current-global-map] 4 "\ Bind `crypt-insert-file' in place of `insert-file' or reverse based on `crypt-bind-insert-file'. Part of `after-init-hook'." nil]) (crypt-bind-insert-file) (fset 'crypt-insert-file #[(filename) " ! E\" !`A@\\!)" [file-directory-p filename signal file-error "Opening input file" "file is a directory" crypt-insert-file-contents tem push-mark] 5 "\ Insert decoded/decrypted contents of file FILENAME into buffer after point. Set mark after the inserted text. This function is meant for the user to run interactively. Don't call it from programs! Use `insert-file-contents' instead. (Its calling sequence is different; see its documentation). This version will attempt to decrypt and/or decode file before inserting. see variable `crypt-auto-decode-insert'." "fInsert file: "]) (fset 'crypt-insert-file-contents #[(file) " p!!q\"! B\nq ! !) ," [nil crypt-auto-decode-insert orig-buffer crypt-auto-decode-buffer temp-list temp-buffer generate-new-buffer file-name-nondirectory file insert-file-contents set-buffer-modified-p buffer-file-name crypt-find-file-hook buffer-size insert-buffer kill-buffer] 5]) (defconst crypt-version "2.82" "\ Revision number of crypt++.el -- handles compressed and encrypted files. Type \\[crypt-submit-report] to send a bug report. Available via anonymous ftp in /roebling.poly.edu:/pub/lisp/crypt++.el.gz /archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/misc/crypt++.el.Z") (defconst crypt-help-address "dodd@roebling.poly.edu" "\ Address(es) accepting submission of reports on crypt++.el.") (defconst crypt-maintainer "Larry" "\ First name(s) of people accepting submission of reports on crypt++.el.") (defconst crypt-file "crypt++.el" "\ Name of file containing emacs lisp code.") (defconst crypt-variable-list (list 'shell-file-name 'load-path 'exec-path 'crypt-encryption-type 'crypt-encryption-file-extension 'crypt-never-ever-decrypt 'crypt-auto-write-buffer-encrypted 'crypt-confirm-password 'crypt-encrypted-disable-auto-save 'crypt-auto-decode-buffer 'crypt-auto-write-buffer 'crypt-query-if-interactive 'crypt-no-extension-implies-plain 'crypt-freeze-vs-fortran 'crypt-compact-vs-C++ 'crypt-ignored-filenames 'crypt-default-encoding 'crypt-encoded-disable-auto-save 'crypt-bind-insert-file 'crypt-auto-decode-insert 'crypt-encoding-alist 'crypt-encryption-alist) "\ List of variables to be appended to reports sent by `crypt-submit-report.'") (fset 'crypt-submit-report #[nil "" [err (byte-code "! Qȉ\nQ&" [require reporter reporter-submit-bug-report crypt-help-address crypt-file " " crypt-version crypt-variable-list nil "Yo! " crypt-maintainer ","] 9) ((error (byte-code " !P!! P!)!!P!" [beep featurep ange-ftp y-or-n-p "Sorry, reporter.el not found. " "Can I ange-ftp it for you? " t ange-ftp-generate-anonymous-password find-file-other-window "/anonymous@roebling.poly.edu:/pub/reporter.el" eval-current-buffer message "Save reporter.el somewhere in `load-path' " "and try again." "Sorry, reporter.el not found." sit-for 3 "Get it from archive.cis.ohio-state.edu " "or roebling.poly.edu"] 3)))] 3 "\ Submit via reporter.el a bug report on program. Send report on `crypt-file' version `crypt-version,' to `crypt-maintainer' at address `crypt-help-address' listing variables `crypt-variable-list' in the message." nil]) (byte-code "!!" [provide crypt++ crypt] 2)