[#4595] New block syntax — Daniel Amelang <daniel.amelang@...>

I'm really sorry if this isn't the place to talk about this. I've

25 messages 2005/03/21
[#4606] Re: New block syntax — "David A. Black" <dblack@...> 2005/03/21

Hi --

[#4629] Re: New block syntax — "Sean E. Russell" <ser@...> 2005/03/30

On Monday 21 March 2005 16:17, David A. Black wrote:

[#4648] about REXML::Encoding — speakillof <speakillof@...>

Hi.

15 messages 2005/03/31
[#4659] Re: about REXML::Encoding — "Sean E. Russell" <ser@...> 2005/04/04

On Thursday 31 March 2005 09:44, speakillof wrote:

Re: Win32 Non-ASCII Filename Access

From: "Berger, Daniel" <Daniel.Berger@...>
Date: 2005-03-09 17:25:45 UTC
List: ruby-core #4539
> -----Original Message-----
> From: Austin Ziegler [mailto:halostatue@gmail.com] 

<snip>

> > IF the UNICODE macro is set. Basically, most Windows functions look 
> > like this:
> 
> I know.
> 
> UNFORTUNATELY, to get that to work, you also have to use 
> TCHAR as your character type. That is, instead of:
> 
>   char*	spec = "C:\\Foo\\Bar\\*.*";
> 
> you need:
> 
>   TCHAR* spec = "C:\\Foo\\Bar\\*.*";
> 
> This may cause *other* problems with Ruby, since it seemss to 
> be written around the assumption that a character is a single 
> byte wide.

That isn't my understanding, though perhaps I'm not "getting it".  From
what I've read, TCHAR is 2 bytes wide if UNICODE is defined.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/un
icode_28c3.asp

Or is the problem in the Ruby handling of TCHAR's and not TCHAR itself?
 
> Ultimately, the only acceptable way to do this is to NOT use 
> TCHAR, but to explicitly use the wide versions of functions 
> and do MultibyteToWide and WideToMultibyte calls as 
> necessary. The best choice for this will be, of course, UTF-8 
> (CP_UTF8), but if we're not in UTF-8 mode, we can always use 
> ANSI (CP_ACP) and get the exact same behaviour. Better, we 
> get to choose the mode of behaviour at run-time.

Ugh.  I really hope this isn't necessary.
 
> I do NOT recommend the use of TCHAR and _TEXT; they are 
> Microsoftisms, and they won't be compatible with standard 
> Ruby, I don't think.

I definitely think we should test this.  Any suggestions how?

Regards,

Dan


In This Thread

Prev Next