Adding Unicode operators to D

Bill Baxter wbaxter at gmail.com
Fri Oct 24 19:56:12 PDT 2008


On Sat, Oct 25, 2008 at 11:39 AM, Benji Smith <dlanguage at benjismith.net> wrote:
> Bill Baxter wrote:
>>
>> On Sat, Oct 25, 2008 at 10:31 AM, Benji Smith <dlanguage at benjismith.net>
>> wrote:
>>>
>>> Yigal Chripun wrote:
>>>>
>>>> Bill Baxter wrote:
>>>>>
>>>>> On Sat, Oct 25, 2008 at 9:15 AM, Sergey Gromov <snake.scaly at gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> Sat, 25 Oct 2008 06:43:19 +0900,
>>>>>> Bill Baxter wrote:
>>>>>>>
>>>>>>> On Sat, Oct 25, 2008 at 6:37 AM, ore-sama <spam at here.lot> wrote:
>>>>>>>>
>>>>>>>> Bill Baxter Wrote:
>>>>>>>>
>>>>>>>>> (like I haven't been able to figure out how to get the
>>>>>>>>> DOS console in Windows to display UTF-8)
>>>>>>>>
>>>>>>>> Console is a legacy technology (you even still call it "DOS"), why
>>>>>>>> expect features from it?
>>>>>>>
>>>>>>> So tell me what the alternative is?  I had trouble with running D
>>>>>>> tools from a Cygwin shell.  Can't remember if I tried MSYS or not.
>>>>>>>
>>>>>>> Anyone using a shell for Windows that works and supports UTF-8
>>>>>>> properly?
>>>>>>
>>>>>> A regular Windows console supports UTF-8 to some extent:
>>>>>>
>>>>>> * Change console font to Lucida Console
>>>>>> * issue "chcp 65001"
>>>>>>
>>>>>> You can even get more fonts into there with a bit of hackery.
>>>>>
>>>>> I did that but "type <filewith-utf8.txt>"  still prints garbage.
>>>>>
>>>>> --bb
>>>>
>>>> so don't use type. use notepad instead...
>>>> notepad <filewith-utf8.txt>
>>>> also, MSYS gives you all the linux tools if you really need to be shell
>>>> only.
>>>> last resort: nothing stops you from implementing your own "cat"
>>>> application in D with full Unicode support.
>>>>
>>>> most if not all linux shell tools are separate executables anyway and if
>>>> any still do not support unicode it'll be trivial to roll your own
>>>> replacements for the bad ones.
>>>
>>> Oh, and one of my favorite tricks in Windows is to install cygwin
>>> (usually
>>> at "C:\cygwin" or whatever their boneheaded installer insists on using)
>>> and
>>> then add the bin path ("C:\cygwin\bin") to the windows PATH.
>>>
>>> That way, I can continue using the ordinary windows shell (which I
>>> prefer,
>>> since it doesn't force me to use the nutty directory names that the
>>> cygwin
>>> shell uses), but I can still access all the linux commands.
>>>
>>> Calling grep from a windows shell is the bestest!
>>
>> But that has the same problem.  Cygtools don't understand windows
>> paths so barf when you say "grep c:\foo.txt"  But the Windows shell
>> only will only autocomplete Windows-style paths.
>>
>> I've found the gnuwin32 tools to work a little better on that front.
>>
>> --bb
>
> Wha???
>
> The "grep" tool doesn't read the path. The *shell* interprets the path and
> passes the text to the program. That's how all the gnu tools are able to
> pipe their results from one tool to the other.
>
> Or at least, that's how I assume it works.
>
> Cuz I use grep like every single day. On the "cmd.exe" shell. With windows
> paths.
>
> In fact, just for you, I tested this:
>
>   grep -i "SHAZZAM" "C:\Documents and Settings\benji\Desktop\my filename
> with spaces.txt"
>
> Worked like a charm.
>
> If the path doesn't have spaces, I have no problem with this:
>
>   grep -i "SHAZZAM" C:\file.txt
>
> I tried it in both "command.com" and in "cmd.exe" and didn't experience any
> problem in either environment.
>
> The key is to never never never use the cygwin shell. It's a piece of
> garbage. But using the executables from the "cygwin\bin" directory within
> the windows shell... Priceless!

Oh, I didn't realize that.  There is one thing that doesn't work,
which is probably what gave me the impression it was broken -- Windows
paths with wildcards don't work.   Like "grep c:\Windows\*.txt".   But
you're right that it does seem to work for both windows paths, and
local wildcards, just not Windows paths with wildcards.

But that's great.  Thanks for the info.  Actually I used to put
cygwin\bin on my path years ago, but stopped doing it at some point
and switched to gnuwin32.  I was under the impression that it worked
better then, but actually I've had some trouble with gnuwin32
recently.

--bb


More information about the Digitalmars-d-announce mailing list