;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:46:50 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/international/mule.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 "`mule.el' was compiled for Emacs 19.29 or later"))

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


#@77 Version number and name of this version of MULE (multilingual environment).
(defconst mule-version "5.0 (SAKAKI)" (#$ . 624))
#@71 Distribution date of this version of MULE (multilingual environment).
(defconst mule-version-date "1999.12.7" (#$ . 756))
#@335 Execute a file of Lisp code named FILE whose absolute name is FULLNAME.
The file contents are decoded before evaluation if necessary.
If optional second arg NOERROR is non-nil,
 report no error if FILE doesn't exist.
Print messages at start and end of loading unless
 optional third arg NOMESSAGE is non-nil.
Return t if file exists.
(defalias 'load-with-code-conversion #[(fullname file &optional noerror nomessage) "\306!\204 	?\205\272 \307\310\311\nD\"\207\312\313\314\315\316!!*\313$\317 %\320\216\321\322\"*&'\204D &\203? \323\324\n\"\210\202D \323\325\n\"\210(\203O \n)B)\326\216\313\327*+,\212q\210\330!\210-\203{ \331.!\332=\204w .\333=\203{ \334\327!\210\335\327!\210)\336\327\n\327\313%\210,\337\n/\"\2110\203\233 \340\3410A\"\210)'\204\270 1\204\270 &\203\263 \323\342\n\"\210\202\270 \323\343\n\"\210+\313\207" [fullname noerror file default-enable-multibyte-characters default-major-mode buffer file-readable-p signal file-error "Cannot open load file" fundamental-mode t get-buffer-create generate-new-buffer-name " *load*" match-data ((set-match-data save-match-data-internal)) string-match "\\.el\\'" message "Loading %s (source)..." "Loading %s..." ((byte-code "\303\211\304\n!\210*\303\207" [kill-buffer-query-functions kill-buffer-hook buffer nil kill-buffer] 2)) nil insert-file-contents coding-system-type 5 no-conversion set-buffer-multibyte set-buffer-modified-p eval-buffer assoc mapcar eval "Loading %s (source)...done" "Loading %s...done" load-in-progress save-match-data-internal source nomessage purify-flag preloaded-file-list inhibit-file-name-operation set-auto-coding-for-load load-file-name enable-multibyte-characters last-coding-system-used after-load-alist hook noninteractive] 7 (#$ . 885)])
#@76 Return t if OBJ is a quoted symbol, and is the name of a standard charset.
(defalias 'charset-quoted-standard-p #[(obj) "<\205% @\302=\205% A\2429\205% A\242\303N\304	!\205$ 	\305H\306W)\207" [obj vector quote charset vectorp 0 160] 2 (#$ . 2653)])
(put 'charset-quoted-standard-p 'byte-optimizer 'byte-compile-inline-expand)
#@27 T if OBJECT is a charset.
(defalias 'charsetp #[(object) "9\205\n \301\302N!\207" [object vectorp charset] 3 (#$ . 2990)])
(put 'charsetp 'byte-optimizer 'byte-compile-inline-expand)
#@2014 Return a vector of information of CHARSET.
The elements of the vector are:
	CHARSET-ID, BYTES, DIMENSION, CHARS, WIDTH, DIRECTION,
	LEADING-CODE-BASE, LEADING-CODE-EXT,
	ISO-FINAL-CHAR, ISO-GRAPHIC-PLANE,
	REVERSE-CHARSET, SHORT-NAME, LONG-NAME,	DESCRIPTION,
	PLIST,
where
CHARSET-ID (integer) is the identification number of the charset.
BYTES (integer) is the length of multi-byte form of a character in
  the charset: one of 1, 2, 3, and 4.
DIMENSION (integer) is the number of bytes to represent a character of
the charset: 1 or 2.
CHARS (integer) is the number of characters in a dimension: 94 or 96.
WIDTH (integer) is the number of columns a character in the charset
  occupies on the screen: one of 0, 1, and 2.
DIRECTION (integer) is the rendering direction of characters in the
  charset when rendering.  If 0, render from left to right, else
  render from right to left.
LEADING-CODE-BASE (integer) is the base leading-code for the
  charset.
LEADING-CODE-EXT (integer) is the extended leading-code for the
  charset.  All charsets of less than 0xA0 has the value 0.
ISO-FINAL-CHAR (character) is the final character of the
  corresponding ISO 2022 charset.  If the charset is not assigned
  any final character, the value is -1.
ISO-GRAPHIC-PLANE (integer) is the graphic plane to be invoked
  while encoding to variants of ISO 2022 coding system, one of the
  following: 0/graphic-plane-left(GL), 1/graphic-plane-right(GR).
  If the charset is not assigned any final character, the value is -1.
REVERSE-CHARSET (integer) is the charset which differs only in
  LEFT-TO-RIGHT value from the charset.  If there's no such a
  charset, the value is -1.
SHORT-NAME (string) is the short name to refer to the charset.
LONG-NAME (string) is the long name to refer to the charset
DESCRIPTION (string) is the description string of the charset.
PLIST (property list) may contain any type of information a user
  want to put and get by functions `put-charset-property' and
  `get-charset-property' respectively.
(defalias 'charset-info #[(charset) "\300N\207" [charset] 2 (#$ . 3183)])
(put 'charset-info 'byte-optimizer 'byte-compile-inline-expand)
#@50 Return charset identification number of CHARSET.
(defalias 'charset-id '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\305H\207\307\310D\305E\207" [charset obj vector quote vectorp 0 160 aref charset-info] 4 (#$ . 5341)]))
#@75 Return bytes of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-bytes '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 1 aref charset-info] 4 (#$ . 5645)]))
#@79 Return dimension of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-dimension '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 2 aref charset-info] 4 (#$ . 5979)]))
#@112 Return character numbers contained in a dimension of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-chars '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 3 aref charset-info] 4 (#$ . 6322)]))
#@114 Return width (how many column occupied on a screen) of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-width '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 4 aref charset-info] 4 (#$ . 6694)]))
#@79 Return direction of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-direction '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 5 aref charset-info] 4 (#$ . 7067)]))
#@80 Return final char of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-iso-final-char '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 8 aref charset-info] 4 (#$ . 7409)]))
#@83 Return graphic plane of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-iso-graphic-plane '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 9 aref charset-info] 4 (#$ . 7757)]))
#@85 Return reverse charset of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-reverse-charset '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 10 aref charset-info] 4 (#$ . 8111)]))
#@80 Return short name of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-short-name '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 11 aref charset-info] 4 (#$ . 8466)]))
#@79 Return long name of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-long-name '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 12 aref charset-info] 4 (#$ . 8811)]))
#@81 Return description of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-description '(macro . #[(charset) "\211<\205' 	@\303=\205' 	A\2429\205' 	A\242\300N\304\n!\205& \n\305H\306W))\2036 A@\211\300N)\307H\207\310\311D\307E\207" [charset obj vector quote vectorp 0 160 13 aref charset-info] 4 (#$ . 9154)]))
#@91 Return list charset property of CHARSET.
See the function `charset-info' for more detail.
(defalias 'charset-plist '(macro . #[(charset) "\303\211<\205( 	@\304=\205( 	A\2429\205( 	A\242\300N\305\n!\205' \n\306H\307W))\2037 A@\211\300N)\202: \310D\311E\207" [charset obj vector aref quote vectorp 0 160 charset-info 14] 4 (#$ . 9501)]))
#@57 Set CHARSET's property list to PLIST, and return PLIST.
(defalias 'set-charset-plist #[(charset plist) "\211\300N)\302	I\207" [charset plist 14] 4 (#$ . 9849)])
#@638 Return a character of CHARSET whose position codes are CODE1 and CODE2.
CODE1 and CODE2 are optional, but if you don't supply
sufficient position codes, return a generic character which stands for
all characters or group of characters in the character set.
A generic character can be used to index a char table (e.g. syntax-table).

Such character sets as ascii, eight-bit-control, and eight-bit-graphic
don't have corresponding generic characters.  If CHARSET is one of
them and you don't supply CODE1, return the character of the smallest
code in CHARSET.

If CODE1 or CODE2 are invalid (out of range), this function signals an error.
(defalias 'make-char #[(charset &optional code1 code2) "\303\211\300N)\304H	\n#\207" [charset code1 code2 make-char-internal 0] 5 (#$ . 10019)])
(put 'make-char 'byte-compile #[(form) "A@\211\211<\205+ \n@\304=\205+ \nA\2429\205+ \nA\242\301N\305!\205* \306H\307W))\203D \310\311	A@\211\301N)\306HAABB!\202O \310\311\312	DAABB!)\207" [form charset obj vector quote vectorp 0 160 byte-compile-normal-call make-char-internal charset-id] 5])
#@135 Return list of charsets ever defined.

This function is provided for backward compatibility.
Now we have the variable `charset-list'.
(defalias 'charset-list #[nil "\207" [charset-list] 1 (#$ . 11113)])
#@97 Return t if and only if CHAR is a generic character.
See also the documentation of `make-char'.
(defalias 'generic-char-p #[(char) "\302Y\205  \303!\211A@\304U\204 \305	8\304=\205 	@\306=?)\207" [char l 400 split-char 0 2 composition] 3 (#$ . 11323)])
(put 'generic-char-p 'byte-optimizer 'byte-compile-inline-expand)
#@388 Return character specified by coded character set CCS and CODE-POINT in it.
Return nil if such a character is not supported.
Currently the only supported coded character set is `ucs' (ISO/IEC
10646: Universal Multi-Octet Coded Character Set).

Optional argument RESTRICTION specifies a way to map the pair of CCS
and CODE-POINT to a character.  Currently not supported and just ignored.
(defalias 'decode-char #[(ccs code-point &optional restriction) "\302=\205r 	\303W\203 	\207	\304W\203 \305\306	\"\207	\307W\2035 	\304Z\305\310\311!\312H	\313\245\314\\	\313\246\314\\#\207	\315W\203Q 	\307Z\305\310\316!\312H	\313\245\314\\	\313\246\314\\#\207	\317Y\205r 	\320W\205r 	\317Z\305\310\321!\312H	\313\245\314\\	\313\246\314\\#\207" [ccs code-point ucs 160 256 make-char-internal 129 9472 charset-info mule-unicode-0100-24ff 0 96 32 13312 mule-unicode-2500-33ff 57344 65536 mule-unicode-e000-ffff] 5 (#$ . 11653)])
#@643 Return code-point in coded character set CCS that corresponds to CHAR.
Return nil if CHAR is not included in CCS.
Currently the only supported coded character set is `ucs' (ISO/IEC
10646: Universal Multi-Octet Coded Character Set), and CHAR is first
translated through the translation-table named
`utf-translation-table-for-encode'.

CHAR should be in one of these charsets:
  ascii, latin-iso8859-1, mule-unicode-0100-24ff, mule-unicode-2500-33ff,
  mule-unicode-e000-ffff, eight-bit-control
Otherwise, return nil.

Optional argument RESTRICTION specifies a way to map CHAR to a
code-point in CCS.  Currently not supported and just ignored.
(defalias 'encode-char #[(char ccs &optional restriction) "\306!\211@\307=\205\210 \310\311N\211H\211\203  \306!\211@\n\312=\203* \202\207 \n\313=\2038 	A@\314\\\202\207 \n\315=\203P 	A@\316Z\317_\320	8\316Z\\\321\\\202\207 \n\322=\203h 	A@\316Z\317_\320	8\316Z\\\323\\\202\207 \n\324=\203\200 	A@\316Z\317_\320	8\316Z\\\325\\\202\207 \n\326=\205\207 **\207" [char split charset ccs table trans split-char ucs utf-translation-table-for-encode translation-table ascii latin-iso8859-1 128 mule-unicode-0100-24ff 32 96 2 256 mule-unicode-2500-33ff 9472 mule-unicode-e000-ffff 57344 eight-bit-control] 4 (#$ . 12580)])
(byte-code "\301B\306\302B\307\303B\310\304B\311\305B\312\301\207" [current-load-list coding-spec-type-idx coding-spec-mnemonic-idx coding-spec-doc-string-idx coding-spec-plist-idx coding-spec-flags-idx 0 1 2 3 4] 2)
#@38 Return coding-spec of CODING-SYSTEM.
(defalias 'coding-system-spec #[(coding-system) "\301!\300N\207" [coding-system check-coding-system] 2 (#$ . 14087)])
(put 'coding-system-spec 'byte-optimizer 'byte-compile-inline-expand)
#@181 Return the coding type of CODING-SYSTEM.
A coding type is an integer value indicating the encoding method
of CODING-SYSTEM.  See the function `make-coding-system' for more detail.
(defalias 'coding-system-type #[(coding-system) "\302!\300N)	H\207" [coding-system coding-spec-type-idx check-coding-system] 2 (#$ . 14320)])
#@174 Return the mnemonic character of CODING-SYSTEM.
The mnemonic character of a coding system is used in mode line
to indicate the coding system.  If the arg is nil, return ?-.
(defalias 'coding-system-mnemonic #[(coding-system) "\303!\300N)\211\203 	\nH\202 \304)\207" [coding-system spec coding-spec-mnemonic-idx check-coding-system 45] 3 (#$ . 14652)])
#@52 Return the documentation string for CODING-SYSTEM.
(defalias 'coding-system-doc-string #[(coding-system) "\302!\300N)	H\207" [coding-system coding-spec-doc-string-idx check-coding-system] 2 (#$ . 15016)])
#@44 Return the property list of CODING-SYSTEM.
(defalias 'coding-system-plist #[(coding-system) "\302!\300N)	H\207" [coding-system coding-spec-plist-idx check-coding-system] 2 (#$ . 15230)])
#@196 Return `flags' of CODING-SYSTEM.
A `flags' of a coding system is a vector of length 32 indicating detailed
information of a coding system.  See the function `make-coding-system'
for more detail.
(defalias 'coding-system-flags #[(coding-system) "\302!\300N)	H\207" [coding-system coding-spec-flags-idx check-coding-system] 2 (#$ . 15427)])
#@71 Extract a value from CODING-SYSTEM's property list for property PROP.
(defalias 'coding-system-get #[(coding-system prop) "\302\303!	\"\207" [coding-system prop plist-get coding-system-plist] 3 (#$ . 15775)])
#@60 Change value in CODING-SYSTEM's property list PROP to VAL.
(defalias 'coding-system-put #[(coding-system prop val) "\305!\211\203 \306	\n#\202 \307!\300N)\f\nDI)\207" [coding-system plist prop val coding-spec-plist-idx coding-system-plist plist-put check-coding-system] 5 (#$ . 15991)])
#@79 Return the coding category of CODING-SYSTEM.
See also `coding-category-list'.
(defalias 'coding-system-category #[(coding-system) "\301\302\"\207" [coding-system coding-system-get coding-category] 3 (#$ . 16293)])
#@176 Return the base coding system of CODING-SYSTEM.
A base coding system is what made by `make-coding-system'.
Any alias nor subsidiary coding systems are not base coding system.
(defalias 'coding-system-base #[(coding-system) "\301\302\"@\207" [coding-system coding-system-get alias-coding-systems] 3 (#$ . 16515)])
(byte-code "\300\301\302\"\210\303\301\302\304#\207" [defalias coding-system-parent coding-system-base make-obsolete "20.3"] 4)
#@360 Return eol-type of CODING-SYSTEM.
An eol-type is integer 0, 1, 2, or a vector of coding systems.

Integer values 0, 1, and 2 indicate a format of end-of-line; LF,
CRLF, and CR respectively.

A vector value indicates that a format of end-of-line should be
detected automatically.  Nth element of the vector is the subsidiary
coding system whose eol-type is N.
(defalias 'coding-system-eol-type #[(coding-system) "\301N\207" [coding-system eol-type] 2 (#$ . 16964)])
(defalias 'coding-system-lessp #[(x y) "\304=\203 \305\207	\304=\203 \306\207\307=\203 \305\207	\307=\203  \306\207\310=\203( \305\207	\310=\2030 \306\207\311!\311	!\211\227\n\227W\206L \227\n\227V?\205L \nW*\207" [x y c2 c1 no-conversion t nil emacs-mule undecided coding-system-mnemonic] 4])
#@68 Add CODING-SYSTEM to `coding-system-list' while keeping it sorted.
(defalias 'add-to-coding-system-list #[(coding-system) "\203\f \305	@\"\203 	B\211\207G\306\211\307V\203A \f\310\245\n\233\305@	\"\2039 \f\211\310\245Z\211\202 \f\310\245\211\202 \n	\nAB\241+\207" [coding-system-list coding-system tem mid len coding-system-lessp nil 1 2] 4 (#$ . 17741)])
#@315 Return a list of all existing non-subsidiary coding systems.
If optional arg BASE-ONLY is non-nil, only base coding systems are listed.
The value doesn't include subsidiary coding systems which are what
made from bases and aliases automatically for various end-of-line
formats (e.g. iso-latin-1-unix, koi8-r-dos).
(defalias 'coding-system-list #[(&optional base-only) "\306!\307	B\nA\2037 \nA@\310\311\"\f>\203' \2030 \f@=\2040 \n\211AA\241\210\2023 \nA*\202 	*\207" [coding-system-list codings tail coding aliases base-only copy-sequence nil coding-system-get alias-coding-systems] 3 (#$ . 18122)])
#@200 Use FUNC to map over all characters in CHARSET for side effects.
FUNC is a function of two args, the start and end (inclusive) of a
character code range.  Thus FUNC should iterate over [START, END].
(defalias 'map-charset-chars #[(func charset) "\211\300N)\306H\211\300N)\307H\211\310U\203 \311\202 \312	\313U\203= \f\314\315!\316H\"\314\315!\316H\n\\\317\\\"\"\202o \n\316W\203m \f\314\315!\316H\\#\314\315!\316H\\\n\\\317\\#\"\210T\211\202C *\320+\207" [charset dim chars start func i 2 3 94 33 32 1 make-char-internal charset-info 0 -1 nil #1=#:--dotimes-temp--97269] 9 (#$ . 18740)])
#@262 Add entries for CODING-SYSTEM to `char-coding-system-table'.
If SAFE-CHARS is a char-table, its non-nil entries specify characters
which CODING-SYSTEM encodes safely.  If SAFE-CHARS is t, register
CODING-SYSTEM as a general one which can encode all characters.
(defalias 'register-char-codings #[(coding-system safe-chars) "\305\306\"\305\307\"\310=\203  \f\n>\206* \311\306\f\nB#\202* \312\313\"\210\311\307	#*\207" [char-coding-system-table partials general safe-chars coding-system char-table-extra-slot 0 1 t set-char-table-extra-slot map-char-table #[(key val) "\306Y\205\306 	\205\306 \nH\307!\f>?\205\305 \211\310Y\205@ \311!\211A@\312U\2049 \3138\312=\205? @\314=?))\203\204 >\203\204 \315\211\316\317\"\210\n\fBI\210\315\211\203 @\n@AI\210A\211\204h ,\315\202\305 \n\fBI\210>\206\272 \211\310Y\205\271 \311!\211A@\312U\204\262 \3138\312=\205\270 @\314=?))?\205\305 B\211*\207" [key val char-coding-system-table charset codings coding-system 128 char-charset 400 split-char 0 2 composition nil map-charset-chars #[(start end) "	X\205' \nH\211\203  \f>\203 \202 \fBBBT\211\202 \207" [start end char-coding-system-table entry coding-system existing] 4] char l partials existing entry elt #1=#:--dolist-temp--97270] 5]] 5 (#$ . 19364)])
#@70 Make subsidiary coding systems (eol-type variants) of CODING-SYSTEM.
(defalias 'make-subsidiary-coding-system #[(coding-system) "\306!\300N)\307\310\311\312\"!\310\311\313\"!\310\311\314\"!#\315\316\n\317W\203N \320\nH\300\f#\210\320\nH\321\n#\210\322\nH!\210\323\nH!CB\nT\211\202# ,\207" [coding-system temp i subsidiaries coding-spec coding-system-alist check-coding-system vector intern format "%s-unix" "%s-dos" "%s-mac" 0 nil 3 put eol-type add-to-coding-system-list symbol-name] 9 (#$ . 20701)])
#@135 For internal use only.
Transform XEmacs style args for `make-coding-system' to Emacs style.
Value is a list of transformed arguments.
(defalias 'transform-make-coding-system-args #[(name type &optional doc-string props) "\306\307\304\"\206	 \310!\307\303\"\311\211\312=\203 \313\2022 \314=\203* \315\2022 \316=\2032 \317\307\320\"\211\203A \321\n\320	#\307\322\"\211\203P \321\n\322	#\323=\203d >\324\f?\311\n\257\202\374\325=\203\302\307\326\"\203| \327\330>?F\"\210\307\331\"\307\332\"\307\333\"\307\334\"\335\336\307\337\"\"\211@A@)\340=\205\255 \335\340\307\341\"\"\211@A@)\336=\335\342\307\337\"\"\211@A@)\343=\205\316 \335\343\307\341\"\"\211@A@)\342=ABCDE\211F\211G9\205\350 \344G\345N!)\203\307\346\"\203\374 \311FDF\202F\347BFE\211G9\205\344G\345N!)\203+\307\350\"\203%\311EDE\202+E\351BED\211G9\205:\344G\345N!)\203T\307\352\"\203N\311DDD\202TD\353BDC\211G9\205c\344G\345N!)\203}\307\354\"\203w\311CDC\202}C\355BC>\356\f?FEDC\307\357\"\307\360\"?\307\361\"?\307\362\"\363\307\364\"?BA\307\365\"\366BBBBBBBBBBBBB\n\257.\202\374\367=\203\326>\370\f?\311\n\257\202\374\371=\203\362>\372\f?\307\373\"\307\374\"B\n\257\202\374\327\375>?F\",\207" [props tmp properties eol-type mnemonic type string-to-char plist-get "?" nil lf unix crlf dos cr mac post-read-conversion plist-put pre-write-conversion shift-jis 1 iso2022 escape-quoted error "escape-quoted is not supported: %S" charset-g0 charset-g1 charset-g2 charset-g3 assoc latin-jisx0201 input-charset-conversion ascii output-charset-conversion japanese-jisx0208-1978 japanese-jisx0208 vectorp charset force-g0-on-output (t) force-g1-on-output (t) force-g2-on-output (t) force-g3-on-output (t) 2 short no-ascii-eol no-ascii-cntl seven t lock-shift no-iso6429 (nil nil nil nil) big5 3 ccl 4 decode encode "unsupported XEmacs style make-coding-style arguments: %S" name doc-string x use-oldjis use-roman g3 g2 g1 g0 object] 20 (#$ . 21228)])
#@6279 Define a new coding system CODING-SYSTEM (symbol).
Remaining arguments are TYPE, MNEMONIC, DOC-STRING, FLAGS (optional),
and PROPERTIES (optional) which construct a coding-spec of CODING-SYSTEM
in the following format:
	[TYPE MNEMONIC DOC-STRING PLIST FLAGS]

TYPE is an integer value indicating the type of the coding system as follows:
  0: Emacs internal format,
  1: Shift-JIS (or MS-Kanji) used mainly on Japanese PC,
  2: ISO-2022 including many variants,
  3: Big5 used mainly on Chinese PC,
  4: private, CCL programs provide encoding/decoding algorithm,
  5: Raw-text, which means that text contains random 8-bit codes.

MNEMONIC is a character to be displayed on mode line for the coding system.

DOC-STRING is a documentation string for the coding system.

FLAGS specifies more detailed information of the coding system as follows:

  If TYPE is 2 (ISO-2022), FLAGS is a list of these elements:
      CHARSET0, CHARSET1, CHARSET2, CHARSET3, SHORT-FORM,
      ASCII-EOL, ASCII-CNTL, SEVEN, LOCKING-SHIFT, SINGLE-SHIFT,
      USE-ROMAN, USE-OLDJIS, NO-ISO6429, INIT-BOL, DESIGNATION-BOL,
      SAFE, ACCEPT-LATIN-EXTRA-CODE.
    CHARSETn are character sets initially designated to Gn graphic registers.
      If CHARSETn is nil, Gn is never used.
      If CHARSETn is t, Gn can be used but nothing designated initially.
      If CHARSETn is a list of character sets, those character sets are
        designated to Gn on output, but nothing designated to Gn initially.
        But, character set `ascii' can be designated only to G0.
    SHORT-FORM non-nil means use short designation sequence on output.
    ASCII-EOL non-nil means designate ASCII to g0 at end of line on output.
    ASCII-CNTL non-nil means designate ASCII to g0 before control codes and
      SPACE on output.
    SEVEN non-nil means use 7-bit code only on output.
    LOCKING-SHIFT non-nil means use locking-shift.
    SINGLE-SHIFT non-nil means use single-shift.
    USE-ROMAN non-nil means designate JIS0201-1976-Roman instead of ASCII.
    USE-OLDJIS non-nil means designate JIS0208-1976 instead of JIS0208-1983.
    NO-ISO6429 non-nil means not use ISO6429's direction specification.
    INIT-BOL non-nil means any designation state is assumed to be reset
      to initial at each beginning of line on output.
    DESIGNATION-BOL non-nil means designation sequences should be placed
      at beginning of line on output.
    SAFE non-nil means convert unsafe characters to `?' on output.
      Characters not specified in the property `safe-charsets' nor
      `safe-chars' are unsafe.
    ACCEPT-LATIN-EXTRA-CODE non-nil means code-detection routine accepts
      a code specified in `latin-extra-code-table' (which see) as a valid
      code of the coding system.

  If TYPE is 4 (private), FLAGS should be a cons of CCL programs, for
    decoding and encoding.  CCL programs should be specified by their
    symbols.

PROPERTIES is an alist of properties vs the corresponding values.  The
following properties are recognized:

  o post-read-conversion
 
  The value is a function to call after some text is inserted and
  decoded by the coding system itself and before any functions in
  `after-insert-functions' are called.  The argument of this
  function is the same as for a function in
  `after-insert-file-functions', i.e. LENGTH of the text inserted,
  with point at the head of the text to be decoded.
 
  o pre-write-conversion
 
  The value is a function to call after all functions in
  `write-region-annotate-functions' and `buffer-file-format' are
  called, and before the text is encoded by the coding system itself.
  The arguments to this function are the same as those of a function
  in `write-region-annotate-functions', i.e. FROM and TO, specifying
  a region of text.
 
  o translation-table-for-decode
 
  The value is a translation table to be applied on decoding.  See
  the function `make-translation-table' for the format of translation
  table.  This is not applicable to type 4 (CCL-based) coding systems.
 
  o translation-table-for-encode
 
  The value is a translation table to be applied on encoding.  This is
  not applicable to type 4 (CCL-based) coding systems.
 
  o safe-chars
 
  The value is a char table.  If a character has non-nil value in it,
  the character is safely supported by the coding system.  This
  overrides the specification of safe-charsets.

  o safe-charsets

  The value is a list of charsets safely supported by the coding
  system.  The value t means that all charsets Emacs handles are
  supported.  Even if some charset is not in this list, it doesn't
  mean that the charset can't be encoded in the coding system;
  it just means that some other receiver of text encoded
  in the coding system won't be able to handle that charset.
 
  o mime-charset
 
  The value is a symbol of which name is `MIME-charset' parameter of
  the coding system.
 
  o valid-codes (meaningful only for a coding system based on CCL)
 
  The value is a list to indicate valid byte ranges of the encoded
  file.  Each element of the list is an integer or a cons of integer.
  In the former case, the integer value is a valid byte code.  In the
  latter case, the integers specifies the range of valid byte codes.

These properties are set in PLIST, a property list.  This function
also sets properties `coding-category' and `alias-coding-systems'
automatically.

EOL-TYPE specifies the EOL type of the coding-system in one of the
following formats:

  o symbol (unix, dos, or mac)

	The symbol `unix' means Unix-like EOL (LF), `dos' means
	DOS-like EOL (CRLF), and `mac' means MAC-like EOL (CR).

  o number (0, 1, or 2)

	The number 0, 1, and 2 mean UNIX, DOS, and MAC-like EOL
	respectively.

  o vector of coding-systems of length 3

	The EOL type is detected automatically for the coding system.
	And, according to the detected EOL type, one of the coding
	systems in the vector is selected.  Elements of the vector
	corresponds to Unix-like EOL, DOS-like EOL, and Mac-like EOL
	in this order.

Kludgy features for backward compatibility:

1. If TYPE is 4 and car or cdr of FLAGS is a vector, the vector is
treated as a compiled CCL code.

2. If PROPERTIES is just a list of character sets, the list is set as
a value of `safe-charsets' in PLIST.
(defalias 'make-coding-system #[(coding-system type mnemonic doc-string &optional flags properties eol-type) "9\203* \306	\n$\211@\fA@\307\f8\310\f8\311\f8\312\f8@\313\f8A)\314\312\315\"\316\211\315\2111BC4D\250\203M \317W\204M \312V\203Q \320\321!\210\n\250\203b \n\322X\204b \n\323V\203f \320\324!\210DEI\210DF\nI\210DG\325;\203\202 \202\203 \326!I\210\317U\203\222 \3271\202\324\330U\203\236 \3311\202\324\307U\203F\317\314\322\315\"\315HIJ\211K\311W\203\234H@4\203\372 K\317V\203\372 \211L9\205\331 \332L\333N!)\204\367 :\203\372 @\211L9\205\363 \332L\333N!)\203\372 \3154\211L9\205	\332L\333N!)\203K\330U\203\205I\202\205:\203m\315M\211N\203dN@\211M\316=\203=\315C\202[M\203[M\211L9\205Q\332L\333N!)\204[\320\334M\"\210NA\211N\204,@I*\202\205\203\205\316=\203\315C\202\205\320\334\"\210JKI\210)HAHKT\211K\202\264 K\322W\203\317H\203\317JKH@I\210K\335U\203\301H@\203\301\316BHAHKT\211K\202\236D\311JI\210J\336H\203\354J\337H\203\350\340\202@\341\202@J\337H\203J\342H\203\376\340\202@C\203\343\202@\344\202@4\204C\204\341\202@I\211L9\205(\332L\333N!)\203?I\211\333N)\307H\307U\203?\345\202@\3461,\202\324\310U\203R\3471\202\324\311U\203\321\3501:\204g\320\351!\210\202\324\352@!\205\213\332@!\203\211\353\354\355\356	\"!@\"\210\354\355\356	\"!\202\213@\352A!\205\257\332A!\203\255\353\354\355\357	\"!A\"\210\354\355\357	\"!\202\257AO\211P\203\311O\203\311D\311POBI\210\202\315\320\351!\210*\202\324\3601\3611\362	CFQ4\203\351\363Q\364\316#\210@\203@\316=\204\374@@:\204\365@BC@\365@\236A\366@\236A@\315\211RST656\204\3315\203\331\3155\316=\2035\3166\202\317\367\366!65\203\2505@5A5\370=\204:\371=\203t\372K\372\373W\203p6K\316I\210KT\211K\202[)\202:\374=\203\230\373K\373\375W\203\2246K\316I\210KT\211K\202)\202:6\376\377!\317H!\316I\210\202:B\203\317\372K\372\373W\203\316UKH\203\3056K\316I\210KT\211K\202\261)\3666BTBT)T\203%T@@ST@ARTATS\366=\203R9\203R\201[ N\203R\201[ N6\201\\ 	6\"\2106R\363QSR#\210\202\331-\201] Q\361\"1DVQI\210)\201^ 	\301D#\210\201^ 1\201_ 	1\201_ NB#\210-A\204`\201` 	!AA\201a =\204nA\204r\317\202\273A\201b =\203\330\202\273A\201c =\203\214\307\202\273\332A!\203\233AG\310U\204\257A\247\203\264A\317Y\203\264A\307X\203\264A\202\273\320\201d A\"A\201^ 	\201A A#\210\201e 	!\210\201f 	!CWBW\201g 	!\2111\346=\204\3551\345=\203Z\354\201f 	!\201h P!\355\201i 	\"\365@\236\201X @\236X5YZ5\2035\316\241\210\202%\365\316B@B@X\203/X\315\241\210\201j Z\nY@<\203M\201k @\201l \"AB\202T@\316DAB@&\210,)	\207" [type coding-system mnemonic doc-string args flags transform-make-coding-system-args 2 3 4 5 6 make-vector nil t 0 error "TYPE argument must be 0..5" 32 127 "MNEMONIC argument must be an ASCII printable character" purecopy "" coding-category-emacs-mule 1 coding-category-sjis vectorp charset "Invalid charset: %s" 16 8 7 coding-category-iso-7-else coding-category-iso-8-else 9 coding-category-iso-7-tight coding-category-iso-7 coding-category-iso-8-2 coding-category-iso-8-1 coding-category-big5 coding-category-ccl "Invalid FLAGS argument for TYPE 4 (CCL)" ccl-program-p register-ccl-program intern format "%s-decoder" "%s-encoder" coding-category-raw-text coding-category alias-coding-systems plist-put no-initial-designation safe-charsets safe-chars make-char-table ascii eight-bit-control 128 160 eight-bit-graphic 256 make-char-internal charset-info properties eol-type accept-latin-extra-code no-alternative-designation coding-spec coding-spec-type-idx coding-spec-mnemonic-idx coding-spec-doc-string-idx fl g1-designation vec i object elt tail encoder decoder plist val prop l latin-extra-code-table coding-spec-plist-idx coding-system-alist mime-charset doc esc translation-table register-char-codings plist-get put coding-systems make-subsidiary-coding-system unix dos mac "Invalid EOL-TYPE spec:%S" add-to-coding-system-list symbol-name coding-system-category "-with-esc" "Same as %s but can handle any charsets by ISO's escape sequences." make-coding-system append (t)] 9 (#$ . 23271)])
#@59 Define ALIAS as an alias for coding system CODING-SYSTEM.
(defalias 'define-coding-system-alias #[(alias coding-system) "\304\301	\305	!\301N)#\210\306\307\"C\244\210\310!\210\311!C\nB\312	!\313!\2034 \304\303\314!#\2029 \304\303#)\207" [alias coding-system coding-system-alist eol-type put check-coding-system coding-system-get alias-coding-systems add-to-coding-system-list symbol-name coding-system-eol-type vectorp make-subsidiary-coding-system] 5 (#$ . 33874)])
#@969 Set the file coding-system of the current buffer to CODING-SYSTEM.
This means that when you save the buffer, it will be converted
according to CODING-SYSTEM.  For a list of possible values of CODING-SYSTEM,
use \[list-coding-systems].

If the buffer's previous file coding-system value specifies end-of-line
conversion, and CODING-SYSTEM does not specify one, CODING-SYSTEM is
merged with the already-specified end-of-line conversion.

If the buffer's previous file coding-system value specifies text
conversion, and CODING-SYSTEM does not specify one, CODING-SYSTEM is
merged with the already-specified text conversion.

However, if the optional prefix argument FORCE is non-nil, then
CODING-SYSTEM is used exactly as specified.

This marks the buffer modified so that the succeeding \[save-buffer]
surely saves the buffer with CODING-SYSTEM.  From a program, if you
don't want to mark the buffer modified, just set the variable
`buffer-file-coding-system' directly.
(defalias 'set-buffer-file-coding-system #[(coding-system &optional force) "\305!\210\203D 	\203D \n\204D \306	!\307	!\306!\310=\203% \311\f\"\312\307!!\203C \247\203C \313Y\203C \314X\203C \315\"*\316\317!\210\320 \207" [coding-system buffer-file-coding-system force eol base check-coding-system coding-system-base coding-system-eol-type undecided coding-system-change-text-conversion vectorp 0 2 coding-system-change-eol-conversion set-buffer-modified-p t force-mode-line-update] 3 (#$ . 34361) "zCoding system for visited file (default, nil): \nP"])
#@167 Default value for the terminal coding system.
This is normally set according to the selected language environment.
See also the command `set-terminal-coding-system'.
(defvar default-terminal-coding-system nil (#$ . 35905))
#@315 Set coding system of your terminal to CODING-SYSTEM.
All text output to the terminal will be encoded
with the specified coding system.
For a list of possible values of CODING-SYSTEM, use \[list-coding-systems].
The default is determined by the selected language environment
or by the previous use of this command.
(defalias 'set-terminal-coding-system #[(coding-system) "\204 \302 \204 	\203 \303!\210\304\305 !\207" [coding-system default-terminal-coding-system terminal-coding-system set-terminal-coding-system-internal redraw-frame selected-frame] 2 (#$ . 36135) (list (let ((default (if (and (not (terminal-coding-system)) default-terminal-coding-system) default-terminal-coding-system))) (read-coding-system (format "Coding system for terminal display (default, %s): " default) default)))])
#@166 Default value of the keyboard coding system.
This is normally set according to the selected language environment.
See also the command `set-keyboard-coding-system'.
(defvar default-keyboard-coding-system nil (#$ . 36947))
#@378 Set coding system for keyboard input to CODING-SYSTEM.
In addition, this command enables Encoded-kbd minor mode.
(If CODING-SYSTEM is nil, Encoded-kbd mode is turned off -- see
`encoded-kbd-mode'.)
For a list of possible values of CODING-SYSTEM, use \[list-coding-systems].
The default is determined by the selected language environment
or by the previous use of this command.
(defalias 'set-keyboard-coding-system #[(coding-system) "\204 \302 \204 	\203 \303!\210\304\203  \305\202! \306!\207" [coding-system default-keyboard-coding-system keyboard-coding-system set-keyboard-coding-system-internal encoded-kbd-mode 1 0] 2 (#$ . 37176) (list (let ((default (if (and (not (keyboard-coding-system)) default-keyboard-coding-system) default-keyboard-coding-system))) (read-coding-system (format "Coding system for keyboard input (default, %s): " default) default)))])
#@371 Specify coding system for keyboard input.
If you set this on a terminal which can't distinguish Meta keys from
8-bit characters, you will have to use ESC to type Meta characters.
See Info node `Specify Coding' and Info node `Single-Byte Character Support'.

Setting this variable directly does not take effect;
use either M-x customize or \[set-keyboard-coding-system].
(custom-declare-variable 'keyboard-coding-system 'nil '(#$ . 38060) :type '(coding-system :tag "Coding system") :link '(info-link "(emacs)Specify Coding") :link '(info-link "(emacs)Single-Byte Character Support") :set (lambda (symbol value) (if (or value (boundp 'encoded-kbd-mode)) (set-keyboard-coding-system value) (set-default 'keyboard-coding-system nil))) :version "21.1" :group 'keyboard :group 'mule)
#@298 Set coding systems for the process associated with the current buffer.
DECODING is the coding system to be used to decode input from the process,
ENCODING is the coding system to be used to encode output to the process.

For a list of possible values of CODING-SYSTEM, use \[list-coding-systems].
(defalias 'set-buffer-process-coding-system #[(decoding encoding) "\303p!\211\204 \304\305!\210\202 \306	!\210\306\n!\210\307	\n#\210)\310 \207" [proc decoding encoding get-buffer-process error "No process" check-coding-system set-process-coding-system force-mode-line-update] 5 (#$ . 38846) "zCoding-system for output from the process: \nzCoding-system for input to the process: "])
(defalias 'set-clipboard-coding-system 'set-selection-coding-system)
#@187 Make CODING-SYSTEM used for communicating with other X clients.
When sending or receiving text via cut_buffer, selection, and clipboard,
the text is encoded or decoded by CODING-SYSTEM.
(defalias 'set-selection-coding-system #[(coding-system) "\302!\210\211\207" [coding-system selection-coding-system check-coding-system] 2 (#$ . 39607) "zCoding system for X selection: "])
(byte-code "\301B\302\301!\204\f \303\303\207" [current-load-list last-next-selection-coding-system boundp nil] 2)
#@133 Make CODING-SYSTEM used for the next communication with other X clients.
This setting is effective for the next communication only.
(defalias 'set-next-selection-coding-system #[(coding-system) "\203	 \202 	\303!\210\211\207" [coding-system last-next-selection-coding-system next-selection-coding-system check-coding-system] 2 (#$ . 40110) (list (read-coding-system (if last-next-selection-coding-system (format "Coding system for the next X selection (default, %S): " last-next-selection-coding-system) "Coding system for the next X selection: ") last-next-selection-coding-system))])
#@109 Set priority of coding categories according to ARG.
ARG is a list of coding categories ordered by priority.
(defalias 'set-coding-priority #[(arg) "\304	!\211\203* @\305N\203 @\n>\204 \306\307\"\210\310@\n\"A\211\204\n \311\n\"\312 *\207" [arg coding-category-list current-list l copy-sequence coding-category-index error "Invalid or duplicated element in argument: %s" delq append set-coding-priority-internal] 4 (#$ . 40711)])
#@343 Alist of filename patterns vs corresponding coding systems.
Each element looks like (REGEXP . CODING-SYSTEM).
A file whose name matches REGEXP is decoded by CODING-SYSTEM on reading.

The settings in this alist take priority over `coding:' tags
in the file (see the function `set-auto-coding')
and the contents of `file-coding-system-alist'.
(custom-declare-variable 'auto-coding-alist ''(("\\.\\(arc\\|zip\\|lzh\\|zoo\\|jar\\|tar\\|tgz\\)\\'" . no-conversion) ("\\.\\(gz\\|Z\\|bz\\|bz2\\|gpg\\)\\'" . no-conversion)) '(#$ . 41161) :group 'files :group 'mule :type '(repeat (cons (regexp :tag "File name regexp") (symbol :tag "Coding system"))))
#@339 Alist of patterns vs corresponding coding systems.
Each element looks like (REGEXP . CODING-SYSTEM).
A file whose first bytes match REGEXP is decoded by CODING-SYSTEM on reading.

The settings in this alist take priority over `coding:' tags
in the file (see the function `set-auto-coding')
and the contents of `file-coding-system-alist'.
(custom-declare-variable 'auto-coding-regexp-alist ''(("^BABYL OPTIONS:[ 	]*-\\*-[ 	]*rmail[ 	]*-\\*-" . no-conversion)) '(#$ . 41814) :group 'files :group 'mule :type '(repeat (cons (regexp :tag "Regexp") (symbol :tag "Coding system"))))
#@130 Non-nil means look for `load-coding' property instead of `coding'.
This is used for loading and byte-compiling Emacs Lisp files.
(defvar set-auto-coding-for-load nil (#$ . 42398))
#@73 Return the coding system specified by `auto-coding-alist' for FILENAME.
(defalias 'auto-coding-alist-lookup #[(filename) "	\306>\307\f\203' \n\204' \310\f@@\"\203  \f@A\202 \fA\211\204\f \n+\207" [auto-coding-alist system-type coding-system case-fold-search alist filename (vax-vms windows-nt ms-dos) nil string-match] 4 (#$ . 42584)])
#@166 Determine a coding system from the contents of the current buffer.
The current buffer contains SIZE bytes starting at point.
Value is either a coding system or nil.
(defalias 'auto-coding-from-file-contents #[(size) "\212\305\211\203' 	\204' \n@@\306`\f\\\307#\203 \n@A)\nA\211\204	 	+\207" [auto-coding-regexp-alist coding-system alist regexp size nil re-search-forward t] 5 (#$ . 42935)])
#@790 Return coding system for a file FILENAME of which SIZE bytes follow point.
These bytes should include at least the first 1k of the file
and the last 3k of the file, but the middle may be omitted.

It checks FILENAME against the variable `auto-coding-alist'.  If
FILENAME doesn't match any entries in the variable, it checks the
contents of the current buffer following point against
`auto-coding-regexp-alist'.  If no match is found, it checks for a
`coding:' tag in the first one or two lines following point.  If no
`coding:' tag is found, it checks for local variables list in the last
3K bytes out of the SIZE bytes.

The return value is the specified coding system,
or nil if nothing specified.

The variable `set-auto-coding-function' (which see) is set to this
function by default.
(defalias 'set-auto-coding #[(filename size) "\306!\206b\307	!\206b\310`\211	\311^\\	\312Z\313]\\	\\&\314'\314(\314)\314*\315\316\f\310#\206< \315\317\f\310#\211(\203P (V\203P ()\202d b\210\315\316&\310#\206b \315\317&\310#)(\203\315 b\210\320\321\f\310#\211*\203\215 f\322U\203\215 Tf\323U\203\215 \315\324\f\310#**\203\225 *(\fW\203\315 b\210+\203\257 \320\325\f\310#\203\257 \326''\204\315 \320\327\f\310#\203\315 \330\331\332!!'\333'!\204\315 \314')\203^'\204^b\210\315\334\314\310#\210\320\335&\310#\203^\336\331\337!!,\336\331\332!!-\340,\341-\342\260.\340,\343-\342\260/\340,\344-\342\2600`*\3200&\345#\210`&*b\210+\203<\320/&\310#\203<\326''\204\\\320.&\310#\203\\\330\331\337!!'\333'!\204\\\314'.'.	\207" [filename size case-fold-search head-start head-end tail-start auto-coding-alist-lookup auto-coding-from-file-contents t 1024 3072 0 nil search-forward "coding:" "unibyte:" re-search-forward "[\n]" 35 33 "\n" "-\\*-\\(.*;\\)?[ 	]*unibyte:[ 	]*\\([^ ;]+\\)" raw-text "-\\*-\\(.*;\\)?[ 	]*coding:[ 	]*\\([^ ;]+\\)" intern match-string 2 coding-system-p "\n\f" "^\\(.*\\)[ 	]*Local Variables:[ 	]*\\(.*\\)$" regexp-quote 1 "^" "[ 	]*coding[ 	]*:[ 	]*\\([^ 	\n]+\\)[ 	]*" "$" "[ 	]*unibyte[ 	]*:[ 	]*\\([^ 	\n]+\\)[ 	]*" "[ 	]*End *:[ 	]*" move tail-end coding-system head-found tail-found pos set-auto-coding-for-load prefix suffix re-coding re-unibyte re-end] 6 (#$ . 43341)])
(byte-code "\301\301\207" [set-auto-coding-function set-auto-coding] 1)
#@75 Set `buffer-file-coding-system' of current buffer after text is inserted.
(defalias 'after-insert-file-set-buffer-file-coding-system #[(inserted) "\203G \306!\307 \211\203F \310\n\311\"\210\203B \n\312=\204& \313\n!\314=\203B 	\204B \315 \fU\203B \316`\f\\!\317\320!\210\316`!Z)\321	!\210*\f\207" [last-coding-system-used modified-p coding-system enable-multibyte-characters inserted pos-byte find-new-buffer-file-coding-system buffer-modified-p set-buffer-file-coding-system t no-conversion coding-system-type 5 buffer-size position-bytes set-buffer-multibyte nil set-buffer-modified-p] 4 (#$ . 45682)])
(add-hook 'after-insert-file-functions 'after-insert-file-set-buffer-file-coding-system)
#@237 Return a coding system for a buffer when a file of CODING is inserted.
The local variable `buffer-file-coding-system' of the current buffer
is set to the returned value.
Return nil if there's no need to set `buffer-file-coding-system'.
(defalias 'find-new-buffer-file-coding-system #[(coding) "\306\211\211\211\211\211\205\261 \307\f!\211\247\204 \306\f\2030 \310\f!\311=\2040 \312\f!\313\314!\205; \f\205; ?\205\261 \307!\211\247\204P \205O \315\310!\311=\203^ \316\202c \312!\n?\205k \316=?\205\261 \313\314!\203} \206\202 \202\202 \206\202 \313\314!\203\221 \f\206\226 \n\202\226 \n\206\226 \f\307	!\247\203\257 \317!\203\257 H\202\260 	).\207" [new-eol new-coding found-eol found-coding local-eol local-coding nil coding-system-eol-type coding-system-type t coding-system-base local-variable-p buffer-file-coding-system 0 undecided vectorp coding inhibit-eol-conversion eol-type] 7 (#$ . 46391)])
#@973 Modify one of look up tables for finding a coding system on I/O operation.
There are three of such tables, `file-coding-system-alist',
`process-coding-system-alist', and `network-coding-system-alist'.

TARGET-TYPE specifies which of them to modify.
If it is `file', it affects `file-coding-system-alist' (which see).
If it is `process', it affects `process-coding-system-alist' (which see).
If it is `network', it affects `network-coding-system-alist' (which see).

REGEXP is a regular expression matching a target of I/O operation.
The target is a file name if TARGET-TYPE is `file', a program name if
TARGET-TYPE is `process', or a network service name or a port number
to connect to if TARGET-TYPE is `network'.

CODING-SYSTEM is a coding system to perform code conversion on the I/O
operation, or a cons cell (DECODING . ENCODING) specifying the coding systems
for decoding and encoding respectively,
or a function symbol which, when called, returns such a cons cell.
(defalias 'modify-coding-system-alist #[(target-type regexp coding-system) "\306>\204 \307\310\"\210	;\204  \311=\203 	\250\204  \307\312	\"\210\n9\2036 \313\n!\204@ \314\n!\210\n\211B\202@ \314\n@!\210\314\nA!\210\315=\203^ \316	\"\211\203U \f\n\241\202\\ 	\nBB\211)\207\317=\203| \316	\"\211\203s \f\n\241\202z 	\nBB\211)\207\316	\"\211\203\214 \f\n\241\202\225 	\nBB\211)\207" [target-type regexp coding-system file-coding-system-alist slot process-coding-system-alist (file process network) error "Invalid target type: %s" network "Invalid regular expression: %s" fboundp check-coding-system file assoc process network-coding-system-alist] 4 (#$ . 47344)])
#@760 Make a translation table from arguments.
A translation table is a char table intended for character
translation in CCL programs.

Each argument is a list of elements of the form (FROM . TO), where FROM
is a character to be translated to TO.

FROM can be a generic character (see `make-char').  In this case, TO is
a generic character containing the same number of characters, or an
ordinary character.  If FROM and TO are both generic characters, all
characters belonging to FROM are translated to characters belonging to TO
without changing their position code(s).

The arguments and forms in each argument are processed in the given
order, and if a previous form already translates TO to some other
character, say TO-ALT, FROM is also translated to TO-ALT.
(defalias 'make-translation-table #[(&rest args) "\306\307!\310\n\203 \n@\211\203@@\311\312\f!\237@A\311\312!\237@\311=\203@ TA\211\202. @\311=\203V TA\211\202B U\204k \311U\204k \313\314\f#\210	H\211\203\254 \311V\204\250 \211\315Y\205\244 \312!\211A@\311U\204\235 \3168\311=\205\243 @\317=?))\204\254 )\311V\203\275 \320	\f#\210\202\303 	\fI\210\f\236\211\203\361 @\240\210A\211\203\360 	I\210A\211\204\340 ))\236\211\203\fAB\241\210\202\fDB.A\211\204 )\nA\211\204\n 	*\207" [revlist table args elts from from-i make-char-table translation-table nil 0 split-char error "Invalid character pair (%d . %d)" 400 2 composition set-char-table-default from-rev to to-i to-rev to-alt char l ch] 5 (#$ . 49007)])
#@180 Make translation table from decoding vector VEC.
VEC is an array of 256 elements to map unibyte codes to multibyte characters.
See also the variable `nonascii-translation-table'.
(defalias 'make-translation-table-from-vector #[(vec) "\305\306!\305\306!\307\310	\311W\203- \f	H	I\210\311Y\203& \n	I\210	T\211\202 \312\307\n#\210,\207" [ch i rev-table table vec make-char-table translation-table 0 nil 256 set-char-table-extra-slot] 5 (#$ . 50596)])
#@651 Define SYMBOL as the name of translation table made by ARGS.
This sets up information so that the table can be used for
translations in a CCL program.

If the first element of ARGS is a char-table whose purpose is
`translation-table', just define SYMBOL to name it.  (Note that this
function does not bind SYMBOL.)

Any other ARGS should be suitable as arguments of the function
`make-translation-table' (which see).

This function sets properties `translation-table' and
`translation-table-id' of SYMBOL to the created table itself and the
identification number of the table respectively.  It also registers
the table in `translation-table-vector'.
(defalias 'define-translation-table #[(symbol &rest args) "\306@!\203 \307@!\310=\203 @\202 \311\312\"	G\313\314\315\310#\210\n\204` \fY\203: \316	\317\f\314\"\"	H\211\203L @=\203Y 	BI\210\320\202\\ T)\202( \315\321#\210,\207" [args translation-table-vector done id len table char-table-p char-table-subtype translation-table apply make-translation-table 0 nil put vconcat make-vector t translation-table-id symbol slot] 6 (#$ . 51064)])
(put 'with-category-table 'lisp-indent-function 1)
(defalias 'with-category-table '(macro . #[(category-table &rest body) "\302\303\304D\305\306	B\307BBF\207" [category-table body let ((current-category-table (category-table))) set-category-table unwind-protect progn ((set-category-table current-category-table))] 6]))
(byte-code "\302\300\303\304#\210\305\300!\302\301\303\304#\210\305\301!\306\307!\207" [use-default-ascent ignore-relative-composition put char-table-extra-slots 0 make-char-table provide mule] 4)
