Feature #8601

Win32API.rb long life plan

Added by Akio Tajima over 2 years ago. Updated almost 2 years ago.

Assignee:Usaku NAKAMURA


Win32API.rb sits on ext/dl/win32/lib in the source tree.
But DL is deprecated on Ruby 2.0.1, so I'd like to move it from ext/dl/win32/lib to ext/win32/lib because the library is fundamental for Win32 platform.
Also it's required to fit Fiddler.

Attachment is the patched version of Win32API.rb for both DL and Fiddle based on mirich (http://d.hatena.ne.jp/mirichi/20130629/p1).

Win32API.rb Magnifier (1.53 KB) Akio Tajima, 07/05/2013 03:29 AM

Related issues

Related to Ruby trunk - Feature #5458: DL should be removed Closed 10/18/2011


#1 Updated by Vit Ondruch over 2 years ago

Wouldn't it be better to move it out of StdLib into separate gem?

#2 Updated by Akio Tajima over 2 years ago

No. Many of Windows users use ruby on enterprise environment that is disconnected from the network. So pre-installed library is required especially fundamentals such as Win32API.

#3 Updated by Nobuyoshi Nakada over 2 years ago

And lib/rubygems/user_interaction.rb and lib/securerandom.rb depend on it.

#4 Updated by Nobuyoshi Nakada over 2 years ago

lib/rubygems/user_interaction.rb has code to use io/console already.

# Bad habit branching by the version string...

#5 Updated by Luis Lavena over 2 years ago

  • Target version set to 2.1.0
  • Assignee set to Usaku NAKAMURA
  • Status changed from Open to Assigned
  • Category set to lib

Hello Arton,

In rb-readline project we used DL be able to access Windows API due the warning/removal of Win32API.rb after 2.0

Park Heesob wrote some wrapper on top of DL, and a few days ago we received a pull request that uses Fiddle:


I would love get this sorted out in Ruby itself so we don't have to fake it.

Assigning to Usa for final decision.

Thank you.

#6 Updated by Usaku NAKAMURA over 2 years ago

Win32API.rb should be removed at 2.1.0.

#7 Updated by Luis Lavena over 2 years ago

usa (Usaku NAKAMURA) wrote:

Win32API.rb should be removed at 2.1.0.

Hello usa,

This doesn't go against what nobu and arton said?

I can modify both RubyGems and SecureRandom to use Fiddle (for newer versions) but not sure about the enterprise environments that have no access to gems.

Thank you.

#8 Updated by Hiroshi SHIBATA almost 2 years ago

  • Target version changed from 2.1.0 to current: 2.2.0

#9 Updated by Naohisa Goto over 1 year ago

Also available in: Atom PDF