;;; DO NOT MODIFY THIS FILE
(if (featurep 'latin-unity-autoloads) (error "Already loaded"))

;;;### (autoloads nil "_pkg" "latin-unity/_pkg.el")

(package-provide 'latin-unity :version 1.09 :author-version "1.09" :type 'regular)

;;;***

;;;### (autoloads nil "latin-unity-latin10" "latin-unity/latin-unity-latin10.el")

(unless (find-charset 'latin-iso8859-16) (make-charset 'latin-iso8859-16 "ISO8859-16 (Latin 10)" (append (if (emacs-version>= 21 4) '(short-name "Latin-10" long-name "ISO8859-16 (Latin 10)") nil) '(registry "iso8859-16" dimension 1 columns 1 chars 96 final ?f graphic 1 direction l2r))) (require 'cl) (load "cl-macs" nil t) (loop for c from 64 to 127 do (modify-syntax-entry (make-char 'latin-iso8859-16 c) "w")) (mapc (lambda (c) (modify-syntax-entry (make-char 'latin-iso8859-16 c) "w")) '(161 162 163 166 168 170 172 174 175 179 180 181 184 185 186 188 189 190 191)))

(unless (find-coding-system 'iso-8859-16) (make-coding-system 'iso-8859-16 'iso2022 "MIME ISO-8859-16" '(charset-g0 ascii charset-g1 latin-iso8859-16 charset-g2 t charset-g3 t mnemonic "MIME/Ltn-10")))

(unless (assoc "Latin-10" language-info-alist) (defun setup-latin10-environment nil "Set up multilingual environment (MULE) for European Latin-10 users." (interactive) (set-language-environment "Latin-10")) (apply (function set-language-info-alist) (append (backquote ("Latin-10" ((charset ascii latin-iso8859-16) (coding-system iso-8859-16) (coding-priority iso-8859-16) (input-method . "latin-10-prefix") (sample-text \, (format "Hey, if you know Romanian, send sample encoded text (eg, using \"comma-below\"\ncharacters) to xemacs-beta@xemacs.org.  Please use a MIME\napplication/octet-stream attachment if possible.")) (documentation . "This is a generic language environment for Latin-10 (ISO-8859-16).  It\nsupports Romanian and most Western European languages.")))) (if (emacs-version>= 21 1 15) '(("European")) nil))))

;;;***

;;;### (autoloads nil "latin-unity-latin7" "latin-unity/latin-unity-latin7.el")

;;;***

;;;### (autoloads nil "latin-unity-latin8" "latin-unity/latin-unity-latin8.el")

(unless (find-charset 'latin-iso8859-14) (make-charset 'latin-iso8859-14 "ISO8859-14 (Latin 8)" (append (if (emacs-version>= 21 4) '(short-name "Latin-8" long-name "ISO8859-16 (Latin 8)") nil) '(registry "iso8859-14" dimension 1 columns 1 chars 96 final ?_ graphic 1 direction l2r))) (require 'cl) (load "cl-macs" nil t) (loop for c from 32 to 127 do (modify-syntax-entry (make-char 'latin-iso8859-14 c) "w")) (mapc (lambda (c) (modify-syntax-entry (make-char 'latin-iso8859-14 c) "_")) '(163 167 169 173 174 182)))

(unless (find-coding-system 'iso-8859-14) (make-coding-system 'iso-8859-14 'iso2022 "MIME ISO-8859-14" '(charset-g0 ascii charset-g1 latin-iso8859-14 charset-g2 t charset-g3 t mnemonic "MIME/Ltn-8")))

(unless (assoc "Latin-8" language-info-alist) (defun setup-latin8-environment nil "Set up multilingual environment (MULE) for European Latin-8 users." (interactive) (set-language-environment "Latin-8")) (apply (function set-language-info-alist) (append (backquote ("Latin-8" ((charset ascii latin-iso8859-14) (coding-system iso-8859-14) (coding-priority iso-8859-14) (input-method . "latin-8-prefix") (sample-text \, (format "Hey, if you know a Celtic language, send sample encoded text (eg, using\n\"dot-above\" characters) to xemacs-beta@xemacs.org.  Please use a MIME\napplication/octet-stream attachment if possible.")) (documentation . "This is a generic language environment for Latin-8 (ISO-8859-14).  It\nsupports Celtic and most Western European languages.")))) (if (emacs-version>= 21 1 15) '(("European")) nil))))

;;;***

;;;### (autoloads nil "latin-unity-latin9" "latin-unity/latin-unity-latin9.el")

(unless (find-charset 'latin-iso8859-15) (make-charset 'latin-iso8859-15 "ISO8859-15 (Latin 9)" (append (if (emacs-version>= 21 4) '(short-name "Latin-9" long-name "ISO8859-15 (Latin 9)") nil) '(registry "iso8859-15" dimension 1 columns 1 chars 96 final ?b graphic 1 direction l2r))) (require 'cl) (load "cl-macs" nil t) (loop for c from 64 to 127 do (modify-syntax-entry (make-char 'latin-iso8859-15 c) "w")) (mapc (lambda (c) (modify-syntax-entry (make-char 'latin-iso8859-15 c) "w")) '(166 168 180 184 188 189 190)) (modify-syntax-entry (make-char 'latin-iso8859-15 32) "w") (modify-syntax-entry (make-char 'latin-iso8859-15 87) "_") (modify-syntax-entry (make-char 'latin-iso8859-15 119) "_"))

(unless (find-coding-system 'iso-8859-15) (make-coding-system 'iso-8859-15 'iso2022 "MIME ISO-8859-15" '(charset-g0 ascii charset-g1 latin-iso8859-15 charset-g2 t charset-g3 t mnemonic "MIME/Ltn-9")))

(unless (assoc "Latin-9" language-info-alist) (defun setup-latin9-environment nil "Set up multilingual environment (MULE) for European Latin-9 users." (interactive) (set-language-environment "Latin-9")) (apply (function set-language-info-alist) (append (backquote ("Latin-9" ((charset ascii latin-iso8859-15) (coding-system iso-8859-15) (coding-priority iso-8859-15) (input-method . "latin-9-prefix") (sample-text \, (format "Hello, Hej, Tere, Hei, Bonjour, Gr%c%c Gott, Ciao, %cHola!, my %c0.02" (make-char 'latin-iso8859-15 124) (make-char 'latin-iso8859-15 95) (make-char 'latin-iso8859-15 33) (make-char 'latin-iso8859-15 36))) (documentation . "This is a generic language environment for Latin-9 (ISO-8859-15).  It\nsupports the Euro and the following languages:\n Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic,\n Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish.\nWe also have a German specific language environment \"German\".")))) (if (emacs-version>= 21 1 15) '(("European")) nil))))

(unless (lookup-key global-map [EuroSign]) (define-key global-map [EuroSign] (function self-insert-command)))

(unless (get 'EuroSign 'ascii-character) (put 'EuroSign 'ascii-character (make-char 'latin-iso8859-15 36)))

;;;***

;;;### (autoloads (latin-unity-example latin-unity-remap-region latin-unity-recode-coding-region latin-unity-recode-region latin-unity-sanity-check latin-unity-representations-feasible-region latin-unity-representations-feasible-buffer latin-unity-uninstall latin-unity-install) "latin-unity" "latin-unity/latin-unity.el")

(autoload 'latin-unity-install "latin-unity" "\
Set up hooks and initialize variables for latin-unity.

This function is idempotent.  It will reinitialize any hooks or variables
that are not in initial state." t nil)

(autoload 'latin-unity-uninstall "latin-unity" "\
Clean up hooks and void variables used by latin-unity." t nil)

(autoload 'latin-unity-representations-feasible-buffer "latin-unity" "\
Apply latin-unity-representations-feasible-region to the current buffer." t nil)

(autoload 'latin-unity-representations-feasible-region "latin-unity" "\
Return character sets that can represent the text from BEGIN to END in BUF.

BUF defaults to the current buffer.  Called interactively, will be
applied to the region.  Function assumes BEGIN <= END.

The return value is a cons.  The car is the list of character sets
that can individually represent all of the non-ASCII portion of the
buffer, and the cdr is the list of character sets that can
individually represent all of the ASCII portion." t nil)

(autoload 'latin-unity-sanity-check "latin-unity" "\
Check if CODING-SYSTEM can represent all characters between BEGIN and END.

If not, attempt to remap Latin characters to a single Latin-N set.

For compatibility with old broken versions of `write-region', CODING-SYSTEM
defaults to `buffer-file-coding-system'.  FILENAME, APPEND, VISIT, and
LOCKNAME are ignored.

Return nil if buffer-file-coding-system is not (ISO-2022-compatible) Latin.
If buffer-file-coding-system is safe for the charsets actually present in
the buffer, return it.  Otherwise, ask the user to choose a coding system,
and return that.  If the user is asked to choose, possibly set the
`buffer-file-coding-system' depending on `latin-unity-may-set-coding-flag'.

This function does _not_ do the safe thing when `buffer-file-coding-system'
is nil (= no-conversion).  It considers that \"non-Latin\", and passes it on
to the Mule detection mechanism.  This could result in corruption.  So avoid
setting `buffer-file-coding-system' to nil or 'no-conversion or 'binary.

This function is intended for use as a `write-region-pre-hook'.  It does
nothing except return nil if `write-region' handlers are inhibited." nil nil)

(autoload 'latin-unity-recode-region "latin-unity" "\
Recode characters between BEGIN and END from WRONG-CS to RIGHT-CS.

When called interactively, BEGIN and END are set to the beginning and
end, respectively, of the active region, and XEmacs prompts for WRONG-CS
and RIGHT-CS.

WRONG-CS and RIGHT-CS are character sets.  Characters retain the same code
point but the character set is changed.  Only characters from WRONG-CS are
changed to RIGHT-CS.  The identity of the character may change.  Note that
this could be dangerous, if characters whose identities you do not want
changed are included in the region.  This function cannot guess which
characters you want changed, and which should be left alone.

Another way to accomplish this, but using coding systems rather than character
sets to specify the desired recoding, is `latin-unity-recode-coding-region'.
That function may be faster but is somewhat more dangerous, because it may
recode more than one character set.

To change from one Mule representation to another without changing identity
of any characters, use `latin-unity-remap-region'." t nil)

(autoload 'latin-unity-recode-coding-region "latin-unity" "\
Recode text between BEGIN and END from WRONG-CS to RIGHT-CS.

When called interactively, BEGIN and END are set to the beginning and
end, respectively, of the active region, and XEmacs prompts for WRONG-CS
and RIGHT-CS.

WRONG-CS and RIGHT-CS are coding systems.  Characters retain the same code
point but the character set is changed.  The identity of characters may change.
This is an inherently dangerous function; multilingual text may be recoded in
unexpected ways.  #### It's also dangerous because the coding systems are not
sanity-checked in the current implementation.

Another, safer, way to accomplish this, using character sets rather than coding
systems to specify the desired recoding, is to use `latin-unity-recode-region.

To change from one Mule representation to another without changing identity
of any characters, use `latin-unity-remap-region'." t nil)

(autoload 'latin-unity-remap-region "latin-unity" "\
Remap characters between BEGIN and END to equivalents in CHARACTER-SET.
Optional argument CODING-SYSTEM may be a coding system name (a symbol) or
nil.  Characters with no equivalent are left as-is.

When called interactively, BEGIN and END are set to the beginning and
end, respectively, of the active region, and XEmacs prompts for
CHARACTER-SET.

Return CODING-SYSTEM if CODING-SYSTEM can encode all characters in the
region, t if CODING-SYSTEM is nil and the coding system with G0 = 'ascii
and G1 = CHARACTER-SET can encode all characters, and otherwise nil.  Note
that a non-null return does _not_ mean it is safe to write the file, only
the specified region.  (This behavior is useful for multipart MIME encoding
and the like.)

Interactively BEGIN and END are set to the current region and the function
prompts for CHARACTER-SET.  There is no way to specify CODING-SYSTEM, as it
has no useful function interactively.

Note:  by default this function is quite fascist about universal coding
systems.  It only admits utf-8, iso-2022-7, and ctext.  Customize
`latin-unity-ucs-list' to change this.

This function remaps characters that are artificially distinguished by Mule
internal code.  It may change the code point as well as the character set.
To recode characters that were decoded in the wrong coding system, use
`latin-unity-recode-region'." t nil)

(autoload 'latin-unity-example "latin-unity" "\
An example of the latin-unity package.

At present it just makes a multilingual buffer.  To test, setq
buffer-file-coding-system to some value, make the buffer dirty (eg
with RET BackSpace), and save." t nil)

;;;***

(provide 'latin-unity-autoloads)
