(defvar texinfo-mode-syntax-table nil) (defvar texinfo-format-syntax-table nil) (defvar texinfo-vindex) (defvar texinfo-findex) (defvar texinfo-cindex) (defvar texinfo-pindex) (defvar texinfo-tindex) (defvar texinfo-kindex) (let ((st (syntax-table))) (unwind-protect (progn (setq texinfo-mode-syntax-table (make-syntax-table)) (set-syntax-table texinfo-mode-syntax-table) (modify-syntax-entry 34 " ") (modify-syntax-entry 92 " ") (modify-syntax-entry 64 "\\") (modify-syntax-entry 17 "\\") (modify-syntax-entry 91 "(]") (modify-syntax-entry 93 ")[") (modify-syntax-entry 123 "(}") (modify-syntax-entry 125 "){") (modify-syntax-entry 39 "w") (setq texinfo-format-syntax-table (copy-sequence texinfo-mode-syntax-table)) (set-syntax-table texinfo-format-syntax-table) (modify-syntax-entry 39 ".") (modify-syntax-entry 91 ".") (modify-syntax-entry 93 ".") (modify-syntax-entry 40 ".") (modify-syntax-entry 41 ".")) (set-syntax-table st))) (defun texinfo-mode nil "\ Major mode for editing texinfo files. These are files that are input for TEX and also to be turned into Info files by M-x texinfo-format-buffer. These files must be written in a very restricted and modified version of TEX input format. As for editing commands, like text-mode except for syntax table, which is set up so expression commands skip texinfo bracket groups." (interactive) (byte-code "ÈˆÉ ˆÊ‰ˆË‰ˆÌ !ˆÍÃ!ˆ‰ˆÍÅ!ˆÎ P‰ˆÍÆ!ˆÎP‰ˆÍÇ!ˆÏ‰ˆÐÑÒ\"‡" [mode-name major-mode texinfo-mode-syntax-table require-final-newline t paragraph-separate paragraph-start fill-column nil text-mode "Texinfo" texinfo-mode set-syntax-table make-local-variable "^\\|^@[a-z]*[ ]\\|" 75 run-hooks text-mode-hook texinfo-mode-hook] 9)) (defun texinfo-format-buffer nil "\ Process the current buffer as texinfo code, into an Info file. The Info file output is generated in a buffer visiting the Info file names specified in the @setfilename command." (interactive) (byte-code "шÑÑÑÑÑÑÑÑÑÑÑÑÑÑp ŠebˆÕÖ!ˆ`‰ˆ× ‰ )ˆØ !ˆÙÚ!ˆÛ ˆÜ!ˆÝ ˆÞ!ˆebˆÕÖ!ˆß ˆàe`\"ˆÕá#…y âã!ˆ‚h ˆebˆÕä#…Ž âã!ˆ‚} ˆebˆÕå#… `æZfç=…¼ Šèé!ˆ`êë!ˆìí`Z\"íU))ƒÄ ‚îï!ƒã gðUƒÙ à`S`T\"‚à ñé!ˆèí!‚`S‰ˆòg!óUƒö ôí!‚ù èí!ˆ`‰ˆõö T\"!‰ˆ÷Nƒø!‚ù )ˆ‚’ ˆ…4æ@8bˆúû@@\"ˆebˆÕë#…Mñé!ˆèí!ˆ‚8ˆebˆÙü!.‡" [texinfo-format-filename texinfo-example-start texinfo-command-start texinfo-command-end texinfo-command-name texinfo-last-node texinfo-vindex texinfo-findex texinfo-cindex texinfo-pindex texinfo-tindex texinfo-kindex texinfo-stack outfile fill-column input-buffer texinfo-format-syntax-table nil t opoint cmd search-forward "@setfilename" texinfo-parse-line-arg find-file message "Formatting Info file..." texinfo-mode set-syntax-table erase-buffer insert-buffer-substring beginning-of-line delete-region "``" replace-match "\"" "''" "@" 2 17 forward-char -1 skip-chars-backward "" logand 1 looking-at "[@{}'` *]" 42 delete-char char-syntax 119 forward-word intern buffer-substring texinfo-format funcall texinfo-unsupported error "Unterminated @%s" "Formatting Info file...done. Now save it."] 36)) (put (quote begin) (quote texinfo-format) (quote texinfo-format-begin)) (defun texinfo-format-begin nil (byte-code "ÀÁ!‡" [texinfo-format-begin-end texinfo-format] 2)) (put (quote end) (quote texinfo-format) (quote texinfo-format-end)) (defun texinfo-format-end nil (byte-code "ÀÁ!‡" [texinfo-format-begin-end texinfo-end] 2)) (defun texinfo-format-begin-end (prop) (byte-code "ÃÄ !‰ˆ N‰ˆ ƒ Å !‚ Æ ‡" [texinfo-command-name cmd prop intern texinfo-parse-line-arg funcall texinfo-unsupported] 5)) (defun texinfo-parse-line-arg nil (byte-code "bˆ`ÃÄ!ƒ ÅÄ!ˆ`‰ˆÆ ˆ`T‰‚= ÃÇ!ƒ6 `T‰ˆÈÉ!ˆ`‰ˆÊË!‚= …= ÌÍ!ˆÎ `\"lƒL ÊÉ!‚M ψ)‡" [texinfo-command-end start t looking-at " " skip-chars-forward end-of-line "{" forward-list 1 forward-char -1 error "Invalid texinfo command arg format" buffer-substring nil] 11)) (defun texinfo-parse-arg-discard nil (byte-code "À Á ˆ‡" [texinfo-parse-line-arg texinfo-discard-command] 4)) (defun texinfo-discard-command nil (byte-code " \"‡" [texinfo-command-start texinfo-command-end delete-region] 3)) (defun texinfo-format-parse-line-args nil (byte-code "`SÆÆÆÆÇÈ!ˆl?…V `‰ˆÉÊ!ˆ`‰ˆnƒ+ S‰‚, ƈËÌ!ˆÍÈ!ˆ`‰ˆ VƒF Î \"‚G ÆB‰ˆ bˆÇÈ!ˆ‚ ˆlƒa ËÏ!‚b ƈ`‰ˆÐ!-‡" [start next beg end args texinfo-command-end nil skip-chars-forward " " re-search-forward "[ ,]" forward-char -1 skip-chars-backward buffer-substring 1 nreverse] 9)) (defun texinfo-format-parse-args nil (byte-code "`SÇÇÇÇÈÉ!ˆÊhË\"…d ÌÍ!ˆ`‰ˆÎÏ!ˆ`‰ˆÐÑ!ˆÒÍ!ˆ`‰ˆ W…J bˆÈÓ #…J ÔÕ!ˆ‚; ˆ VƒX Ö \"‚Y ÇB‰ˆ bˆ‚ ˆlƒo Ð×!‚p Lj`‰ˆØ!-‡" [start next beg end args t texinfo-command-end nil search-forward "{" /= 125 skip-chars-forward " " re-search-forward "[},]" forward-char -1 skip-chars-backward " " replace-match " " buffer-substring 1 nreverse] 12)) (put (quote setfilename) (quote texinfo-format) (quote texinfo-format-setfilename)) (defun texinfo-format-setfilename nil (byte-code "à Ä!‰ˆÅÆ ÇÈ !ƒ ÉÄÈ !!P‚\"