;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Mon Apr 17 19:39:39 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/fill.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/fill.el' was compiled for Emacs 19")) #@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 (#$ . -478)) #@56 *Non-nil means a single space does not end a sentence. (defconst sentence-end-double-space t (#$ . -872)) #@45 Mode-specific function to fill a paragraph. (defvar fill-paragraph-function nil (#$ . 984)) #@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 (#$ . 1083) nil]) #@67 *Non-nil means determine a paragraph's fill prefix from its text. (defconst adaptive-fill-mode t (#$ . -1430)) #@228 *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. (defconst adaptive-fill-regexp "[ ]*\\([#;>*]+ +\\)?" (#$ . -1548)) #@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 "y`` \" $Z \f $KSbiWK\n]." [0 here here-col nil eol margin fill-col change col get-text-property right-margin fill-column text-property-not-all] 6 (#$ . 1851)]) #@143 Remove extra spaces between words in region. Puts one space between words in region; two between sentences. Remove indenation from each line. (defalias 'canonically-space-region #[(beg end) "b\n$`\nWD\n#DȔx /h>/͂;h\":Ȃ;)\\ȕ| b`\nW\\\n#\\!G)" [beg subst-char-in-region end 9 32 re-search-forward " *" t 0 " ]})\"'" nil sentence-end-double-space (46 63 33) 2 char-equal 10 1 "[.?!][])}\"']*$" insert-and-inherit] 5 (#$ . 2493) "r"]) #@678 Fill the region as one paragraph. 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. 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, and fourth arg NOSQUEEZE non-nil means not to make spaces between words canonical before filling. 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) "=`B\n ^b\n ]` b`\nVM`Sf=M D=`S\"D!! \\`\nV\\ ))`\nbwy` Y?{ Ԙ\nblyy ` W`!`{G$))\nby` }\nbml W y\nd#> W\n \nb!Ԛ?!!Q\"c G\\ Y7!\nbymS\"!M`ϕ|y=\nb\"!aϕb`)y`d#\nb#!p\nbw\nd$-=`d\"db !eb23m`2 T!m- 2x6`2\\Vh=g=`Zf=u2x3U2xn)3iYW:3!mS:EoS6Su!A!?)Sww:!)Zu3U`eZGWe`{`eZO:m:o6u!!?)ww:)xc`S``!# Ԛ!i3m#y#y*db)u)" [buffer-undo-list t from to nil oneleft 10 use-hard-newlines get-text-property hard delete-backward-char 1 backward-char newline " \n" 0 justify current-justification fill-prefix adaptive-fill-mode "" move-to-left-margin start re-search-forward adaptive-fill-regexp set-text-properties current-indentation current-left-margin indent-to-left-margin remove-text-properties (hard nil) (right center) "[ ]*" regexp-quote fpre current-fill-column error "fill-prefix too long for specified width" looking-at indent-region "[.?!][])}\"']*$" insert-and-inherit 32 " " subst-char-in-region nosqueeze full canonically-space-region delete-horizontal-space " " linebeg prefixcol move-to-column "^ \n" sentence-end-double-space 2 46 -2 first -1 "\\. " "\\. " text-properties-at justify-current-line] 6 (#$ . 2987) (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) " !*@` n!` ` \n\fb 8 \n #? \n #," [fill-paragraph-function nil function arg before forward-paragraph newline 1 backward-paragraph beg end use-hard-newlines fill-region fill-region-as-paragraph] 5 (#$ . 5433) (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 (#$ . 6104) (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) (#$ . -7087)) (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 (#$ . 7546)]) #@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 (#$ . 7955) (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 (#$ . 9263) (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 (#$ . 9581) (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 (#$ . 9964) (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 (#$ . 10325) (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 (#$ . 10709) (list (if mark-active (region-beginning) (point)) (if mark-active (region-end) (point)))]) #@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 JJ`\"Jxn>_iU`\fyw٘`dG`\\^{Gu!וb`wi ` \fbi\n=\nZ Wbi  \\W  \\\"` !`| b  \\j U`ȓ=W  Z\n ZZ\\  W>bi W2 \"` !`| b j U`ȓ= \f}\"p \f\"db\nZ V# V!\\(V#db!x(S()!x S )!bȉ.ȇ" [how t current-justification none full (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 "" adaptive-fill-mode looking-at adaptive-fill-regexp right move-to-column center current-left-margin 2 nosqueeze canonically-space-region search-backward " " random 3 nmove insert-and-inherit error "Unknown justification value"] 9 (#$ . 11016) nil]) #@275 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-jusitified, it removes extra spaces between words. It does nothing in other justification modes. (defalias 'unjustify-current-line #[nil " = Â` =Â` =, ``)\"` >`\"\nX\n˘X\n`d\nG`\\^{X\nGu`w`|))" [current-justification justify left nil full beginning-of-line-text canonically-space-region (center right) move-to-left-margin t fill-prefix "" " "] 6 (#$ . 12723)]) #@344 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-jusitified 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 (#$ . 13321)]) #@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 (#$ . 13814) (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?y`ɉ Z !k`w`){! ym! !Gu!)? !Gu!!)?Nn`#!,9*" [min 0 max mailp looking-at "[ ]*[^ \n]*:" "[ ]*$" search-forward "\n\n" nil move 1 " \n" fill-prefix-regexp fill-prefix start " " regexp-quote fill-individual-varying-indent paragraph-separate paragraph-start had-newline fill-region-as-paragraph justify delete-char -1] 4 (#$ . 14596) (list (region-beginning) (region-end) (if current-prefix-arg (quote full)))])