# HG changeset patch # User Richard M. Stallman # Date 867812341 0 # Node ID 92d4f44969c68f5892b52d49c3134af218db834f # Parent 0ee8503818619f351b55f64ec5349fd4fbb91256 (decode_mode_spec_coding): Clean up handling of eol conversions. diff -r 0ee850381861 -r 92d4f44969c6 src/xdisp.c --- a/src/xdisp.c Wed Jul 02 02:57:29 1997 +0000 +++ b/src/xdisp.c Wed Jul 02 02:59:01 1997 +0000 @@ -4023,31 +4023,48 @@ register char *buf; int eol_flag; { - register Lisp_Object val = coding_system; + Lisp_Object val; + + val = coding_system; if (NILP (val)) /* Not yet decided. */ { *buf++ = '-'; - if (eol_flag) *buf++ = eol_mnemonic_undecided; + *buf++ = eol_mnemonic_undecided; + /* Don't mention EOL conversion if it isn't decided. */ } else { + Lisp_Object eolvalue; + + eolvalue = Fget (coding_system, Qeol_type); + while (!NILP (val) && SYMBOLP (val)) - val = Fget (val, Qcoding_system); + { + val = Fget (val, Qcoding_system); + if (NILP (eolvalue)) + eolvalue = Fget (coding_system, Qeol_type); + } + *buf++ = XFASTINT (XVECTOR (val)->contents[1]); if (eol_flag) { - val = Fget (coding_system, Qeol_type); - - if (NILP (val)) /* Not yet decided. */ - *buf++ = eol_mnemonic_undecided; - else if (VECTORP (val)) /* Not yet decided. */ - *buf++ = eol_mnemonic_undecided; - else /* INTEGERP (val) -- 1:LF, 2:CRLF, 3:CR */ - *buf++ = (XFASTINT (val) == 1 - ? eol_mnemonic_unix - : (XFASTINT (val) == 2 - ? eol_mnemonic_dos : eol_mnemonic_mac)); + /* The EOL conversion we are using. */ + int eoltype; + /* The EOL conversion that is normal on this system. */ + + if (NILP (eolvalue)) /* Not yet decided. */ + eoltype = eol_mnemonic_undecided; + else if (VECTORP (eolvalue)) /* Not yet decided. */ + eoltype = eol_mnemonic_undecided; + else /* INTEGERP (eolvalue) -- 0:LF, 1:CRLF, 2:CR */ + eoltype = (XFASTINT (eolvalue) == 0 + ? eol_mnemonic_unix + : (XFASTINT (eolvalue) == 1 + ? eol_mnemonic_dos : eol_mnemonic_mac)); + + /* Mention the EOL conversion if it is not the usual one. */ + *buf++ = eoltype; } } return buf;