Feature #8601

Win32API.rb long life plan

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



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 (

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 [ruby-core:55798] Updated by Vit Ondruch almost 3 years ago

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

#2 [ruby-core:55800] Updated by Akio Tajima almost 3 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 [ruby-core:55801] Updated by Nobuyoshi Nakada almost 3 years ago

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

#4 [ruby-core:55802] Updated by Nobuyoshi Nakada almost 3 years ago

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

# Bad habit branching by the version string...

#5 [ruby-core:55820] Updated by Luis Lavena almost 3 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 [ruby-core:56059] Updated by Usaku NAKAMURA almost 3 years ago

Win32API.rb should be removed at 2.1.0.

#7 [ruby-core:56211] Updated by Luis Lavena almost 3 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 [ruby-core:60302] Updated by Hiroshi SHIBATA over 2 years ago

  • Target version changed from 2.1.0 to current: 2.2.0

#9 [ruby-core:63469] Updated by Naohisa Goto almost 2 years ago

Also available in: Atom PDF