bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#10870: 24.0.92; ansi-term broken on some Solaris platforms


From: Stefan Kangas
Subject: bug#10870: 24.0.92; ansi-term broken on some Solaris platforms
Date: Fri, 01 Nov 2019 23:41:29 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Jim Marks <jmm5491@yahoo.com> writes:

> This bug concerns ansi terminal emulation as invoked by the "ansi-term"
> command.  It works fine on sparc Solaris, but fails on i386 Solaris.
> The symptom occurs during initial loading of the shell (bash in my
> case) in ansi-term.  The following gets displayed at the bottom of the frame:
>
>     "No such directory found via CDPATH environment variable"
>
> This behavior continues for each shell command, and even on simple <cr>
> entry.
>
> Part of the problem seems to be the string that 
> term.el:'term-emulate-terminal'
> passes to 'term-command-hook'.
>
>               (let ((end (string-match "\r?$" str i)))
>                 (if end
>                 (funcall term-command-hook
>                      (prog1 (substring str (1+ i) end)
>                        (setq i (match-end 0))))
>
> I could see that on sparc, the value value of 'str' in the above code ends
> with a single ^M which is handled correctly (stripped) use the RE in
> the string-match.  On i386, the value of 'str' terminates with ^M^M.
> So, the above string-match just gets rid of one of them, and the other
> gets passed to the cd function, causing the confusion.  As a temp fix in
> my own emacs, I have replaced '?' in the RE with '*'.

This was reported 7 years ago, but unfortunately never got a reply at
the time.

I note that this code has changed quite a bit since this was
reported.  Are you still seeing this on a modern version of Emacs?

Best regards,
Stefan Kangas





reply via email to

[Prev in Thread] Current Thread [Next in Thread]