Web lists-archives.com

Re: [Mingw-msys] Re: Howto obtain a full Windows path from a shell command?

  On 04/20/2010 05:13 PM, Keith Marshall wrote:
> On Monday 19 April 2010 15:43:49 David A. Cobb wrote:
> [No need to cc me separately, thanks David; I follow the list]
OK, I routinely "Reply All" on list traffic.  Don't mean to reduce the 
signal-to-noise ratio.
>>> Huh?  Certainly, avoid RXVT like the plague; use a native Win32
>>> console, either standalone, or driven through Console2.
>> Please, please, why??  I quite like RXVT and I don't see any
>> problems with it.
> Many others do.  RXVT expects stdio streams to be attached to ptys,
> but MSW has no such thing.  MSYS emulates them with pipes, which
> behave as regular file streams.  Thus, isatty(3) returns false,
> (where for a pty or a real tty it *should* return true), and I/O
> buffering will be set up incorrectly for the stdio streams.  This
> usually causes interactive programs to misbehave -- badly.
>> But what is "Console2".
> Greg has already answered that; JFGI, and it's the first hit.
Found it, thanks.  I'll give it a try RSN.
>>> $TERM isn't really a good choice for identifying an MSYS
>>> environment, (it is too ubiquitous); something MSYS specific,
>>> such as $MSYSTEM, would surely be a better choice.
>> I agree, TERM was not a great choice for the MSYS folks.
> $TERM is perfectly good, and the correct choice, for the purpose it
> is intended, (and as designated by the original MSYS developers); it
> just isn't a great choice for *your* (very different) purpose.
Silly to argue, but $TERM has a certain expected semantics in many or 
most environments -- Terminal Characteristics.
Arguably, RXVT should set TERM to "rxvt" (or xterm, or color-xterm) to 
allow a program to use, e.g. pdcurses sensibly.
Since Cmd.exe doesn't necessarily handle all VT-220 escape language, it 
should set, probably, "dumb".
Console2 -- depends on what escapes it supports.
>> IMNSHO, however, the _right_ choice would be to set "MACHTYPE" to
>> whatever a configure scriipt expects when parsing an MSYS build.
>>   It's no "trick" at all -- MACHTYPE already has the desired
>> semantics.
> A "not so humble opinion" maybe, but perhaps not so astute!  As I've
> already pointed out in a previous follow-up, $OSTYPE would likely be
> a better choice, (it would tell you "msys" directly, unlike $MACHTYPE
> which you would have to parse further), but it and $MACHTYPE alike,
> exhibit their own particular disadvantages:--a
Thanks, I didn't know about OSTYPE -- hadn't seen it before whereas I 
see plenty of MACHTYPE.  Even if it's a bashism, rather than an artifact 
of the *nix confgure--make build protocol, it's something I can set to 
an appropriate value.
> * Both are bash-isms, therefore not guaranteed to be defined in any
>    context, other than within a bash shell.
> * Neither is exported, (unless you make it so), and therefore may
>    not be visible in your emacs process context, even if launched by
>    a bash shell; (they will be automatically recreated within any
>    bash shell you subsequently spawn, but they don't propagate).
Yeah, but I can set it "appropriately," meaning a value such as the *nix 
configure scripts would produce for the same environment.  Anyway, 
"reasonable minds may disagree."


David A. Cobb -- computing t-rex

Mingw-msys mailing list