%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/textmodes/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/textmodes/rst.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

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


(byte-code "\300\301!\210\302\303\304\305#\207" [require cl-lib put push edebug-form-spec (&or [form symbolp] [form gv-place])] 4)
#@53 Add FUN to `testcover-compose-functions'.

(fn FUN)
(defalias 'rst-testcover-add-compose #[257 "\301\300!\205\211\235\203\207\211B\211\207" [testcover-compose-functions boundp] 3 (#$ . 539)])
#@52 Add FUN to `testcover-1value-functions'.

(fn FUN)
(defalias 'rst-testcover-add-1value #[257 "\301\300!\205\211\235\203\207\211B\211\207" [testcover-1value-functions boundp] 3 (#$ . 745)])
#@319 `cl-dolist' with destructuring of the list elements.
ARGLIST is a Common List argument list which may include
destructuring.  LIST, RESULT and BODY are as for `cl-dolist'.
Note that definitions in ARGLIST are visible only in the BODY and
neither in RESULT nor in LIST.

(fn (ARGLIST LIST &optional RESULT) &rest BODY)
(defalias 'rst-destructuring-dolist '(macro . #[128 "\211\203
\211A\262\242\202\300\301\302GD\"\211A\203\"\211A\262\242\202)\300\301\302GD\"\211A\262\242\211A\262\242\203D\300\301\302\303G\\D\"\210\304\305!\306E\307\nBBBE\262\207" [signal wrong-number-of-arguments rst-destructuring-dolist 3 make-symbol "--rst-destructuring-dolist-var--" cl-dolist cl-destructuring-bind] 12 (#$ . 949)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put rst-destructuring-dolist edebug-form-spec (&define ([&or symbolp cl-macro-list] def-form &optional def-form) cl-declarations def-body) function-put lisp-indent-function 1] 4)
#@418 Try to move point to beginning of line I + N where I is the current line.
Return t if movement is successful.  Otherwise don't move point
and return nil.  If a position is given by LIMIT, movement
happened but the following line is missing and thus its beginning
can not be reached but the movement reached at least LIMIT
consider this a successful movement.  LIMIT is ignored in other
cases.

(fn N &optional LIMIT)
(defalias 'rst-forward-line-strict #[513 "`y\300U\203n\204\203`Y\203\301\202\211b\210\302\207" [0 t nil] 5 (#$ . 1930)])
#@605 Move forward N lines and if successful check whether RST-RE-ARGS is matched.
Moving forward is done by `rst-forward-line-strict'.  RST-RE-ARGS
is a single or a list of arguments for `rst-re'.  FUN is a
function defaulting to `identity' which is called after the call
to `looking-at' receiving its return value as the first argument.
When FUN is called match data is just set by `looking-at' and
point is at the beginning of the line.  Return nil if moving
forward failed or otherwise the return value of FUN.  Preserve
global match data, point, mark and current buffer.

(fn N RST-RE-ARGS &optional FUN)
(defalias 'rst-forward-line-looking-at #[770 "<\204	C\262\211\204\300\262\301 \302\303\304\305\306!\307\"\310$\216\212\311!\205.\312\313\314\"!!*\207" [identity match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 rst-forward-line-strict looking-at apply rst-re] 10 (#$ . 2488)])
(rst-testcover-add-1value 'rst-delete-entire-line)
#@50 Move N lines and delete the entire line.

(fn N)
(defalias 'rst-delete-entire-line #[257 "\300T!\300\301\\!|\207" [line-beginning-position 2] 5 (#$ . 3482)])
#@253 Extract the version from a variable according to the given regexes.
Return the version after regex DELIM-RE and HEAD-RE matching RE
and before TAIL-RE and DELIM-RE in VAR or DEFAULT for no match.

(fn DELIM-RE HEAD-RE RE TAIL-RE VAR &optional DEFAULT)
(defalias 'rst-extract-version #[1541 "\300\301\302\f\260\"\203\303\304\"\207\207" [string-match "\\(" "\\)" match-string 1] 14 (#$ . 3649)])
(defconst rst-cvs-header "$CVSHeader: sm/rst_el/rst.el,v 1.1058.2.9 2017/01/08 09:54:50 stefan Exp $")
#@75 The CVS revision of this file.  CVS revision is the development revision.
(defconst rst-cvs-rev (rst-extract-version "\\$" "CVSHeader: \\S + " "[0-9]+\\(?:\\.[0-9]+\\)+" " .*" rst-cvs-header "0.0") (#$ . 4166))
#@34 The CVS time stamp of this file.
(defconst rst-cvs-timestamp (rst-extract-version "\\$" "CVSHeader: \\S + \\S + " "[0-9]+-[0-9]+-[0-9]+ [0-9]+:[0-9]+:[0-9]+" " .*" rst-cvs-header "1970-01-01 00:00:00") (#$ . 4383))
#@82 The SVN revision of this file.
SVN revision is the upstream (docutils) revision.
(defconst rst-svn-rev (rst-extract-version "\\$" "LastChangedRevision: " "[0-9]+" " " "$LastChangedRevision: 8015 $") (#$ . 4604))
#@34 The SVN time stamp of this file.
(defconst rst-svn-timestamp (rst-extract-version "\\$" "LastChangedDate: " ".+" " " "$LastChangedDate: 2017-01-08 10:54:35 +0100 (Sun, 08 Jan 2017) $") (#$ . 4822))
#@34 Official version of the package.
(defconst rst-official-version (rst-extract-version "%" "OfficialVersion: " "[0-9]+\\(?:\\.[0-9]+\\)+" " " "%OfficialVersion: 1.5.2 %") (#$ . 5026))
#@52 CVS revision of this file in the official version.
(defconst rst-official-cvs-rev (rst-extract-version "[%$]" "Revision: " "[0-9]+\\(?:\\.[0-9]+\\)+" " " "$Revision: 1.1058.2.9 $") (#$ . 5214))
#@155 The version string.
Starts with the current official version.  For developer versions
in parentheses follows the development revision and the time stamp.
(defconst rst-version (byte-code "	\232\203\n\207\304\305\n	$\207" [rst-official-cvs-rev rst-cvs-rev rst-official-version rst-cvs-timestamp format "%s (development %s [%s])"] 5) (#$ . 5415))
(defconst rst-package-emacs-version-alist '(("1.0.0" . "24.3") ("1.1.0" . "24.3") ("1.2.0" . "24.3") ("1.2.1" . "24.3") ("1.3.0" . "24.3") ("1.3.1" . "24.3") ("1.4.0" . "24.3") ("1.4.1" . "25.1") ("1.4.2" . "25.1") ("1.5.0" . "26.1") ("1.5.1" . "26.1") ("1.5.2" . "26.1")))
(byte-code "\303	\"\204\f\304\305\n\"\210\306\307\310	B\"\210\311\312\313\314\315\316\317\320\321\322&	\207" [rst-official-version rst-package-emacs-version-alist rst-version assoc error "Version %s not listed in `rst-package-emacs-version-alist'" add-to-list customize-package-emacs-version-alist ReST custom-declare-group rst nil "Support for reStructuredText documents." :group text :version "23.1" :link (url-link "http://docutils.sourceforge.net/rst.html")] 10)
#@60 List of all possible bullet characters for bulleted lists.
(defconst rst-bullets '(45 42 43 8226 8227 8259) (#$ . 6513))
#@24 Supported URI schemes.
(defconst rst-uri-schemes '("acap" "cid" "data" "dav" "fax" "file" "ftp" "gopher" "http" "https" "imap" "ldap" "mailto" "mid" "modem" "news" "nfs" "nntp" "pop" "prospero" "rtsp" "service" "sip" "tel" "telnet" "tip" "urn" "vemmi" "wais") (#$ . 6640))
#@74 Characters which may be used in adornments for sections and transitions.
(defconst rst-adornment-chars '(93 33 34 35 36 37 38 39 40 41 42 43 44 46 47 58 59 60 61 62 63 64 91 92 94 95 96 123 124 125 126 45) (#$ . 6919))
#@47 Maximum length of inline markup to recognize.
(defconst rst-max-inline-length 1000 (#$ . 7144))
#@125 Definition alist of relevant regexes.
Each entry consists of the symbol naming the regex and an
argument list for `rst-re'.
(defconst rst-re-alist-def (byte-code "\304\305\306\307\310\311\312\313\314\315QD\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363	\"D\364\365\366\367\370\371\372\373\374\375\376\377\201@\201A\201B\201C\201D\201E\201F\201G\201H\201I\201J\201K\nBD\201L\314\260\201MBBB\201NBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\207" [rst-bullets rst-max-inline-length rst-uri-schemes rst-adornment-chars (hws-prt "[	 ]") (hws-tag hws-prt "*") (hws-sta hws-prt "+") (lin-beg "^" hws-tag) (lin-end hws-tag "$") (linemp-tag "^" hws-tag "$") (ell-tag "\\.\\.\\.") bul-tag "[" "]" (ltr-tag "[a-zA-Z]") (num-prt "[0-9]") (num-tag num-prt "+") (rom-prt "[IVXLCDMivxlcdm]") (rom-tag rom-prt "+") (aut-tag "#") (dcl-tag "::") (bli-sfx (:alt hws-sta "$")) (bul-sta bul-tag bli-sfx) (bul-beg lin-beg bul-sta) (exm-tag "\\.\\.") (exm-sta exm-tag hws-sta) (exm-beg lin-beg exm-sta) (cntany-tag (:alt ltr-tag num-tag rom-tag aut-tag)) (cntexp-tag (:alt ltr-tag num-tag rom-tag)) (enmany-tag (:alt (:seq cntany-tag "\\.") (:seq "(?" cntany-tag ")"))) (enmexp-tag (:alt (:seq cntexp-tag "\\.") (:seq "(?" cntexp-tag ")"))) (enmaut-tag (:alt (:seq aut-tag "\\.") (:seq "(?" aut-tag ")"))) (enmany-sta enmany-tag bli-sfx) (enmexp-sta enmexp-tag bli-sfx) (enmexp-beg lin-beg enmexp-sta) (itmany-tag (:alt enmany-tag bul-tag)) (itmany-sta-1 (:grp itmany-tag) bli-sfx) (itmany-beg-1 lin-beg itmany-sta-1) (ilm-pfx (:alt "^" hws-prt "['\"([{<‘“«’/:-]")) (ilm-sfx (:alt "$" hws-prt "[]'\")}>’”»/:.,;!?\\-]")) (ilcsgl-tag "\\S ") (ilcast-prt (:alt "[^*\\]" "\\\\.")) (ilcbkq-prt (:alt "[^`\\]" "\\\\.")) (ilcbkqdef-prt (:alt "[^`\\\n]" "\\\\.")) (ilcbar-prt (:alt "[^|\\]" "\\\\.")) (ilcbardef-prt (:alt "[^|\\\n]" "\\\\.")) (ilcast-sfx "[^	 *\\]") (ilcbkq-sfx "[^	 `\\]") (ilcbar-sfx "[^	 |\\]") ilcrep-hlp format "\\{0,%d\\}" (ilcast-tag (:alt ilcsgl-tag (:seq ilcsgl-tag ilcast-prt ilcrep-hlp ilcast-sfx))) (ilcbkq-tag (:alt ilcsgl-tag (:seq ilcsgl-tag ilcbkq-prt ilcrep-hlp ilcbkq-sfx))) (ilcbkqdef-tag (:alt ilcsgl-tag (:seq ilcsgl-tag ilcbkqdef-prt ilcrep-hlp ilcbkq-sfx))) (ilcbar-tag (:alt ilcsgl-tag (:seq ilcsgl-tag ilcbar-prt ilcrep-hlp ilcbar-sfx))) (ilcbardef-tag (:alt ilcsgl-tag (:seq ilcsgl-tag ilcbardef-prt ilcrep-hlp ilcbar-sfx))) (fldnam-prt (:alt "[^:\n]" "\\\\:")) (fldnam-tag fldnam-prt "+") (fld-tag ":" fldnam-tag ":") (optsta-tag (:alt "[+/-]" "--")) (optnam-tag "\\sw" (:alt "-" "\\sw") "*") (optarg-tag (:shy "[ =]\\S +")) (optsep-tag (:shy "," hws-prt)) (opt-tag (:shy optsta-tag optnam-tag optarg-tag "?")) (fncnam-prt "[^]\n]") (fncnam-tag fncnam-prt "+") (fnc-tag "\\[" fncnam-tag "]") (fncdef-tag-2 (:grp exm-sta) (:grp fnc-tag)) (fnc-sta-2 fncdef-tag-2 bli-sfx) (sub-tag "|" ilcbar-tag "|") (subdef-tag "|" ilcbardef-tag "|") (sym-prt "[+.:_-]") (sym-tag (:shy "\\sw+" (:shy sym-prt "\\sw+") "*")) uri-tag :alt ado-prt ("]") ((adorep3-hlp "\\{3,\\}") (adorep2-hlp "\\{2,\\}") (ado-tag-1-1 (:grp ado-prt) "\\1" adorep2-hlp) (ado-tag-1-2 (:grp ado-prt) "\\2" adorep2-hlp) (ado-beg-2-1 "^" (:grp ado-tag-1-2) lin-end) (ttl-tag "\\S *\\w.*\\S ") (ttl-beg-1 lin-beg (:grp ttl-tag)) (dir-tag-3 (:grp exm-sta) (:grp (:shy subdef-tag hws-sta) "?") (:grp sym-tag dcl-tag)) (dir-sta-3 dir-tag-3 bli-sfx) (lit-sta-2 (:grp (:alt "[^.\n]" "\\.[^.\n]") ".*") "?" (:grp dcl-tag) "$") (cmt-sta-1 (:grp exm-sta) "[^[|_\n]" (:alt "[^:\n]" (:seq ":" (:alt "[^:\n]" "$"))) "*$") (par-tag- (:alt itmany-tag fld-tag opt-tag fncdef-tag-2 dir-tag-3 exm-tag)))] 71) (#$ . 7247))
(rst-testcover-add-compose 'rst-re)
#@907 Interpret ARGS as regular expressions and return a regex string.
Each element of ARGS may be one of the following:

A string which is inserted unchanged.

A character which is resolved to a quoted regex.

A symbol which is resolved to a string using `rst-re-alist-def'.

A list with a keyword in the car.  Each element of the cdr of such
a list is recursively interpreted as ARGS.  The results of this
interpretation are concatenated according to the keyword.

For the keyword `:seq' the results are simply concatenated.

For the keyword `:shy' the results are concatenated and
surrounded by a shy-group ("\(?:...\)").

For the keyword `:alt' the results form an alternative ("\|")
which is shy-grouped ("\(?:...\)").

For the keyword `:grp' the results are concatenated and form a
referenceable group ("\(...\)").

After interpretation of ARGS the results are concatenated as for
`:seq'.

(fn &rest ARGS)
(defalias 'rst-re #[128 "\300\301\302\303\"\"\207" [apply concat mapcar #[257 "\211;\203\207\2119\203\301\"A@\207\302!\203\303\304!!\207\211<\203s\305\306A\"@\307=\2037\310\311\312#\202r@\313=\203I\314\310\311\312#\315Q\202r@\316=\203[\317\310\311\312#\315Q\202r@\320=\203m\314\310\311\321#\315Q\202r\322\323@\"\207\322\324\"\207" [rst-re-alist assoc characterp regexp-quote char-to-string mapcar #[257 "\300!\207" [rst-re] 3 "\n\n(fn ELT)"] :seq mapconcat identity "" :shy "\\(?:" "\\)" :grp "\\(" :alt "\\|" error "Unknown list car: %s" "Unknown object type for building regex: %s"] 7 "\n\n(fn RE)"]] 6 (#$ . 11024)])
#@65 Alist mapping symbols from `rst-re-alist-def' to regex strings.
(defconst rst-re-alist (byte-code "\302	\211\203\211@@\303\304A\"DC\244A\266\202\202\262)\207" [rst-re-alist rst-re-alist-def nil apply rst-re] 7) (#$ . 12588))
#@66 compiler-macro for inlining `rst-Ado-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Ado-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Ado-p (and (memq (type-of cl-x) cl-struct-rst-Ado-tags) t)) nil] 9 (#$ . 12831)])
(put 'rst-Ado-p 'compiler-macro 'rst-Ado-p--cmacro)
#@13 

(fn CL-X)
(defalias 'rst-Ado-p #[257 "\301!>\205	\302\207" [cl-struct-rst-Ado-tags type-of t] 3 (#$ . 13148)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put rst-Ado-p side-effect-free error-free put rst-Ado cl-deftype-satisfies] 5)
#@69 compiler-macro for inlining `rst-Ado-char'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Ado-char--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Ado-char (progn (or (rst-Ado-p cl-x) (signal 'wrong-type-argument (list 'rst-Ado cl-x))) (aref cl-x 1))) nil] 9 (#$ . 13411)])
(put 'rst-Ado-char 'compiler-macro 'rst-Ado-char--cmacro)
#@57 Access slot "char" of `rst-Ado' struct CL-X.

(fn CL-X)
(defalias 'rst-Ado-char #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado 1] 5 (#$ . 13785)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Ado-char side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Ado-char] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@71 compiler-macro for inlining `rst-Ado--style'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Ado--style--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Ado--style (progn (or (rst-Ado-p cl-x) (signal 'wrong-type-argument (list 'rst-Ado cl-x))) (aref cl-x 2))) nil] 9 (#$ . 14230)])
(put 'rst-Ado--style 'compiler-macro 'rst-Ado--style--cmacro)
#@59 Access slot "-style" of `rst-Ado' struct CL-X.

(fn CL-X)
(defalias 'rst-Ado--style #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado 2] 5 (#$ . 14614)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\"\207" [function-put rst-Ado--style side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Ado--style] 5 "\n\n(fn CL-DO CL-X)"] defalias copy-rst-Ado copy-sequence] 5)
#@58 Constructor for objects of type `rst-Ado'.

(fn ADO-ARG)
(defalias 'rst-Ado-new-invert #[257 "\301!>\204\302\303\304D\"\210\211\305H\301!>\204!\302\303\304D\"\210\306H\211\307\267\2022\310\2023\311\2023\211\262\312\304#\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado 1 2 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (simple 42 over-and-under 46)) over-and-under simple record] 7 (#$ . 15113)])
(byte-code "\300\301\302\303#\300\207" [function-put rst-Ado-new-invert side-effect-free t] 4)
#@59 Constructor for objects of type `rst-Ado'.

(fn CHAR-ARG)
(defalias 'rst-Ado-new-over-and-under #[257 "\300!\301\302\303#\207" [rst-Ado--validate-char over-and-under record rst-Ado] 7 (#$ . 15689)])
(byte-code "\300\301\302\303#\300\207" [function-put rst-Ado-new-over-and-under side-effect-free t] 4)
#@59 Constructor for objects of type `rst-Ado'.

(fn CHAR-ARG)
(defalias 'rst-Ado-new-simple #[257 "\300!\301\302\303#\207" [rst-Ado--validate-char simple record rst-Ado] 7 (#$ . 16000)])
(byte-code "\300\301\302\303#\300\207" [function-put rst-Ado-new-simple side-effect-free t] 4)
#@74 compiler-macro for inlining `rst-Ado-new-transition'.

(fn CL-WHOLE-ARG)
(defalias 'rst-Ado-new-transition--cmacro #[257 "\300\301\302\303\304\300\211\211&\207" [nil 'transition cl--defsubst-expand (char -style) (cl-block rst-Ado-new-transition (record 'rst-Ado char -style))] 11 (#$ . 16287)])
(put 'rst-Ado-new-transition 'compiler-macro 'rst-Ado-new-transition--cmacro)
#@44 Constructor for objects of type `rst-Ado'.
(defalias 'rst-Ado-new-transition #[0 "\300\301\302\303#\207" [nil transition record rst-Ado] 6 (#$ . 16671)])
(byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303&	\207" [function-put rst-Ado-new-transition side-effect-free t cl-struct-define rst-Ado "Representation of a reStructuredText adornment.\nAdornments are either section markers where they markup the\nsection header or transitions.\n\nThis type is immutable." cl-structure-object record nil ((cl-tag-slot) (char nil :read-only t) (-style nil :read-only t)) cl-struct-rst-Ado-tags] 11)
#@109 Validate CHAR to be a valid adornment character.
Return CHAR if so or signal an error otherwise.

(fn CHAR)
(defalias 'rst-Ado--validate-char #[257 "\301!\204\302\303\304\305E\"\210\211\211>\262\204\302\303\306\305E\"\210\207" [rst-adornment-chars natnump signal wrong-type-argument character char "Character must be a valid adornment character"] 6 (#$ . 17287)])
#@62 Return non-nil if SELF is a transition adornment.

(fn SELF)
(defalias 'rst-Ado-is-transition #[257 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\211\306H\307=\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado self 2 transition] 6 (#$ . 17666)])
#@59 Return non-nil if SELF is a section adornment.

(fn SELF)
(defalias 'rst-Ado-is-section #[257 "\301!>\204\302\303\304\305E\"\210\306!?\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado self rst-Ado-is-transition] 6 (#$ . 17968)])
#@66 Return non-nil if SELF is a simple section adornment.

(fn SELF)
(defalias 'rst-Ado-is-simple #[257 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\211\306H\307=\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado self 2 simple] 6 (#$ . 18232)])
#@75 Return non-nil if SELF is an over-and-under section adornment.

(fn SELF)
(defalias 'rst-Ado-is-over-and-under #[257 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\211\306H\307=\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado self 2 over-and-under] 6 (#$ . 18530)])
#@64 Return non-nil when SELF and OTHER are equal.

(fn SELF OTHER)
(defalias 'rst-Ado-equal #[514 "\301!>\204\302\303\304\305E\"\210\301!>\204 \302\303\304\306E\"\210\301!>\204/\302\303\304D\"\210\307H\301!>\204A\302\303\304D\"\210\307H=\204J\310\207\311!\206u\301!>\204_\302\303\304D\"\210\312H\301!>\204q\302\303\304D\"\210\312H\232\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado self other 2 nil rst-Ado-is-transition 1] 7 (#$ . 18853)])
#@57 Return position of SELF in ADOS or nil.

(fn SELF ADOS)
(defalias 'rst-Ado-position #[514 "\301!>\204\302\303\304\305E\"\210\306\307\310\311\312\313!\314\"\315\316%\"\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado self cl-position-if make-byte-code 257 "\301\300\"\207" vconcat vector [rst-Ado-equal] 4 "\n\n(fn E)"] 9 (#$ . 19353)])
#@66 compiler-macro for inlining `rst-Hdr-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Hdr-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Hdr-p (and (memq (type-of cl-x) cl-struct-rst-Hdr-tags) t)) nil] 9 (#$ . 19727)])
(put 'rst-Hdr-p 'compiler-macro 'rst-Hdr-p--cmacro)
#@13 

(fn CL-X)
(defalias 'rst-Hdr-p #[257 "\301!>\205	\302\207" [cl-struct-rst-Hdr-tags type-of t] 3 (#$ . 20044)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put rst-Hdr-p side-effect-free error-free put rst-Hdr cl-deftype-satisfies] 5)
#@68 compiler-macro for inlining `rst-Hdr-ado'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Hdr-ado--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Hdr-ado (progn (or (rst-Hdr-p cl-x) (signal 'wrong-type-argument (list 'rst-Hdr cl-x))) (aref cl-x 1))) nil] 9 (#$ . 20307)])
(put 'rst-Hdr-ado 'compiler-macro 'rst-Hdr-ado--cmacro)
#@56 Access slot "ado" of `rst-Hdr' struct CL-X.

(fn CL-X)
(defalias 'rst-Hdr-ado #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Hdr-tags type-of signal wrong-type-argument rst-Hdr 1] 5 (#$ . 20676)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Hdr-ado side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Hdr-ado] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@71 compiler-macro for inlining `rst-Hdr-indent'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Hdr-indent--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Hdr-indent (progn (or (rst-Hdr-p cl-x) (signal 'wrong-type-argument (list 'rst-Hdr cl-x))) (aref cl-x 2))) nil] 9 (#$ . 21117)])
(put 'rst-Hdr-indent 'compiler-macro 'rst-Hdr-indent--cmacro)
#@59 Access slot "indent" of `rst-Hdr' struct CL-X.

(fn CL-X)
(defalias 'rst-Hdr-indent #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Hdr-tags type-of signal wrong-type-argument rst-Hdr 2] 5 (#$ . 21501)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Hdr-indent side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Hdr-indent] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@69 Constructor for objects of type `rst-Hdr'.

(fn ADO-ARG INDENT-ARG)
(defalias 'rst-Hdr-new-invert #[514 "\300\301!!\302\303#\304\305#\207" [rst-Hdr--validate-ado rst-Ado-new-invert rst-Hdr--validate-indent t record rst-Hdr] 8 (#$ . 21954)])
(byte-code "\300\301\302\303#\300\207" [function-put rst-Hdr-new-invert side-effect-free t] 4)
#@69 Constructor for objects of type `rst-Hdr'.

(fn ADO-ARG INDENT-ARG)
(defalias 'rst-Hdr-new-lax #[514 "\300!\301\302#\303\304#\207" [rst-Hdr--validate-ado rst-Hdr--validate-indent t record rst-Hdr] 8 (#$ . 22301)])
(byte-code "\300\301\302\303#\300\207" [function-put rst-Hdr-new-lax side-effect-free t] 4)
#@69 Constructor for objects of type `rst-Hdr'.

(fn ADO-ARG INDENT-ARG)
(defalias 'rst-Hdr-new #[514 "\300!\301\302#\303\304#\207" [rst-Hdr--validate-ado rst-Hdr--validate-indent nil record rst-Hdr] 8 (#$ . 22618)])
(byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303&	\207" [function-put rst-Hdr-new side-effect-free t cl-struct-define rst-Hdr "Representation of reStructuredText section header characteristics.\n\nThis type is immutable." cl-structure-object record nil ((cl-tag-slot) (ado nil :read-only t) (indent nil :read-only t)) cl-struct-rst-Hdr-tags] 11)
#@180 Validate INDENT to be a valid indentation for ADO.
Return INDENT if so or signal an error otherwise.  If LAX don't
signal an error and return a valid indent.

(fn INDENT ADO LAX)
(defalias 'rst-Hdr--validate-indent #[771 "\250\204
\300\301\302\303E\"\210\304U\203\207\305!\203&\211\203!\304\207\300\306\307\"\207\304W\2037\211\2032\304\207\300\306\310\"\207\207" [signal wrong-type-argument integer indent 0 rst-Ado-is-simple args-out-of-range ("Indentation must be 0 for style simple") ("Indentation must not be negative")] 8 (#$ . 23209)])
#@96 Validate ADO to be a valid adornment.
Return ADO if so or signal an error otherwise.

(fn ADO)
(defalias 'rst-Hdr--validate-ado #[257 "\301!>\204\302\303\304\305E\"\210\306!\203\302\307\310\"\207\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Ado ado rst-Ado-is-transition args-out-of-range ("Adornment for header must not be transition.")] 6 (#$ . 23771)])
(byte-code "\300\301\302\303#\210\304\211\203(\211@\301N\203!\302N\204!\305\302\301N#\210A\266\202\202\210\306\301\302\307#\207" [defvaralias rst-preferred-decorations rst-preferred-adornments nil (saved-value saved-variable-comment) put make-obsolete-variable "rst 1.0.0"] 7)
#@51 Return preferred adornments as list of `rst-Hdr'.
(defalias 'rst-Hdr-preferred-adornments #[0 "\301\302\"\207" [rst-preferred-adornments mapcar #[128 "\211G\300U\203\f\211@\202\301\302\303GD\"\211G\304U\203#\211A\262\242\202*\301\302\303GD\"\211A\262\242@\305\306=\203?\307!\202B\310!\"\207" [1 signal wrong-number-of-arguments nil 3 rst-Hdr-new-lax over-and-under rst-Ado-new-over-and-under rst-Ado-new-simple] 8 "\n\n(fn (CHARACTER STYLE INDENT))"]] 3 (#$ . 24451)])
#@90 Return sublist of HDRS whose car's adornment equals that of SELF or nil.

(fn SELF HDRS)
(defalias 'rst-Hdr-member-ado #[514 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\306H\307\310\311\312\313\314!\315\"\316\317%\"\207" [cl-struct-rst-Hdr-tags type-of signal wrong-type-argument rst-Hdr self 1 cl-member-if make-byte-code 257 "\302\300\303!	>\204\304\305\306D\"\210\307H\"\207" vconcat vector [cl-struct-rst-Hdr-tags rst-Ado-equal type-of signal wrong-type-argument rst-Hdr 1] 7 "\n\n(fn HDR)"] 10 (#$ . 24945)])
#@71 Return `rst-Ado' list extracted from elements of SELVES.

(fn SELVES)
(defalias 'rst-Hdr-ado-map #[257 "\300\301\"\207" [mapcar rst-Hdr-ado] 4 (#$ . 25504)])
#@55 Return character of the adornment of SELF.

(fn SELF)
(defalias 'rst-Hdr-get-char #[257 "\302!>\204\303\304\305\306E\"\210\302\211!>\204 \303\304\305D\"\210\307H!	>\204B\303\304\310\302!>\204<\303\304\305D\"\210\307HD\"\210\302!>\204Q\303\304\305D\"\210\211\307H\307H\207" [cl-struct-rst-Hdr-tags cl-struct-rst-Ado-tags type-of signal wrong-type-argument rst-Hdr self 1 rst-Ado] 8 (#$ . 25669)])
#@72 Return non-nil if SELF is an over-and-under section header.

(fn SELF)
(defalias 'rst-Hdr-is-over-and-under #[257 "\301!>\204\302\303\304\305E\"\210\306\301!>\204 \302\303\304D\"\210\307H!\207" [cl-struct-rst-Hdr-tags type-of signal wrong-type-argument rst-Hdr self rst-Ado-is-over-and-under 1] 6 (#$ . 26092)])
#@66 compiler-macro for inlining `rst-Ttl-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Ttl-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Ttl-p (and (memq (type-of cl-x) cl-struct-rst-Ttl-tags) t)) nil] 9 (#$ . 26420)])
(put 'rst-Ttl-p 'compiler-macro 'rst-Ttl-p--cmacro)
#@13 

(fn CL-X)
(defalias 'rst-Ttl-p #[257 "\301!>\205	\302\207" [cl-struct-rst-Ttl-tags type-of t] 3 (#$ . 26737)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put rst-Ttl-p side-effect-free error-free put rst-Ttl cl-deftype-satisfies] 5)
#@68 compiler-macro for inlining `rst-Ttl-ado'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Ttl-ado--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Ttl-ado (progn (or (rst-Ttl-p cl-x) (signal 'wrong-type-argument (list 'rst-Ttl cl-x))) (aref cl-x 1))) nil] 9 (#$ . 27000)])
(put 'rst-Ttl-ado 'compiler-macro 'rst-Ttl-ado--cmacro)
#@56 Access slot "ado" of `rst-Ttl' struct CL-X.

(fn CL-X)
(defalias 'rst-Ttl-ado #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl 1] 5 (#$ . 27369)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Ttl-ado side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Ttl-ado] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@70 compiler-macro for inlining `rst-Ttl-match'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Ttl-match--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Ttl-match (progn (or (rst-Ttl-p cl-x) (signal 'wrong-type-argument (list 'rst-Ttl cl-x))) (aref cl-x 2))) nil] 9 (#$ . 27810)])
(put 'rst-Ttl-match 'compiler-macro 'rst-Ttl-match--cmacro)
#@58 Access slot "match" of `rst-Ttl' struct CL-X.

(fn CL-X)
(defalias 'rst-Ttl-match #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl 2] 5 (#$ . 28189)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Ttl-match side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Ttl-match] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@71 compiler-macro for inlining `rst-Ttl-indent'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Ttl-indent--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Ttl-indent (progn (or (rst-Ttl-p cl-x) (signal 'wrong-type-argument (list 'rst-Ttl cl-x))) (aref cl-x 3))) nil] 9 (#$ . 28638)])
(put 'rst-Ttl-indent 'compiler-macro 'rst-Ttl-indent--cmacro)
#@59 Access slot "indent" of `rst-Ttl' struct CL-X.

(fn CL-X)
(defalias 'rst-Ttl-indent #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl 3] 5 (#$ . 29022)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Ttl-indent side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Ttl-indent] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@69 compiler-macro for inlining `rst-Ttl-text'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Ttl-text--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Ttl-text (progn (or (rst-Ttl-p cl-x) (signal 'wrong-type-argument (list 'rst-Ttl cl-x))) (aref cl-x 4))) nil] 9 (#$ . 29475)])
(put 'rst-Ttl-text 'compiler-macro 'rst-Ttl-text--cmacro)
#@57 Access slot "text" of `rst-Ttl' struct CL-X.

(fn CL-X)
(defalias 'rst-Ttl-text #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl 4] 5 (#$ . 29849)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Ttl-text side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Ttl-text] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@68 compiler-macro for inlining `rst-Ttl-hdr'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Ttl-hdr--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Ttl-hdr (progn (or (rst-Ttl-p cl-x) (signal 'wrong-type-argument (list 'rst-Ttl cl-x))) (aref cl-x 5))) nil] 9 (#$ . 30294)])
(put 'rst-Ttl-hdr 'compiler-macro 'rst-Ttl-hdr--cmacro)
#@56 Access slot "hdr" of `rst-Ttl' struct CL-X.

(fn CL-X)
(defalias 'rst-Ttl-hdr #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl 5] 5 (#$ . 30663)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Ttl-hdr side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Ttl-hdr] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@88 Constructor for objects of type `rst-Ttl'.

(fn ADO-ARG MATCH-ARG INDENT-ARG TEXT-ARG)
(defalias 'rst-Ttl--new #[1028 "\300!\301\"\302\"\303\"\3041\305\"0\202\210\306\307\310&\207" [rst-Ttl--validate-ado rst-Ttl--validate-match rst-Ttl--validate-indent rst-Ttl--validate-text (error) rst-Hdr-new nil record rst-Ttl] 16 (#$ . 31104)])
(byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303&	\207" [function-put rst-Ttl--new side-effect-free t cl-struct-define rst-Ttl "Representation of a reStructuredText section header as found in a buffer.\nThis type gathers information about an adorned part in the buffer.\n\nThis type is immutable." cl-structure-object record nil ((cl-tag-slot) (ado nil :read-only t) (match nil :read-only t) (indent nil :read-only t) (text nil :read-only t) (hdr nil :read-only t)) cl-struct-rst-Ttl-tags] 11)
#@45 Return valid ADO or signal error.

(fn ADO)
(defalias 'rst-Ttl--validate-ado #[257 "\211\203\301!>\204\302\303\304\305E\"\210\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument (or null rst-Ado) ado] 6 (#$ . 31983)])
#@66 Return valid MATCH matching ADO or signal error.

(fn MATCH ADO)
(defalias 'rst-Ttl--validate-match #[514 "\211\203\301!>\204\302\303\304\305E\"\210<\204!\302\303\306\307E\"\210\211G\310\232\262\2043\302\303\311\307E\"\210\211\203S\211@\211\203L\312!\204L\302\303\313\314E\"\210A\266\202\2024\210\211G\310U\203e\211A\262\242\202l\302\315\316GD\"\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242@\312!\203\242\312!\204\247\302\317\320\"\210	\204\320\204\310\204\310\312!\203\310\312!\203\310\204\310\211\203\\\302\317\321\"\210\202\\\322\n!\203\373\204\363\204\363\312!\203\363\312!\203\363\204\363\211\203\\\302\317\323\"\210\202\\\324\n!\203*\204\"\204\"\312!\203\"\312!\203\"\312!\203\"\312!\204\\\302\317\325\"\210\202\\\312!\203W\312!\203W\312!\203W\312!\203W\203M\312!\203W\211\203\\\312!\204\\\302\317\326\"\210\266	\207" [cl-struct-rst-Ado-tags type-of signal wrong-type-argument (or null rst-Ado) ado list match 8 "Match data must consist of exactly 8 buffer positions." integer-or-marker-p (or null integer-or-marker) pos wrong-number-of-arguments (all-beg all-end ovr-beg ovr-end txt-beg txt-end und-beg und-end) args-out-of-range ("First two elements of match data must be buffer positions.") ("For a title candidate exactly the third match pair must be set.") rst-Ado-is-transition ("For a transition exactly the third match pair must be set.") rst-Ado-is-simple ("For a simple section adornment exactly the third and fourth match pair must be set.") ("For an over-and-under section adornment all match pairs must be set.")] 14 (#$ . 32226)])
#@63 Return valid INDENT for ADO or signal error.

(fn INDENT ADO)
(defalias 'rst-Ttl--validate-indent #[514 "\211\203\300!\203\203,\301\302\303\304E\"\210\202,\250\203$\305Y\204,\301\302\306\304E\"\210\207" [rst-Ado-is-transition signal wrong-type-argument "Indent for a transition must be nil." indent 0 "Indent for a section header must be non-negative."] 7 (#$ . 33925)])
#@59 Return valid TEXT for ADO or signal error.

(fn TEXT ADO)
(defalias 'rst-Ttl--validate-text #[514 "\211\203\300!\203\203&\301\302\303\304E\"\210\202&;\204&\301\302\305\304E\"\210\207" [rst-Ado-is-transition signal wrong-type-argument "Transitions may not have title text." text string] 7 (#$ . 34317)])
#@607 Return a `rst-Ttl' constructed from information in the current buffer.
ADO is the adornment or nil for a title candidate.  BEG-OVR and
BEG-UND are the starting points of the overline or underline,
respectively.  They may be nil if the respective thing is missing.
BEG-TXT is the beginning of the title line or the transition and
must be given.  The end of the line is used as the end point.  TXT
is the title text or nil.  If TXT is given the indentation of the
line containing BEG-TXT is used as indentation.  Match group 0 is
derived from the remaining information.

(fn ADO BEG-OVR BEG-TXT BEG-UND TXT)
(defalias 'rst-Ttl-from-buffer #[1285 "\300!\204\301\302\303\304E\"\210\212\205b\210\305 b\210\305 \205&b\210\305 \205/b\210\306 \307		\2069\206>\f	
\n\257$\266\204)\207" [integer-or-marker-p signal wrong-type-argument integer-or-marker beg-txt line-end-position current-indentation rst-Ttl--new] 19 (#$ . 34640)])
#@119 Return position of beginning of title text of SELF.
This position should always be at the start of a line.

(fn SELF)
(defalias 'rst-Ttl-get-title-beginning #[257 "\301!>\204\302\303\304\305E\"\210\306\301!>\204 \302\303\304D\"\210\307H8\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl self 4 2] 6 (#$ . 35603)])
#@56 Return position of beginning of whole SELF.

(fn SELF)
(defalias 'rst-Ttl-get-beginning #[257 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\211\306H@\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl self 2] 6 (#$ . 35956)])
#@50 Return position of end of whole SELF.

(fn SELF)
(defalias 'rst-Ttl-get-end #[257 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\211\306HA@\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl self 2] 6 (#$ . 36237)])
#@69 Return non-nil if SELF is a section header or candidate.

(fn SELF)
(defalias 'rst-Ttl-is-section #[257 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\211\306H\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl self 4] 6 (#$ . 36507)])
#@72 Return non-nil if SELF is a candidate for a section header.

(fn SELF)
(defalias 'rst-Ttl-is-candidate #[257 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\211\306H?\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl self 1] 6 (#$ . 36797)])
#@167 Return whether SELF contain POSITION.
Return 0 if SELF contains POSITION, < 0 if SELF ends before
POSITION and > 0 if SELF starts after position.

(fn SELF POSITION)
(defalias 'rst-Ttl-contains #[514 "\301!>\204\302\303\304\305E\"\210\306!\204\302\303\307\310E\"\210\301!>\204-\302\303\304D\"\210\311HA@W\2039\312\207\301!>\204H\302\303\304D\"\210\311H@V\203S\313\207\314\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Ttl self integer-or-marker-p integer-or-marker position 2 -1 1 0] 7 (#$ . 37094)])
#@66 compiler-macro for inlining `rst-Stn-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Stn-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Stn-p (and (memq (type-of cl-x) cl-struct-rst-Stn-tags) t)) nil] 9 (#$ . 37646)])
(put 'rst-Stn-p 'compiler-macro 'rst-Stn-p--cmacro)
#@13 

(fn CL-X)
(defalias 'rst-Stn-p #[257 "\301!>\205	\302\207" [cl-struct-rst-Stn-tags type-of t] 3 (#$ . 37963)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put rst-Stn-p side-effect-free error-free put rst-Stn cl-deftype-satisfies] 5)
#@68 compiler-macro for inlining `rst-Stn-ttl'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Stn-ttl--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Stn-ttl (progn (or (rst-Stn-p cl-x) (signal 'wrong-type-argument (list 'rst-Stn cl-x))) (aref cl-x 1))) nil] 9 (#$ . 38226)])
(put 'rst-Stn-ttl 'compiler-macro 'rst-Stn-ttl--cmacro)
#@56 Access slot "ttl" of `rst-Stn' struct CL-X.

(fn CL-X)
(defalias 'rst-Stn-ttl #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Stn-tags type-of signal wrong-type-argument rst-Stn 1] 5 (#$ . 38595)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Stn-ttl side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Stn-ttl] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@70 compiler-macro for inlining `rst-Stn-level'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Stn-level--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Stn-level (progn (or (rst-Stn-p cl-x) (signal 'wrong-type-argument (list 'rst-Stn cl-x))) (aref cl-x 2))) nil] 9 (#$ . 39036)])
(put 'rst-Stn-level 'compiler-macro 'rst-Stn-level--cmacro)
#@58 Access slot "level" of `rst-Stn' struct CL-X.

(fn CL-X)
(defalias 'rst-Stn-level #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Stn-tags type-of signal wrong-type-argument rst-Stn 2] 5 (#$ . 39415)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put rst-Stn-level side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Stn-level] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@73 compiler-macro for inlining `rst-Stn-children'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'rst-Stn-children--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rst-Stn-children (progn (or (rst-Stn-p cl-x) (signal 'wrong-type-argument (list 'rst-Stn cl-x))) (aref cl-x 3))) nil] 9 (#$ . 39864)])
(put 'rst-Stn-children 'compiler-macro 'rst-Stn-children--cmacro)
#@61 Access slot "children" of `rst-Stn' struct CL-X.

(fn CL-X)
(defalias 'rst-Stn-children #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-rst-Stn-tags type-of signal wrong-type-argument rst-Stn 3] 5 (#$ . 40258)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\"\207" [function-put rst-Stn-children side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" rst-Stn-children] 5 "\n\n(fn CL-DO CL-X)"] defalias copy-rst-Stn copy-sequence] 5)
#@81 Constructor for objects of type `rst-Stn'.

(fn TTL-ARG LEVEL-ARG CHILDREN-ARG)
(defalias 'rst-Stn-new #[771 "\300!\301\"\302\"\303\304$\207" [rst-Stn--validate-ttl rst-Stn--validate-level rst-Stn--validate-children record rst-Stn] 11 (#$ . 40765)])
(byte-code "\300\301\302\303#\304\305\306\307\310\311\312\313\305\303&	\207" [function-put rst-Stn-new side-effect-free t cl-struct-define rst-Stn "Representation of a section tree node.\n\nThis type is immutable." cl-structure-object record nil ((cl-tag-slot) (ttl nil :read-only t) (level nil :read-only t) (children nil :read-only t)) cl-struct-rst-Stn-tags] 11)
#@45 Return valid TTL or signal error.

(fn TTL)
(defalias 'rst-Stn--validate-ttl #[257 "\211\203\301!>\204\302\303\304\305E\"\210\207" [cl-struct-rst-Ttl-tags type-of signal wrong-type-argument (or null rst-Ttl) ttl] 6 (#$ . 41395)])
#@61 Return valid LEVEL for TTL or signal error.

(fn LEVEL TTL)
(defalias 'rst-Stn--validate-level #[514 "\250\204
\300\301\302\303E\"\210\211\203\304W\203\300\305\306\"\210\207" [signal wrong-type-argument integer level 0 args-out-of-range ("Top level node must not have a title.")] 7 (#$ . 41638)])
#@67 Return valid CHILDREN for TTL or signal error.

(fn CHILDREN TTL)
(defalias 'rst-Stn--validate-children #[514 "<\204
\301\302\303\304E\"\210\211\203+\211@\305!>\204$\301\302\306\307E\"\210A\266\202\202\210\211\2049\2049\301\310\311\"\210\207" [cl-struct-rst-Stn-tags signal wrong-type-argument list children type-of rst-Stn child args-out-of-range ("A missing node must have children.")] 9 (#$ . 41950)])
#@86 Return the beginning of the title of SELF.
Handles missing node properly.

(fn SELF)
(defalias 'rst-Stn-get-title-beginning #[257 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\211\306H\211\203,\307!\202A\310\301!>\204<\302\303\304D\"\210\311H@!\207" [cl-struct-rst-Stn-tags type-of signal wrong-type-argument rst-Stn self 1 rst-Ttl-get-title-beginning rst-Stn-get-title-beginning 3] 7 (#$ . 42377)])
#@164 Return title text of SELF or DEFAULT if SELF is a missing node.
For a missing node and no DEFAULT given return a standard title text.

(fn SELF &optional DEFAULT)
(defalias 'rst-Stn-get-text #[513 "\302!>\204\303\304\305\306E\"\210\302!>\204\303\304\305D\"\210\307H\211\203;\302!	>\2045\303\304\310D\"\210\211\311H\202@\206@\312\207" [cl-struct-rst-Stn-tags cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Stn self 1 rst-Ttl 4 "[missing node]"] 7 (#$ . 42820)])
#@56 Return non-nil if SELF is a top level node.

(fn SELF)
(defalias 'rst-Stn-is-top #[257 "\301!>\204\302\303\304\305E\"\210\301!>\204\302\303\304D\"\210\211\306H\307W\207" [cl-struct-rst-Stn-tags type-of signal wrong-type-argument rst-Stn self 2 0] 6 (#$ . 43320)])
#@260 Bind like `define-key' but add deprecated key definitions.
KEYMAP, KEY, and DEF are as in `define-key'.  DEPRECATED key
definitions should be in vector notation.  These are defined
as well but give an additional message.

(fn KEYMAP KEY DEF &rest DEPRECATED)
(defalias 'rst-define-key #[899 "\300#\210\211\205^\301!\302\303\"\203\304\305\306\"P\202!\307\310\"\311!\312!\204E\313\314\315\316\317\320\f\f\"\321\"\322\323\211&\324\325	\211##\210\211\205Z\211@\300	#\210A\266\202\202F\262\266\203\207" [define-key symbol-name string-match "^rst-\\(.*\\)$" "rst-deprecated-" match-string 1 error "Not an RST command: %s" intern fboundp defalias make-byte-code 0 "\302\301!\210\303\304\305\306 !\305\300!#\207" vconcat vector [call-interactively message "[Deprecated use of key %s; use key %s instead]" key-description this-command-keys] 5 nil format "Deprecated binding for %s, use \\[%s] instead."] 16 (#$ . 43601)])
#@74 Keymap for reStructuredText mode commands.
This inherits from Text mode.
(defvar rst-mode-map (byte-code "\300 \301\302\303#\210\301\304\305\306$\210\301\307\305#\210\301\310\303#\210\301\311\305#\210\301\312\313#\210\301\314\315\316$\210\301\317\320\321$\210\301\322\323\324$\210\301\325\326\327$\210\301\330\303#\210\301\331\332\333$\210\301\334\335\336\337%\210\301\340\303#\210\301\341\342\343$\210\301\344\345\346$\210\301\347\350\351$\210\301\352\353\354$\210\301\355\356#\210\301\357\303#\210\301\360\361#\210\301\362\363\364$\210\301\365\366\367$\210\301\370\371\372$\210\301\373\303#\210\301\374\375\376$\210\301\377\201@\201A$\210\301\201B\201C\201D$\210\301\201E\201F\201G$\210\301\201H\201I\201J$\210\211\207" [make-sparse-keymap rst-define-key [3 8] describe-prefix-bindings [3 67108925] rst-adjust [3 1 t] [67108925] [3 1 8] [3 1 1] [3 1 4] rst-display-hdr-hierarchy [3 1 19] rst-straighten-sections [3 19] [134217736] rst-mark-section [3 13] [134217729] rst-backward-section [3 14] [134217733] rst-forward-section [3 16] [3 18 8] [3 18 12] rst-line-block-region [3 4] [3 18 tab] rst-shift-region [3 18 t] [3 12 t] [3 12 8] [3 12 2] rst-bullet-list-region [3 2] [3 12 5] rst-enumerate-region [3 5] [3 12 3] rst-convert-bullets-to-enumeration [3 22] [3 12 19] rst-straighten-bullets-region [3 23] [3 12 9] rst-insert-list [3 20 8] [3 20 20] rst-toc [3 20 9] rst-toc-insert [3 9] [3 20 21] rst-toc-update [3 21] [3 20 10] rst-toc-follow-link [3 6] [3 3 8] [3 3 3] rst-compile [3 49] [3 3 1] rst-compile-alt-toolset [3 50] [3 3 24] rst-compile-pseudo-region [3 51] [3 3 16] rst-compile-pdf-preview [3 52] [3 3 19] rst-compile-slides-preview [3 53]] 7) (#$ . 44547))
(byte-code "\300\301\302\303\304\"\305#\207" [define-abbrev-table rst-mode-abbrev-table mapcar #[257 "\300\301\"\207" [append (nil 0 system)] 4 "\n\n(fn X)"] (("contents" ".. contents::\n..\n   ") ("con" ".. contents::\n..\n   ") ("cont" "[...]") ("skip" "\n\n[...]\n\n  ") ("seq" "\n\n[...]\n\n  ")) "Abbrev table used while in `rst-mode'."] 5)
#@40 Syntax table used while in `rst-mode'.
(defvar rst-mode-syntax-table (byte-code "\301!\302\303\304#\210\302\305\304#\210\302\306\304#\210\302\307\304#\210\302\310\304#\210\302\311\304#\210\302\312\304#\210\302\313\304#\210\302\314\304#\210\302\315\304#\210\302\316\304#\210\302\317\320#\210\302\321\304#\210\302\322\304#\210\302\323\304#\210\302\324\304#\210\302\325\304#\210\302\326\304#\210\302\327\304#\210\302\330\304#\210\211\207" [text-mode-syntax-table copy-syntax-table modify-syntax-entry 36 "." 37 38 39 42 43 45 47 60 61 62 92 "\\" 95 124 171 187 8216 8217 8220 8221] 5) (#$ . 46618))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\312\313!\207" [custom-declare-variable rst-mode-hook funcall function #[0 "\300\207" [nil] 1] "Hook run when `rst-mode' is turned on.\nThe hook for `text-mode' is run before this one." :group rst :type (hook) require newcomment] 8)
(defvar rst-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [rst-mode-hook variable-documentation put "Hook run after entering ReST mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp rst-mode-map definition-name rst-mode] 4)
(defvar rst-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\210\302\305\310\311#\207" [rst-mode-map variable-documentation put purecopy "Keymap for `rst-mode'." rst-mode derived-mode-parent text-mode custom-mode-group rst] 5)
#@218 Major mode for editing reStructuredText documents.
\<rst-mode-map>

Turning on `rst-mode' calls the normal hooks `text-mode-hook'
and `rst-mode-hook'.  This mode also supports font-lock
highlighting.

\{rst-mode-map}
(defalias 'rst-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320!\210\321\f!\210
@\306\322!\210\323\324!\306\325!\210\323\326!\306\327!\210\330\306\331!\210\307\306\332!\210\323\333\334\335\333$\306\336!\210\337\306\340!\210\341 \306\342!\210\343\"\306\344!\210\323\345\346\347#$\306\350!\210\351(\306\352!\210\307*\306\353!\210\341+\306\354!\210\355,\306\356!\210\341.\306\357!\210\360/\306\361!\210\3621\306\363!\210\3643\306\365!\210\3665\306\367!\210\3707\306\371!\210\3729\306\373!\210\374;\306\375!\210\376=\377\201C\201D\307#\210\306\201A!\210\307A\306\201B!\210\307B)\201E\201F!\207" [delay-mode-hooks major-mode mode-name rst-mode-map rst-mode-syntax-table rst-mode-abbrev-table make-local-variable t text-mode rst-mode "ReST" mode-class put keymap-parent set-keymap-parent current-local-map use-local-map set-syntax-table paragraph-separate rst-re (:alt "\f" lin-end) paragraph-start (:alt "\f" lin-end (:seq hws-tag par-tag- bli-sfx)) indent-line-function rst-indent-line adaptive-fill-mode adaptive-fill-regexp hws-tag par-tag- "?" adaptive-fill-function rst-adaptive-fill fill-paragraph-handle-comment nil comment-start ".. " comment-start-skip lin-beg exm-tag bli-sfx comment-continue "   " comment-multi-line comment-use-syntax comment-end "" comment-end-skip comment-line-break-function rst-comment-line-break comment-indent-function rst-comment-indent comment-insert-comment-function rst-comment-insert-comment comment-region-function rst-comment-region uncomment-region-function rst-uncomment-region electric-pair-pairs ((34 . 34) (42 . 42) (96 . 96)) imenu-create-index-function rst-imenu-create-index font-lock-defaults (rst-font-lock-keywords t nil nil nil (font-lock-multiline . t) (font-lock-mark-block-function . mark-paragraph)) add-hook local-abbrev-table jit-lock-contextually electric-indent-inhibit font-lock-extend-region-functions rst-font-lock-extend-region run-mode-hooks rst-mode-hook] 5 (#$ . 48192) nil])
#@97 Non-nil if Rst minor mode is enabled.
Use the command `rst-minor-mode' to change this variable.
(defvar rst-minor-mode nil (#$ . 50465))
(make-variable-buffer-local 'rst-minor-mode)
#@456 Toggle ReST minor mode.

If called interactively, enable Rst minor mode if ARG is positive, and
disable it if ARG is zero or negative.  If called from Lisp, also
enable the mode if ARG is omitted or nil, and toggle it if ARG is
`toggle'; disable the mode otherwise.

When ReST minor mode is enabled, the ReST mode keybindings
are installed on top of the major mode bindings.  Use this
for modes derived from Text mode, like Mail mode.

(fn &optional ARG)
(defalias 'rst-minor-mode #[256 "\301 \302=\203
?\202\303!\304V\305\306\203\307\202\310\"\210\311\312!\203B\301 \2032\211\301 \232\203B\313\314\315\203=\316\202>\317#\266\210\320 \210\207" [rst-minor-mode current-message toggle prefix-numeric-value 0 run-hooks rst-minor-mode-hook rst-minor-mode-on-hook rst-minor-mode-off-hook called-interactively-p any " in current buffer" message "Rst minor mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 50654) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar rst-minor-mode-hook nil)
(byte-code "\302\303N\204\f\304\302\303\305#\210\306\307\310\311\211%\210\312\313\311\314\315\316\317\320&\210\321\322\323\324\325DD\326\315\313\327\330\331\332\333\334\332\335\336\337	\"BBB\340BBBBD&\210\321\341\323\324\342DD\343\315\313\327\344&\207" [rst-mode-map rst-adornment-chars rst-minor-mode-hook variable-documentation put "Hook run after entering or leaving `rst-minor-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode rst-minor-mode " ReST" nil custom-declare-group rst-adjust "Settings for adjustment and cycling of section title adornments." :group rst :version "21.1" custom-declare-variable rst-preferred-adornments funcall function #[0 "\300\207" [((61 over-and-under 1) (61 simple 0) (45 simple 0) (126 simple 0) (43 simple 0) (96 simple 0) (35 simple 0) (64 simple 0))] 1] "Preferred hierarchy of section title adornments.\nA list consisting of lists of the form (CHARACTER STYLE INDENT).\nCHARACTER is the character used.  STYLE is one of the symbols\n`over-and-under' or `simple'.  INDENT is an integer giving the\nwanted indentation for STYLE `over-and-under'.\n\nThis sequence is consulted to offer a new adornment suggestion\nwhen we rotate the underlines at the end of the existing\nhierarchy of characters, or when there is no existing section\ntitle in the file.\n\nSet this to an empty list to use only the adornment found in the\nfile." :type repeat group :tag "Adornment specification" choice "Adornment character" mapcar #[257 "\300\301\302!F\207" [const :tag char-to-string] 5 "\n\n(fn CHAR)"] ((radio :tag "Adornment type" (const :tag "Overline and underline" over-and-under) (const :tag "Underline only" simple)) (integer :tag "Indentation for overline and underline type" :value 0)) rst-default-indent #[0 "\300\207" [1] 1] "Number of characters to indent the section title.\nThis is only used while toggling adornment styles when switching\nfrom a simple adornment style to an over-and-under adornment\nstyle.  In addition this is used in cases where the adornments\nfound in the buffer are to be used but the indentation for\nover-and-under adornments is inconsistent across the buffer." (integer)] 17)
#@227 Return a new, preferred `rst-Hdr' different from all in SEEN.
PREV is the previous `rst-Hdr' in the buffer.  If given the
search starts after this entry.  Return nil if no new preferred
`rst-Hdr' can be found.

(fn SEEN PREV)
(defalias 'rst-new-preferred-hdr #[514 "\300\205\301\302 \"A\302 \"\303\304\305\306\307\310!\311\"\312\313%\"\207" [append rst-Hdr-member-ado rst-Hdr-preferred-adornments cl-find-if make-byte-code 257 "\301\300\"?\207" vconcat vector [rst-Hdr-member-ado] 4 "\n\n(fn CAND)"] 10 (#$ . 53942)])
#@216 Unconditionally update the style of the section header at point to HDR.
If there are existing overline and/or underline from the
existing adornment, they are removed before adding the
requested adornment.

(fn HDR)
(defalias 'rst-update-section #[257 "\301\210\302!>\204\303\304\305D\"\210\211\306H\206\307\310 \301\311\307!\210\312 \210\313\314\"c\210\301\210\312 \210\313i\\\315!\"\262\316\317\320\"\203L\316\321\322\"\204L\323\317!\210\316\324\320\"\203W\323\324!\210\311\324!\204a\325\324!\210\326\324!\210\211c\210\327!\203y\311\317!\210\326\324!\210\211c\210b\207" [cl-struct-rst-Hdr-tags nil type-of signal wrong-type-argument rst-Hdr 2 0 point-marker rst-forward-line-strict delete-horizontal-space make-string 32 rst-Hdr-get-char rst-forward-line-looking-at -1 ado-beg-2-1 -2 ttl-beg-1 rst-delete-entire-line 1 newline open-line rst-Hdr-is-over-and-under] 8 (#$ . 54475)])
#@434 Classify adornment string for section titles and transitions.
ADORNMENT is the complete adornment string as found in the buffer
with optional trailing whitespace.  END is the point after the
last character of ADORNMENT.  Return a `rst-Ttl' or nil if no
syntactically valid adornment is found.  If ACCEPT-OVER-ONLY an
overline with a missing underline is accepted as valid and
returned.

(fn ADORNMENT END &optional ACCEPT-OVER-ONLY)
(defalias 'rst-classify-adornment #[770 "\212\300 \301\302\303\304\305!\306\"\307$\216\310\311\312!\"\205b\210\313\314\315\"!\311\316\"\317\302!\210`\320\321\322\323#?\320\324\322\323#?\325C\320\321\326\301\327\330\304\305!\331\"\332\333%#\325C\320\324\326\301\327\330\304\305!\334\"\332\333%#\205i\320\315	\322D\335#\205u\320\336\n\322D\337#\205\203?\205\203\320\315\312\340#\205\235?\205\235\320\336\312\301\327\341\304\305!\342\"\307\333%#	\203\266\203\266\343\344\345\325\346#\325
\325\211%\202\203\313\343\347!\n\242%\202\203\341\343\347!\f	\f\242%\202\203\372\211\204\372\343\350!\325\n\242%\202\203\203\204\343\347!\f	\325\f\242%\202\325\266\215)\262)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match rst-re ado-beg-2-1 string-to-char match-string 2 adorep3-hlp rst-forward-line-strict rst-forward-line-looking-at 1 lin-end not -1 nil ttl-beg-1 257 "\211\205\300\301\302!\240\210`\207" [match-string-no-properties 1] 4 "\n\n(fn MTCD)" [match-string-no-properties 1] #[257 "\211\205`\207" #1=[] 2 "\n\n(fn MTCD)"] -2 #[257 "\211\205`\207" #1# 2 "\n\n(fn MTCD)"] #[257 "\211\205`\207" #1# 2 "\n\n(fn MTCD)"] "\211\205\301\302!G\300G\232\205`\207" [match-string-no-properties 1] rst-Ttl-from-buffer record rst-Ado transition rst-Ado-new-over-and-under rst-Ado-new-simple] 25 (#$ . 55385)])
#@378 Find a section title line around point and return its characteristics.
If the point is on an adornment line find the respective title
line.  If the point is on an empty line check previous or next
line whether it is a suitable title line and use it if so.  If
point is on a suitable title line use it.  Return a `rst-Ttl' for
a section header or nil if no title line is found.
(defalias 'rst-ttl-at-point #[0 "\212\300 \301\302\303\304\305!\306\"\307$\216\310\302!\210\311C\311C\301\312\313\304\305\"\314\"\315\316%\311\317\320\321!!\203<\322\323\302!\302\225\324#\262\202i\317\320\325!!\203U\326\327\330#\204i\326\331\330#\210\202i\317\320\330!!\203i\326\331\321\332#\262?!\210\211\203w\333!\203w\211\202\207\242\205\207\334\311\211\242\311\242%\266\204)\262)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 rst-forward-line-strict nil 257 "\211\205\300\302\224\240\210\301\303\304!\240\210\305\207" [0 match-string-no-properties 1 t] 4 "\n\n(fn MTCD)" looking-at rst-re ado-beg-2-1 rst-classify-adornment match-string-no-properties t lin-end rst-forward-line-looking-at -1 ttl-beg-1 1 #[257 "\211\205\300\301\302!\302\225\"\207" [rst-classify-adornment match-string-no-properties 0] 4 "\n\n(fn MTCD)"] rst-Ttl-is-section rst-Ttl-from-buffer] 11 (#$ . 57284)])
#@114 All section adornments in the buffer as found by `rst-all-ttls'.
Set to t when no section adornments were found.
(defvar rst-all-ttls-cache nil (#$ . 58636))
(make-variable-buffer-local 'rst-all-ttls-cache)
#@158 Section hierarchy in the buffer as determined by `rst-hdr-hierarchy'.
Set to t when no section adornments were found.
Value depends on `rst-all-ttls-cache'.
(defvar rst-hdr-hierarchy-cache nil (#$ . 58850))
(byte-code "\300\301!\210\302\303!\207" [make-variable-buffer-local rst-hdr-hierarchy-cache rst-testcover-add-1value rst-reset-section-caches] 2)
#@104 Reset all section cache variables.
Should be called by interactive functions which deal with sections.
(defalias 'rst-reset-section-caches #[0 "\302\211\211\207" [rst-all-ttls-cache rst-hdr-hierarchy-cache nil] 3 (#$ . 59210)])
#@75 Return a list of `rst-Ttl' for current buffer with ascending line number.
(defalias 'rst-all-ttls-compute #[0 "\212\301 \302\303\304\305\306!\307\"\310$\216\311eb\210\312\313\314!\311\315#\203P\316\317\303!`\"\211\203L\320!\203L\321!>\204<\322\323\324D\"\210\211\325H\203G\211B\262\326!b\210\210\202\211\237\262)\262)\207" [cl-struct-rst-Ttl-tags match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 nil re-search-forward rst-re ado-beg-2-1 t rst-classify-adornment match-string-no-properties rst-Ttl-is-section type-of signal wrong-type-argument rst-Ttl 5 rst-Ttl-get-end] 7 (#$ . 59446)])
#@150 Return all the section adornments in the current buffer.
Return a list of `rst-Ttl' with ascending line number.

Uses and sets `rst-all-ttls-cache'.
(defalias 'rst-all-ttls #[0 "\204\301 \206\n\302\302=?\205\303!\207" [rst-all-ttls-cache rst-all-ttls-compute t copy-sequence] 2 (#$ . 60101)])
#@211 Build a hierarchy from HDRS.
HDRS reflects the order in which the headers appear in the
buffer.  Return a `rst-Hdr' list representing the hierarchy of
headers in the buffer.  Indentation is unified.

(fn HDRS)
(defalias 'rst-infer-hdr-hierarchy #[257 "\301\211\203^\211@\302!>\204\303\304\305D\"\210\211\306H\302!>\204)\303\304\305D\"\210\307H\310\"\211\203M\211A\311\"\203C\211\202FB\262\241\210\202UDB\262\266A\266\202\202\210\312\313\237\"\207" [cl-struct-rst-Hdr-tags nil type-of signal wrong-type-argument rst-Hdr 1 2 assoc memql mapcar #[128 "\211G\301U\203\f\211@\202\302\303\304GD\"\211A\203!\211A\262\242\202(\302\303\304GD\"\211A\262\242\305\2038\2029\"\207" [rst-default-indent 1 signal wrong-number-of-arguments nil rst-Hdr-new] 7 "\n\n(fn (ADO CONSISTENT &rest INCONSISTENT))"]] 12 (#$ . 60410)])
#@505 Return the hierarchy of section titles in the file as a `rst-Hdr' list.
Each returned element may be used directly to create a section
adornment on that level.  If IGNORE-POSITION a title containing
this position is not taken into account when building the
hierarchy unless it appears again elsewhere.  This catches cases
where the current title is edited and may not be final regarding
its level.

Uses and sets `rst-hdr-hierarchy-cache' unless IGNORE-POSITION is
given.

(fn &optional IGNORE-POSITION)
(defalias 'rst-hdr-hierarchy #[256 "\301 \205\302\303\304\305\306\307!\310\"\311\312%\"\211\205,\313\303\304\314\306\307!\315\"\316\312%\"\317X\320\2052\"\321\204H\203H\322=?\205]\202]\323\324\325\"!?\205Y\211\206Y\322\211\262!\207" [rst-hdr-hierarchy-cache rst-all-ttls cl-find-if make-byte-code 257 "\301\300\"\302\232\207" vconcat vector [rst-Ttl-contains 0] 4 "\n\n(fn TTL)" cl-count-if "\302\303\300!	>\204\304\305\306\300D\"\210\300\307H\303!	>\204\"\304\305\306D\"\210\307H\"\207" [cl-struct-rst-Ttl-tags rst-Ado-equal type-of signal wrong-type-argument rst-Ttl 1] 7 1 delq copy-sequence t rst-infer-hdr-hierarchy mapcar rst-Ttl-hdr] 10 (#$ . 61279)])
#@136 Return the section adornments with levels set according to hierarchy.
Return a list of (`rst-Ttl' . LEVEL) with ascending line number.
(defalias 'rst-all-ttls-with-level #[0 "\300\301 !\302\303\304\305\306\307!\310\"\311\312%\313 \"\207" [rst-Hdr-ado-map rst-hdr-hierarchy mapcar make-byte-code 257 "\211\302\303!	>\204\304\305\306D\"\210\307H\300\"B\207" vconcat vector [cl-struct-rst-Ttl-tags rst-Ado-position type-of signal wrong-type-argument rst-Ttl 1] 7 "\n\n(fn TTL)" rst-all-ttls] 8 (#$ . 62485)])
#@51 Return the `rst-Hdr' before point or nil if none.
(defalias 'rst-get-previous-hdr #[0 "\301\302\303 \304\305$\211\205\306!>\204\307\310\311D\"\210\211\312H\207" [cl-struct-rst-Ttl-tags cl-find-if #[257 "\300`\"\301W\207" [rst-Ttl-contains 0] 4 "\n\n(fn TTL)"] rst-all-ttls :from-end t type-of signal wrong-type-argument rst-Ttl 5] 5 (#$ . 63004)])
#@265 Return t if the adornment ADO around point is complete using INDENT.
The adornment is complete if it is a completely correct
reStructuredText adornment for the title line at point.  This
includes indentation and correct length of adornment lines.

(fn ADO INDENT)
(defalias 'rst-adornment-complete-p #[514 "\301\302!>\204\303\304\305D\"\210\306H\307\310\212\311\210i)\\\"\312F\313\306\"\2055\314!\2044\313\315\"\2055\316\207" [cl-struct-rst-Ado-tags "^" type-of signal wrong-type-argument rst-Ado 1 format "\\{%d\\}" nil "$" rst-forward-line-looking-at rst-Ado-is-simple -1 t] 8 (#$ . 63367)])
#@283 Return the next best `rst-Hdr' upward from HDR.
Consider existing hierarchy HIER and preferred headers.  PREV may
be a previous `rst-Hdr' which may be taken into account.  If DOWN
return the next best `rst-Hdr' downward instead.  Return nil if
HIER is nil.

(fn HDR HIER PREV DOWN)
(defalias 'rst-next-hdr #[1028 "\211\203\202\300!\301\"\205\301\"A@\206;\203*\302\"\2026\2034\211A@\2026\211@\206;@\207" [reverse rst-Hdr-member-ado rst-new-preferred-hdr] 10 (#$ . 63982)])
#@1031 Auto-adjust the adornment around point.
Adjust/rotate the section adornment for the section title around
point or promote/demote the adornments inside the region,
depending on whether the region is active.  This function is meant
to be invoked possibly multiple times, and can vary its behavior
with a positive PFXARG (toggle style), or with a negative
PFXARG (alternate behavior).

This function is a bit of a swiss knife.  It is meant to adjust
the adornments of a section title in reStructuredText.  It tries
to deal with all the possible cases gracefully and to do "the
right thing" in all cases.

See the documentations of `rst-adjust-section' and
`rst-adjust-region' for full details.

The method can take either (but not both) of

a. a (non-negative) prefix argument, which means to toggle the
   adornment style.  Invoke with a prefix argument for example;

b. a negative numerical argument, which generally inverts the
   direction of search in the file or hierarchy.  Invoke with C--
   prefix for example.

(fn PFXARG)
(defalias 'rst-adjust #[257 "\300 \205\301!\302W\205\211?\303 \203!\304\205\305!\210\202/\306\"\211\203.\307\310\"\210\210\311\312!\210\313 \210b\314\211\223\207" [point-marker prefix-numeric-value 0 use-region-p rst-adjust-region t rst-adjust-section apply message run-hooks rst-adjust-hook rst-reset-section-caches nil] 8 (#$ . 64489) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\306\307\310\317\312\320&	\207" [custom-declare-variable rst-adjust-hook funcall function #[0 "\300\207" [nil] 1] "Hooks to be run after running `rst-adjust'." :group rst-adjust :type (hook) :package-version (rst . "1.1.0") rst-new-adornment-down #[0 "\300\207" [nil] 1] "Controls level of new adornment for section headers." (choice (const :tag "Same level as previous one" nil) (const :tag "One level down relative to the previous one" t)) (rst . "1.1.0")] 10)
#@178 Call `rst-adjust-section' interactively.
Keep this for compatibility for older bindings (are there any?).
Argument PFXARG has the same meaning as for `rst-adjust'.

(fn PFXARG)
(defalias 'rst-adjust-adornment #[257 "\211\205	\300!\301W\205\211?\302\"\207" [prefix-numeric-value 0 rst-adjust-section] 6 (#$ . 66443) "P"])
#@425 Return a new `rst-Hdr' for `rst-adjust-section' related to TTL.
TOGGLE-STYLE and REVERSE are from
`rst-adjust-section'.  TOGGLE-STYLE may be consumed and thus is
returned.

Return a list (HDR TOGGLE-STYLE MSG...).  HDR is the result or
nil.  TOGGLE-STYLE is the new TOGGLE-STYLE to use in the
caller.  MSG is a list which is non-empty in case HDR is nil
giving an argument list for `message'.

(fn TOGGLE-STYLE REVERSE TTL)
(defalias 'rst-adjust-new-hdr #[771 "\212\303!b\210\304!>\204\305\306\307D\"\210\211\310H\304!>\204'\305\306\307D\"\210\311H\312 \313\314!\203~\315 \203\\	\203B\204K	\204O\204O\202y\316\317$\206y\320\202y\321 @@\203n\211\206w\202s\206w\211\206w\322\266\202\262\202\257\323\"\204\214\324\"\202\257\203\233\313\262\325\n\"\202\257\315`!\316\324\"\n$\206\255\326\262\262\211;\203\276\313E\202\302\211D\266\204)\207" [cl-struct-rst-Ttl-tags rst-new-adornment-down rst-default-indent rst-Ttl-get-title-beginning type-of signal wrong-type-argument rst-Ttl 3 1 rst-get-previous-hdr nil rst-Ttl-is-candidate rst-hdr-hierarchy rst-next-hdr t "Neither hierarchy nor preferences can suggest a deeper header" rst-Hdr-preferred-adornments "No preferences to suggest a top level from" rst-adornment-complete-p rst-Hdr-new-lax rst-Hdr-new-invert "No preferences or hierarchy to suggest another level from"] 13 (#$ . 66778)])
#@2986 Adjust/rotate the section adornment for the section title around point.
The action this function takes depends on context around the
point, and it is meant to be invoked possibly more than once to
rotate among the various possibilities.  Basically, this function
deals with:

- adding an adornment if the title does not have one;

- adjusting the length of the underline characters to fit a
  modified title;

- rotating the adornment in the set of already existing
  sectioning adornments used in the file;

- switching between simple and over-and-under styles by giving
  TOGGLE-STYLE.

Return nil if the function did something.  If the function were
not able to do something return an argument list for `message' to
inform the user about what failed.

The following is a detailed description but you should normally
not have to read it.

Before applying the adornment change, the cursor is placed on the
closest line that could contain a section title if such is found
around the cursor.  Then the following cases are distinguished.

* Case 1: No Adornment

  If the current line has no adornment around it,

  - search for a previous adornment, and apply this adornment (unless
    `rst-new-adornment-down') or one level lower (otherwise) to the current
    line.  If there is no defined level below this previous adornment, we
    suggest the most appropriate of the `rst-preferred-adornments'.

    If REVERSE is true, we simply use the previous adornment found
    directly.

  - if there is no adornment found in the given direction, we use the first of
    `rst-preferred-adornments'.

  TOGGLE-STYLE forces a toggle of the prescribed adornment style.

* Case 2: Incomplete Adornment

  If the current line does have an existing adornment, but the adornment is
  incomplete, that is, the underline/overline does not extend to exactly the
  end of the title line (it is either too short or too long), we simply extend
  the length of the underlines/overlines to fit exactly the section title.

  If TOGGLE-STYLE we toggle the style of the adornment as well.

  REVERSE has no effect in this case.

* Case 3: Complete Existing Adornment

  If the adornment is complete (i.e. the underline (overline) length is already
  adjusted to the end of the title line), we rotate the current title's
  adornment according to the adornment hierarchy found in the buffer.  This is
  meant to be used potentially multiple times, until the desired adornment is
  found around the title.

  If we hit the boundary of the hierarchy, exactly one choice from the list of
  preferred adornments is suggested/chosen, the first of those adornment that
  has not been seen in the buffer yet, and the next invocation rolls over to
  the other end of the hierarchy (i.e. it cycles).

  If REVERSE is we go up in the hierarchy.  Otherwise we go down.

  However, if TOGGLE-STYLE, we do not rotate the adornment, but instead simply
  toggle the style of the current adornment.

(fn TOGGLE-STYLE REVERSE)
(defalias 'rst-adjust-section #[514 "\302 \210\303 \211\204
\304\202\246\305#\211A\203 \211A\262\242\202'\306\307\310GD\"\211A\262\242\311!>\204=\306\312\313D\"\210\314H\315\316!!\315 Z\203Q\202\244\203m\317\311!	>\204f\306\312\320D\"\210\321H\"\262\322V\203\213\323\311!	>\204\204\306\312\320D\"\210\321H\"\262\316!b\210\324!\210\211\322U\204\243\325[!\210\326\210\326\266\205\207" [cl-struct-rst-Ttl-tags cl-struct-rst-Hdr-tags rst-reset-section-caches rst-ttl-at-point ("No section header or candidate at point") rst-adjust-new-hdr signal wrong-number-of-arguments (hdr toggle-style &rest msg &aux (indent (rst-Ttl-indent ttl)) (moved (- (line-number-at-pos (rst-Ttl-get-title-beginning ttl)) (line-number-at-pos)))) type-of wrong-type-argument rst-Ttl 3 line-number-at-pos rst-Ttl-get-title-beginning rst-Hdr-new-invert rst-Hdr 1 0 rst-Hdr-new-lax rst-update-section rst-forward-line-strict nil] 13 (#$ . 68190)])
(defalias 'rst-adjust-section-title 'rst-adjust)
#@242 Promote the section titles within the region.
With argument DEMOTE or a prefix argument, demote the section
titles instead.  The algorithm used at the boundaries of the
hierarchy is similar to that used by `rst-adjust-section'.

(fn DEMOTE)
(defalias 'rst-adjust-region #[257 "\301 \210\302 \303 \304\305\306\307\310\311\"\312\"\313\314%\315 \"\212\316\317\"\211\203T\211@\211\211\2033\211A\262\242\202:\320\321\322GD\"\323 b\324\211\223\210\325\326\324
$!\266A\266\202\202\210\324\211)\207" [deactivate-mark rst-reset-section-caches region-beginning region-end cl-remove-if-not make-byte-code 257 "\302\300\"\303Y\205\302\301\"\303W\207" vconcat vector [rst-Ttl-contains 0] 4 "\n\n(fn TTL)" rst-all-ttls mapcar #[257 "\301\302!!\303!>\204\304\305\306D\"\210\307HB\207" [cl-struct-rst-Ttl-tags copy-marker rst-Ttl-get-title-beginning type-of signal wrong-type-argument rst-Ttl 5] 6 "\n\n(fn TTL)"] signal wrong-number-of-arguments (marker &rest hdr &aux (hier (rst-hdr-hierarchy))) rst-hdr-hierarchy nil rst-update-section rst-next-hdr] 15 (#$ . 72197) "P"])
#@110 Display the current file's section title adornments hierarchy.
Hierarchy is displayed in a temporary buffer.
(defalias 'rst-display-hdr-hierarchy #[0 "\306 \210\307 \310r\311\312!q\210p\313 \210\314\211\315\211\315\316 \210\317\320!\210+\211rq\210\211\205P\211@\321\322\"c\210\323!\210db\210\324c\210T\262A\266\202\202.\262)\325!\210)\266\202\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only rst-reset-section-caches rst-hdr-hierarchy 1 get-buffer-create "*rest section hierarchy*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook format "\nSection Level %d" rst-update-section "\n" internal-temp-output-buffer-show standard-output] 10 (#$ . 73294) nil])
(defalias 'rst-display-adornments-hierarchy 'rst-display-hdr-hierarchy)
#@242 Redo the adornments of all section titles in the current buffer.
This is done using the preferred set of adornments.  This can be
used, for example, when using somebody else's copy of a document,
in order to adapt it to our preferred style.
(defalias 'rst-straighten-sections #[0 "\300 \210\212\301\302\303 \"\211\2039\211@\211\211\203\211A\262\242\202$\304\305\306GD\"\211b\307\211\223\210\310\311 8!\266A\266\202\202	\307\262)\207" [rst-reset-section-caches mapcar #[128 "\211G\300U\203\f\211@\202\301\302\303GD\"\211\203 \211A\262\242\202'\301\302\303GD\"\304\305!!B\207" [1 signal wrong-number-of-arguments nil copy-marker rst-Ttl-get-title-beginning] 6 "\n\n(fn (TTL &rest LEVEL))"] rst-all-ttls-with-level signal wrong-number-of-arguments (marker &rest level) nil rst-update-section rst-Hdr-preferred-adornments] 7 (#$ . 74150) nil])
(defalias 'rst-straighten-adornments 'rst-straighten-sections)
#@74 List of maps between Arabic numbers and their Roman numeral equivalents.
(defconst rst-arabic-to-roman '((1000 . "M") (900 . "CM") (500 . "D") (400 . "CD") (100 . "C") (90 . "XC") (50 . "L") (40 . "XL") (10 . "X") (9 . "IX") (5 . "V") (4 . "IV") (1 . "I")) (#$ . 75082))
#@238 Convert Arabic number NUM to its Roman numeral representation.

Obviously, NUM must be greater than zero.  Don't blame me, blame the
Romans, I mean "what have the Romans ever _done_ for /us/?" (with
apologies to Monty Python).

(fn NUM)
(defalias 'rst-arabic-to-roman #[257 "\211\250\203\211\301Y\204\302\303\304\305E\"\210\306\203c\307V\203c\211\203-\211A\262\242\2024\302\310\311GD\"\211\203A\211A\262\242\202H\302\310\311GD\"Y\203[P\262Z\262\202^\262\266\202\207" [rst-arabic-to-roman 1 signal wrong-type-argument (integer 1 *) num "" 0 wrong-number-of-arguments ((val &rest sym) &rest next)] 9 (#$ . 75360)])
#@232 Convert STRING of Roman numerals to an Arabic number.
If STRING contains a letter which isn't a valid Roman numeral,
the rest of the string from that point onwards is ignored.
Hence:
MMD == 2500
and
MMDFLXXVI == 2500.

(fn STRING)
(defalias 'rst-roman-to-arabic #[257 "\211;\204
\301\302\303\303E\"\210\211\211\304\232?\262\204\301\302\305\303E\"\210\306\307 \310\306\311\312\313!\314\"\315$\216\203\211\203A\211A\262\242\202H\301\316\317GD\"\211\203U\211A\262\242\202\\\301\316\317GD\"\320\321P\"\203w\\\262\322\304\323\324\n$\262\202z\262\266\202/\211\304\232\262\204\221\301\302\325\303E\"\210)\262\207" [rst-arabic-to-roman signal wrong-type-argument string "" "Roman number may not be an empty string." 0 match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 wrong-number-of-arguments ((val &rest sym) &rest next) string-match "^" replace-match nil t "Invalid characters in roman number"] 12 (#$ . 76016)])
#@524 Insert first item of a new list tagged with TAG.

Adding a new list might consider three situations:

 (a) Current line is a blank line.
 (b) Previous line is a blank line.
 (c) Following line is a blank line.

When (a) and (b), just add the new list at current line.

when (a) and not (b), a blank line is added before adding the new list.

When not (a), first forward point to the end of the line, and add two
blank lines, then add the new list.

Other situations are just ignored and left to users themselves.

(fn TAG)
(defalias 'rst-insert-list-new-tag #[257 "\300\301\302\"\203\300\303\302\304#\204\301\202\305\202\306\307\210\310\311\"\312\261\207" [rst-forward-line-looking-at 0 lin-end -1 not 1 2 nil make-string 10 " "] 5 (#$ . 77015)])
#@72 List of initial items.  It's a collection of bullets and enumerations.
(defconst rst-initial-items (byte-code "\301\302\303\"\304\305\211\203+\211@\306\211\203#\211@\307\"B\262A\266\202\202\210A\266\202\202\210\211\237\262\"\207" [rst-bullets append mapcar char-to-string nil ("%s." "(%s)" "%s)") ("#" "1" "a" "A" "I" "i") format] 10) (#$ . 77780))
#@420 Insert a new list item.

User is asked to select the item style first, for example (a), i), +.
Use TAB for completion and choices.

If user selects bullets or #, it's just added with position arranged by
`rst-insert-list-new-tag'.

If user selects enumerations, a further prompt is given.  User need to
input a starting item, for example 'e' for 'A)' style.  The position is
also arranged by `rst-insert-list-new-tag'.
(defalias 'rst-insert-list-new-item #[0 "\301\302\303\304\303\211\305&\306\307\310!\"\205\311\312\"\313 \314\312\315\316\317!\320\"\321$\216\322\267\202r\323\324\303\211\325$\326\312\327#\227\262\202s\323\330\303\211\331$\326\312\327#\226\262\202s\332\333\327\"\334!\262\202s\332\333\327\"\334!\227\262\202s\332\333\327\"\335!\262\202s\303)\262\211\203\203\336\304\211$\262\337!\207" [rst-initial-items completing-read "Select preferred item style [#.]: " nil t "#." string-match rst-re cntexp-tag match-string 0 match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 #s(hash-table size 5 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("a" 43 "A" 60 "I" 77 "i" 89 "1" 102)) read-string "Give starting value [a]: " "a" substring 1 "Give starting value [A]: " "A" read-number "Give starting value [1]: " rst-arabic-to-roman number-to-string replace-match rst-insert-list-new-tag] 9 (#$ . 78150)])
(byte-code "\301\302\303\304\305DD\306\307\310\311\312\313\314\315\"BD\316\317&	\207" [rst-bullets custom-declare-variable rst-preferred-bullets funcall function #[0 "\300\207" [(42 45 43)] 1] "List of favorite bullets." :group rst :type repeat choice mapcar #[257 "\300\301\302!F\207" [const :tag char-to-string] 5 "\n\n(fn CHAR)"] :package-version (rst . "1.1.0")] 12)
#@220 Insert a new list tag after the current line according to style.
Style is defined by indentation IND, TAG and suffix TAB.  If
PREFER-ROMAN roman numbering is preferred over using letters.

(fn IND TAG TAB PREFER-ROMAN)
(defalias 'rst-insert-list-continue #[1028 "\300\210\301\302 \303\304\305\306\307!\310\"\311$\216\312\313\314!\"\204!\202\306\315\304\211\224#\316\304\"\315\304\225\"\312\313\317!\"\203J\320\321\316\304\"!T!\202\302\312\313\322!\"\203\257\302 \303\304\305\306\307!\323\"\311$\216\312\313\324!\"\203\212\212\325\326!\203\204\327\313\330!!\203\204\312\313\322!\316\304!\"\202\206)\202\213\331)\262\203\257\316\304\"\332\333\226!T!\211\226\232\203\250\211\226\202\252\211\227\266\202\202\302\312\313\324!\"\205\302\334\335\316\304\"!T!Q\266\203)\262\261\207" [nil "\n" match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match rst-re cntexp-tag substring match-string num-tag number-to-string string-to-number rom-tag [set-match-data evaporate] ltr-tag rst-forward-line-strict -1 looking-at enmexp-beg t rst-arabic-to-roman rst-roman-to-arabic char-to-string string-to-char] 18 (#$ . 79933)])
#@1242 Insert a list item at the current point.

The command can insert a new list or a continuing list.  When it is called at a
non-list line, it will promote to insert new list.  When it is called at a list
line, it will insert a list with the same list style.

1. When inserting a new list:

User is asked to select the item style first, for example (a), i), +.  Use TAB
for completion and choices.

 (a) If user selects bullets or #, it's just added.
 (b) If user selects enumerations, a further prompt is given.  User needs to
     input a starting item, for example `e' for `A)' style.

The position of the new list is arranged according to whether or not the
current line and the previous line are blank lines.

2. When continuing a list, one thing needs to be noticed:

List style alphabetical list, such as `a.', and roman numerical list, such as
`i.', have some overlapping items, for example `v.' The function can deal with
the problem elegantly in most situations.  But when those overlapped list are
preceded by a blank line, it is hard to determine which type to use
automatically.  The function uses alphabetical list by default.  If you want
roman numerical list, just use a prefix to set PREFER-ROMAN.

(fn &optional PREFER-ROMAN)
(defalias 'rst-insert-list #[256 "\300 \301\302\303\304\305!\306\"\307$\216\310\302!\210\311\312\313!!\203/\314\315\302\224\316\224\"\317\316!\315\316\225\302\225\"$\2021\320 )\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 rst-forward-line-strict looking-at rst-re itmany-beg-1 rst-insert-list-continue buffer-substring-no-properties 1 match-string rst-insert-list-new-item] 8 (#$ . 81145) "P"])
#@292 Return the positions of begs in region BEG to END.
RST-RE-BEG is a `rst-re' argument and matched at the beginning of
a line.  Return a list of (POINT . COLUMN) where POINT gives the
point after indentation and COLUMN gives its column.  The list is
ordered by POINT.

(fn BEG END RST-RE-BEG)
(defalias 'rst-find-begs #[771 "\300\301 \302\303\304\305\306!\307\"\310$\216\212b\210\311\303!\210`W\203P\312 \313\314!!\203G\315\316\317\302\320\321\305\306	\"\322\"\323\324%#\204G\325 \210`BB\262\210\311\326\"\210\202*\210\211\237\207" [nil match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 rst-forward-line-strict current-indentation looking-at rst-re rst-forward-line-looking-at -1 lin-end 257 "\211?\205\302 \301X\205\302 \301U\205\303\304\300!!?\207" [current-indentation looking-at rst-re] 4 "\n\n(fn MTCD)" back-to-indentation 1] 16 (#$ . 82846)])
#@339 Make all the bulleted list items in the region from BEG to END consistent.
Use this after you have merged multiple bulleted lists to make
them use the preferred bullet characters given by
`rst-preferred-bullets' for each level.  If bullets are found on
levels beyond the `rst-preferred-bullets' list, they are not
modified.

(fn BEG END)
(defalias 'rst-straighten-bullets-region #[514 "\212\301\302\303#\211\203F\211@\211\211\203\211A\262\242\202\"\304\305\306GD\"\307\"\211\2035\211AB\241\210\202=DB\262\266A\266\202\202\210\310\311\312\313\"#\211\203\222\211@\211\211A\203d\211A\262\242\202k\304\305\314GD\"\211A\262\242\211\203\211\211@\211b\210\315\316!\210c\210A\266\202\202r\266A\266\202\202O\301\262\262)\207" [rst-preferred-bullets nil rst-find-begs bul-beg signal wrong-number-of-arguments (point &rest column &aux (found (assoc column clm2pnts))) assoc cl-mapcar #[514 "B\207" [] 4 "\n\n(fn BULLET CLM2PNT)"] sort car-less-than-car (bullet _clm &rest pnts) delete-char 1] 12 (#$ . 83766) "r"])
#@135 Return the hierarchical tree of sections as a top level `rst-Stn'.
Return value satisfies `rst-Stn-is-top' or is nil for no
sections.
(defalias 'rst-all-stn #[0 "\300\301 \302\"A\207" [rst-remaining-stn rst-all-ttls-with-level -1] 3 (#$ . 84824)])
#@332 Process the first entry of UNPROCESSED expected to be on level EXPECTED.
UNPROCESSED is the remaining list of (`rst-Ttl' . LEVEL) entries.
Return (REMAINING . STN) for the first entry of UNPROCESSED.
REMAINING is the list of still unprocessed entries.  STN is a
`rst-Stn' or nil if UNPROCESSED is empty.

(fn UNPROCESSED EXPECTED)
(defalias 'rst-remaining-stn #[514 "\204\300\211B\207\211\203\211A\262\242\202\301\302\303GD\"\211\203*\211A\262\242\2021\301\302\303GD\"\300\211U\203@\262\262\203y@AV\203y\304T\"\211\203c\211A\262\242\202j\301\302\305GD\"\203sB\262\262\210\202@\204\203\205\212\306\237#B\207" [nil signal wrong-number-of-arguments ((ttl &rest level) &rest next &aux fnd children) rst-remaining-stn (remaining &rest stn) rst-Stn-new] 12 (#$ . 85079)])
#@173 Return `rst-Stn' in STN before POINT or nil if in no section.
POINT defaults to the current point.  STN may be nil for no
section headers at all.

(fn STN &optional POINT)
(defalias 'rst-stn-containing-point #[513 "\211C\205K\211\242\206
`\240\210\211\242\301!Y\205K\302\303\304\305\306\307!\310\"\311\312%\313!>\2046\314\315\316D\"\210\317H\320\321$\211\203H\322\242\"\202I\262\207" [cl-struct-rst-Stn-tags rst-Stn-get-title-beginning cl-find-if make-byte-code 257 "\300\242\301!Y\207" vconcat vector [rst-Stn-get-title-beginning] 4 "\n\n(fn CHILD)" type-of signal wrong-type-argument rst-Stn 3 :from-end t rst-stn-containing-point] 10 (#$ . 85910)])
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\304\301&\210\310\320\312\313\321DD\322\316\323\304\301&\210\310\324\312\313\325DD\326\316\327\304\301&\210\310\330\312\313\331DD\332\316\333\304\301&\207" [custom-declare-group rst-toc nil "Settings for reStructuredText table of contents." :group rst :version "21.1" custom-declare-variable rst-toc-indent funcall function #[0 "\300\207" [2] 1] "Indentation for table-of-contents display.\nAlso used for formatting insertion, when numbering is disabled." :type integer rst-toc-insert-style #[0 "\300\207" [fixed] 1] "Insertion style for table-of-contents.\nSet this to one of the following values to determine numbering and\nindentation style:\n- `plain': no numbering (fixed indentation)\n- `fixed': numbering, but fixed indentation\n- `aligned': numbering, titles aligned under each other\n- `listed': titles as list items" (choice (const plain) (const fixed) (const aligned) (const listed)) rst-toc-insert-number-separator #[0 "\300\207" [#1="  "] 1 #1#] "Separator that goes between the TOC number and the title." string rst-toc-insert-max-level #[0 "\300\207" [nil] 1] "If non-nil, maximum depth of the inserted TOC." (choice (const nil) integer)] 8)
#@31 Keymap used for links in TOC.
(defconst rst-toc-link-keymap (byte-code "\300 \301\302\303#\210\211\207" [make-sparse-keymap define-key [mouse-1] rst-toc-mouse-follow-link] 5) (#$ . 87834))
#@340 Insert the table of contents of the current section at the current column.
By default the top level is ignored if there is only one, because
we assume that the document will have a single title.  A numeric
prefix argument MAX-LEVEL overrides `rst-toc-insert-max-level'.
Text in the line beyond column is deleted.

(fn &optional MAX-LEVEL)
(defalias 'rst-toc-insert #[256 "\304 \210\305\306 !\211\205q\250\203\307!\310V\203\307!\202ip	\311\312\313!r\211q\210\314\310\315\316\317!\320\"\321$\216\322\n	\311&\210eb\210\323\324!\203U\325`d#\210)\326 *\262\262\211G\310U?\205o`\327\321!|\210\211c\210\330u\266\205\207" [rst-toc-insert-max-level indent-tabs-mode rst-toc-insert-style rst-toc-link-keymap rst-reset-section-caches rst-stn-containing-point rst-all-stn prefix-numeric-value 0 nil generate-new-buffer " *temp*" make-byte-code "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 rst-toc-insert-tree rst-forward-line-strict 1 indent-rigidly buffer-string line-beginning-position -1] 15 (#$ . 88031) "P"])
#@161 Insert text of STN in BUF as a linked section reference at point.
If KEYMAP use this as keymap property.  PFX is inserted before text.

(fn PFX STN BUF KEYMAP)
(defalias 'rst-toc-insert-link #[1028 "`c\210\300!c\210\301`\302\303$\210\304c\210\301`\305\306 \307	!\223$\210\205,\301`\310$\207" [rst-Stn-get-text put-text-property mouse-face highlight "\n" rst-toc-target make-marker rst-Stn-get-title-beginning keymap] 12 (#$ . 89095)])
#@85 Return the link from text property at LINK-PNT in LINK-BUF.

(fn LINK-BUF LINK-PNT)
(defalias 'rst-toc-get-link #[514 "\300\301#\211\204
\302\303!\210\304\305!!\204\302\306!\210\211\207" [get-text-property rst-toc-target error "No section on this line" buffer-live-p marker-buffer "Buffer for this section was killed"] 6 (#$ . 89547)])
#@454 Insert table of contents of tree below top node STN in buffer BUF.
STYLE is the style to use and must be one of the symbols allowed
for `rst-toc-insert-style'.  DEPTH is the maximum relative depth
from STN to insert or nil for no maximum depth.  See
`rst-toc-insert-link' for KEYMAP.  Return beginning of title line
if TGT-STN is rendered or nil if not rendered or TGT-STN is nil.
Just return nil if STN is nil.

(fn STN BUF STYLE DEPTH KEYMAP TGT-STN)
(defalias 'rst-toc-insert-tree #[1542 "\205(\301\302!>\204\303\304\305	D\"\210\306H\307\310&\207" [cl-struct-rst-Stn-tags rst-toc-insert-children type-of signal wrong-type-argument rst-Stn 3 0 ""] 15 (#$ . 89896)])
#@287 In the current buffer at point insert CHILDREN in BUF to table of contents.
See `rst-toc-insert-tree' for STYLE, DEPTH and TGT-STN.  See
`rst-toc-insert-stn' for INDENT and NUMBERING.  See
`rst-toc-insert-link' for KEYMAP.

(fn CHILDREN BUF STYLE DEPTH INDENT NUMBERING KEYMAP TGT-STN)
(defalias 'rst-toc-insert-children #[2056 "\300\301\302\303\304\fGT\305\"!T\"\306\307\232\204\310P\262\n\211\203L\211@\311




\301
\"P

&\206?\262T\262A\266\202\202\262\207" [1 format "%%%dd" floor log 10 nil "" "." rst-toc-insert-stn] 23 (#$ . 90592)])
#@320 In the current buffer at point insert STN in BUF into table of contents.
See `rst-toc-insert-tree' for STYLE, DEPTH and TGT-STN.  INDENT
is the indentation depth to use for STN.  NUMBERING is the prefix
numbering for STN.  See `rst-toc-insert-link' for KEYMAP.

(fn STN BUF STYLE DEPTH INDENT NUMBERING KEYMAP TGT-STN)
(defalias 'rst-toc-insert-stn #[2056 "\203\n\304V\205\247\305\267\2024\306D\2025	PD\2025	PG	G\\D\2025\307\310\n@\"\311D\2025\312\211G\311U\203E\211A\262\242\202L\313\314\315GD\"\211A\262\242\205b\316!\316!\232\205b`\317\320	\321\"P

	$\210\322\323
!>\204\204\313\324\325D\"\210\f\326H\f\f\f\205\224\fS\f\\\f\f\f&\206\245\211\266\204\207" [rst-toc-indent rst-toc-insert-number-separator rst-preferred-bullets cl-struct-rst-Stn-tags 0 #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (plain 16 fixed 22 aligned 30 listed 42)) "" format "%c " 2 nil signal wrong-number-of-arguments (pfx add &aux (fnd (when (and tgt-stn (equal (rst-Stn-get-title-beginning stn) (rst-Stn-get-title-beginning tgt-stn))) (point)))) rst-Stn-get-title-beginning rst-toc-insert-link make-string 32 rst-toc-insert-children type-of wrong-type-argument rst-Stn 3] 21 (#$ . 91170)])
#@190 Automatically find the contents section of a document and update.
Updates the inserted TOC if present.  You can use this in your
file-write hook to always make it up-to-date automatically.
(defalias 'rst-toc-update #[0 "\300 \301\302\303\304\305!\306\"\307$\216\212eb\210\310\311\312\313\314\315\316\317\320\321\322\323&\n\324\325#\324C\203P\326\327\330\301\331\332\304\305!\333\"\334\335%#\203P\211\242\203G\242|\210b\210\336c\210\337 \210\266*\210\324\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 re-search-forward rst-re "^" exm-sta "contents" dcl-tag ".*\n" "\\(?:" hws-sta fld-tag ".*\n\\)*" exm-tag nil t rst-forward-line-looking-at 1 lin-end 257 "\211\204\301`d\302 \303\304\305\306\307\300!\310\"\311\312%$\210\313\207" [rst-apply-indented-blocks current-indentation make-byte-code 1542 "\301V\206\206?\205\300\302 \240\210\303\207" vconcat vector [1 line-end-position nil] 8 "\n\n(fn COUNT IN-FIRST IN-SUB IN-SUPER IN-EMPTY RELIND)" t] 11 "\n\n(fn MTCD)" "\n    " rst-toc-insert] 13 (#$ . 92437) nil])
(defalias 'rst-toc-insert-update 'rst-toc-update)
#@39 Name of the Table of Contents buffer.
(defconst rst-toc-buffer-name "*Table of Contents*" (#$ . 93580))
#@63 Window configuration to which to return when leaving the TOC.
(defvar rst-toc-mode-return-wincfg nil (#$ . 93690))
(make-variable-buffer-local 'rst-toc-mode-return-wincfg)
#@233 Display a table of contents for current buffer.
Displays all section titles found in the current buffer in a
hierarchical list.  The resulting buffer can be navigated, and
selecting a section title moves the cursor to that section.
(defalias 'rst-toc #[0 "\303 \210\304 \305 D\306 \307!p\310!\311rq\210\312\313 \210ed|\210\314\315\311\211	&\262*\316!\210\317!\210\211\206;eb\207" [rst-toc-buffer-name inhibit-read-only rst-toc-mode-return-wincfg rst-reset-section-caches current-window-configuration point-marker rst-all-stn rst-stn-containing-point get-buffer-create nil t rst-toc-mode rst-toc-insert-tree plain display-buffer pop-to-buffer] 13 (#$ . 93869) nil])
(defalias 'rst-goto-section 'rst-toc-follow-link)
#@272 Follow the link to the section at LINK-PNT in LINK-BUF.
LINK-PNT and LINK-BUF default to the point in the current buffer.
With prefix argument KILL a TOC buffer is destroyed.  Throw an
error if there is no working link at the given position.

(fn LINK-BUF LINK-PNT KILL)
(defalias 'rst-toc-follow-link #[771 "\204p\262\300\"\3011\302!0\202\210\202\210\303\304!!\210\211b\210\305\306!\207" [rst-toc-get-link (error) rst-toc-mode-return pop-to-buffer marker-buffer recenter 5] 7 (#$ . 94605) "i\nd\nP"])
(defalias 'rst-toc-mode-goto-section 'rst-toc-mode-follow-link-kill)
#@66 Follow the link to the section at point and kill the TOC buffer.
(defalias 'rst-toc-mode-follow-link-kill #[0 "\300p`\301#\207" [rst-toc-follow-link t] 4 (#$ . 95196) nil])
(defalias 'rst-toc-mode-mouse-goto 'rst-toc-mouse-follow-link)
#@135 In `rst-toc' mode, go to the occurrence whose line you click on.
EVENT is the input event.  Kill TOC buffer if KILL.

(fn EVENT KILL)
(defalias 'rst-toc-mouse-follow-link #[514 "\300\301\302!\211@\262!\303\302!!#\207" [rst-toc-follow-link window-buffer event-end posn-point] 7 (#$ . 95439) "e\ni"])
(defalias 'rst-toc-mode-mouse-goto-kill 'rst-toc-mode-mouse-follow-link-kill)
#@105 Same as `rst-toc-mouse-follow-link', but kill TOC buffer as well.
EVENT is the input event.

(fn EVENT)
(defalias 'rst-toc-mode-mouse-follow-link-kill #[257 "\300\301\"\207" [rst-toc-mouse-follow-link t] 4 (#$ . 95827) "e"])
(defalias 'rst-toc-quit-window 'rst-toc-mode-return)
#@155 Leave the current TOC buffer and return to the previous environment.
With prefix argument KILL non-nil, kill the buffer instead of
burying it.

(fn KILL)
(defalias 'rst-toc-mode-return #[257 "\204\301\302!\210\211G\303U\203\211A\262\242\202 \304\305\306GD\"\211A\262\242p\307!\210b\210\2038\310!\202;\311!\207" [rst-toc-mode-return-wincfg error "Not in a `toc-mode' buffer" 2 signal wrong-number-of-arguments (wincfg pos &aux (toc-buf (current-buffer))) set-window-configuration kill-buffer bury-buffer] 7 (#$ . 96113) "P"])
#@49 Like `rst-toc-mode-return' but kill TOC buffer.
(defalias 'rst-toc-mode-return-kill #[0 "\300\301!\207" [rst-toc-mode-return t] 2 (#$ . 96663) nil])
#@28 Keymap for `rst-toc-mode'.
(defvar rst-toc-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\307#\210\301\311\312#\210\301\313\314#\210\301\315\316#\210\301\317\320#\210\211\207" [make-sparse-keymap define-key [mouse-1] rst-toc-mode-mouse-follow-link-kill [mouse-2] rst-toc-mouse-follow-link "
" rst-toc-mode-follow-link-kill "f" "n" next-line "p" previous-line "q" rst-toc-mode-return "z" rst-toc-mode-return-kill] 5) (#$ . 96818))
(defvar rst-toc-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [rst-toc-mode-hook variable-documentation put "Hook run after entering ReST-TOC mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp rst-toc-mode-map definition-name rst-toc-mode] 4)
(defvar rst-toc-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [rst-toc-mode-abbrev-table rst-toc-mode-map variable-documentation put purecopy "Keymap for `rst-toc-mode'." boundp rst-toc-mode-syntax-table definition-name rst-toc-mode (lambda (#1=#:def-tmp-var) (defvar rst-toc-mode-syntax-table #1#)) make-syntax-table "Syntax table for `rst-toc-mode'." (lambda (#1#) (defvar rst-toc-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `rst-toc-mode'." derived-mode-parent special-mode] 5)
#@274 Major mode for output from \[rst-toc], the table-of-contents for the document.
\{rst-toc-mode-map}

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `rst-toc-mode-hook', as the final or penultimate step
during initialization.
(defalias 'rst-toc-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
\331)\332\333!\207" [delay-mode-hooks major-mode mode-name rst-toc-mode-map rst-toc-mode-syntax-table rst-toc-mode-abbrev-table make-local-variable t special-mode rst-toc-mode "ReST-TOC" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table "Table of Contents" run-mode-hooks rst-toc-mode-hook local-abbrev-table header-line-format] 5 (#$ . 98459) nil])
#@298 Jump forward OFFSET section titles ending up at the start of the title line.
OFFSET defaults to 1 and may be negative to move backward.  An
OFFSET of 0 does not move unless point is inside a title.  Go to
end or beginning of buffer if no more section titles in the desired
direction.

(fn OFFSET)
(defalias 'rst-forward-section #[257 "\300 \210\301 \211G`\302C\303\304\305\306\307\310\"\311\"\312\313%\"\206 \314\242\2044\315Y\2034\316\2025\315#\211\315W\203@e\202`\211Y\203Jd\202`\242\204Z\315U\203Z\202`\3178!b\207" [rst-reset-section-caches rst-all-ttls nil cl-position-if make-byte-code 257 "\302\300\"\211\303U\203\301\304\240\210\304\202\211\303V\205\304\207" vconcat vector [rst-Ttl-contains 0 t] 4 "\n\n(fn TTL)" + 0 -1 rst-Ttl-get-title-beginning] 13 (#$ . 99512) "p"])
#@74 Like `rst-forward-section', except move backward by OFFSET.

(fn OFFSET)
(defalias 'rst-backward-section #[257 "\300[!\207" [rst-forward-section] 3 (#$ . 100335) "p"])
#@157 Select COUNT sections around point.
Mark following sections for positive COUNT or preceding sections
for negative COUNT.

(fn &optional COUNT ALLOW-EXTEND)
(defalias 'rst-mark-section #[512 "\204\302\262\303U\203\304\305!\210\211\2034	=\203!\306\307!\204&\310 \2034\311\212\306 b\210\312!\210`)!\207\312!\210\313\314\307\211#\210\312[!\207" [last-command this-command 1 0 error "Cannot mark zero sections" mark t use-region-p set-mark rst-forward-section push-mark nil] 6 (#$ . 100511) "p\np"])
#@255 Return the leftmost column spanned by region BEG to END.
The line containing the start of the region is always considered
spanned.  If the region ends at the beginning of a line this line
is not considered spanned, otherwise it is spanned.

(fn BEG END)
(defalias 'rst-find-leftmost-column #[514 "\300\301 \302\303\304\305\306!\307\"\310$\216\212b\210\311\303!\210`W\203<\312\313\314!!\2044\2030\315 ^\2022\315 \262\311\316\"\210\202))\262\207" [nil match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 rst-forward-line-strict looking-at rst-re lin-end current-indentation 1] 10 (#$ . 101028)])
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\302#\210\313\211\2033\211@\311N\203,\312N\204,\314\312\311N#\210A\266\202\202\210\315\311\312\316#\210\317\312\320\321\322DD\323\304\301\324\325&\210\317\326\320\321\327DD\330\304\301\306\331\324\332&	\210\317\333\320\321\334DD\335\304\301\306\336\324\337&	\210\317\340\320\321\341DD\342\304\301\306\343\324\344&	\210\317\345\320\321\346DD\347\304\301\306\350\324\351&	\207" [custom-declare-group rst-indent nil "Settings for indentation in reStructuredText.\n\nIn reStructuredText indentation points are usually determined by\npreceding lines.  Sometimes the syntax allows arbitrary indentation\npoints such as where to start the first line following a directive.\nThese indentation widths can be customized here." :group rst :package-version (rst . "1.1.0") defvaralias rst-shift-basic-offset rst-indent-width (saved-value saved-variable-comment) put make-obsolete-variable "rst 1.0.0" custom-declare-variable funcall function #[0 "\300\207" [2] 1] "Indentation when there is no more indentation point given." :type (integer) rst-indent-field #[0 "\300\207" [3] 1] "Indentation for first line after a field or 0 to always indent for content." (rst . "1.1.0") (integer) rst-indent-literal-normal #[0 "\300\207" [3] 1] "Default indentation for literal block after a markup on an own line." (rst . "1.1.0") (integer) rst-indent-literal-minimized #[0 "\300\207" [2] 1] "Default indentation for literal block after a minimized markup." (rst . "1.1.0") (integer) rst-indent-comment #[0 "\300\207" [3] 1] "Default indentation for first line of a comment." (rst . "1.1.0") (integer)] 10)
#@347 Return tabs of the current line or nil for no tab.
The list is sorted so the tab where writing continues most likely
is the first one.  Each tab is of the form (COLUMN . INNER).
COLUMN is the column of the tab.  INNER is non-nil if this is an
inner tab.  I.e. a tab which does come from the basic indentation
and not from inner alignment points.
(defalias 'rst-line-tabs #[0 "\212\304\305!\210\306 \307\305\310\311\312!\313\"\314$\216\315\316\317!!?\2058\320 \210`\305\321EC\315\316\322\323\324#!\203@\325\326!\203\365\326\224\305\327EB\262\202\365\315\316\330\331\332\324$!\203\212\305U\204Z\333\224\327EB\262\325\314!\203l\314\224\305\327EB\262\202\365\305U\203\365\326\225\325\326!\334\230\203\200\333\202\201\305\327EB\262\202\365\315\316\335\336\324#!\203\300\333\225\305\327EB\262\325\326!\334\230\204\256\326\225\305\327EB\262\325\337!\203\365\337\224\305\327EB\262\202\365\315\316\340\341\324#!\203\345\333\225\305\327EB\262\325\314!\203\365\314\224\305\327EB\262\202\365\315\316\342!!\203\365`	\327EB\262\315\316\343!!\2032\211@\211G\314U\203\211A\262\242\202\344\345\346GD\"\211A\262\242@\325\333!\203*\n\202+\\\327EB\266\205\347\350\"\262)\262)\207" [rst-indent-field rst-indent-comment rst-indent-literal-minimized rst-indent-literal-normal rst-forward-line-strict 0 match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 looking-at rst-re lin-end back-to-indentation nil (:grp itmany-tag hws-sta) (:grp "\\S ") "?" match-string 2 t (:grp fld-tag) (:grp hws-tag) (:grp "\\S ") 1 "" dir-sta-3 (:grp "\\S ") 4 fnc-sta-2 (:grp "\\S ") cmt-sta-1 lit-sta-2 signal wrong-number-of-arguments (point offset _inner) mapcar #[128 "\211G\300U\203\f\211@\202\301\302\303GD\"\211G\304U\203#\211A\262\242\202*\301\302\303GD\"\211A\262\242@b\210i\\B\207" [1 signal wrong-number-of-arguments nil 3] 7 "\n\n(fn (POINT OFFSET INNER))"]] 10 (#$ . 103341)])
#@334 Build the list of possible tabs for all lines above.
Search backwards from point PT to build the list of possible tabs.
Return a list of tabs sorted by likeliness to continue writing
like `rst-line-tabs'.  Nearer lines have generally a higher
likeliness than farther lines.  Return nil if no tab is found in
the text above.

(fn PT)
(defalias 'rst-compute-tabs #[257 "\212\211b\210\300\211\211\301\302!\203\247\203\303V\203\247\304 \211\203\243\305\306\307\310\"\"\2038\211W\2048\204\242\211U\203\242\211\203\220\211@\211\211\203M\211A\262\242\202T\311\312\313GD\"\204d\203t\211	W\204t\203\207\203t\211W\203\207\314\"\203\201\202\205\211B\262\266A\266\202\2029\210\315\316\"\203\234\211\202\235\262\211\262\210\210\202\211\237\266\203)\207" [nil rst-forward-line-strict -1 0 rst-line-tabs apply min mapcar car signal wrong-number-of-arguments (column &rest inner) memql cl-some cdr] 13 (#$ . 105313)])
#@613 Indent current line to next best reStructuredText tab.
The next best tab is taken from the tab list returned by
`rst-compute-tabs' which is used in a cyclic manner.  If the
current indentation does not end on a tab use the first one.  If
the current indentation is on a tab use the next tab.  This allows
a repeated use of \[indent-for-tab-command] to cycle through all
possible tabs.  If no indentation is possible return `noindent' or
use DFLT.  Return the indentation indented to.  When point is in
indentation it ends up at its end.  Otherwise the point is kept
relative to the content.

(fn &optional DFLT)
(defalias 'rst-indent-line #[256 "\300 \301 i\302`!\303\304\305$\306\204\204\307\202W\204'\262\202D\2041\310\262\202?T\262GY\203?\310\2628\262\311!\210V\203Qb\210\306\211\223\210\211\207" [point-marker current-indentation rst-compute-tabs cl-position :test equal nil noindent 0 indent-line-to] 10 (#$ . 106281)])
#@245 Shift region BEG to END by CNT tabs.
Shift by one tab to the right (CNT > 0) or left (CNT < 0) or
remove all indentation (CNT = 0).  A tab is taken from the text
above.  If no suitable tab is found `rst-indent-width' is used.

(fn BEG END CNT)
(defalias 'rst-shift-region #[771 "\301\302!\303\"\304\"\211\305V\204\305V\205\230\306\305U\203$[\202\227\305V\203.\307\202/\310\305V\203:\202>\311!\211G\312	!\313\n!\314\315\316\317\320\321\"\322\"\323\324%\"\211\206_S\\\211W\203o\2118\202\221\325!@\206y\n\326SZ#\\\211\305W\203\216\305\202\217\211\262\211\fZ\266\210#\207" [rst-indent-width sort rst-compute-tabs #[514 "X\207" #1=[] 4 "\n\n(fn X Y)"] rst-find-leftmost-column 0 indent-rigidly > < reverse cl-signum abs cl-position-if make-byte-code 257 "\301\300\"\207" vconcat vector #1# 4 "\n\n(fn ELT)" last *] 21 (#$ . 107248) "r\np"])
#@72 Return fill prefix found at point.
Value for `adaptive-fill-function'.
(defalias 'rst-adaptive-fill #[0 "\302 \303\304\305\306\307!\310\"\311$\216\312!\205\313\304!\302 \303\304\305\306\307!\314\"\311$\216\315	\")?\262\2034\211\202F\316\212\304\225b\210i)\212\304\224b\210i)Z\317\"\262)\207" [adaptive-fill-regexp comment-start-skip match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 looking-at match-string-no-properties [set-match-data evaporate] string-match make-string 32] 9 (#$ . 108145)])
#@210 Break line and indent, continuing reStructuredText comment if within one.
Value for `comment-line-break-function'.  If SOFT use soft
newlines as mandated by `comment-line-break-function'.

(fn &optional SOFT)
(defalias 'rst-comment-line-break #[256 "\211\203\300\301!\210\202\302\303!\210\212\304u\210\305 \210)\305 \210\306`!\211\205%\307@!\207" [insert-and-inherit 10 newline 1 -1 delete-horizontal-space rst-compute-tabs indent-line-to] 4 (#$ . 108700)])
#@46 Return indentation for current comment line.
(defalias 'rst-comment-indent #[0 "\300`!@\207" [rst-compute-tabs] 2 (#$ . 109170)])
#@39 Insert a comment in the current line.
(defalias 'rst-comment-insert-comment #[0 "\301\302!\210c\207" [comment-start rst-indent-line 0] 2 (#$ . 109306)])
#@116 Comment or uncomment the current region.
Region is from BEG to END.  Uncomment if ARG.

(fn BEG END &optional ARG)
(defalias 'rst-comment-region #[770 "\212\211:\203\302#\2021b\210\303\304!\210\305 `\306#\210\211b\210\307\310!\210\311!\210\312	\313\211#c\266\202)\207" [rst-indent-comment comment-start rst-uncomment-region rst-forward-line-strict 0 current-indentation indent-rigidly open-line 1 indent-line-to comment-string-strip t] 9 (#$ . 109467)])
#@104 Uncomment the current region.
Region is from BEG to END.  _ARG is ignored.

(fn BEG END &optional ARG)
(defalias 'rst-uncomment-region #[770 "\212b\210\301\302!\210`\301\303\"\210\304`[#\210\211b\210\305\302!\262)\207" [rst-indent-comment rst-forward-line-strict 0 1 indent-rigidly rst-delete-entire-line] 8 (#$ . 109939)])
#@1457 Apply FUN to all lines from BEG to END in blocks indented to IND.
The first indented block starts with the first non-empty line
containing or after BEG and indented to IND.  After the first
line the indented block may contain more lines with same
indentation (the paragraph) followed by empty lines and lines
more indented (the sub-blocks).  A following line indented to IND
starts the next paragraph.  A non-empty line with less
indentation than IND terminates the current paragraph.  FUN is
applied to each line like this

  (FUN COUNT IN-FIRST IN-SUB IN-SUPER IN-EMPTY RELIND)

COUNT is 0 before the first paragraph and increments for every
paragraph found on level IND.  IN-FIRST is non-nil if this is the
first line of such a paragraph.  IN-SUB is non-nil if this line
is part of a sub-block while IN-SUPER is non-nil if this line is
part of a less indented block (super-block).  IN-EMPTY is non-nil
if this line is empty where an empty line is considered being
part of the previous block.  RELIND is nil for an empty line, 0
for a line indented to IND, and the positive or negative number
of columns more or less indented otherwise.  When FUN is called
point is immediately behind indentation of that line.  FUN may
change everything as long as a marker at END and at the beginning
of the following line is handled correctly by the change.  A
non-nil return value from FUN breaks the loop and is returned.
Otherwise return nil.

(fn BEG END IND FUN)
(defalias 'rst-apply-indented-blocks #[1028 "\300\301\"\302W\205\300\301\"\301\303\211\211\304 \305\302\306\307\310!\311\"\312$\216\212\204\265\203\265b\303\211\223\210\212\313\314	\"\205E`W\205E\300`\301\")\262\315 \210\316 \nZ\317\320\321!!\303\203`\303\262\202\232\302W\203o\303\262\301\262\202\232\302V\203~\301\262\303\262\202\232\204\214\204\214\203\224\301\262	T\262\n\303\262\303\262\212\n		&\262)\262\266\202#\303\211\223\210*\262\207" [copy-marker t 0 nil match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 rst-forward-line-strict 1 back-to-indentation current-indentation looking-at rst-re lin-end] 22 (#$ . 110276)])
#@184 Add enumeration to all the leftmost paragraphs in the given region.
The region is specified between BEG and END.  With ALL,
do all lines instead of just paragraphs.

(fn BEG END ALL)
(defalias 'rst-enumerate-region #[771 "\300C\301C\302\303\"\304\305\306\307\310#\311\"\312\313%$\207" [0 "" rst-apply-indented-blocks rst-find-leftmost-column make-byte-code 1542 "\204<\204<\303U\204<\203\302\242c\210\202<\204!\300\2038\304\305\301\211\242T\240\"\302\306G\307\"\240\210\211c\266\202<\302\242c\210\310\207" vconcat vector [0 format "%d. " make-string 32 nil] 11 "\n\n(fn COUNT IN-FIRST IN-SUB IN-SUPER IN-EMPTY RELIND)"] 17 (#$ . 112474) "r\nP"])
#@180 Add bullets to all the leftmost paragraphs in the given region.
The region is specified between BEG and END.  With ALL,
do all lines instead of just paragraphs.

(fn BEG END ALL)
(defalias 'rst-bullet-list-region #[771 "\204\301\302!\210\303\304@\"\305G\306\"\307\310\"\311\312\313\314\315#\316\"\317\320%$\207" [rst-preferred-bullets error "No preferred bullets defined" format "%c " make-string 32 rst-apply-indented-blocks rst-find-leftmost-column make-byte-code 1542 "\204)\204)\303U\204)\203\302c\210\202)\204 \300\203&\301c\210\202)\302c\210\304\207" vconcat vector [0 nil] 8 "\n\n(fn COUNT IN-FIRST IN-SUB IN-SUPER IN-EMPTY RELIND)"] 17 (#$ . 113155) "r\nP"])
#@143 Convert the bulleted and enumerated items in the region to enumerated lists.
Renumber as necessary.  Region is from BEG to END.

(fn BEG END)
(defalias 'rst-convert-bullets-to-enumeration #[514 "\300\301 \302\303\304\305\306!\307\"\310$\216\212\311\312\313\314#\"\211\205C\211@\211b\315\211\223\210\316\317\314!!\210\320\321\322\"\315\211\211\300%\210T\262A\266\202\202\262*\262\207" [1 match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 mapcar #[128 "\211G\300U\203\f\211@\202\301\302\303GD\"\211\203 \211A\262\242\202'\301\302\303GD\"\304!\207" [1 signal wrong-number-of-arguments nil copy-marker] 6 "\n\n(fn (PNT &rest CLM))"] rst-find-begs itmany-beg-1 nil looking-at rst-re replace-match format "%d."] 12 (#$ . 113860) "r"])
#@142 Add line block prefixes for a region.
Region is from BEG to END.  With WITH-EMPTY prefix empty lines too.

(fn BEG END &optional WITH-EMPTY)
(defalias 'rst-line-block-region #[770 "\300\"\301\302\303\304\305\306\n\n\"\307\"\310\311%$\207" [rst-find-leftmost-column rst-apply-indented-blocks make-byte-code 1542 "\204\300\204\f\204\302\301\303\"\210\304c\210\305\207" vconcat vector [move-to-column t "| " nil] 9 "\n\n(fn COUNT IN-FIRST IN-SUB IN-SUPER IN-EMPTY RELIND)"] 15 (#$ . 114664) "r\nP"])
(byte-code "\300\301!\210\302\303\304\305\306\307\306\310\311\312&	\210\313\314\315\316\311\317\306\303&\210\320\321\322\323\324DD\325\311\317\306\303\326\327&	\210\330\321\331\317#\210\313\332\333\334\311\317\306\303&\210\320\335\322\323\336DD\337\311\317\306\303\326\340&	\210\330\335\341\317#\210\313\342\343\344\311\317\306\303&\210\320\345\322\323\346DD\347\311\317\306\303\326\350&	\210\330\345\351\317#\210\313\352\353\354!\203\203\355\202\204\356\357\311\317\306\303&\210\320\360\322\323\361DD\362\306\303\326\363&\210\330\360\364\317#\210\313\365\366\367\311\317\306\303&\210\320\370\322\323\371DD\372\311\317\306\303\326\373&	\210\330\370\374\317#\210\313\375\376\377\311\317\306\303&\210\320\201@\322\323\201ADD\201B\311\317\306\303\326\201C&	\210\330\201@\201D\317#\210\313\201E\201F\201G\311\317\306\303&\210\320\201H\322\323\201IDD\201J\306\303\326\201K&\210\330\201H\201L\317#\210\313\201M\201N\201O\311\317\306\303&\210\320\201P\322\323\201QDD\201R\311\317\306\303\326\201S&	\210\330\201P\201T\317#\210\313\201U\201V\201W\311\317\306\303&\210\320\201X\322\323\201YDD\201Z\311\317\306\303\326\201[&	\210\330\201X\201\\\317#\210\313\201]\201^\201_\201`\201a\306\303&\210\313\201b\201c\201d\201`\201e\306\303&\210\201f\211\203\317\211@\330\201g\201h#\210A\266\202\202\270\210\313\201i\201j\201k\201`\201l%\210\313\201m\201n\201o\201`\201p%\210\313\201q\201r\201s\201`\201t%\210\313\201u\201v\201w\201`\201x%\210\313\201y\201z\201{\201`\201|%\210\313\201}\201~\201\201`\201\200%\210\320\201\201\322\323\201\202DD\201\203\306\303\326\201\204&\207" [require font-lock custom-declare-group rst-faces nil "Faces used in Rst Mode." :group rst faces :version "21.1" custom-declare-face rst-block ((t :inherit font-lock-keyword-face)) "Face used for all syntax marking up a special block." "24.1" custom-declare-variable rst-block-face funcall function #[0 "\300\207" [rst-block] 1] "All syntax marking up a special block." :type (face) make-obsolete-variable "customize the face `rst-block' instead." rst-external ((t :inherit font-lock-type-face)) "Face used for field names and interpreted text." rst-external-face #[0 "\300\207" [rst-external] 1] "Field names and interpreted text." (face) "customize the face `rst-external' instead." rst-definition ((t :inherit font-lock-function-name-face)) "Face used for all other defining constructs." rst-definition-face #[0 "\300\207" [rst-definition] 1] "All other defining constructs." (face) "customize the face `rst-definition' instead." rst-directive boundp font-lock-builtin-face ((t :inherit font-lock-builtin-face)) ((t :inherit font-lock-preprocessor-face)) "Face used for directives and roles." rst-directive-face #[0 "\300\207" [rst-directive] 1] "Directives and roles." (face) "customize the face `rst-directive' instead." rst-comment ((t :inherit font-lock-comment-face)) "Face used for comments." rst-comment-face #[0 "\300\207" [rst-comment] 1] "Comments." (face) "customize the face `rst-comment' instead." rst-emphasis1 ((t :inherit italic)) "Face used for simple emphasis." rst-emphasis1-face #[0 "\300\207" [rst-emphasis1] 1] "Simple emphasis." (face) "customize the face `rst-emphasis1' instead." rst-emphasis2 ((t :inherit bold)) "Face used for double emphasis." rst-emphasis2-face #[0 "\300\207" [rst-emphasis2] 1] "Double emphasis." (face) "customize the face `rst-emphasis2' instead." rst-literal ((t :inherit font-lock-string-face)) "Face used for literal text." rst-literal-face #[0 "\300\207" [rst-literal] 1] "Literal text." (face) "customize the face `rst-literal' instead." rst-reference ((t :inherit font-lock-variable-name-face)) "Face used for references to a definition." rst-reference-face #[0 "\300\207" [rst-reference] 1] "References to a definition." (face) "customize the face `rst-reference' instead." rst-transition ((t :inherit font-lock-keyword-face)) "Face used for a transition." :package-version (rst . "1.3.0") rst-adornment ((t :inherit font-lock-keyword-face)) "Face used for the adornment of a section header." (rst . "1.3.0") (rst-level-face-max rst-level-face-base-color rst-level-face-base-light rst-level-face-format-light rst-level-face-step-light rst-level-1-face rst-level-2-face rst-level-3-face rst-level-4-face rst-level-5-face rst-level-6-face) "customize the faces `rst-level-*' instead." "24.3" rst-level-1 ((((background light)) (:background "grey85")) (((background dark)) (:background "grey15"))) "Default face for section title text at level 1." (rst . "1.4.0") rst-level-2 ((((background light)) (:background "grey78")) (((background dark)) (:background "grey22"))) "Default face for section title text at level 2." (rst . "1.4.0") rst-level-3 ((((background light)) (:background "grey71")) (((background dark)) (:background "grey29"))) "Default face for section title text at level 3." (rst . "1.4.0") rst-level-4 ((((background light)) (:background "grey64")) (((background dark)) (:background "grey36"))) "Default face for section title text at level 4." (rst . "1.4.0") rst-level-5 ((((background light)) (:background "grey57")) (((background dark)) (:background "grey43"))) "Default face for section title text at level 5." (rst . "1.4.0") rst-level-6 ((((background light)) (:background "grey50")) (((background dark)) (:background "grey50"))) "Default face for section title text at level 6." (rst . "1.4.0") rst-adornment-faces-alist #[0 "\300\207" [((t . rst-transition) (nil . rst-adornment) (1 . rst-level-1) (2 . rst-level-2) (3 . rst-level-3) (4 . rst-level-4) (5 . rst-level-5) (6 . rst-level-6))] 1] "Faces for the various adornment types.\nKey is a number (for the section title text of that level\nstarting with 1), t (for transitions) or nil (for section title\nadornment).  If you need levels beyond 6 you have to define faces\nof your own." (alist :key-type (choice (integer :tag "Section level") (const :tag "transitions" t) (const :tag "section title adornment" nil)) :value-type (face))] 10)
#@36 Keywords to highlight in rst mode.
(defvar rst-font-lock-keywords (byte-code "\300\301\302\"\303B\300\301\304\"\305B\300\301\306\307#\310B\300\301\311\312#\313B\300\301\314\315#\316B\300\301\317\"\320B\300\301\321\"\322B\300\301\323\307#\324B\300\301\325\307#\326B\300\327\330\331#\332B\300\327\333\331#\334B\300\327\335\331#\336B\300\327\337\331#\340B\300\327\341\331#\342B\300\327\343\344\345\331%\346B\300\327\347\331#\350B\300\327\351\331#\352B\300\327\353\331#\354B\300\327\355\331#\356B\300\357!\360B\300\301\361\"\362B\300\301\363\364\365$\366B\300\301\367\"\370B\300\301\371\372#\373B\257\207" [rst-re lin-beg (:grp bul-sta) (1 rst-block-face) (:grp enmany-sta) (1 rst-block-face) (:grp fld-tag) bli-sfx (1 rst-external-face) (:grp opt-tag (:shy optsep-tag opt-tag) "*") (:alt "$" (:seq hws-prt "\\{2\\}")) (1 rst-block-face) (:grp "|" bli-sfx) "[^|\n]*$" (1 rst-block-face) fnc-sta-2 ((1 rst-definition-face) (2 rst-definition-face)) dir-sta-3 ((1 rst-directive-face) (2 rst-definition-face) (3 rst-directive-face)) (:grp exm-sta "_" (:alt (:seq "`" ilcbkqdef-tag "`") (:seq (:alt "[^:\\\n]" "\\\\.") "+")) ":") (1 rst-definition-face) (:grp "__") (1 rst-definition-face) ilm-pfx (:grp "\\*\\*" ilcast-tag "\\*\\*") ilm-sfx (1 rst-emphasis2-face) (:grp "\\*" ilcast-tag "\\*") (1 rst-emphasis1-face) (:grp "``" ilcbkq-tag "``") (1 rst-literal-face) (:grp "_`" ilcbkq-tag "`") (1 rst-definition-face) (:grp (:alt (:seq "`" ilcbkq-tag "`") (:seq "\\sw" (:alt "\\sw" "-") "+\\sw")) "__?") (1 rst-reference-face) (:grp (:shy ":" sym-tag ":") "?") (:grp "`" ilcbkq-tag "`") (:grp (:shy ":" sym-tag ":") "?") ((1 rst-directive-face) (2 rst-external-face) (3 rst-directive-face)) (:grp fnc-tag "_") (1 rst-reference-face) (:grp sub-tag) (1 rst-reference-face) (:grp uri-tag ":\\S +") (1 rst-definition-face) (:grp sym-tag "@" sym-tag) (1 rst-definition-face) ado-beg-2-1 ((rst-font-lock-handle-adornment-matcher (rst-font-lock-handle-adornment-pre-match-form (match-string-no-properties 1) (match-end 1)) nil (1 (cdr (assoc nil rst-adornment-faces-alist)) append t) (2 (cdr (assoc rst-font-lock-adornment-level rst-adornment-faces-alist)) append t) (3 (cdr (assoc nil rst-adornment-faces-alist)) append t))) cmt-sta-1 ((1 rst-comment-face) (rst-font-lock-find-unindented-line-match (rst-font-lock-find-unindented-line-limit (match-end 1)) nil (0 rst-comment-face append))) (:grp exm-tag) (:grp hws-tag) "$" ((1 rst-comment-face) (2 rst-comment-face) (rst-font-lock-find-unindented-line-match (rst-font-lock-find-unindented-line-limit 'next) nil (0 rst-comment-face append))) lit-sta-2 ((2 rst-block-face) (rst-font-lock-find-unindented-line-match (rst-font-lock-find-unindented-line-limit t) nil (0 rst-literal-face append))) (:grp (:alt ">>>" ell-tag)) (:grp ".+") ((1 rst-block-face) (2 rst-literal-face))] 27) (#$ . 121215))
#@155 Extend the font-lock region if it might be in a multi-line construct.
Return non-nil if so.  Font-lock region is from `font-lock-beg'
to `font-lock-end'.
(defalias 'rst-font-lock-extend-region #[0 "\302	\"\211\205\211@\211A\303\207" [font-lock-beg font-lock-end rst-font-lock-extend-region-internal t] 3 (#$ . 124053)])
#@152 Check the region BEG / END for being in the middle of a multi-line construct.
Return nil if not or a cons with new values for BEG / END.

(fn BEG END)
(defalias 'rst-font-lock-extend-region-internal #[514 "\300\301\"\300\302\"\204\211\205\206\206B\207" [rst-font-lock-extend-region-extend -1 1] 6 (#$ . 124385)])
#@138 Like `forward-line' but always end up in column 0 and return accordingly.
Move N lines forward just as `forward-line'.

(fn &optional N)
(defalias 'rst-forward-line #[256 "\211yn\203\n\211\202\300y\210\211\301!Z\207" [0 cl-signum] 5 (#$ . 124720)])
#@128 Extend the region starting at point PT and extending in direction DIR.
Return extended point or nil if not moved.

(fn PT DIR)
(defalias 'rst-font-lock-extend-region-extend #[514 "\300\301\"?\205\232\302 \303\304\305\306\307!\310\"\311$\216\212\312\313!b\210\314\304!\210`\262\315!\2042\316!\304U\204$\315\312\317!!\203p\316!\304U\203\215\315\312\320!!\203b\316!\304U\203\215\315\312\317!!\204\215\316[!\210\202\215\304W\203\215\316[!\210\202\215\315\312\320!!\203\215\316!\304U\203\215\315\312\317!!\204\215\316[!\210`U?\205\225`\262*\262\207" [get-text-property font-lock-multiline match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 rst-re (:alt "[^ 	\n]" (:seq hws-tag exm-tag) (:seq ".*" dcl-tag lin-end)) rst-forward-line-strict looking-at rst-forward-line ado-beg-2-1 ttl-beg-1] 9 (#$ . 124980)])
#@446 Move forward across one indented block.
Find the next (i.e. excluding the current line) non-empty line
which is not indented at least to COLUMN (defaults to the column
of the point).  Move point to first character of this line or the
first of the empty lines immediately before it and return that
position.  If there is no such line before LIMIT (defaults to the
end of the buffer) return nil and do not move point.

(fn &optional COLUMN LIMIT)
(defalias 'rst-forward-indented-block #[512 "\300\211C\301\302\303!\206\fd\206i\304\305\306\307\310	!\311\"\312\313%$\262\205(b\207" [nil rst-apply-indented-blocks line-beginning-position 2 make-byte-code 1542 "\203\300\211\242\206\f\301 \240\210\302\207\203\300\242\206!\301 \207\300\302\240\210\302\207" vconcat vector [line-beginning-position nil] 8 "\n\n(fn COUNT IN-FIRST IN-SUB IN-SUPER IN-EMPTY RELIND)"] 14 (#$ . 125863)])
#@69 Beginning of the match if `rst-font-lock-find-unindented-line-end'.
(defvar rst-font-lock-find-unindented-line-begin nil (#$ . 126764))
#@150 End of the match as determined by `rst-font-lock-find-unindented-line-limit'.
Also used as a trigger for `rst-font-lock-find-unindented-line-match'.
(defvar rst-font-lock-find-unindented-line-end nil (#$ . 126907))
#@406 Find the next unindented line relative to indentation at IND-PNT.
Return this point, the end of the buffer or nil if nothing found.
If IND-PNT is `next' take the indentation from the next line if
this is not empty and indented more than the current one.  If
IND-PNT is non-nil but not a number take the indentation from the
next non-empty line if this is indented more than the current one.

(fn IND-PNT)
(defalias 'rst-font-lock-find-unindented-line-limit #[257 "\211\302 \303\304\305\306\307!\310\"\311$\216\212\247\204\211\302 \303\304\305\306\307!\312\"\311$\216\313 \314=\203V\315\316d\"\205\202`dW\205\202`\317\320\321!!?\205\202\313 V\205\202\317\320\322!!\210\304\225\202\202\315\316d\"\203k`dW\203k\317\320\321!!\204V`dW\205\202`\313 V\205\202\317\320\322!!\210\304\225\262)\262\262\205\230b\210\323\324d\"\206\230d*\262\211\207" [rst-font-lock-find-unindented-line-begin rst-font-lock-find-unindented-line-end match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 [set-match-data evaporate] current-indentation next rst-forward-line-strict 1 looking-at rst-re lin-end hws-tag rst-forward-indented-block nil] 9 (#$ . 127129)])
#@257 Set the match found earlier if match were found.
Match has been found by `rst-font-lock-find-unindented-line-limit'
the first time called or no match is found.  Return non-nil if
match was found.  _LIMIT is not used but mandated by the caller.

(fn LIMIT)
(defalias 'rst-font-lock-find-unindented-line-match #[257 "\205\302	D!\210\303	\304\305$\210\306\305\207" [rst-font-lock-find-unindented-line-end rst-font-lock-find-unindented-line-begin set-match-data put-text-property font-lock-multiline t nil] 6 (#$ . 128341)])
#@124 Storage for `rst-font-lock-handle-adornment-matcher'.
Either section level of the current adornment or t for a transition.
(defvar rst-font-lock-adornment-level nil (#$ . 128875))
#@175 Return section level for ADO or t for a transition.
If ADO is found in the hierarchy return its level.  Otherwise
return a level one beyond the existing hierarchy.

(fn ADO)
(defalias 'rst-adornment-level #[257 "\300!\203\301\207\302\303 !\304\"\206\211GT\207" [rst-Ado-is-transition t rst-Hdr-ado-map rst-hdr-hierarchy rst-Ado-position] 5 (#$ . 129062)])
#@168 Storage for match for current adornment.
Set by `rst-font-lock-handle-adornment-pre-match-form'.  Also used
as a trigger for `rst-font-lock-handle-adornment-matcher'.
(defvar rst-font-lock-adornment-match nil (#$ . 129432))
#@423 Determine limit for adornments.
Determine all things necessary for font-locking section titles
and transitions and put the result to `rst-font-lock-adornment-match'
and `rst-font-lock-adornment-level'.  ADO is the complete adornment
matched.  ADO-END is the point where ADO ends.  Return the point
where the whole adorned construct ends.

Called as a PRE-MATCH-FORM in the sense of `font-lock-keywords'.

(fn ADO ADO-END)
(defalias 'rst-font-lock-handle-adornment-pre-match-form #[514 "\303\"\211\204\304\211\211\202@\305\306!\n>\204 \307\310\311D\"\210\312H!\306!\n>\2044\307\310\311D\"\210\211\313H\314!b\210\315!\207" [rst-font-lock-adornment-level rst-font-lock-adornment-match cl-struct-rst-Ttl-tags rst-classify-adornment nil rst-adornment-level type-of signal wrong-type-argument rst-Ttl 1 2 rst-Ttl-get-beginning rst-Ttl-get-end] 9 (#$ . 129663)])
#@320 Set the match found earlier if match were found.
Match has been found by
`rst-font-lock-handle-adornment-pre-match-form' the first time
called or no match is found.  Return non-nil if match was found.

Called as a MATCHER in the sense of `font-lock-keywords'.
_LIMIT is not used but mandated by the caller.

(fn LIMIT)
(defalias 'rst-font-lock-handle-adornment-matcher #[257 "\301\211\205\302!\210\303\225b\210\304\303\224\303\225\305\306$\210\306\207" [rst-font-lock-adornment-match nil set-match-data 0 put-text-property font-lock-multiline t] 7 (#$ . 130544)])
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\304\301\320\321&	\207" [custom-declare-group rst-compile nil "Settings for support of conversion of reStructuredText\ndocument with \\[rst-compile]." :group rst :version "21.1" custom-declare-variable rst-compile-toolsets funcall function #[0 "\300\301\302!\203\302\202\f\303\304BB\305\301\306!\203\306\202\307\310BB\311\301\312!\203)\312\202*\313\314BB\315\301\316!\2038\316\2029\317\320BB\321\301\322!\203G\322\202H\323\324BB\325\301\326!\203V\326\202W\327\330BB\331\301\332!\203e\332\202f\333\334BB\257\207" [html executable-find "rst2html.py" "rst2html" (".html" nil) latex "rst2latex.py" "rst2latex" (".tex" nil) newlatex "rst2newlatex.py" "rst2newlatex" (".tex" nil) pseudoxml "rst2pseudoxml.py" "rst2pseudoxml" (".xml" nil) xml "rst2xml.py" "rst2xml" (".xml" nil) pdf "rst2pdf.py" "rst2pdf" (".pdf" nil) s5 "rst2s5.py" "rst2s5" (".html" nil)] 9] "Table describing the command to use for each tool-set.\nAn association list of the tool-set to a list of the (command to use,\nextension of produced filename, options to the tool (nil or a\nstring)) to be used for converting the document." :type (alist :options (html latex newlatex pseudoxml xml pdf s5) :key-type symbol :value-type (list :tag "Specification" (file :tag "Command") (string :tag "File extension") (choice :tag "Command options" (const :tag "No options" nil) (string :tag "Options")))) :package-version "1.2.0"] 10)
#@41 The default tool-set for `rst-compile'.
(defvar rst-compile-primary-toolset 'html (#$ . 132608))
#@64 The default tool-set for `rst-compile' with a prefix argument.
(defvar rst-compile-secondary-toolset 'latex (#$ . 132711))
#@69 Look for the configuration file in the parents of the current path.
(defalias 'rst-compile-find-conf #[0 "\300\301 \302!\303\230\203\303\211\262\203-\304P!\204-\262\305\302\306\302!!!!\262\202\2054P\266\202\207" ["docutils.conf" buffer-file-name file-name-directory nil file-exists-p expand-file-name directory-file-name] 9 (#$ . 132840) nil])
(require 'compile)
#@247 Compile command to convert reST document into some output file.
Attempts to find configuration file, if it can, overrides the
options.  There are two commands to choose from; with USE-ALT,
select the alternative tool-set.

(fn &optional USE-ALT)
(defalias 'rst-compile #[256 "\211\203\202		\n\236A\211G\306U\203\211A\262\242\202#\307\310\311GD\"\211A\262\242\211A\262\242\312 \313!\314\304!\210\315\316\206A\317\203N\320\321!P\202O\317\321!\321\322!P!\257\323#
\204j\203p\324\325!\202s\325\f!\207" [rst-compile-secondary-toolset rst-compile-primary-toolset rst-compile-toolsets buffer-file-name compile-command compilation-read-command 3 signal wrong-number-of-arguments (command extension options &aux (conffile (rst-compile-find-conf)) (bufname (file-name-nondirectory buffer-file-name))) rst-compile-find-conf file-name-nondirectory make-local-variable mapconcat identity "" "--config=" shell-quote-argument file-name-sans-extension " " call-interactively compile] 16 (#$ . 133230) "P"])
#@48 Compile command with the alternative tool-set.
(defalias 'rst-compile-alt-toolset #[0 "\300\301!\207" [rst-compile t] 2 (#$ . 134264) nil])
#@132 Show pseudo-XML rendering.
Rendering is done of the current active region, or of the entire
buffer, if the region is not selected.
(defalias 'rst-compile-pseudo-region #[0 "r\306\307!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!\210+\211\316\203-\317 \202.e\2038\320 \2029d\321\236A@$\322!\210)\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only get-buffer-create "*pseudoxml*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook shell-command-on-region region-beginning region-end pseudoxml internal-temp-output-buffer-show standard-output mark-active rst-compile-toolsets] 8 (#$ . 134411) nil])
#@36 Program used to preview PDF files.
(defvar rst-pdf-program "xpdf" (#$ . 135139))
#@66 Convert the document to a PDF file and launch a preview program.
(defalias 'rst-compile-pdf-preview #[0 "\303\304\305\306#\307\236A@\310\311	\n\211&\312!\204 \313\314\"\210\312\n!\204+\313\314\n\"\210\315\316\305#\207" [rst-compile-toolsets buffer-file-name rst-pdf-program make-temp-file "rst_el" nil ".pdf" pdf format "%s %s %s && %s %s ; rm %s" executable-find error "Cannot find executable `%s'" start-process-shell-command "rst-pdf-preview"] 10 (#$ . 135226) nil])
#@36 Program used to preview S5 slides.
(defvar rst-slides-program "firefox" (#$ . 135713))
#@80 Convert the document to an S5 slide presentation and launch a preview program.
(defalias 'rst-compile-slides-preview #[0 "\303\304\305\306#\307\310\311\236A@	\n\211&\312\313\305#\207" [rst-compile-toolsets buffer-file-name rst-slides-program make-temp-file "rst_el" nil ".html" format "%s %s %s && %s %s ; rm %s" s5 start-process-shell-command "rst-slides-preview"] 9 (#$ . 135806) nil])
#@63 Convert a STN to an Imenu index node and return it.

(fn STN)
(defalias 'rst-imenu-convert-cell #[257 "\302!>\204\303\304\305D\"\210\211\306H\302!>\204!\303\304\305D\"\210\307H\310!\311\312\"\313\312\314\203Y\302!	>\204D\303\304\315	D\"\210\316H\317\320!!\262\321!\203X\262\210\322\323$\262\211\203uB\324\325	\"B\202vB\207" [cl-struct-rst-Stn-tags cl-struct-rst-Ttl-tags type-of signal wrong-type-argument rst-Stn 1 3 rst-Stn-get-title-beginning rst-Stn-get-text "" " " nil rst-Ttl 5 char-to-string rst-Hdr-get-char rst-Hdr-is-over-and-under format "%s%s%s" mapcar rst-imenu-convert-cell] 13 (#$ . 136206)])
#@71 Create index for Imenu.
Return as described for `imenu--index-alist'.
(defalias 'rst-imenu-create-index #[0 "\301 \210\302 \211\205\303\304\305!>\204\306\307\310D\"\210\311H\"\207" [cl-struct-rst-Stn-tags rst-reset-section-caches rst-all-stn mapcar rst-imenu-convert-cell type-of signal wrong-type-argument rst-Stn 3] 7 (#$ . 136861)])
#@95 Replace flush-left lines of FROMCHAR with equal-length lines of TOCHAR.

(fn FROMCHAR TOCHAR)
(defalias 'rst-replace-lines #[514 "\212\300\301\302#\303\304\305\306#\203%\211T\262\307\224b\210i\310\303!\210\311\"\266\202\312\313\"\266\202)\207" [rst-re "^" "+\\( *\\)$" 0 search-forward-regexp nil t 1 rst-delete-entire-line insert-char message "%d lines replaced."] 8 (#$ . 137211) "cSearch for flush-left lines of char:\ncand replace with char: "])
#@71 Join lines in current paragraph into one line, removing end-of-lines.
(defalias 'rst-join-paragraph #[0 "\301\302\303!)\207" [fill-column 65000 call-interactively fill-paragraph] 2 (#$ . 137677) nil])
#@121 Fill paragraph at point, first joining the paragraph's lines into one.
This is useful for filling list item paragraphs.
(defalias 'rst-force-fill-paragraph #[0 "\300 \210\301\302!\207" [rst-join-paragraph fill-paragraph nil] 2 (#$ . 137886) nil])
#@510 Fill the current line using the last character on the current line.
Fill up to the length of the preceding line or up to `fill-column' if preceding
line is empty.

If USE-NEXT, use the next line rather than the preceding line.

If the current line is longer than the desired length, shave the characters off
the current line to fit the desired length.

As an added convenience, if the command is repeated immediately, the alternative
column is used (fill-column vs. end of previous/next line).

(fn USE-NEXT)
(defalias 'rst-repeat-last-character #[257 "i\302e`\"\303U\203\304\202\303\\\305\303!\304U\203\"\204\"\202D\212\203+\304\202,\306y\210\307\210\310x\210i\211\303U\203@\202A\211\262)	\311=\203XU\203T\211\202e\202e\212\211\303U\203c\202d\211)\307\210iV\203x`iZZ`|\202~\312hiZ\"\207" [fill-column last-command count-lines 0 1 line-beginning-position -1 nil " 	" rst-repeat-last-character insert-char] 10 (#$ . 138140) "P"])
(provide 'rst)

Zerion Mini Shell 1.0