Subject: 27.0.50; Emacs shell differs from a terminal in unexpected ways
From: Markus Triska <[email-masked]>
To: [email-masked]
Date: Tue, 28 Jul 2020 22:44:09 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

To reproduce this issue, please install Scryer Prolog in one of the ways
indicated in its source repository:

    https://github.com/mthom/scryer-prolog/

For example, use:

    $ cargo install scryer-prolog

Then, start Emacs with:

    $ emacs -Q

and start a shell with M-x shell RET. In the shell, invoke Scryer Prolog
and paste the following in the buffer:

    writeq('\
    '). % "\\\n" 

Scryer Prolog will answer with:

    caught: error(syntax_error(invalid_single_quoted_character),read_term/3)
    ?- caught: error(syntax_error(invalid_single_quoted_character),read_term/3)
    ?-

However, when I launch Scryer Prolog in any terminal application and
paste the exact same text, I get as response:

    ''   true.

So, the entire interaction reads, and is supposed to be:

    ?- writeq('\
    '). % "\\\n" 
    ''   true.

I expect the same result when posting this in the Emacs shell. However,
in the Emacs shell, the entire interaction is unexpectedly:

    bash-3.2$ ~/scryer-prolog/target/release/scryer-prolog 
    ?- writeq('\
    '). % "\\\n" 
    caught: error(syntax_error(invalid_single_quoted_character),read_term/3)
    ?- caught: error(syntax_error(invalid_single_quoted_character),read_term/3)
    ?- 

Could you please have a look, and if possible implement the behaviour of
the system terminal also in the Emacs shell?

Thank you a lot!
Markus

In GNU Emacs 27.0.50 (build 1, x86_64-apple-darwin18.0.0, X toolkit, Xaw scroll bars)
 of 2018-11-15 built on mt-mac
Repository revision: b4eb908f858284a7962851fd99c94598f76afa6f
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description:  Mac OS X 10.14.2