;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:37:44 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/delim-col.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`delim-col.el' was compiled for Emacs 19.29 or later"))

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


(custom-declare-group 'columns nil "Prettify columns" :link '(emacs-library-link :tag "Source Lisp File" "delim-col.el") :prefix "delimit-columns-" :group 'internal)
#@54 *Specify a string to be inserted before all columns.
(custom-declare-variable 'delimit-columns-str-before '"" '(#$ . -786) :type '(string :tag "Before All Columns") :group 'columns)
#@55 *Specify a string to be inserted between each column.
(custom-declare-variable 'delimit-columns-str-separator '", " '(#$ . -974) :type '(string :tag "Between Each Column") :group 'columns)
#@53 *Specify a string to be inserted after all columns.
(custom-declare-variable 'delimit-columns-str-after '"" '(#$ . -1169) :type '(string :tag "After All Columns") :group 'columns)
#@54 *Specify a string to be inserted before each column.
(custom-declare-variable 'delimit-columns-before '"" '(#$ . -1355) :type '(string :tag "Before Each Column") :group 'columns)
#@53 *Specify a string to be inserted after each column.
(custom-declare-variable 'delimit-columns-after '"" '(#$ . -1540) :type '(string :tag "After Each Column") :group 'columns)
#@48 *Specify a regexp which separates each column.
(custom-declare-variable 'delimit-columns-separator '"	" '(#$ . -1722) :type '(regexp :tag "Column Separator") :group 'columns)
#@1125 *Specify how to format columns.

For examples below, consider:

   + columns `ccc' and `dddd',
   + the maximum column length for each column is 6,
   + and the following settings:
      (setq delimit-columns-before "<")
      (setq delimit-columns-after ">")
      (setq delimit-columns-separator ":")

Valid values are:

   nil		no formating.  That is, `delimit-columns-after' is followed by
		`delimit-columns-separator'.
		For example, the result is: "<ccc>:<dddd>:"

   t		align columns.  That is, `delimit-columns-after' is followed by
		`delimit-columns-separator' and then followed by spaces.
		For example, the result is: "<ccc>:   <dddd>:  "

   'separator	align separators.  That is, `delimit-columns-after' is followed
		by spaces and then followed by `delimit-columns-separator'.
		For example, the result is: "<ccc>   :<dddd>  :"

   'padding	format column by filling with spaces before
		`delimit-columns-after'.  That is, spaces are followed by
		`delimit-columns-after' and then followed by
		`delimit-columns-separator'.
		For example, the result is: "<ccc   >:<dddd  >:"

Any other value is treated as t.
(custom-declare-variable 'delimit-columns-format 't '(#$ . -1905) :type '(choice :menu-tag "Column Formating" :tag "Column Formating" (const :tag "No Formating" nil) (const :tag "Column Alignment" t) (const :tag "Separator Aligment" separator) (const :tag "Column Padding" padding)) :group 'columns)
#@142 *Non-nil means that lines will have the same number of columns.

This has effect only when there are lines with different number of columns.
(custom-declare-variable 'delimit-columns-extra 't '(#$ . -3336) :type '(boolean :tag "Lines With Same Number Of Column") :group 'columns)
#@457 *Specify column number to start prettifing.

See also `delimit-columns-end' for documentation.

The following relation must hold:
   0 <= delimit-columns-start <= delimit-columns-end

The column number start from 0 and it's relative to the beginning of selected
region.  So if you selected a text region, the first column (column 0) is
located at beginning of line.  If you selected a text rectangle, the first
column (column 0) is located at left corner.
(custom-declare-variable 'delimit-columns-start '0 '(#$ . -3623) :type '(integer :tag "Column Start") :group 'columns)
#@457 *Specify column number to end prettifing.

See also `delimit-columns-start' for documentation.

The following relation must hold:
   0 <= delimit-columns-start <= delimit-columns-end

The column number start from 0 and it's relative to the beginning of selected
region.  So if you selected a text region, the first column (column 0) is
located at beginning of line.  If you selected a text rectangle, the first
column (column 0) is located at left corner.
(custom-declare-variable 'delimit-columns-end '1000000 '(#$ . -4205) :type '(integer :tag "Column End") :group 'columns)
#@35 Customization of `columns' group.
(defalias 'delimit-columns-customize #[nil "\300\301!\207" [customize-group columns] 2 (#$ . 4788) nil])
(defalias 'delimit-columns-str '(macro . #[(str) "\301\302D\303BBB\207" [str if stringp ("")] 4]))
#@81 Prettify all columns in a text region.

START and END delimits the text region.
(defalias 'delimit-columns-region #[(start end) ";\203	 \202\n \306	;\203 	\202 \306\n;\203 \n\202 \306;\203' \202( \306\f;\2031 \f\2022 \306\250\203A \307Y\203A \202B \307\250\203M \202N \310\311 \312!\313X\205\255 \212b\210\314 \210\203\215 \212`W\203\214 \315`\313\210!\210\316u\210\202x )`W\203\241 \317`\313\210!\210\316u\210\202\215 \313\211\223\210\313\211\223).\n\207" [delimit-columns-str-before delimit-columns-str-separator delimit-columns-str-after delimit-columns-before delimit-columns-after delimit-columns-start "" 0 1000000 make-marker copy-marker nil beginning-of-line delimit-columns-rectangle-max 1 delimit-columns-rectangle-line delimit-columns-end end delimit-columns-max the-end delimit-columns-limit start delimit-columns-format] 10 (#$ . 5034) "*r"])
(require 'rect)
#@98 Prettify all columns in a text rectangle.

START and END delimits the corners of text rectangle.
(defalias 'delimit-columns-rectangle #[(start end) ";\203	 \202\n \306	;\203 	\202 \306\n;\203 \n\202 \306;\203' \202( \306\f;\2031 \f\2022 \306\250\203A \307Y\203A \202B \307\250\203M \202N \310\311 \312!\313X\205\220 \203z \212\314\315\313$\210)\212\314\316\313$\210)\313\211\223\210\313\211\223.\n\207" [delimit-columns-str-before delimit-columns-str-separator delimit-columns-str-after delimit-columns-before delimit-columns-after delimit-columns-start "" 0 1000000 make-marker copy-marker nil operate-on-rectangle delimit-columns-rectangle-max delimit-columns-rectangle-line delimit-columns-end end delimit-columns-max the-end delimit-columns-limit delimit-columns-format start] 10 (#$ . 5960) "*r"])
(byte-code "\301B\303\301!\204\f \304\302B\303\302!\204 \304\304\207" [current-load-list delimit-columns-max delimit-columns-limit boundp nil] 2)
(defalias 'delimit-columns-rectangle-max #[(startpos &optional ignore ignore) "`\306\223\210	b\210\307\306\211i\310\311#\203* \212\312\224b\210iZ\nB)\fT\202 iZ\nB\fG\fV\203a \313\f\312\"\312V\203\\ S\fHI\210\202B \f))\n\205} \fS\f\f\f\fH\n@]I\210\nA\211\204f \306+\207" [delimit-columns-limit startpos values origin ncol delimit-columns-separator nil 1 re-search-forward move 0 make-vector delimit-columns-max index extend] 5])
(defalias 'delimit-columns-rectangle-line #[(startpos &optional ignore ignore) "G\306\307\f`\307\223\210b\210\nW\203, `\fW\203, \310\f\311#\203, \nT\211\202 \261\210i`\fW\203o \310\f\311#\203o \nW\204R \306\224b\210\202o \306\224`|\210\312\n\205g \313\nHi	ZZ\314\"!\210\nT\2023 \n\205~ \313\nHi	ZZ\314\"\203\252 \nT\211W\203\252 \nX\203\252 \312!\210\n\205\245 \313\nH\314\"\202\205 \n\204\271 \261\210\202\325 \n\315=\203\314 \261\210\202\325 \261\210)`\f]b+\207" [delimit-columns-max origin ncol len delimit-columns-limit startpos 0 nil re-search-forward move delimit-columns-format make-string 32 padding delimit-columns-start delimit-columns-separator delimit-columns-str-before delimit-columns-before delimit-columns-end spaces delimit-columns-extra delimit-columns-after delimit-columns-str-after] 6])
(defalias 'delimit-columns-format #[(spaces) "\204\n 	\n\261\207\305=\203 	\f\n\261\207\306=\203$ \f	\n\261\207	\n\f\261\207" [delimit-columns-format delimit-columns-after delimit-columns-str-separator delimit-columns-before spaces separator padding] 4])
(provide 'delim-col)
