;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Mon Apr 17 19:44:00 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/informat.el ;;; emacs version 19.28.90.26. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`/gd/gnu/emacs/19.0/lisp/informat.el' was compiled for Emacs 19")) (require (quote info)) #@57 Create or update Info-file tag table in current buffer. (defalias 'Info-tagify #[nil " !\"edd TU`Ɏ~eb#-!#`Ԕy#\\ؔؕ{DB)6dby#`!y`|)dbc `̓@@@A@p\"cAc,- !\"" [message "Tagifying %s ..." file-name-nondirectory buffer-file-name buffer-size opoint nomax omax omin ((byte-code "b \n T\fd^}" [opoint omin nomax buffer-size omax] 3)) search-forward "\nIndirect:\n" nil t "Cannot tagify split info file" "Node:[ ]*\\([^,\n ]*\\)[, \n]" list case-fold-search regexp "\n" 0 beg 2 re-search-backward 1 -8 buffer-read-only "\nEnd tag table\n" end search-backward "\nTag table:\n" "\f\nTag table:\n" Info-tag-table-marker "Node: " 127 princ 10 "Tagifying %s ... done"] 5 (#$ . 508) nil]) #@590 Split an info file into an indirect file plus bounded-size subfiles. Each subfile will be up to 50,000 characters plus one node. To use this command, first visit a large Info file that has a tag table. The buffer is modified into a (small) indirect info file which should be saved in place of the original visited file. The subfiles are written in the same directory the original file is in, with names generated by appending `-' and a number to the original file name. The indirect file still functions as an Info file, but it contains just the tag table and a directory of subfiles. (defalias 'Info-split #[nil " W !eb!u`\f! dby#?!!!M!yue`}eb`TdW`\\d^b#\\ !\"PDBce` \"P#`S`|u`Z\\`|T[)b@A@@@S\"Abc!c." [buffer-size 70000 error "This is too small to be worth splitting" search-forward "" -1 0 nil 1 t file-name-sans-versions buffer-file-name filename case-fold-search subfile-number subfiles chars-deleted start -8 buffer-read-only "\nEnd tag table\n" "Tag table required; use M-x Info-tagify" search-backward "\nTag table:\n" looking-at "\nTag table:\n" "Tag table is just a skeleton; use M-x Info-tagify" 50000 move file-name-nondirectory format "-%d" "\n" write-region ": %d" "\nIndirect:\n" "\nTag Table:\n" "(Indirect)\n"] 8 (#$ . 1333) nil]) #@110 Check current buffer for validity as an Info file. Check that every node pointer points to an existing node. (defalias 'Info-validate #[nil "~eb#p!\"eb‰ \n \f #y`y\f#ϔϕbx`{ \"hE B #}וb E B ))(eb#y`‰y\f##`}ϔϕbx`{#1!1 \"1 \"A@&  \" @A@ᚃ @@ @ \"  A )1E B #@!#O!#r#r`w`){P \"Web#ה\\bw`w`){P!\"u)+ ?\n \n3 '! @@!! @A@  \" ׉O!! !) @8! @8  \" ׉O!! !)  A \n/!G!Aqp!)@!." [search-forward "\nTag table:\n(Indirect)\n" nil t error "Don't yet know how to validate indirect info files: \"%s\"" buffer-name (("*")) "Node:[ ]*\\([^,\n ]*\\)[, \n]" lossages tags-losing case-fold-search regexp allnodes "\n" 1 beg re-search-backward " " name assoc "Duplicate node-name" "prev[ious]*:" 0 Info-following-node-name next thisnode move search-backward "next:" Info-validate-node-name "invalid Next" tem "should have Previous" delq "invalid Previous" "up:" "invalid Up" re-search-forward "\n* Menu:" "\n\\* " "invalid menu item " "^:" Info-extract-menu-node-name "\\*note[ \n]*[^: ]*:" 5 " \n" "invalid reference " "Bad format cross-reference" Info-validate-tags-table " *problems in info file*" princ "In node \"" "\", " string-match "\n" "..." 2 ": " terpri "\nTags table must be recomputed\n" get-buffer kill-buffer message "File appears valid"] 6 (#$ . 2746) nil]) (defalias 'Info-validate-node-name #[(kind &optional name) "bwgU`wx`{GGV4HUG\"G \nE B " [name 0 " " nil 40 "^, \n" " " assoc allnodes thisnode kind lossages] 4]) (defalias 'Info-validate-tags-table #[nil "eb# Çō?" [search-forward "\nEnd tag table\n" nil t losing (byte-code "!S>\fb@@Ț5@@Q #5\"A\fTb!Ҕҕ{\"~ՔbAA@p!ZVwz[WB\"By+!\"Ň" [0 end search-backward "\nTag table:\n" start nil tem allnodes "*" search-forward "Node: " "" t throw losing x looking-at ".*Node: \\(.*\\)\\([0-9]+\\)$" 1 assoc 1000 2 read y "End tag table\n" z] 5)] 4]) #@268 Runs `Info-validate' on the files remaining on the command line. Must be used only with -batch, and kills Emacs on completion. Each file will be processed even if an error occurred previously. For example, invoke "emacs -batch -f batch-info-validate $info/ ~/*.info" (defalias 'batch-info-validate #[nil "!ĉʼn \nĉ\f h@!  !C \"A! !X !A! \fB\fA$\f\f@ \fA\fُ)h !." [noninteractive error "batch-info-validate may only be used -batch." t nil 259259 kept-new-versions kept-old-versions find-file-run-dired auto-save-default version-control 0 files file command-line-args-left expand-file-name file-exists-p message ">> %s does not exist!" 1 file-directory-p directory-files lose err (byte-code "p! !p!! db#- \">dW; \"> ) \"!S! !|! \"qed{!)!)  \" Ƈ" [buffer-file-name kill-buffer find-file file buffer-disable-undo set-buffer-modified-p nil fundamental-mode case-fold-search search-backward "\n\f\nTag table:\n" t message "%s already tagified" 30000 "%s too small to bother tagifying" Info-tagify " *problems in info file*" loss-name "Checking validity of info file %s..." get-buffer Info-validate "----------------------------------------------------------------------" ">> PROBLEMS IN INFO FILE %s" princ 1 error lose buffer-modified-p "Saving modified %s" save-buffer] 4) ((error (byte-code " !\"" [message ">> Error: %s" prin1-to-string err] 4))) kill-emacs] 6 (#$ . 5090)])