Mercurial > emacs
comparison src/coding.c @ 40713:42351475da08
Change doc-string comments to `new style' [w/`doc:' keyword].
author | Pavel Janík <Pavel@Janik.cz> |
---|---|
date | Sun, 04 Nov 2001 17:42:30 +0000 |
parents | cdfd4d09b79a |
children | 27fa759cd153 |
comparison
equal
deleted
inserted
replaced
40712:31101867e6bf | 40713:42351475da08 |
---|---|
6090 | 6090 |
6091 #ifdef emacs | 6091 #ifdef emacs |
6092 /*** 8. Emacs Lisp library functions ***/ | 6092 /*** 8. Emacs Lisp library functions ***/ |
6093 | 6093 |
6094 DEFUN ("coding-system-p", Fcoding_system_p, Scoding_system_p, 1, 1, 0, | 6094 DEFUN ("coding-system-p", Fcoding_system_p, Scoding_system_p, 1, 1, 0, |
6095 "Return t if OBJECT is nil or a coding-system.\n\ | 6095 doc: /* Return t if OBJECT is nil or a coding-system. |
6096 See the documentation of `make-coding-system' for information\n\ | 6096 See the documentation of `make-coding-system' for information |
6097 about coding-system objects.") | 6097 about coding-system objects. */) |
6098 (obj) | 6098 (obj) |
6099 Lisp_Object obj; | 6099 Lisp_Object obj; |
6100 { | 6100 { |
6101 if (NILP (obj)) | 6101 if (NILP (obj)) |
6102 return Qt; | 6102 return Qt; |
6103 if (!SYMBOLP (obj)) | 6103 if (!SYMBOLP (obj)) |
6108 ? Qt : Qnil); | 6108 ? Qt : Qnil); |
6109 } | 6109 } |
6110 | 6110 |
6111 DEFUN ("read-non-nil-coding-system", Fread_non_nil_coding_system, | 6111 DEFUN ("read-non-nil-coding-system", Fread_non_nil_coding_system, |
6112 Sread_non_nil_coding_system, 1, 1, 0, | 6112 Sread_non_nil_coding_system, 1, 1, 0, |
6113 "Read a coding system from the minibuffer, prompting with string PROMPT.") | 6113 doc: /* Read a coding system from the minibuffer, prompting with string PROMPT. */) |
6114 (prompt) | 6114 (prompt) |
6115 Lisp_Object prompt; | 6115 Lisp_Object prompt; |
6116 { | 6116 { |
6117 Lisp_Object val; | 6117 Lisp_Object val; |
6118 do | 6118 do |
6119 { | 6119 { |
6123 while (XSTRING (val)->size == 0); | 6123 while (XSTRING (val)->size == 0); |
6124 return (Fintern (val, Qnil)); | 6124 return (Fintern (val, Qnil)); |
6125 } | 6125 } |
6126 | 6126 |
6127 DEFUN ("read-coding-system", Fread_coding_system, Sread_coding_system, 1, 2, 0, | 6127 DEFUN ("read-coding-system", Fread_coding_system, Sread_coding_system, 1, 2, 0, |
6128 "Read a coding system from the minibuffer, prompting with string PROMPT.\n\ | 6128 doc: /* Read a coding system from the minibuffer, prompting with string PROMPT. |
6129 If the user enters null input, return second argument DEFAULT-CODING-SYSTEM.") | 6129 If the user enters null input, return second argument DEFAULT-CODING-SYSTEM. */) |
6130 (prompt, default_coding_system) | 6130 (prompt, default_coding_system) |
6131 Lisp_Object prompt, default_coding_system; | 6131 Lisp_Object prompt, default_coding_system; |
6132 { | 6132 { |
6133 Lisp_Object val; | 6133 Lisp_Object val; |
6134 if (SYMBOLP (default_coding_system)) | 6134 if (SYMBOLP (default_coding_system)) |
6135 XSETSTRING (default_coding_system, XSYMBOL (default_coding_system)->name); | 6135 XSETSTRING (default_coding_system, XSYMBOL (default_coding_system)->name); |
6139 return (XSTRING (val)->size == 0 ? Qnil : Fintern (val, Qnil)); | 6139 return (XSTRING (val)->size == 0 ? Qnil : Fintern (val, Qnil)); |
6140 } | 6140 } |
6141 | 6141 |
6142 DEFUN ("check-coding-system", Fcheck_coding_system, Scheck_coding_system, | 6142 DEFUN ("check-coding-system", Fcheck_coding_system, Scheck_coding_system, |
6143 1, 1, 0, | 6143 1, 1, 0, |
6144 "Check validity of CODING-SYSTEM.\n\ | 6144 doc: /* Check validity of CODING-SYSTEM. |
6145 If valid, return CODING-SYSTEM, else signal a `coding-system-error' error.\n\ | 6145 If valid, return CODING-SYSTEM, else signal a `coding-system-error' error. |
6146 It is valid if it is a symbol with a non-nil `coding-system' property.\n\ | 6146 It is valid if it is a symbol with a non-nil `coding-system' property. |
6147 The value of property should be a vector of length 5.") | 6147 The value of property should be a vector of length 5. */) |
6148 (coding_system) | 6148 (coding_system) |
6149 Lisp_Object coding_system; | 6149 Lisp_Object coding_system; |
6150 { | 6150 { |
6151 CHECK_SYMBOL (coding_system); | 6151 CHECK_SYMBOL (coding_system); |
6152 if (!NILP (Fcoding_system_p (coding_system))) | 6152 if (!NILP (Fcoding_system_p (coding_system))) |
6153 return coding_system; | 6153 return coding_system; |
6218 return (highest ? XCAR (val) : val); | 6218 return (highest ? XCAR (val) : val); |
6219 } | 6219 } |
6220 | 6220 |
6221 DEFUN ("detect-coding-region", Fdetect_coding_region, Sdetect_coding_region, | 6221 DEFUN ("detect-coding-region", Fdetect_coding_region, Sdetect_coding_region, |
6222 2, 3, 0, | 6222 2, 3, 0, |
6223 "Detect coding system of the text in the region between START and END.\n\ | 6223 doc: /* Detect coding system of the text in the region between START and END. |
6224 Return a list of possible coding systems ordered by priority.\n\ | 6224 Return a list of possible coding systems ordered by priority. |
6225 \n\ | 6225 |
6226 If only ASCII characters are found, it returns a list of single element\n\ | 6226 If only ASCII characters are found, it returns a list of single element |
6227 `undecided' or its subsidiary coding system according to a detected\n\ | 6227 `undecided' or its subsidiary coding system according to a detected |
6228 end-of-line format.\n\ | 6228 end-of-line format. |
6229 \n\ | 6229 |
6230 If optional argument HIGHEST is non-nil, return the coding system of\n\ | 6230 If optional argument HIGHEST is non-nil, return the coding system of |
6231 highest priority.") | 6231 highest priority. */) |
6232 (start, end, highest) | 6232 (start, end, highest) |
6233 Lisp_Object start, end, highest; | 6233 Lisp_Object start, end, highest; |
6234 { | 6234 { |
6235 int from, to; | 6235 int from, to; |
6236 int from_byte, to_byte; | 6236 int from_byte, to_byte; |
6237 int include_anchor_byte = 0; | 6237 int include_anchor_byte = 0; |
6262 ->enable_multibyte_characters)); | 6262 ->enable_multibyte_characters)); |
6263 } | 6263 } |
6264 | 6264 |
6265 DEFUN ("detect-coding-string", Fdetect_coding_string, Sdetect_coding_string, | 6265 DEFUN ("detect-coding-string", Fdetect_coding_string, Sdetect_coding_string, |
6266 1, 2, 0, | 6266 1, 2, 0, |
6267 "Detect coding system of the text in STRING.\n\ | 6267 doc: /* Detect coding system of the text in STRING. |
6268 Return a list of possible coding systems ordered by priority.\n\ | 6268 Return a list of possible coding systems ordered by priority. |
6269 \n\ | 6269 |
6270 If only ASCII characters are found, it returns a list of single element\n\ | 6270 If only ASCII characters are found, it returns a list of single element |
6271 `undecided' or its subsidiary coding system according to a detected\n\ | 6271 `undecided' or its subsidiary coding system according to a detected |
6272 end-of-line format.\n\ | 6272 end-of-line format. |
6273 \n\ | 6273 |
6274 If optional argument HIGHEST is non-nil, return the coding system of\n\ | 6274 If optional argument HIGHEST is non-nil, return the coding system of |
6275 highest priority.") | 6275 highest priority. */) |
6276 (string, highest) | 6276 (string, highest) |
6277 Lisp_Object string, highest; | 6277 Lisp_Object string, highest; |
6278 { | 6278 { |
6279 CHECK_STRING (string); | 6279 CHECK_STRING (string); |
6280 | 6280 |
6281 return detect_coding_system (XSTRING (string)->data, | 6281 return detect_coding_system (XSTRING (string)->data, |
6362 return t. */ | 6362 return t. */ |
6363 | 6363 |
6364 DEFUN ("find-coding-systems-region-internal", | 6364 DEFUN ("find-coding-systems-region-internal", |
6365 Ffind_coding_systems_region_internal, | 6365 Ffind_coding_systems_region_internal, |
6366 Sfind_coding_systems_region_internal, 2, 2, 0, | 6366 Sfind_coding_systems_region_internal, 2, 2, 0, |
6367 "Internal use only.") | 6367 doc: /* Internal use only. */) |
6368 (start, end) | 6368 (start, end) |
6369 Lisp_Object start, end; | 6369 Lisp_Object start, end; |
6370 { | 6370 { |
6371 Lisp_Object work_table, safe_codings; | 6371 Lisp_Object work_table, safe_codings; |
6372 int non_ascii_p = 0; | 6372 int non_ascii_p = 0; |
6373 int single_byte_char_found = 0; | 6373 int single_byte_char_found = 0; |
6476 return make_number (coding.produced_char); | 6476 return make_number (coding.produced_char); |
6477 } | 6477 } |
6478 | 6478 |
6479 DEFUN ("decode-coding-region", Fdecode_coding_region, Sdecode_coding_region, | 6479 DEFUN ("decode-coding-region", Fdecode_coding_region, Sdecode_coding_region, |
6480 3, 3, "r\nzCoding system: ", | 6480 3, 3, "r\nzCoding system: ", |
6481 "Decode the current region from the specified coding system.\n\ | 6481 doc: /* Decode the current region from the specified coding system. |
6482 When called from a program, takes three arguments:\n\ | 6482 When called from a program, takes three arguments: |
6483 START, END, and CODING-SYSTEM. START and END are buffer positions.\n\ | 6483 START, END, and CODING-SYSTEM. START and END are buffer positions. |
6484 This function sets `last-coding-system-used' to the precise coding system\n\ | 6484 This function sets `last-coding-system-used' to the precise coding system |
6485 used (which may be different from CODING-SYSTEM if CODING-SYSTEM is\n\ | 6485 used (which may be different from CODING-SYSTEM if CODING-SYSTEM is |
6486 not fully specified.)\n\ | 6486 not fully specified.) |
6487 It returns the length of the decoded text.") | 6487 It returns the length of the decoded text. */) |
6488 (start, end, coding_system) | 6488 (start, end, coding_system) |
6489 Lisp_Object start, end, coding_system; | 6489 Lisp_Object start, end, coding_system; |
6490 { | 6490 { |
6491 return code_convert_region1 (start, end, coding_system, 0); | 6491 return code_convert_region1 (start, end, coding_system, 0); |
6492 } | 6492 } |
6493 | 6493 |
6494 DEFUN ("encode-coding-region", Fencode_coding_region, Sencode_coding_region, | 6494 DEFUN ("encode-coding-region", Fencode_coding_region, Sencode_coding_region, |
6495 3, 3, "r\nzCoding system: ", | 6495 3, 3, "r\nzCoding system: ", |
6496 "Encode the current region into the specified coding system.\n\ | 6496 doc: /* Encode the current region into the specified coding system. |
6497 When called from a program, takes three arguments:\n\ | 6497 When called from a program, takes three arguments: |
6498 START, END, and CODING-SYSTEM. START and END are buffer positions.\n\ | 6498 START, END, and CODING-SYSTEM. START and END are buffer positions. |
6499 This function sets `last-coding-system-used' to the precise coding system\n\ | 6499 This function sets `last-coding-system-used' to the precise coding system |
6500 used (which may be different from CODING-SYSTEM if CODING-SYSTEM is\n\ | 6500 used (which may be different from CODING-SYSTEM if CODING-SYSTEM is |
6501 not fully specified.)\n\ | 6501 not fully specified.) |
6502 It returns the length of the encoded text.") | 6502 It returns the length of the encoded text. */) |
6503 (start, end, coding_system) | 6503 (start, end, coding_system) |
6504 Lisp_Object start, end, coding_system; | 6504 Lisp_Object start, end, coding_system; |
6505 { | 6505 { |
6506 return code_convert_region1 (start, end, coding_system, 1); | 6506 return code_convert_region1 (start, end, coding_system, 1); |
6507 } | 6507 } |
6508 | 6508 |
6531 return string; | 6531 return string; |
6532 } | 6532 } |
6533 | 6533 |
6534 DEFUN ("decode-coding-string", Fdecode_coding_string, Sdecode_coding_string, | 6534 DEFUN ("decode-coding-string", Fdecode_coding_string, Sdecode_coding_string, |
6535 2, 3, 0, | 6535 2, 3, 0, |
6536 "Decode STRING which is encoded in CODING-SYSTEM, and return the result.\n\ | 6536 doc: /* Decode STRING which is encoded in CODING-SYSTEM, and return the result. |
6537 Optional arg NOCOPY non-nil means it is OK to return STRING itself\n\ | 6537 Optional arg NOCOPY non-nil means it is OK to return STRING itself |
6538 if the decoding operation is trivial.\n\ | 6538 if the decoding operation is trivial. |
6539 This function sets `last-coding-system-used' to the precise coding system\n\ | 6539 This function sets `last-coding-system-used' to the precise coding system |
6540 used (which may be different from CODING-SYSTEM if CODING-SYSTEM is\n\ | 6540 used (which may be different from CODING-SYSTEM if CODING-SYSTEM is |
6541 not fully specified.)") | 6541 not fully specified.) */) |
6542 (string, coding_system, nocopy) | 6542 (string, coding_system, nocopy) |
6543 Lisp_Object string, coding_system, nocopy; | 6543 Lisp_Object string, coding_system, nocopy; |
6544 { | 6544 { |
6545 return code_convert_string1 (string, coding_system, nocopy, 0); | 6545 return code_convert_string1 (string, coding_system, nocopy, 0); |
6546 } | 6546 } |
6547 | 6547 |
6548 DEFUN ("encode-coding-string", Fencode_coding_string, Sencode_coding_string, | 6548 DEFUN ("encode-coding-string", Fencode_coding_string, Sencode_coding_string, |
6549 2, 3, 0, | 6549 2, 3, 0, |
6550 "Encode STRING to CODING-SYSTEM, and return the result.\n\ | 6550 doc: /* Encode STRING to CODING-SYSTEM, and return the result. |
6551 Optional arg NOCOPY non-nil means it is OK to return STRING itself\n\ | 6551 Optional arg NOCOPY non-nil means it is OK to return STRING itself |
6552 if the encoding operation is trivial.\n\ | 6552 if the encoding operation is trivial. |
6553 This function sets `last-coding-system-used' to the precise coding system\n\ | 6553 This function sets `last-coding-system-used' to the precise coding system |
6554 used (which may be different from CODING-SYSTEM if CODING-SYSTEM is\n\ | 6554 used (which may be different from CODING-SYSTEM if CODING-SYSTEM is |
6555 not fully specified.)") | 6555 not fully specified.) */) |
6556 (string, coding_system, nocopy) | 6556 (string, coding_system, nocopy) |
6557 Lisp_Object string, coding_system, nocopy; | 6557 Lisp_Object string, coding_system, nocopy; |
6558 { | 6558 { |
6559 return code_convert_string1 (string, coding_system, nocopy, 1); | 6559 return code_convert_string1 (string, coding_system, nocopy, 1); |
6560 } | 6560 } |
6561 | 6561 |
6587 ? encode_coding_string (string, &coding, 1) | 6587 ? encode_coding_string (string, &coding, 1) |
6588 : decode_coding_string (string, &coding, 1)); | 6588 : decode_coding_string (string, &coding, 1)); |
6589 } | 6589 } |
6590 | 6590 |
6591 DEFUN ("decode-sjis-char", Fdecode_sjis_char, Sdecode_sjis_char, 1, 1, 0, | 6591 DEFUN ("decode-sjis-char", Fdecode_sjis_char, Sdecode_sjis_char, 1, 1, 0, |
6592 "Decode a Japanese character which has CODE in shift_jis encoding.\n\ | 6592 doc: /* Decode a Japanese character which has CODE in shift_jis encoding. |
6593 Return the corresponding character.") | 6593 Return the corresponding character. */) |
6594 (code) | 6594 (code) |
6595 Lisp_Object code; | 6595 Lisp_Object code; |
6596 { | 6596 { |
6597 unsigned char c1, c2, s1, s2; | 6597 unsigned char c1, c2, s1, s2; |
6598 Lisp_Object val; | 6598 Lisp_Object val; |
6599 | 6599 |
6618 } | 6618 } |
6619 return val; | 6619 return val; |
6620 } | 6620 } |
6621 | 6621 |
6622 DEFUN ("encode-sjis-char", Fencode_sjis_char, Sencode_sjis_char, 1, 1, 0, | 6622 DEFUN ("encode-sjis-char", Fencode_sjis_char, Sencode_sjis_char, 1, 1, 0, |
6623 "Encode a Japanese character CHAR to shift_jis encoding.\n\ | 6623 doc: /* Encode a Japanese character CHAR to shift_jis encoding. |
6624 Return the corresponding code in SJIS.") | 6624 Return the corresponding code in SJIS. */) |
6625 (ch) | 6625 (ch) |
6626 Lisp_Object ch; | 6626 Lisp_Object ch; |
6627 { | 6627 { |
6628 int charset, c1, c2, s1, s2; | 6628 int charset, c1, c2, s1, s2; |
6629 Lisp_Object val; | 6629 Lisp_Object val; |
6630 | 6630 |
6649 error ("Can't encode to shift_jis: %d", XFASTINT (ch)); | 6649 error ("Can't encode to shift_jis: %d", XFASTINT (ch)); |
6650 return val; | 6650 return val; |
6651 } | 6651 } |
6652 | 6652 |
6653 DEFUN ("decode-big5-char", Fdecode_big5_char, Sdecode_big5_char, 1, 1, 0, | 6653 DEFUN ("decode-big5-char", Fdecode_big5_char, Sdecode_big5_char, 1, 1, 0, |
6654 "Decode a Big5 character which has CODE in BIG5 coding system.\n\ | 6654 doc: /* Decode a Big5 character which has CODE in BIG5 coding system. |
6655 Return the corresponding character.") | 6655 Return the corresponding character. */) |
6656 (code) | 6656 (code) |
6657 Lisp_Object code; | 6657 Lisp_Object code; |
6658 { | 6658 { |
6659 int charset; | 6659 int charset; |
6660 unsigned char b1, b2, c1, c2; | 6660 unsigned char b1, b2, c1, c2; |
6661 Lisp_Object val; | 6661 Lisp_Object val; |
6678 } | 6678 } |
6679 return val; | 6679 return val; |
6680 } | 6680 } |
6681 | 6681 |
6682 DEFUN ("encode-big5-char", Fencode_big5_char, Sencode_big5_char, 1, 1, 0, | 6682 DEFUN ("encode-big5-char", Fencode_big5_char, Sencode_big5_char, 1, 1, 0, |
6683 "Encode the Big5 character CHAR to BIG5 coding system.\n\ | 6683 doc: /* Encode the Big5 character CHAR to BIG5 coding system. |
6684 Return the corresponding character code in Big5.") | 6684 Return the corresponding character code in Big5. */) |
6685 (ch) | 6685 (ch) |
6686 Lisp_Object ch; | 6686 Lisp_Object ch; |
6687 { | 6687 { |
6688 int charset, c1, c2, b1, b2; | 6688 int charset, c1, c2, b1, b2; |
6689 Lisp_Object val; | 6689 Lisp_Object val; |
6690 | 6690 |
6707 return val; | 6707 return val; |
6708 } | 6708 } |
6709 | 6709 |
6710 DEFUN ("set-terminal-coding-system-internal", | 6710 DEFUN ("set-terminal-coding-system-internal", |
6711 Fset_terminal_coding_system_internal, | 6711 Fset_terminal_coding_system_internal, |
6712 Sset_terminal_coding_system_internal, 1, 1, 0, "") | 6712 Sset_terminal_coding_system_internal, 1, 1, 0, |
6713 (coding_system) | 6713 doc: /* Internal use only. */) |
6714 (coding_system) | |
6714 Lisp_Object coding_system; | 6715 Lisp_Object coding_system; |
6715 { | 6716 { |
6716 CHECK_SYMBOL (coding_system); | 6717 CHECK_SYMBOL (coding_system); |
6717 setup_coding_system (Fcheck_coding_system (coding_system), &terminal_coding); | 6718 setup_coding_system (Fcheck_coding_system (coding_system), &terminal_coding); |
6718 /* We had better not send unsafe characters to terminal. */ | 6719 /* We had better not send unsafe characters to terminal. */ |
6726 return Qnil; | 6727 return Qnil; |
6727 } | 6728 } |
6728 | 6729 |
6729 DEFUN ("set-safe-terminal-coding-system-internal", | 6730 DEFUN ("set-safe-terminal-coding-system-internal", |
6730 Fset_safe_terminal_coding_system_internal, | 6731 Fset_safe_terminal_coding_system_internal, |
6731 Sset_safe_terminal_coding_system_internal, 1, 1, 0, "") | 6732 Sset_safe_terminal_coding_system_internal, 1, 1, 0, |
6732 (coding_system) | 6733 doc: /* Internal use only. */) |
6734 (coding_system) | |
6733 Lisp_Object coding_system; | 6735 Lisp_Object coding_system; |
6734 { | 6736 { |
6735 CHECK_SYMBOL (coding_system); | 6737 CHECK_SYMBOL (coding_system); |
6736 setup_coding_system (Fcheck_coding_system (coding_system), | 6738 setup_coding_system (Fcheck_coding_system (coding_system), |
6737 &safe_terminal_coding); | 6739 &safe_terminal_coding); |
6744 return Qnil; | 6746 return Qnil; |
6745 } | 6747 } |
6746 | 6748 |
6747 DEFUN ("terminal-coding-system", | 6749 DEFUN ("terminal-coding-system", |
6748 Fterminal_coding_system, Sterminal_coding_system, 0, 0, 0, | 6750 Fterminal_coding_system, Sterminal_coding_system, 0, 0, 0, |
6749 "Return coding system specified for terminal output.") | 6751 doc: /* Return coding system specified for terminal output. */) |
6750 () | 6752 () |
6751 { | 6753 { |
6752 return terminal_coding.symbol; | 6754 return terminal_coding.symbol; |
6753 } | 6755 } |
6754 | 6756 |
6755 DEFUN ("set-keyboard-coding-system-internal", | 6757 DEFUN ("set-keyboard-coding-system-internal", |
6756 Fset_keyboard_coding_system_internal, | 6758 Fset_keyboard_coding_system_internal, |
6757 Sset_keyboard_coding_system_internal, 1, 1, 0, "") | 6759 Sset_keyboard_coding_system_internal, 1, 1, 0, |
6758 (coding_system) | 6760 doc: /* Internal use only. */) |
6761 (coding_system) | |
6759 Lisp_Object coding_system; | 6762 Lisp_Object coding_system; |
6760 { | 6763 { |
6761 CHECK_SYMBOL (coding_system); | 6764 CHECK_SYMBOL (coding_system); |
6762 setup_coding_system (Fcheck_coding_system (coding_system), &keyboard_coding); | 6765 setup_coding_system (Fcheck_coding_system (coding_system), &keyboard_coding); |
6763 /* Character composition should be disabled. */ | 6766 /* Character composition should be disabled. */ |
6765 return Qnil; | 6768 return Qnil; |
6766 } | 6769 } |
6767 | 6770 |
6768 DEFUN ("keyboard-coding-system", | 6771 DEFUN ("keyboard-coding-system", |
6769 Fkeyboard_coding_system, Skeyboard_coding_system, 0, 0, 0, | 6772 Fkeyboard_coding_system, Skeyboard_coding_system, 0, 0, 0, |
6770 "Return coding system specified for decoding keyboard input.") | 6773 doc: /* Return coding system specified for decoding keyboard input. */) |
6771 () | 6774 () |
6772 { | 6775 { |
6773 return keyboard_coding.symbol; | 6776 return keyboard_coding.symbol; |
6774 } | 6777 } |
6775 | 6778 |
6776 | 6779 |
6777 DEFUN ("find-operation-coding-system", Ffind_operation_coding_system, | 6780 DEFUN ("find-operation-coding-system", Ffind_operation_coding_system, |
6778 Sfind_operation_coding_system, 1, MANY, 0, | 6781 Sfind_operation_coding_system, 1, MANY, 0, |
6779 "Choose a coding system for an operation based on the target name.\n\ | 6782 doc: /* Choose a coding system for an operation based on the target name. |
6780 The value names a pair of coding systems: (DECODING-SYSTEM . ENCODING-SYSTEM).\n\ | 6783 The value names a pair of coding systems: (DECODING-SYSTEM . ENCODING-SYSTEM). |
6781 DECODING-SYSTEM is the coding system to use for decoding\n\ | 6784 DECODING-SYSTEM is the coding system to use for decoding |
6782 \(in case OPERATION does decoding), and ENCODING-SYSTEM is the coding system\n\ | 6785 \(in case OPERATION does decoding), and ENCODING-SYSTEM is the coding system |
6783 for encoding (in case OPERATION does encoding).\n\ | 6786 for encoding (in case OPERATION does encoding). |
6784 \n\ | 6787 |
6785 The first argument OPERATION specifies an I/O primitive:\n\ | 6788 The first argument OPERATION specifies an I/O primitive: |
6786 For file I/O, `insert-file-contents' or `write-region'.\n\ | 6789 For file I/O, `insert-file-contents' or `write-region'. |
6787 For process I/O, `call-process', `call-process-region', or `start-process'.\n\ | 6790 For process I/O, `call-process', `call-process-region', or `start-process'. |
6788 For network I/O, `open-network-stream'.\n\ | 6791 For network I/O, `open-network-stream'. |
6789 \n\ | 6792 |
6790 The remaining arguments should be the same arguments that were passed\n\ | 6793 The remaining arguments should be the same arguments that were passed |
6791 to the primitive. Depending on which primitive, one of those arguments\n\ | 6794 to the primitive. Depending on which primitive, one of those arguments |
6792 is selected as the TARGET. For example, if OPERATION does file I/O,\n\ | 6795 is selected as the TARGET. For example, if OPERATION does file I/O, |
6793 whichever argument specifies the file name is TARGET.\n\ | 6796 whichever argument specifies the file name is TARGET. |
6794 \n\ | 6797 |
6795 TARGET has a meaning which depends on OPERATION:\n\ | 6798 TARGET has a meaning which depends on OPERATION: |
6796 For file I/O, TARGET is a file name.\n\ | 6799 For file I/O, TARGET is a file name. |
6797 For process I/O, TARGET is a process name.\n\ | 6800 For process I/O, TARGET is a process name. |
6798 For network I/O, TARGET is a service name or a port number\n\ | 6801 For network I/O, TARGET is a service name or a port number |
6799 \n\ | 6802 |
6800 This function looks up what specified for TARGET in,\n\ | 6803 This function looks up what specified for TARGET in, |
6801 `file-coding-system-alist', `process-coding-system-alist',\n\ | 6804 `file-coding-system-alist', `process-coding-system-alist', |
6802 or `network-coding-system-alist' depending on OPERATION.\n\ | 6805 or `network-coding-system-alist' depending on OPERATION. |
6803 They may specify a coding system, a cons of coding systems,\n\ | 6806 They may specify a coding system, a cons of coding systems, |
6804 or a function symbol to call.\n\ | 6807 or a function symbol to call. |
6805 In the last case, we call the function with one argument,\n\ | 6808 In the last case, we call the function with one argument, |
6806 which is a list of all the arguments given to this function.\n\ | 6809 which is a list of all the arguments given to this function. |
6807 \n\ | 6810 |
6808 usage: (find-operation-coding-system OPERATION ARGUMENTS ...)") | 6811 usage: (find-operation-coding-system OPERATION ARGUMENTS ...) */) |
6809 (nargs, args) | 6812 (nargs, args) |
6810 int nargs; | 6813 int nargs; |
6811 Lisp_Object *args; | 6814 Lisp_Object *args; |
6812 { | 6815 { |
6813 Lisp_Object operation, target_idx, target, val; | 6816 Lisp_Object operation, target_idx, target, val; |
6814 register Lisp_Object chain; | 6817 register Lisp_Object chain; |
6870 return Qnil; | 6873 return Qnil; |
6871 } | 6874 } |
6872 | 6875 |
6873 DEFUN ("update-coding-systems-internal", Fupdate_coding_systems_internal, | 6876 DEFUN ("update-coding-systems-internal", Fupdate_coding_systems_internal, |
6874 Supdate_coding_systems_internal, 0, 0, 0, | 6877 Supdate_coding_systems_internal, 0, 0, 0, |
6875 "Update internal database for ISO2022 and CCL based coding systems.\n\ | 6878 doc: /* Update internal database for ISO2022 and CCL based coding systems. |
6876 When values of any coding categories are changed, you must\n\ | 6879 When values of any coding categories are changed, you must |
6877 call this function") | 6880 call this function. */) |
6878 () | 6881 () |
6879 { | 6882 { |
6880 int i; | 6883 int i; |
6881 | 6884 |
6882 for (i = CODING_CATEGORY_IDX_EMACS_MULE; i < CODING_CATEGORY_IDX_MAX; i++) | 6885 for (i = CODING_CATEGORY_IDX_EMACS_MULE; i < CODING_CATEGORY_IDX_MAX; i++) |
6883 { | 6886 { |
6901 return Qnil; | 6904 return Qnil; |
6902 } | 6905 } |
6903 | 6906 |
6904 DEFUN ("set-coding-priority-internal", Fset_coding_priority_internal, | 6907 DEFUN ("set-coding-priority-internal", Fset_coding_priority_internal, |
6905 Sset_coding_priority_internal, 0, 0, 0, | 6908 Sset_coding_priority_internal, 0, 0, 0, |
6906 "Update internal database for the current value of `coding-category-list'.\n\ | 6909 doc: /* Update internal database for the current value of `coding-category-list'. |
6907 This function is internal use only.") | 6910 This function is internal use only. */) |
6908 () | 6911 () |
6909 { | 6912 { |
6910 int i = 0, idx; | 6913 int i = 0, idx; |
6911 Lisp_Object val; | 6914 Lisp_Object val; |
6912 | 6915 |
6913 val = Vcoding_category_list; | 6916 val = Vcoding_category_list; |
7142 defsubr (&Sfind_operation_coding_system); | 7145 defsubr (&Sfind_operation_coding_system); |
7143 defsubr (&Supdate_coding_systems_internal); | 7146 defsubr (&Supdate_coding_systems_internal); |
7144 defsubr (&Sset_coding_priority_internal); | 7147 defsubr (&Sset_coding_priority_internal); |
7145 | 7148 |
7146 DEFVAR_LISP ("coding-system-list", &Vcoding_system_list, | 7149 DEFVAR_LISP ("coding-system-list", &Vcoding_system_list, |
7147 "List of coding systems.\n\ | 7150 doc: /* List of coding systems. |
7148 \n\ | 7151 |
7149 Do not alter the value of this variable manually. This variable should be\n\ | 7152 Do not alter the value of this variable manually. This variable should be |
7150 updated by the functions `make-coding-system' and\n\ | 7153 updated by the functions `make-coding-system' and |
7151 `define-coding-system-alias'."); | 7154 `define-coding-system-alias'. */); |
7152 Vcoding_system_list = Qnil; | 7155 Vcoding_system_list = Qnil; |
7153 | 7156 |
7154 DEFVAR_LISP ("coding-system-alist", &Vcoding_system_alist, | 7157 DEFVAR_LISP ("coding-system-alist", &Vcoding_system_alist, |
7155 "Alist of coding system names.\n\ | 7158 doc: /* Alist of coding system names. |
7156 Each element is one element list of coding system name.\n\ | 7159 Each element is one element list of coding system name. |
7157 This variable is given to `completing-read' as TABLE argument.\n\ | 7160 This variable is given to `completing-read' as TABLE argument. |
7158 \n\ | 7161 |
7159 Do not alter the value of this variable manually. This variable should be\n\ | 7162 Do not alter the value of this variable manually. This variable should be |
7160 updated by the functions `make-coding-system' and\n\ | 7163 updated by the functions `make-coding-system' and |
7161 `define-coding-system-alias'."); | 7164 `define-coding-system-alias'. */); |
7162 Vcoding_system_alist = Qnil; | 7165 Vcoding_system_alist = Qnil; |
7163 | 7166 |
7164 DEFVAR_LISP ("coding-category-list", &Vcoding_category_list, | 7167 DEFVAR_LISP ("coding-category-list", &Vcoding_category_list, |
7165 "List of coding-categories (symbols) ordered by priority.\n\ | 7168 doc: /* List of coding-categories (symbols) ordered by priority. |
7166 \n\ | 7169 |
7167 On detecting a coding system, Emacs tries code detection algorithms\n\ | 7170 On detecting a coding system, Emacs tries code detection algorithms |
7168 associated with each coding-category one by one in this order. When\n\ | 7171 associated with each coding-category one by one in this order. When |
7169 one algorithm agrees with a byte sequence of source text, the coding\n\ | 7172 one algorithm agrees with a byte sequence of source text, the coding |
7170 system bound to the corresponding coding-category is selected."); | 7173 system bound to the corresponding coding-category is selected. */); |
7171 { | 7174 { |
7172 int i; | 7175 int i; |
7173 | 7176 |
7174 Vcoding_category_list = Qnil; | 7177 Vcoding_category_list = Qnil; |
7175 for (i = CODING_CATEGORY_IDX_MAX - 1; i >= 0; i--) | 7178 for (i = CODING_CATEGORY_IDX_MAX - 1; i >= 0; i--) |
7177 = Fcons (XVECTOR (Vcoding_category_table)->contents[i], | 7180 = Fcons (XVECTOR (Vcoding_category_table)->contents[i], |
7178 Vcoding_category_list); | 7181 Vcoding_category_list); |
7179 } | 7182 } |
7180 | 7183 |
7181 DEFVAR_LISP ("coding-system-for-read", &Vcoding_system_for_read, | 7184 DEFVAR_LISP ("coding-system-for-read", &Vcoding_system_for_read, |
7182 "Specify the coding system for read operations.\n\ | 7185 doc: /* Specify the coding system for read operations. |
7183 It is useful to bind this variable with `let', but do not set it globally.\n\ | 7186 It is useful to bind this variable with `let', but do not set it globally. |
7184 If the value is a coding system, it is used for decoding on read operation.\n\ | 7187 If the value is a coding system, it is used for decoding on read operation. |
7185 If not, an appropriate element is used from one of the coding system alists:\n\ | 7188 If not, an appropriate element is used from one of the coding system alists: |
7186 There are three such tables, `file-coding-system-alist',\n\ | 7189 There are three such tables, `file-coding-system-alist', |
7187 `process-coding-system-alist', and `network-coding-system-alist'."); | 7190 `process-coding-system-alist', and `network-coding-system-alist'. */); |
7188 Vcoding_system_for_read = Qnil; | 7191 Vcoding_system_for_read = Qnil; |
7189 | 7192 |
7190 DEFVAR_LISP ("coding-system-for-write", &Vcoding_system_for_write, | 7193 DEFVAR_LISP ("coding-system-for-write", &Vcoding_system_for_write, |
7191 "Specify the coding system for write operations.\n\ | 7194 doc: /* Specify the coding system for write operations. |
7192 Programs bind this variable with `let', but you should not set it globally.\n\ | 7195 Programs bind this variable with `let', but you should not set it globally. |
7193 If the value is a coding system, it is used for encoding of output,\n\ | 7196 If the value is a coding system, it is used for encoding of output, |
7194 when writing it to a file and when sending it to a file or subprocess.\n\ | 7197 when writing it to a file and when sending it to a file or subprocess. |
7195 \n\ | 7198 |
7196 If this does not specify a coding system, an appropriate element\n\ | 7199 If this does not specify a coding system, an appropriate element |
7197 is used from one of the coding system alists:\n\ | 7200 is used from one of the coding system alists: |
7198 There are three such tables, `file-coding-system-alist',\n\ | 7201 There are three such tables, `file-coding-system-alist', |
7199 `process-coding-system-alist', and `network-coding-system-alist'.\n\ | 7202 `process-coding-system-alist', and `network-coding-system-alist'. |
7200 For output to files, if the above procedure does not specify a coding system,\n\ | 7203 For output to files, if the above procedure does not specify a coding system, |
7201 the value of `buffer-file-coding-system' is used."); | 7204 the value of `buffer-file-coding-system' is used. */); |
7202 Vcoding_system_for_write = Qnil; | 7205 Vcoding_system_for_write = Qnil; |
7203 | 7206 |
7204 DEFVAR_LISP ("last-coding-system-used", &Vlast_coding_system_used, | 7207 DEFVAR_LISP ("last-coding-system-used", &Vlast_coding_system_used, |
7205 "Coding system used in the latest file or process I/O."); | 7208 doc: /* Coding system used in the latest file or process I/O. */); |
7206 Vlast_coding_system_used = Qnil; | 7209 Vlast_coding_system_used = Qnil; |
7207 | 7210 |
7208 DEFVAR_BOOL ("inhibit-eol-conversion", &inhibit_eol_conversion, | 7211 DEFVAR_BOOL ("inhibit-eol-conversion", &inhibit_eol_conversion, |
7209 "*Non-nil means always inhibit code conversion of end-of-line format.\n\ | 7212 doc: /* *Non-nil means always inhibit code conversion of end-of-line format. |
7210 See info node `Coding Systems' and info node `Text and Binary' concerning\n\ | 7213 See info node `Coding Systems' and info node `Text and Binary' concerning |
7211 such conversion."); | 7214 such conversion. */); |
7212 inhibit_eol_conversion = 0; | 7215 inhibit_eol_conversion = 0; |
7213 | 7216 |
7214 DEFVAR_BOOL ("inherit-process-coding-system", &inherit_process_coding_system, | 7217 DEFVAR_BOOL ("inherit-process-coding-system", &inherit_process_coding_system, |
7215 "Non-nil means process buffer inherits coding system of process output.\n\ | 7218 doc: /* Non-nil means process buffer inherits coding system of process output. |
7216 Bind it to t if the process output is to be treated as if it were a file\n\ | 7219 Bind it to t if the process output is to be treated as if it were a file |
7217 read from some filesystem."); | 7220 read from some filesystem. */); |
7218 inherit_process_coding_system = 0; | 7221 inherit_process_coding_system = 0; |
7219 | 7222 |
7220 DEFVAR_LISP ("file-coding-system-alist", &Vfile_coding_system_alist, | 7223 DEFVAR_LISP ("file-coding-system-alist", &Vfile_coding_system_alist, |
7221 "Alist to decide a coding system to use for a file I/O operation.\n\ | 7224 doc: /* Alist to decide a coding system to use for a file I/O operation. |
7222 The format is ((PATTERN . VAL) ...),\n\ | 7225 The format is ((PATTERN . VAL) ...), |
7223 where PATTERN is a regular expression matching a file name,\n\ | 7226 where PATTERN is a regular expression matching a file name, |
7224 VAL is a coding system, a cons of coding systems, or a function symbol.\n\ | 7227 VAL is a coding system, a cons of coding systems, or a function symbol. |
7225 If VAL is a coding system, it is used for both decoding and encoding\n\ | 7228 If VAL is a coding system, it is used for both decoding and encoding |
7226 the file contents.\n\ | 7229 the file contents. |
7227 If VAL is a cons of coding systems, the car part is used for decoding,\n\ | 7230 If VAL is a cons of coding systems, the car part is used for decoding, |
7228 and the cdr part is used for encoding.\n\ | 7231 and the cdr part is used for encoding. |
7229 If VAL is a function symbol, the function must return a coding system\n\ | 7232 If VAL is a function symbol, the function must return a coding system |
7230 or a cons of coding systems which are used as above.\n\ | 7233 or a cons of coding systems which are used as above. |
7231 \n\ | 7234 |
7232 See also the function `find-operation-coding-system'\n\ | 7235 See also the function `find-operation-coding-system' |
7233 and the variable `auto-coding-alist'."); | 7236 and the variable `auto-coding-alist'. */); |
7234 Vfile_coding_system_alist = Qnil; | 7237 Vfile_coding_system_alist = Qnil; |
7235 | 7238 |
7236 DEFVAR_LISP ("process-coding-system-alist", &Vprocess_coding_system_alist, | 7239 DEFVAR_LISP ("process-coding-system-alist", &Vprocess_coding_system_alist, |
7237 "Alist to decide a coding system to use for a process I/O operation.\n\ | 7240 doc: /* Alist to decide a coding system to use for a process I/O operation. |
7238 The format is ((PATTERN . VAL) ...),\n\ | 7241 The format is ((PATTERN . VAL) ...), |
7239 where PATTERN is a regular expression matching a program name,\n\ | 7242 where PATTERN is a regular expression matching a program name, |
7240 VAL is a coding system, a cons of coding systems, or a function symbol.\n\ | 7243 VAL is a coding system, a cons of coding systems, or a function symbol. |
7241 If VAL is a coding system, it is used for both decoding what received\n\ | 7244 If VAL is a coding system, it is used for both decoding what received |
7242 from the program and encoding what sent to the program.\n\ | 7245 from the program and encoding what sent to the program. |
7243 If VAL is a cons of coding systems, the car part is used for decoding,\n\ | 7246 If VAL is a cons of coding systems, the car part is used for decoding, |
7244 and the cdr part is used for encoding.\n\ | 7247 and the cdr part is used for encoding. |
7245 If VAL is a function symbol, the function must return a coding system\n\ | 7248 If VAL is a function symbol, the function must return a coding system |
7246 or a cons of coding systems which are used as above.\n\ | 7249 or a cons of coding systems which are used as above. |
7247 \n\ | 7250 |
7248 See also the function `find-operation-coding-system'."); | 7251 See also the function `find-operation-coding-system'. */); |
7249 Vprocess_coding_system_alist = Qnil; | 7252 Vprocess_coding_system_alist = Qnil; |
7250 | 7253 |
7251 DEFVAR_LISP ("network-coding-system-alist", &Vnetwork_coding_system_alist, | 7254 DEFVAR_LISP ("network-coding-system-alist", &Vnetwork_coding_system_alist, |
7252 "Alist to decide a coding system to use for a network I/O operation.\n\ | 7255 doc: /* Alist to decide a coding system to use for a network I/O operation. |
7253 The format is ((PATTERN . VAL) ...),\n\ | 7256 The format is ((PATTERN . VAL) ...), |
7254 where PATTERN is a regular expression matching a network service name\n\ | 7257 where PATTERN is a regular expression matching a network service name |
7255 or is a port number to connect to,\n\ | 7258 or is a port number to connect to, |
7256 VAL is a coding system, a cons of coding systems, or a function symbol.\n\ | 7259 VAL is a coding system, a cons of coding systems, or a function symbol. |
7257 If VAL is a coding system, it is used for both decoding what received\n\ | 7260 If VAL is a coding system, it is used for both decoding what received |
7258 from the network stream and encoding what sent to the network stream.\n\ | 7261 from the network stream and encoding what sent to the network stream. |
7259 If VAL is a cons of coding systems, the car part is used for decoding,\n\ | 7262 If VAL is a cons of coding systems, the car part is used for decoding, |
7260 and the cdr part is used for encoding.\n\ | 7263 and the cdr part is used for encoding. |
7261 If VAL is a function symbol, the function must return a coding system\n\ | 7264 If VAL is a function symbol, the function must return a coding system |
7262 or a cons of coding systems which are used as above.\n\ | 7265 or a cons of coding systems which are used as above. |
7263 \n\ | 7266 |
7264 See also the function `find-operation-coding-system'."); | 7267 See also the function `find-operation-coding-system'. */); |
7265 Vnetwork_coding_system_alist = Qnil; | 7268 Vnetwork_coding_system_alist = Qnil; |
7266 | 7269 |
7267 DEFVAR_LISP ("locale-coding-system", &Vlocale_coding_system, | 7270 DEFVAR_LISP ("locale-coding-system", &Vlocale_coding_system, |
7268 "Coding system to use with system messages. Also used for decoding\n\ | 7271 doc: /* Coding system to use with system messages. Also used for decoding |
7269 keyboard input on X Window system."); | 7272 keyboard input on X Window system. */); |
7270 Vlocale_coding_system = Qnil; | 7273 Vlocale_coding_system = Qnil; |
7271 | 7274 |
7272 /* The eol mnemonics are reset in startup.el system-dependently. */ | 7275 /* The eol mnemonics are reset in startup.el system-dependently. */ |
7273 DEFVAR_LISP ("eol-mnemonic-unix", &eol_mnemonic_unix, | 7276 DEFVAR_LISP ("eol-mnemonic-unix", &eol_mnemonic_unix, |
7274 "*String displayed in mode line for UNIX-like (LF) end-of-line format."); | 7277 doc: /* *String displayed in mode line for UNIX-like (LF) end-of-line format. */); |
7275 eol_mnemonic_unix = build_string (":"); | 7278 eol_mnemonic_unix = build_string (":"); |
7276 | 7279 |
7277 DEFVAR_LISP ("eol-mnemonic-dos", &eol_mnemonic_dos, | 7280 DEFVAR_LISP ("eol-mnemonic-dos", &eol_mnemonic_dos, |
7278 "*String displayed in mode line for DOS-like (CRLF) end-of-line format."); | 7281 doc: /* *String displayed in mode line for DOS-like (CRLF) end-of-line format. */); |
7279 eol_mnemonic_dos = build_string ("\\"); | 7282 eol_mnemonic_dos = build_string ("\\"); |
7280 | 7283 |
7281 DEFVAR_LISP ("eol-mnemonic-mac", &eol_mnemonic_mac, | 7284 DEFVAR_LISP ("eol-mnemonic-mac", &eol_mnemonic_mac, |
7282 "*String displayed in mode line for MAC-like (CR) end-of-line format."); | 7285 doc: /* *String displayed in mode line for MAC-like (CR) end-of-line format. */); |
7283 eol_mnemonic_mac = build_string ("/"); | 7286 eol_mnemonic_mac = build_string ("/"); |
7284 | 7287 |
7285 DEFVAR_LISP ("eol-mnemonic-undecided", &eol_mnemonic_undecided, | 7288 DEFVAR_LISP ("eol-mnemonic-undecided", &eol_mnemonic_undecided, |
7286 "*String displayed in mode line when end-of-line format is not yet determined."); | 7289 doc: /* *String displayed in mode line when end-of-line format is not yet determined. */); |
7287 eol_mnemonic_undecided = build_string (":"); | 7290 eol_mnemonic_undecided = build_string (":"); |
7288 | 7291 |
7289 DEFVAR_LISP ("enable-character-translation", &Venable_character_translation, | 7292 DEFVAR_LISP ("enable-character-translation", &Venable_character_translation, |
7290 "*Non-nil enables character translation while encoding and decoding."); | 7293 doc: /* *Non-nil enables character translation while encoding and decoding. */); |
7291 Venable_character_translation = Qt; | 7294 Venable_character_translation = Qt; |
7292 | 7295 |
7293 DEFVAR_LISP ("standard-translation-table-for-decode", | 7296 DEFVAR_LISP ("standard-translation-table-for-decode", |
7294 &Vstandard_translation_table_for_decode, | 7297 &Vstandard_translation_table_for_decode, |
7295 "Table for translating characters while decoding."); | 7298 doc: /* Table for translating characters while decoding. */); |
7296 Vstandard_translation_table_for_decode = Qnil; | 7299 Vstandard_translation_table_for_decode = Qnil; |
7297 | 7300 |
7298 DEFVAR_LISP ("standard-translation-table-for-encode", | 7301 DEFVAR_LISP ("standard-translation-table-for-encode", |
7299 &Vstandard_translation_table_for_encode, | 7302 &Vstandard_translation_table_for_encode, |
7300 "Table for translating characters while encoding."); | 7303 doc: /* Table for translating characters while encoding. */); |
7301 Vstandard_translation_table_for_encode = Qnil; | 7304 Vstandard_translation_table_for_encode = Qnil; |
7302 | 7305 |
7303 DEFVAR_LISP ("charset-revision-table", &Vcharset_revision_alist, | 7306 DEFVAR_LISP ("charset-revision-table", &Vcharset_revision_alist, |
7304 "Alist of charsets vs revision numbers.\n\ | 7307 doc: /* Alist of charsets vs revision numbers. |
7305 While encoding, if a charset (car part of an element) is found,\n\ | 7308 While encoding, if a charset (car part of an element) is found, |
7306 designate it with the escape sequence identifying revision (cdr part of the element)."); | 7309 designate it with the escape sequence identifying revision (cdr part of the element). */); |
7307 Vcharset_revision_alist = Qnil; | 7310 Vcharset_revision_alist = Qnil; |
7308 | 7311 |
7309 DEFVAR_LISP ("default-process-coding-system", | 7312 DEFVAR_LISP ("default-process-coding-system", |
7310 &Vdefault_process_coding_system, | 7313 &Vdefault_process_coding_system, |
7311 "Cons of coding systems used for process I/O by default.\n\ | 7314 doc: /* Cons of coding systems used for process I/O by default. |
7312 The car part is used for decoding a process output,\n\ | 7315 The car part is used for decoding a process output, |
7313 the cdr part is used for encoding a text to be sent to a process."); | 7316 the cdr part is used for encoding a text to be sent to a process. */); |
7314 Vdefault_process_coding_system = Qnil; | 7317 Vdefault_process_coding_system = Qnil; |
7315 | 7318 |
7316 DEFVAR_LISP ("latin-extra-code-table", &Vlatin_extra_code_table, | 7319 DEFVAR_LISP ("latin-extra-code-table", &Vlatin_extra_code_table, |
7317 "Table of extra Latin codes in the range 128..159 (inclusive).\n\ | 7320 doc: /* Table of extra Latin codes in the range 128..159 (inclusive). |
7318 This is a vector of length 256.\n\ | 7321 This is a vector of length 256. |
7319 If Nth element is non-nil, the existence of code N in a file\n\ | 7322 If Nth element is non-nil, the existence of code N in a file |
7320 \(or output of subprocess) doesn't prevent it to be detected as\n\ | 7323 \(or output of subprocess) doesn't prevent it to be detected as |
7321 a coding system of ISO 2022 variant which has a flag\n\ | 7324 a coding system of ISO 2022 variant which has a flag |
7322 `accept-latin-extra-code' t (e.g. iso-latin-1) on reading a file\n\ | 7325 `accept-latin-extra-code' t (e.g. iso-latin-1) on reading a file |
7323 or reading output of a subprocess.\n\ | 7326 or reading output of a subprocess. |
7324 Only 128th through 159th elements has a meaning."); | 7327 Only 128th through 159th elements has a meaning. */); |
7325 Vlatin_extra_code_table = Fmake_vector (make_number (256), Qnil); | 7328 Vlatin_extra_code_table = Fmake_vector (make_number (256), Qnil); |
7326 | 7329 |
7327 DEFVAR_LISP ("select-safe-coding-system-function", | 7330 DEFVAR_LISP ("select-safe-coding-system-function", |
7328 &Vselect_safe_coding_system_function, | 7331 &Vselect_safe_coding_system_function, |
7329 "Function to call to select safe coding system for encoding a text.\n\ | 7332 doc: /* Function to call to select safe coding system for encoding a text. |
7330 \n\ | 7333 |
7331 If set, this function is called to force a user to select a proper\n\ | 7334 If set, this function is called to force a user to select a proper |
7332 coding system which can encode the text in the case that a default\n\ | 7335 coding system which can encode the text in the case that a default |
7333 coding system used in each operation can't encode the text.\n\ | 7336 coding system used in each operation can't encode the text. |
7334 \n\ | 7337 |
7335 The default value is `select-safe-coding-system' (which see)."); | 7338 The default value is `select-safe-coding-system' (which see). */); |
7336 Vselect_safe_coding_system_function = Qnil; | 7339 Vselect_safe_coding_system_function = Qnil; |
7337 | 7340 |
7338 DEFVAR_LISP ("char-coding-system-table", &Vchar_coding_system_table, | 7341 DEFVAR_LISP ("char-coding-system-table", &Vchar_coding_system_table, |
7339 "Char-table containing safe coding systems of each characters.\n\ | 7342 doc: /* Char-table containing safe coding systems of each characters. |
7340 Each element doesn't include such generic coding systems that can\n\ | 7343 Each element doesn't include such generic coding systems that can |
7341 encode any characters. They are in the first extra slot."); | 7344 encode any characters. They are in the first extra slot. */); |
7342 Vchar_coding_system_table = Fmake_char_table (Qchar_coding_system, Qnil); | 7345 Vchar_coding_system_table = Fmake_char_table (Qchar_coding_system, Qnil); |
7343 | 7346 |
7344 DEFVAR_BOOL ("inhibit-iso-escape-detection", | 7347 DEFVAR_BOOL ("inhibit-iso-escape-detection", |
7345 &inhibit_iso_escape_detection, | 7348 &inhibit_iso_escape_detection, |
7346 "If non-nil, Emacs ignores ISO2022's escape sequence on code detection.\n\ | 7349 doc: /* If non-nil, Emacs ignores ISO2022's escape sequence on code detection. |
7347 \n\ | 7350 |
7348 By default, on reading a file, Emacs tries to detect how the text is\n\ | 7351 By default, on reading a file, Emacs tries to detect how the text is |
7349 encoded. This code detection is sensitive to escape sequences. If\n\ | 7352 encoded. This code detection is sensitive to escape sequences. If |
7350 the sequence is valid as ISO2022, the code is determined as one of\n\ | 7353 the sequence is valid as ISO2022, the code is determined as one of |
7351 the ISO2022 encodings, and the file is decoded by the corresponding\n\ | 7354 the ISO2022 encodings, and the file is decoded by the corresponding |
7352 coding system (e.g. `iso-2022-7bit').\n\ | 7355 coding system (e.g. `iso-2022-7bit'). |
7353 \n\ | 7356 |
7354 However, there may be a case that you want to read escape sequences in\n\ | 7357 However, there may be a case that you want to read escape sequences in |
7355 a file as is. In such a case, you can set this variable to non-nil.\n\ | 7358 a file as is. In such a case, you can set this variable to non-nil. |
7356 Then, as the code detection ignores any escape sequences, no file is\n\ | 7359 Then, as the code detection ignores any escape sequences, no file is |
7357 detected as encoded in some ISO2022 encoding. The result is that all\n\ | 7360 detected as encoded in some ISO2022 encoding. The result is that all |
7358 escape sequences become visible in a buffer.\n\ | 7361 escape sequences become visible in a buffer. |
7359 \n\ | 7362 |
7360 The default value is nil, and it is strongly recommended not to change\n\ | 7363 The default value is nil, and it is strongly recommended not to change |
7361 it. That is because many Emacs Lisp source files that contain\n\ | 7364 it. That is because many Emacs Lisp source files that contain |
7362 non-ASCII characters are encoded by the coding system `iso-2022-7bit'\n\ | 7365 non-ASCII characters are encoded by the coding system `iso-2022-7bit' |
7363 in Emacs's distribution, and they won't be decoded correctly on\n\ | 7366 in Emacs's distribution, and they won't be decoded correctly on |
7364 reading if you suppress escape sequence detection.\n\ | 7367 reading if you suppress escape sequence detection. |
7365 \n\ | 7368 |
7366 The other way to read escape sequences in a file without decoding is\n\ | 7369 The other way to read escape sequences in a file without decoding is |
7367 to explicitly specify some coding system that doesn't use ISO2022's\n\ | 7370 to explicitly specify some coding system that doesn't use ISO2022's |
7368 escape sequence (e.g `latin-1') on reading by \\[universal-coding-system-argument]."); | 7371 escape sequence (e.g `latin-1') on reading by \\[universal-coding-system-argument]. */); |
7369 inhibit_iso_escape_detection = 0; | 7372 inhibit_iso_escape_detection = 0; |
7370 } | 7373 } |
7371 | 7374 |
7372 char * | 7375 char * |
7373 emacs_strerror (error_number) | 7376 emacs_strerror (error_number) |