Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-371
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-372
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-373
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-374
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-375
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-376
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-377
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-378
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-379
   Merge from erc--emacs--21

 * emacs@sv.gnu.org/emacs--devo--0--patch-380
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-381
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-382
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-383
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-384
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-385
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-386
   Update from erc--emacs--22

 * emacs@sv.gnu.org/emacs--devo--0--patch-387
   Fix ERC bug introduced in last patch

 * emacs@sv.gnu.org/emacs--devo--0--patch-388
   Update from erc--emacs--22

 * emacs@sv.gnu.org/emacs--devo--0--patch-389
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-390
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-391
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-392
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-393
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-394
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-395
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-396
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-397
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-398
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-399
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-400
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-401
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-402
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-403
   Rcirc update from Ryan Yeske

 * emacs@sv.gnu.org/emacs--devo--0--patch-404
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-405
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-406
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-407
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-408
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-409
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-410
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-411
   Miscellaneous tq-related fixes.

 * emacs@sv.gnu.org/emacs--devo--0--patch-412
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-121
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-122
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-123
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-124
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-125
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-126
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-127
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-581
This commit is contained in:
Karoly Lorentey 2006-10-14 16:56:21 +00:00
commit 3f87f67ee2
175 changed files with 8121 additions and 11166 deletions

View file

@ -219,14 +219,15 @@ encode_coding_XXX (coding, source, destination, src_bytes, dst_bytes)
/* Like ONE_MORE_BYTE, but 8-bit bytes of data at SRC are in multibyte
form if MULTIBYTEP is nonzero. */
form if MULTIBYTEP is nonzero. In addition, if SRC is not less
than SRC_END, return with RET. */
#define ONE_MORE_BYTE_CHECK_MULTIBYTE(c1, multibytep) \
#define ONE_MORE_BYTE_CHECK_MULTIBYTE(c1, multibytep, ret) \
do { \
if (src >= src_end) \
{ \
coding->result = CODING_FINISH_INSUFFICIENT_SRC; \
goto label_end_of_loop; \
return ret; \
} \
c1 = *src++; \
if (multibytep && c1 == LEADING_CODE_8_BIT_CONTROL) \
@ -628,15 +629,15 @@ detect_coding_emacs_mule (src, src_end, multibytep)
while (1)
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep,
CODING_CATEGORY_MASK_EMACS_MULE);
if (composing)
{
if (c < 0xA0)
composing = 0;
else if (c == 0xA0)
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, 0);
c &= 0x7F;
}
else
@ -665,8 +666,6 @@ detect_coding_emacs_mule (src, src_end, multibytep)
}
}
}
label_end_of_loop:
return CODING_CATEGORY_MASK_EMACS_MULE;
}
@ -1421,9 +1420,9 @@ detect_coding_iso2022 (src, src_end, multibytep)
Lisp_Object safe_chars;
reg[0] = CHARSET_ASCII, reg[1] = reg[2] = reg[3] = -1;
while (mask && src < src_end)
while (mask)
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, mask & mask_found);
retry:
switch (c)
{
@ -1431,11 +1430,11 @@ detect_coding_iso2022 (src, src_end, multibytep)
if (inhibit_iso_escape_detection)
break;
single_shifting = 0;
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, mask & mask_found);
if (c >= '(' && c <= '/')
{
/* Designation sequence for a charset of dimension 1. */
ONE_MORE_BYTE_CHECK_MULTIBYTE (c1, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c1, multibytep, mask & mask_found);
if (c1 < ' ' || c1 >= 0x80
|| (charset = iso_charset_table[0][c >= ','][c1]) < 0)
/* Invalid designation sequence. Just ignore. */
@ -1445,13 +1444,14 @@ detect_coding_iso2022 (src, src_end, multibytep)
else if (c == '$')
{
/* Designation sequence for a charset of dimension 2. */
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, mask & mask_found);
if (c >= '@' && c <= 'B')
/* Designation for JISX0208.1978, GB2312, or JISX0208. */
reg[0] = charset = iso_charset_table[1][0][c];
else if (c >= '(' && c <= '/')
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c1, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c1, multibytep,
mask & mask_found);
if (c1 < ' ' || c1 >= 0x80
|| (charset = iso_charset_table[1][c >= ','][c1]) < 0)
/* Invalid designation sequence. Just ignore. */
@ -1626,7 +1626,8 @@ detect_coding_iso2022 (src, src_end, multibytep)
c = -1;
while (src < src_end)
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep,
mask & mask_found);
if (c < 0xA0)
break;
i++;
@ -1644,7 +1645,6 @@ detect_coding_iso2022 (src, src_end, multibytep)
break;
}
}
label_end_of_loop:
return (mask & mask_found);
}
@ -2915,20 +2915,18 @@ detect_coding_sjis (src, src_end, multibytep)
while (1)
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, CODING_CATEGORY_MASK_SJIS);
if (c < 0x80)
continue;
if (c == 0x80 || c == 0xA0 || c > 0xEF)
return 0;
if (c <= 0x9F || c >= 0xE0)
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, 0);
if (c < 0x40 || c == 0x7F || c > 0xFC)
return 0;
}
}
label_end_of_loop:
return CODING_CATEGORY_MASK_SJIS;
}
/* See the above "GENERAL NOTES on `detect_coding_XXX ()' functions".
@ -2947,17 +2945,15 @@ detect_coding_big5 (src, src_end, multibytep)
while (1)
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, CODING_CATEGORY_MASK_BIG5);
if (c < 0x80)
continue;
if (c < 0xA1 || c > 0xFE)
return 0;
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, 0);
if (c < 0x40 || (c > 0x7F && c < 0xA1) || c > 0xFE)
return 0;
}
label_end_of_loop:
return CODING_CATEGORY_MASK_BIG5;
}
/* See the above "GENERAL NOTES on `detect_coding_XXX ()' functions".
@ -2985,7 +2981,7 @@ detect_coding_utf_8 (src, src_end, multibytep)
while (1)
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, CODING_CATEGORY_MASK_UTF_8);
if (UTF_8_1_OCTET_P (c))
continue;
else if (UTF_8_2_OCTET_LEADING_P (c))
@ -3003,16 +2999,13 @@ detect_coding_utf_8 (src, src_end, multibytep)
do
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, 0);
if (!UTF_8_EXTRA_OCTET_P (c))
return 0;
seq_maybe_bytes--;
}
while (seq_maybe_bytes > 0);
}
label_end_of_loop:
return CODING_CATEGORY_MASK_UTF_8;
}
/* See the above "GENERAL NOTES on `detect_coding_XXX ()' functions".
@ -3041,15 +3034,13 @@ detect_coding_utf_16 (src, src_end, multibytep)
struct coding_system dummy_coding;
struct coding_system *coding = &dummy_coding;
ONE_MORE_BYTE_CHECK_MULTIBYTE (c1, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c2, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c1, multibytep, 0);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c2, multibytep, 0);
if ((c1 == 0xFF) && (c2 == 0xFE))
return CODING_CATEGORY_MASK_UTF_16_LE;
else if ((c1 == 0xFE) && (c2 == 0xFF))
return CODING_CATEGORY_MASK_UTF_16_BE;
label_end_of_loop:
return 0;
}
@ -3318,12 +3309,10 @@ detect_coding_ccl (src, src_end, multibytep)
valid = coding_system_table[CODING_CATEGORY_IDX_CCL]->spec.ccl.valid_codes;
while (1)
{
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep);
ONE_MORE_BYTE_CHECK_MULTIBYTE (c, multibytep, CODING_CATEGORY_MASK_CCL);
if (! valid[c])
return 0;
}
label_end_of_loop:
return CODING_CATEGORY_MASK_CCL;
}
@ -7547,7 +7536,10 @@ usage: (find-operation-coding-system OPERATION ARGUMENTS ...) */)
return Fcons (val, val);
if (! NILP (Ffboundp (val)))
{
val = safe_call1 (val, Flist (nargs, args));
/* We use call1 rather than safe_call1
so as to get bug reports about functions called here
which don't handle the current interface. */
val = call1 (val, Flist (nargs, args));
if (CONSP (val))
return val;
if (SYMBOLP (val) && ! NILP (Fcoding_system_p (val)))
@ -7971,8 +7963,9 @@ the file contents.
If VAL is a cons of coding systems, the car part is used for decoding,
and the cdr part is used for encoding.
If VAL is a function symbol, the function must return a coding system
or a cons of coding systems which are used as above. The function gets
the arguments with which `find-operation-coding-system' was called.
or a cons of coding systems which are used as above. The function is
called with an argument that is a list of the arguments with which
`find-operation-coding-system' was called.
See also the function `find-operation-coding-system'
and the variable `auto-coding-alist'. */);