;ELC   
;;; Compiled by rms@psilocin.gnu.org on Sun Mar  8 19:08:40 1998
;;; from file /gd/gnu/emacs/lisp/textmodes/scribe.el
;;; in Emacs version 20.2.89.6
;;; with bytecomp version 2.38
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(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 "`scribe.el' was compiled for Emacs 19.29 or later"))


(custom-declare-group 'scribe nil "Scribe mode." :prefix "scribe-" :group 'wp)
#@41 Syntax table used while in scribe mode.
(defvar scribe-mode-syntax-table nil (#$ . 616))
#@41 Abbrev table used while in scribe mode.
(defvar scribe-mode-abbrev-table nil (#$ . 711))
#@75 *Non-NIL makes Scribe mode use a different style of paragraph separation.
(custom-declare-variable 'scribe-fancy-paragraphs 'nil '(#$ . -806) :type 'boolean :group 'scribe)
#@74 *Non-NIL makes insert of double quote use `` or '' depending on context.
(custom-declare-variable 'scribe-electric-quote 'nil '(#$ . -985) :type 'boolean :group 'scribe)
#@106 *Non-NIL makes parenthesis char ( (]}> ) automatically insert its close
if typed after an @Command form.
(custom-declare-variable 'scribe-electric-parenthesis 'nil '(#$ . -1162) :type 'boolean :group 'scribe)
#@41 Open parenthesis characters for Scribe.
(defconst scribe-open-parentheses "[({<" (#$ . 1377))
#@96 Close parenthesis characters for Scribe.
These should match up with `scribe-open-parenthesis'.
(defconst scribe-close-parentheses "])}>" (#$ . 1477))
(byte-code "\204D \305 \306\216\307\n!\310!\210\311\312\313\"\210\311\314\313\"\210\311\315\316\"\210\311\317\320\"\210\311\321\322\"\210\311\323\324\"\210\311\325\326\"\210\311\327\330\"\210\311\331\332\"\210\311\333\316\"\210*\334\303!\204L \335\303\fB\204\331 \336 \337\340\341#\210\337\342\343#\210\337\344\345#\210\337\346\347#\210\337\350\351#\210\337\352\353#\210\337\354\355#\210\337\356\355#\210\337\357\355#\210\337\360\355#\210\337\361\362#\210\337\363\364#\210\337\365\366#\210\337\367\370#\210\337\371\372#\210\337\373\374#\210\337\375\376#\210\337\377\201@ #\210\337\201A \201B #\210\337\201C \201D #\210\335\207" [scribe-mode-syntax-table st text-mode-syntax-table scribe-mode-map current-load-list syntax-table ((set-syntax-table st)) copy-syntax-table set-syntax-table modify-syntax-entry 34 "    " 92 64 "w   " 60 "(>  " 62 ")<  " 91 "(]  " 93 ")[  " 123 "(}  " 125 "){  " 39 boundp nil make-sparse-keymap define-key "	" scribe-tab "	" tab-to-tab-stop "s" center-line "}" up-list "S" center-paragraph "\"" scribe-insert-quote "(" scribe-parenthesis "[" "{" "<" "" scribe-chapter "" scribe-section "" scribe-subsection "" scribe-insert-environment "" scribe-bracket-region-be "[" scribe-begin "]" scribe-end "	" scribe-italicize-word "" scribe-bold-word "" scribe-underline-word] 4)
#@526 Major mode for editing files of Scribe (a text formatter) source.
Scribe-mode is similar text-mode, with a few extra commands added.
\{scribe-mode-map}

Interesting variables:

scribe-fancy-paragraphs
  Non-nil makes Scribe mode use a different style of paragraph separation.

scribe-electric-quote
  Non-nil makes insert of double quote use `` or '' depending on context.

scribe-electric-parenthesis
  Non-nil makes an open-parenthesis char (one of `([<{')
  automatically insert its close if typed after an @Command form.
(defalias 'scribe-mode #[nil "\306 \210\307!\210\310\311\312\303\313\"\210\314\305!\210\315\314\316!\210\315\"\317Q\314\320!\210\321\314\322!\210\317\314\323!\210\324\"\325#\326\260\314\327!\210$\203N \202O \330\314\331!\210\332\314\333!\210\334\335 P\336%!\210\337\340\341\"\207" [scribe-mode-map mode-name major-mode scribe-mode-abbrev-table local-abbrev-table comment-start kill-all-local-variables use-local-map "Scribe" scribe-mode define-abbrev-table nil make-local-variable "@Comment[" comment-start-skip "]" comment-column 0 comment-end paragraph-start "\\([\n\f]\\)\\|\\(@\\w+[" "].*[" "]$\\)" paragraph-separate "$" sentence-end "\\([.?!]\\|@:\\)[]\"')}]*\\($\\| $\\|	\\|  \\)[ 	\n]*" compile-command "scribe " buffer-file-name set-syntax-table run-hooks text-mode-hook scribe-mode-hook scribe-open-parentheses scribe-close-parentheses scribe-fancy-paragraphs scribe-mode-syntax-table] 5 (#$ . 2983) nil])
(defalias 'scribe-tab #[nil "\300c\207" ["@\\"] 1 nil nil])
#@35 Run Scribe on the current buffer.
(defalias 'scribe #[nil "\300\301!\207" [call-interactively compile] 2 (#$ . 4518) nil])
#@145 Surround current word with Scribe construct @STRING[...].
COUNT specifies how many words to surround.  A negative count means
to skip backward.
(defalias 'scribe-envelop-word #[(string count) "``\306\307\f\306U\204> hz\310U\203 \311\312\f^!\210`\313\314\315Q!\203, \316u\210\2026 \nb\210\317\307x\210\312u\210\311\f\320]!\210`b\210	GW\203j \212\321\322	H!\n\323#\206_ \321\322	H!\n\323#)\203j 	T\211\204A 	GY\203\207 \nb\210\324\325\261\210b\210\326\325\261\202\246 \nb\210	Hc\210b\210\327	H\261\210\nb\210\330u\210\307w,\207" [noparens ccoun epos spos count scribe-open-parentheses 0 nil 119 forward-sexp -1 looking-at "@\\w[" "]" 2 "\\W" 1 search-forward char-to-string t "@end(" ")" "@begin(" "@" 3 scribe-close-parentheses string] 4 (#$ . 4648)])
#@67 Underline COUNT words around point by means of Scribe constructs.
(defalias 'scribe-underline-word #[(count) "\301\302\"\207" [count scribe-envelop-word "u"] 3 (#$ . 5436) "p"])
#@66 Boldface COUNT words around point by means of Scribe constructs.
(defalias 'scribe-bold-word #[(count) "\301\302\"\207" [count scribe-envelop-word "b"] 3 (#$ . 5621) "p"])
#@67 Italicize COUNT words around point by means of Scribe constructs.
(defalias 'scribe-italicize-word #[(count) "\301\302\"\207" [count scribe-envelop-word "i"] 3 (#$ . 5800) "p"])
(defalias 'scribe-begin #[nil "\301c\210\302u\210\303\304\305\"\210\306\307\310Q!\207" [scribe-open-parentheses "\n" -1 scribe-envelop-word "Begin" 0 re-search-forward "[" "]"] 4 nil nil])
(defalias 'scribe-end #[nil "\301c\210\302u\210\303\304\305\"\210\306\307\310Q!\207" [scribe-open-parentheses "\n" -1 scribe-envelop-word "End" 0 re-search-forward "[" "]"] 4 nil nil])
(defalias 'scribe-chapter #[nil "\301c\210\302u\210\303\304\305\"\210\306\307\310Q!\207" [scribe-open-parentheses "\n" -1 scribe-envelop-word "Chapter" 0 re-search-forward "[" "]"] 4 nil nil])
(defalias 'scribe-section #[nil "\301c\210\302u\210\303\304\305\"\210\306\307\310Q!\207" [scribe-open-parentheses "\n" -1 scribe-envelop-word "Section" 0 re-search-forward "[" "]"] 4 nil nil])
(defalias 'scribe-subsection #[nil "\301c\210\302u\210\303\304\305\"\210\306\307\310Q!\207" [scribe-open-parentheses "\n" -1 scribe-envelop-word "SubSection" 0 re-search-forward "[" "]"] 4 nil nil])
(defalias 'scribe-bracket-region-be #[(env min max) "\212b\210\303	\304\261\210\nb\210\305	\304\261)\207" [max env min "@end(" ")\n" "@begin("] 3 nil "sEnvironment: \nr"])
(defalias 'scribe-insert-environment #[(env) "\301``#\210\302y\210\303c\210\304u\207" [env scribe-bracket-region-be 1 10 -1] 4 nil "sEnvironment: "])
#@217 Insert ``, '' or " according to preceding character.
If `scribe-electric-quote' is non-NIL, insert ``, '' or " according
to preceding character.  With numeric arg N, always insert N " characters.
Else just insert ".
(defalias 'scribe-insert-quote #[(count) "\204 	\204 \305\306!!\207\307\211\211h\310U\203 \311\202\341 o\203& \312\202\341 \212\313\312`\314Z\315#\2052 `)\212\313\316`\314Z\315#\205@ `)\212\313\317`\320Z\315#\205N `)\211\204r \f\204\\ \312\202\341 \204d \316\202\341 \fV\203n \316\202\341 \312\202\341 \204~ \f\204~ \317\202\341 \203\220 \f\204\220 \nV\203\220 \317\202\341 \203\242 \f\204\242 \nV\203\242 \312\202\341 \f\203\264 \204\264 \n\fV\203\264 \317\202\341 \f\203\306 \204\306 \f\nV\203\306 \316\202\341 \n\fV\203\326 \nV\203\326 \317\202\341 \fV\203\340 \316\202\341 \312c+\207" [count scribe-electric-quote lastquote lastback lastfore self-insert-command prefix-numeric-value nil 92 34 "``" search-backward 1000 t "''" "\"" 100] 5 (#$ . 7276) "P"])
#@184 If scribe-electric-parenthesis is non-NIL, insertion of an open-parenthesis
character inserts the following close parenthesis character if the
preceding text is of the form @Command.
(defalias 'scribe-parenthesis #[(count) "\306\307!!\210\310\211\211\206 \f??\205G \212\311u\210`\312P\310x\210g\313\232\205- `	SU?)\205G \314\315\316h!!\"\211\205G \212\nHc)+\207" [count point-save paren-char at-command scribe-electric-parenthesis scribe-open-parentheses self-insert-command prefix-numeric-value nil -1 "^ \n	\f" 64 string-match regexp-quote char-to-string scribe-close-parentheses] 4 (#$ . 8281) "P"])
(provide 'scribe)
