[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
- bug#10870: 24.0.92; ansi-term broken on some Solaris platforms,
Stefan Kangas <=