;ELC ;;; compiled by handa@tsingyi.etl.go.jp on Wed Aug 19 12:43:11 1998 ;;; from file /net/mulelab/export/dist/mule-2.3-19.34/lisp/fill.el ;;; emacs version 19.34. ;;; 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.29"))) (error "`fill.el' was compiled for Emacs 19.29 or later")) #@331 *Controls criterion for a new paragraph in `fill-individual-paragraphs'. Non-nil means changing indent doesn't end a paragraph. That mode can handle paragraphs with extra indentation on the first line, but it requires separator lines between paragraphs. A value of nil means that any change in indentation starts a new paragraph. (defconst fill-individual-varying-indent nil (#$ . -484)) #@56 *Non-nil means a single space does not end a sentence. (defconst sentence-end-double-space t (#$ . -878)) #@59 *Non-nil means put two spaces after a colon when filling. (defconst colon-double-space nil (#$ . -990)) #@143 Mode-specific function to fill a paragraph, or nil if there is none. If the function returns nil, then `fill-paragraph' does its normal work. (defvar fill-paragraph-function nil (#$ . 1101)) #@160 Set the fill prefix to the current line up to point. Filling expects lines to start with the fill prefix and reinserts the fill prefix in each resulting line. (defalias 'set-fill-prefix #[nil " `)`{š  \"!" [move-to-left-margin fill-prefix "" nil message "fill-prefix: \"%s\"" "fill-prefix cancelled"] 4 (#$ . 1299) nil]) #@67 *Non-nil means determine a paragraph's fill prefix from its text. (defconst adaptive-fill-mode t (#$ . -1646)) #@306 *Regexp to match text at start of line that constitutes indentation. If Adaptive Fill mode is enabled, whatever text matches this pattern on the second line of a paragraph is used as the standard indentation for the paragraph. If the paragraph has just one line, the indentation is taken from that line. (defconst adaptive-fill-regexp "[ ]*\\([#;>*]+ +\\)?" (#$ . -1764)) #@126 *Function to call to choose a fill prefix for a paragraph. This function is used when `adaptive-fill-regexp' does not match. (defvar adaptive-fill-function nil (#$ . -2145)) #@377 Return the fill-column to use for this line. The fill-column to use for a buffer is stored in the variable `fill-column', but can be locally modified by the `right-margin' text property, which is subtracted from `fill-column'. The fill column to use for a line is the first column at which the column number equals or exceeds the local fill-column - right-margin difference. (defalias 'current-fill-column #[nil "Xy`` \n\"*Z\n $RSbi WR  ].)" [fill-column 0 here here-col nil eol margin fill-col change col get-text-property right-margin text-property-not-all] 6 (#$ . 2326)]) #@231 Remove extra spaces between words in region. Leave one space between words, two at end of sentences or after colons (depending on values of `sentence-end-double-space' and `colon-double-space'). Remove indentation from each line. (defalias 'canonically-space-region #[(beg end) "b\n$`\nWS\n#SȔx /h>/͂J>hU>͂Jh\"IȂJ)\\ȕ| b`\nWk\n#k!V)" [beg subst-char-in-region end 9 32 re-search-forward " *" t 0 " ]})\"'" nil sentence-end-double-space (46 63 33) 2 colon-double-space 58 char-equal 10 1 "[.?!][])}\"']*$" insert-before-markers-and-inherit] 5 (#$ . 2976) "r"]) (defalias 'fill-move-backward-to-break-point #[(regexp &optional lim) "`\n #u`Xu)" [opoint re-search-backward regexp lim move nil -1] 4]) (defalias 'fill-move-forward-to-break-point #[(regexp &optional lim) "`\n #u`Xu) " [opoint re-search-forward regexp lim move -1 nil kinsoku-shori-nobashi] 4]) (defalias 'fill-end-of-sentence-p #[nil "xh>)" [" ]})\"'" nil (46 63 33)] 2]) #@255 Compute a fill prefix from the text between FROM and TO. This uses the variables `adaptive-fill-prefix' and `adaptive-fill-function'. If FIRST-LINE-REGEXP is non-nil, then when taking a prefix from the first line, insist it must match FIRST-LINE-REGEXP. (defalias 'fill-context-prefix #[(from to &optional first-line-regexp) "bl y`‰y`Y! b# `  !?N\fF\f!F Ε\"NN e\fdd \"e -" [from 1 nil result at-second firstline to t move-to-left-margin start looking-at paragraph-start adaptive-fill-regexp buffer-substring-no-properties 0 adaptive-fill-function first-line-regexp string-match] 4 (#$ . 4019)]) #@840 Fill the region as one paragraph. It removes any paragraph breaks in the region and extra newlines at the end, indents and fills lines between the margins given by the `current-left-margin' and `current-fill-column' functions. It leaves point at the beginning of the line following the paragraph. Normally performs justification according to the `current-justification' function, but with a prefix arg, does full justification instead. From a program, optional third arg JUSTIFY can specify any type of justification. Fourth arg NOSQUEEZE non-nil means not to make spaces between words canonical before filling. Fifth arg SQUEEZE-AFTER, if non-nil, means don't canonicalize spaces before that position. If `sentence-end-double-space' is non-nil, then period followed by one space does not end a sentence, so don't break a line there. (defalias 'fill-region-as-paragraph #[(from to &optional justify nosqueeze squeeze-after) "=`B\n ^b\n ]w`y` b`\nVZ`Sf=ZP\nI`S\"P!)!)`k Vk b* `V ՘\n \"\nby` }\nbml W y\n\nd#> W \nb՚?!Q= !\\ Y!\nbym-!'`ȕ|y\nb!;ȕb`)y`d#\nb#bmJ\"!J\nbw,;y\nd$\nbmum,!uug=,!uc!)/=2`d\"db !eb,P678m`7 T!m/ 67\";8`7\\V8h=8g=8`Zf=8u67\"  8UM7xn)Q8iY@8!m@o;uA!B!?)wC6!@\\)h=u8U`DEF E`ZDWDGW`E{DO+@m@ o;uA!B!?)wC6!@)wm)0/ xG`gHIHUwmIbu,!Ibwmv,!vJ ITbmgUJ ITbIb*wm)/ cK`S`L`!# ՚!i8mM#yM#y+db)u)" [buffer-undo-list t from to " \n" nil oneleft from-plus-indent 0 10 use-hard-newlines get-text-property hard delete-backward-char 1 backward-char newline justify current-justification fill-prefix adaptive-fill-mode "" fill-context-prefix current-indentation current-left-margin indent-to-left-margin remove-text-properties (hard nil) (right center) "[ ]*" regexp-quote fpre string-width current-fill-column error "fill-prefix too long for specified width" looking-at indent-region re-search-forward "[.?!][])}\"']*$" insert-and-inherit 32 delete-char " " word-across-newline subst-char-in-region -1 nosqueeze full canonically-space-region squeeze-after delete-horizontal-space " " "[ \n]\\|" re-break-point linebeg prefixcol move-to-column fill-move-backward-to-break-point sentence-end-double-space 2 46 -2 kinsoku-shori first "\\. " "\\. " fill-move-forward-to-break-point nchars fill-point move-to-left-margin mc-flag ch start fill-end-of-sentence-p set-text-properties text-properties-at justify-current-line] 6 (#$ . 4684) (list (region-beginning) (region-end) (if current-prefix-arg (quote full)))]) #@339 Fill paragraph at or after point. Prefix arg means justify as well. If `sentence-end-double-space' is non-nil, then period followed by one space does not end a sentence, so don't break a line there. If `fill-paragraph-function' is non-nil, we call it (passing our argument to it), and if it returns non-nil, we simply return its value. (defalias 'fill-paragraph #[(arg) " !*T`n n!` `\n b\f;\n #C\n #+\fSn?SlSu*" [fill-paragraph-function nil function arg bolp before forward-paragraph newline 1 backward-paragraph beg end use-hard-newlines fill-region fill-region-as-paragraph] 5 (#$ . 7787) (list (if current-prefix-arg (quote full)))]) #@495 Fill each of the paragraphs in the region. Prefix arg (non-nil third arg, if called from program) means justify as well. Noninteractively, fourth arg NOSQUEEZE non-nil means to leave whitespace other than line breaks untouched, and fifth arg TO-EOP non-nil means to keep filling to the end of the paragraph (or next hard newline, if `use-hard-newlines' is on). If `sentence-end-double-space' is non-nil, then period followed by one space does not end a sentence, so don't break a line there. (defalias 'fill-region #[(from to &optional justify nosqueeze to-eop) " \f]b x ` \f^by`\n}m?` \ng`d$S\nfUS\ndUS\nTb4\n^d\nT^_d bq!`!` Wz b` Y`\n$\nb*%+" [nil beg end from to to-eop "\n" forward-paragraph 0 initial use-hard-newlines text-property-any hard t 10 1 -1 fill-region-as-paragraph justify nosqueeze] 5 (#$ . 8484) (list (region-beginning) (region-end) (if current-prefix-arg (quote full)))]) #@335 *Method of justifying text not otherwise specified. Possible values are `left', `right', `full', `center', or `none'. The requested kind of justification is done whenever lines are filled. The `justification' text-property can locally override this variable. This variable automatically becomes buffer-local when set in any fashion. (defconst default-justification (quote left) (#$ . -9467)) (make-variable-buffer-local (quote default-justification)) #@233 How should we justify this line? This returns the value of the text-property `justification', or the variable `default-justification' if there is no text-property. However, it returns nil rather than `none' to mean "don't justify". (defalias 'current-justification #[nil "wmo`S`)\"\f=?$ )" [get-text-property " " nil justification default-justification j none] 4 (#$ . 9926)]) #@660 Set the region's justification style. The kind of justification to use is prompted for. If the mark is not active, this command operates on the current paragraph. If the mark is active, the region is used. However, if the beginning and end of the region are not at paragraph breaks, they are moved to the beginning and end of the paragraphs they are in. If `use-hard-newlines' is true, all hard newlines are taken to be paragraph breaks. When calling from a program, operates just on region between BEGIN and END, unless optional fourth arg WHOLE-PAR is non-nil. In that case bounds are extended to include entire paragraphs as in the interactive command. (defalias 'set-justification #[(begin end value &optional whole-par) "B ‚ Ă bn,m,u ` bx ` *e }d\"d$d$*" [whole-par use-hard-newlines "." paragraph-start t paragraph-ignore-fill-prefix begin 1 backward-paragraph end " \n" forward-paragraph unjustify-region put-text-property justification value fill-region nil] 5 (#$ . 10335) (list (if mark-active (region-beginning) (point)) (if mark-active (region-end) (point)) (let ((s (completing-read "Set justification to: " (quote (("left") ("right") ("full") ("center") ("none"))) nil t))) (if (equal s "") (error "")) (intern s)) t)]) #@123 Disable automatic filling for paragraphs in the region. If the mark is not active, this applies to the current paragraph. (defalias 'set-justification-none #[(b e) " \n$" [set-justification b e none t] 5 (#$ . 11644) (list (if mark-active (region-beginning) (point)) (if mark-active (region-end) (point)))]) #@188 Make paragraphs in the region left-justified. This is usually the default, but see the variable `default-justification'. If the mark is not active, this applies to the current paragraph. (defalias 'set-justification-left #[(b e) " \n$" [set-justification b e left t] 5 (#$ . 11963) (list (if mark-active (region-beginning) (point)) (if mark-active (region-end) (point)))]) #@164 Make paragraphs in the region right-justified: Flush at the right margin and ragged on the left. If the mark is not active, this applies to the current paragraph. (defalias 'set-justification-right #[(b e) " \n$" [set-justification b e right t] 5 (#$ . 12347) (list (if mark-active (region-beginning) (point)) (if mark-active (region-end) (point)))]) #@188 Make paragraphs in the region fully justified: This makes lines flush on both margins by inserting spaces between words. If the mark is not active, this applies to the current paragraph. (defalias 'set-justification-full #[(b e) " \n$" [set-justification b e full t] 5 (#$ . 12709) (list (if mark-active (region-beginning) (point)) (if mark-active (region-end) (point)))]) #@107 Make paragraphs in the region centered. If the mark is not active, this applies to the current paragraph. (defalias 'set-justification-center #[(b e) " \n$" [set-justification b e center t] 5 (#$ . 13093) (list (if mark-active (region-beginning) (point)) (if mark-active (region-end) (point)))]) (byte-code "! B! B!! B!. B!;\n B!H\f B!U B!b B!o B!| B! B! B! B! B! B! B!\" B!$ B!& B!( B! * B!, B!, . B!S....,,2 B!f.2R7 B" [boundp ascii-char "[ -~]" current-load-list ascii-space "[ ]" ascii-symbols "[ -/:-@[-`{-~]" ascii-numeric "[0-9]" ascii-English-Upper "[A-Z]" ascii-English-Lower "[a-z]" ascii-alphanumeric "[0-9A-Za-z]" kanji-char "\\cj" kanji-space "" kanji-symbols "\\cS" kanji-numeric "[-]" kanji-English-Upper "[-]" kanji-English-Lower "[-]" kanji-hiragana "[-]" kanji-katakana "[-]" kanji-Greek-Upper "[-]" kanji-Greek-Lower "[-]" kanji-Russian-Upper "[-]" kanji-Russian-Lower "[-]" kanji-Kanji-1st-Level "[-]" kanji-Kanji-2nd-Level "[С-]" kanji-kanji-char "\\(\\cH\\|\\cK\\|\\cC\\)" aletter "\\(" "\\|" "\\)" kanji-space-insertable "" "" "" "" space-insertable " "] 17) (defalias 'find-space-insertable-point #[nil " #\fuÇ" [re-search-backward space-insertable nil t 1] 4]) #@669 Do some kind of justification on this line. Normally does full justification: adds spaces to the line to make it end at the column given by `current-fill-column'. Optional first argument HOW specifies alternate type of justification: it can be `left', `right', `full', `center', or `none'. If HOW is t, will justify however the `current-justification' function says to. If HOW is nil or missing, full justification is done by default. Second arg EOP non-nil means that this is the last line of the paragraph, so it will not be stretched by full justification. Third arg NOSQUEEZE non-nil means to leave interior whitespace unchanged, otherwise it is made canonical. (defalias 'justify-current-line #[(&optional how eop nosqueeze) "= \f!!>!> ɉ\n \f XX`\"Xxn>miU` ywژ`dG`\\^{G!!ؕb`wi\f` bi = Z\nWbi\f\n\\W\f\n\\\"`\f!`|b\f\n\\jU`ɓ=f  Z \fZZ\\\n\fWMbi\nWA\n\"`\f!`|b\njU`ɓ= }$ \"db Z\nV \nV!\\)V db x)S))!x\nS\n)!bɉ.ɇ" [how t current-justification none full (none left right center) (none left) current-fill-column point-marker nil ncols endcol indent end beg fp-end pos fc use-hard-newlines eop get-text-property hard " " (full right) 0 fill-prefix "" forward-byte adaptive-fill-mode looking-at adaptive-fill-regexp right move-to-column center current-left-margin 2 nosqueeze canonically-space-region find-space-insertable-point random 3 nmove " " insert-and-inherit error "Unknown justification value"] 9 (#$ . 14635) nil]) #@274 Remove justification whitespace from current line. If the line is centered or right-justified, this function removes any indentation past the left margin. If the line is full-justified, it removes extra spaces between words. It does nothing in other justification modes. (defalias 'unjustify-current-line #[nil " = Âa =Âa =, ``)\"a >a\"\nY\n˘Y\n`d\nG`\\^{Y\nG!`w`|))" [current-justification justify left nil full beginning-of-line-text canonically-space-region (center right) move-to-left-margin t fill-prefix "" forward-byte " "] 6 (#$ . 16411)]) #@343 Remove justification whitespace from region. For centered or right-justified regions, this function removes any indentation past the left margin from each line. For full-justified lines, it removes extra spaces between words. It does nothing in other justification modes. Arguments BEGIN and END are optional; default is the whole buffer. (defalias 'unjustify-region #[(&optional begin end) "\ne} ebm? y*" [end begin unjustify-current-line 1] 2 (#$ . 17022)]) #@508 Fill paragraphs within the region, allowing varying indentation within each. This command divides the region into "paragraphs", only at paragraph-separator lines, then fills each paragraph using as the fill prefix the smallest indentation of any line in the paragraph. When calling from a program, pass range to fill as first two arguments. Optional third and fourth arguments JUSTIFY and MAIL-FLAG: JUSTIFY to justify paragraphs (prefix arg), MAIL-FLAG for a mail message, i. e. don't fill header lines. (defalias 'fill-nonuniform-paragraphs #[(min max &optional justifyp mailp) " \f $)" [t fill-individual-varying-indent fill-individual-paragraphs min max justifyp mailp] 5 (#$ . 17514) (list (region-beginning) (region-end) (if current-prefix-arg (quote full)))]) #@491 Fill paragraphs of uniform indentation within the region. This command divides the region into "paragraphs", treating every change in indentation level as a paragraph boundary, then fills each paragraph using its indentation level as the fill prefix. When calling from a program, pass range to fill as first two arguments. Optional third and fourth arguments JUSTIFY and MAIL-FLAG: JUSTIFY to justify paragraphs (prefix arg), MAIL-FLAG for a mail message, i. e. don't fill header lines. (defalias 'fill-individual-paragraphs #[(min max &optional justify mailp) "by`\n} 5m5! !5!/#y`\n}wm? `ɉZ!qq!q!z`w`){!yn m!!Gu!)?!G!!!)?Nn`#!,9*" [min 0 max mailp looking-at "[ ]*[^ \n]+:" "[ ]*$" search-forward "\n\n" nil move 1 " \n" move-to-left-margin fill-prefix-regexp fill-prefix start adaptive-fill-mode adaptive-fill-regexp match-string " " regexp-quote fill-individual-varying-indent paragraph-separate forward-byte paragraph-start had-newline fill-region-as-paragraph justify delete-char -1] 4 (#$ . 18296) (list (region-beginning) (region-end) (if current-prefix-arg (quote full)))])