diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2013-01-20 23:59:47 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2013-01-20 23:59:47 +0100 |
commit | ba14c607ba7fdadb494b57a9788997059ba510bf (patch) | |
tree | 3fd77251e602be972b79e1cc3e528c44cd00ee9e | |
parent | 114d4d84c89fc7a2a0187a8b44cba92735affc8e (diff) | |
download | emacs-ba14c607ba7fdadb494b57a9788997059ba510bf.tar.gz |
Fixes: debbugs:13505
* src/coding.c (detect_coding_iso_2022): Move back mis-reordered code
at check_extra_latin label.
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/coding.c | 29 |
2 files changed, 20 insertions, 14 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 64ffe05921f..623d9e4877f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2013-01-20 Andreas Schwab <schwab@linux-m68k.org> + + * coding.c (detect_coding_iso_2022): Move back mis-reordered code + at check_extra_latin label. (Bug#13505) + 2013-01-17 Glenn Morris <rgm@gnu.org> * fns.c (Frandom): Doc fix. diff --git a/src/coding.c b/src/coding.c index 47d5e138e1c..20d5d92f046 100644 --- a/src/coding.c +++ b/src/coding.c @@ -3063,20 +3063,7 @@ detect_coding_iso_2022 (struct coding_system *coding, } if (single_shifting) break; - check_extra_latin: - if (! VECTORP (Vlatin_extra_code_table) - || NILP (AREF (Vlatin_extra_code_table, c))) - { - rejected = CATEGORY_MASK_ISO; - break; - } - if (CODING_ISO_FLAGS (&coding_categories[coding_category_iso_8_1]) - & CODING_ISO_FLAG_LATIN_EXTRA) - found |= CATEGORY_MASK_ISO_8_1; - else - rejected |= CATEGORY_MASK_ISO_8_1; - rejected |= CATEGORY_MASK_ISO_8_2; - break; + goto check_extra_latin; default: if (c < 0) @@ -3127,6 +3114,20 @@ detect_coding_iso_2022 (struct coding_system *coding, } break; } + check_extra_latin: + if (! VECTORP (Vlatin_extra_code_table) + || NILP (AREF (Vlatin_extra_code_table, c))) + { + rejected = CATEGORY_MASK_ISO; + break; + } + if (CODING_ISO_FLAGS (&coding_categories[coding_category_iso_8_1]) + & CODING_ISO_FLAG_LATIN_EXTRA) + found |= CATEGORY_MASK_ISO_8_1; + else + rejected |= CATEGORY_MASK_ISO_8_1; + rejected |= CATEGORY_MASK_ISO_8_2; + break; } } detect_info->rejected |= CATEGORY_MASK_ISO; |