;ELC   
;;; Compiled by aatharuv@cutter-john.mit.edu on Sun Jan  5 18:14:15 2003
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/w3-4.0pre.47/lisp/mule-sysdp.el
;;; in Emacs version 21.1.1
;;; with bytecomp version 2.85
;;; 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 "`mule-sysdp.el' was compiled for Emacs 19.29 or later"))

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


(require 'cl)
#@44 What version of mule we are running under.
(defconst mule-sysdep-version (byte-code "\302\303!\203? \304\305\"\203 \306\307!\203 \310\307!\210\311\207\306\301!\203= \304\312	\"\203= \313\314!\2042 \306\315!\203; \316	\317\224\317\225O!\207\317\207\320\207\317\207" [emacs-version mule-version featurep mule string-match "XEmacs" boundp enable-multibyte-characters make-variable-buffer-local xemacs "[0-9]+\\.[0-9]+" fboundp kinsoku kinsoku-ascii string-to-number 0 2.3] 4) (#$ . 664))
(defalias 'mule-coding-system-p #[(coding-system) "\302=\203\n \303	!\207\304=\203 \305\207\306	!\207" [mule-sysdep-version coding-system xemacs find-coding-system 0 nil coding-system-p] 2])
(defalias 'mule-coding-system-version #[(&rest args) "\301\302!\205 \203 \303@!\204 A\211\204\n @\207" [args featurep mule mule-coding-system-p] 3])
#@78 Alist of MIME-charset parameter regexps vs the corresponding coding systems.
(defconst w3-mime-charset-coding-alist (byte-code "\300\301\302\303\"B\304\301\305\306\"B\307\301\310\311\"B\312\301\313\314\"B\315\301\316\317\"B\320\301\321\322\"B\323\301\324\325\"B\326\301\327!B\330\301\327!B\331\301\332\325\"B\333\301\334\335\"B\336\301\334\335\"B\257\f\207" ["big5" mule-coding-system-version cn-big5 *big5* "euc-jp" euc-jp *euc-japan* "euc-kr" euc-kr *euc-korea* "gb" cn-gb-2312 *euc-china* "iso-2022-jp" iso-2022-jp *iso-2022-jp* "iso-2022-kr" iso-2022-kr *iso-2022-kr* "iso-8859-1" iso-8859-1 *ctext* "koi-8" koi8 "koi8-r" "x-ctext" ctext "x-sjis" shift_jis *sjis* "x-shiftjis"] 15) (#$ . 1509))
#@309 Alist of regexps of URL vs the corresponding language environemnt.
While detecting a coding system of a document whose URL matches some of
the regular expressions, the coding system priorities defined in
the corresponding language environment is used.

This facility can be used only in Emacs 20.3 or later.
(defconst w3-url-domain-language-environment-alist '(("\\.jp$" . "Japanese") ("\\.cn$" . "Chinese-GB") ("\\.tw$" . "Chinese-BIG5") ("\\.hk$" . "Chinese-BIG5") ("\\.sg$" . "Chinese-GB") ("\\.kr$" . "Korean") ("\\.ru$" . "Cyrillic-KOI8") ("\\.su$" . "Cyrillic-KOI8")) (#$ . 2215))
#@181 Alist of regexps of URL vs the corresponding coding systems.
While decoding a document whose URL matches some of
the regeular expressions, the corresponding coding system is used.
(defconst w3-url-domain-coding-alist (byte-code "\300\301\302\303\"B\304\301\305\306\"B\307\301\310\311\"B\312\301\310\311\"B\313\301\314\315\"B\316\301\314\315\"B\317\301\320!B\321\301\322\323\"B\324\301\325\326\"B\257	\207" ["\\.th$" mule-coding-system-version th-tis620 *tis620* "\\.kr$" euc-kr *euc-korea* "\\.cn$" cn-gb-2312 *euc-china* "\\.sg$" "\\.tw$" cn-big5 *big5* "\\.hk$" "\\.su$" koi8 "\\.il$" iso-8859-8 *iso-8859-8* "\\.fr$" iso-8859-1 *ctext*] 12) (#$ . 2809))
#@69 Default retrieval coding system for packages that use this package.
(defconst mule-retrieval-coding-system (mule-coding-system-version 'euc-japan '*euc-japan* 'coding-system-euc-japan) (#$ . 3472))
#@59 Coding system that means no coding system should be used.
(defconst mule-no-coding-system (mule-coding-system-version 'no-conversion '*noconv*) (#$ . 3676))
(byte-code "\247\203 \303U\203 \304\305M\210\302	B\306\307\310\"\306\311\312\"D\303\207" [mule-sysdep-version current-load-list mule-invalid-char-coding-systems 2.3 insert-file-contents-literally #[(file &optional visit beg end replace) "\306\211\307\f	\n%+\207" [mule-no-coding-system input-coding-system find-file-hooks file-name-handler-alist file visit nil insert-file-contents beg end replace] 6 "Like `insert-file-contents', q.v., but only reads in the file.\nA buffer may be modified in several ways after reading into the buffer due\nto advanced Emacs features, such as file-name-handlers, format decoding,\nfind-file-hooks, etc.\n  This function ensures that none of these modifications will take place."] mule-coding-system-version raw-text *noconv* iso-8859-1 *ctext*] 4)
(defalias 'mule-coding-system-with-invalid-chars #[(coding-system) "?\206/ <\203 @	\303\235\203\" \304\300N!\204, \300N\202 	\305\232\203, \306!\n>\207" [coding-system mule-sysdep-version mule-invalid-char-coding-systems (2.3 2.4) vectorp 3.0 coding-system-base] 3])
#@45 Return a coding system of the current data.
(defalias 'mule-detect-coding-version #[(host st nd) "\306	\2037 \n\247\2037 \n\307Y\2037 \211\2036 \310\f@@	\"\203/ \311\f@A#\306\211\202 \fA\211\204 )\204i 	\203i \211\203h \310\f@@	\"\203a \312\f@A!\205Z \f@A\306\211\202C \fA\211\204F )\204\267 \n\313\232\203{ \314\"\202\266 \n\315\235\203\211 \316\"\202\266 \n\317\232\203\246 \316\"\211\2429\204\240 \320\202\242 )\202\266 \n\321\235\203\265 \316\322#\202\266 \306<\204\305 \312!\204\305 )\207" [coding-system host mule-sysdep-version w3-url-domain-language-environment-alist l st nil 4.0 string-match detect-coding-with-language-environment mule-coding-system-p 2.3 code-detect-region (2.4 xemacs) detect-coding-region 3.0 (undecided-unix) (4.0 4.1) t nd w3-url-domain-coding-alist possible mule-no-coding-system] 5 (#$ . 4916)])
(defalias 'mule-code-convert-region #[(code) "<\203 @\203 @	\304\232\203\" \305\306L\210\307ed\n$\210\310!\207	\311\232\203? \312\313!\306L\210\314>?\205\256 \315ed#\210\316!\207	\317\232\203f \205\256 \312\313!\306L\210\320>?\205e \204\\ \321\315ed#\210\316!\207	\322\232\203\214 \205\256 \323\306!\210\324>?\205\213 \204\201 \321\315ed#\210\316\325J!\207	\326=\203\255 <\203\243 @\204\243 \327\330\331\332\217\210\315ed#\210\310!\207\330\207" [code mule-sysdep-version *internal* default-enable-multibyte-characters 2.3 mc-flag t code-convert-region set-file-coding-system 2.4 make-local-variable enable-multibyte-characters (autodetect coding-system-automatic) decode-coding-region set-buffer-file-coding-system 3.0 (autodetect automatic-conversion) automatic-conversion 4.0 set-buffer-multibyte (autodetect automatic-conversion) last-coding-system-used xemacs autodetect nil (byte-code "\300\301!\207" [get-coding-system autodetect] 2) ((error (byte-code "\301\301\207" [code automatic-conversion] 1)))] 5])
(defalias 'mule-inhibit-code-conversion #[(proc) "\303!\203\" \212\303!q\210\304\305L\210\306\307!\203 \307\305!\210\202! \310\305L\210)	\311\235\203. \312\n\211#\207	\313=\205= \314\n\"\210\314\n\"\207" [proc mule-sysdep-version mule-no-coding-system process-buffer mc-flag nil fboundp set-buffer-multibyte enable-multibyte-characters (3.0 4.0 4.1 2.4 2.3) set-process-coding-system xemacs set-process-input-coding-system] 4])
(defalias 'mule-write-region-no-coding-system #[(st nd file &optional append visit lockname) "\211\211\306\307\211\211\211\211\211\211\f\310\232\2036 \311&\202{ \312\232\203S \306\311&)\202{ \313\235\203l \311&\202{ \311&.\207" [mule-no-coding-system file-coding-system-alist write-contents-hooks write-file-hooks jam-zcat-filename-list jka-compr-compression-info-list t nil 2.3 write-region 3.0 (4.0 4.1) crypt-encoding-alist require-final-newline mc-flag buffer-file-coding-system file-coding-system coding-system-for-write mule-sysdep-version st nd file append visit lockname enable-multibyte-characters] 11])
(defalias 'mule-encode-string #[(str) "\305\232\203\f \306	\n#\207\307\235\203 \310	\"\207\311\235\203( \f\203& \310	\"\207	\207	\207" [mule-sysdep-version str *internal* mule-retrieval-coding-system default-enable-multibyte-characters 2.3 code-convert-string (2.4 3.0 xemacs) encode-coding-string (4.0 4.1)] 4])
(defalias 'mule-decode-string #[(str) "\205- 	\305\235\203 \306\n\"\207	\307\232\203 \310\n#\207	\311\235\203, \f\203* \306\n\"\207\207\207" [str mule-sysdep-version mule-retrieval-coding-system *internal* default-enable-multibyte-characters (2.4 3.0 xemacs) decode-coding-string 2.3 code-convert-string (4.0 4.1)] 4])
#@185 Truncate string STR so that string-width of STR is not greater than LEN.
 If width of the truncated string is less than LEN, and if a character PAD is
 defined, add padding end of it.
(defalias 'mule-truncate-string #[(str len &optional pad) "\306\235\203 \307	\n\310$\207\311\232\203d 	\312\f\313\")\310\211\314	!\nX\204P \315H!\\\211\nX\203A T\202) \316\317\320\"	\"\210	\310\211\225O\203a 	\317\n\314	!Z\"P\202b 	+\207\321\232\203\267 \322	!\310\211\314	!\nX\204\243 \3158!\\\211\nX\203\224 T\202| \316\317\320\"	\"\210	\310\211\225O\203\264 	\317\n\314	!Z\"P\202\265 	+\207	G\nV\203\305 	\310\nO\202\306 	\203\321 	G\nV\203\325 \323\202\334 \317\n	GZ\"P\207" [mule-sysdep-version str len pad string sw (3.0 4.0 4.1) truncate-string-to-width 0 2.4 string-to-sequence vector string-width char-width string-match make-string 46 2.3 string-to-char-list "" n cl] 5 (#$ . 8610)])
(defalias 'mule-find-charset-region #[(beg end &optional table) "\304\232\203 \305	\n\"\207\306\235\203 \307	\n#\207\310=\203\" \311	\n\"\207\312\207" [mule-sysdep-version beg end table 2.3 code-detect-region (2.4 3.0 4.0 4.1) find-charset-region xemacs charsets-in-region (no-conversion)] 4])
(defalias 'mule-coding-system-name #[(codesys) "\302\235\203 \303\207\304=\205 \305	!\207" [mule-sysdep-version codesys (3.0 4.0 4.1) nil xemacs coding-system-name] 2])
(defalias 'mule-find-coding-system #[(sys) "\302\235\203 \303\207\304\235\203 	\305N\205! 	\207\306=\203  \307	!\207\303\207" [mule-sysdep-version sys (2.3 2.4) nil (3.0 4.0 4.1) coding-system xemacs find-coding-system] 2])
(defalias 'mule-make-iso-character #[(char) "\305X\203 \207	\306\232\203 \307\n\"\207	\310\232\203\" \311\312!\313H\"\207	\314\232\203- \311\315\"\207	\316\235\203> \f\203< \311\315\"\207\207	\317=\203F \207\207" [char mule-sysdep-version lc-ltn1 charset-latin-iso8859-1 default-enable-multibyte-characters 127 2.3 make-character 2.4 make-char-internal charset-info 0 3.0 129 (4.0 4.1) xemacs] 3])
(byte-code "\301\235\204\n \302\303M\210\304\305!\203 \306\307!\204 \310\307!\210\310\311!\207" [mule-sysdep-version (2.3 2.4 3.0 4.0 4.1 xemacs) string-width length boundp MULE featurep mule provide mule-sysdp] 2)
