Feature #8601

Win32API.rb long life plan

Added by arton (Akio Tajima) over 4 years ago. Updated 2 months ago.

Target version:


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 (1.53 KB) Win32API.rb arton (Akio Tajima), 07/05/2013 03:29 AM

Related issues

Related to Ruby trunk - Feature #5458: DL should be removed Closed2011-10-18


#1 [ruby-core:55798] Updated by vo.x (Vit Ondruch) over 4 years ago

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

#2 [ruby-core:55800] Updated by arton (Akio Tajima) over 4 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 nobu (Nobuyoshi Nakada) over 4 years ago

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

#4 [ruby-core:55802] Updated by nobu (Nobuyoshi Nakada) over 4 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 luislavena (Luis Lavena) over 4 years ago

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

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 usa (Usaku NAKAMURA) over 4 years ago

Win32API.rb should be removed at 2.1.0.

#7 [ruby-core:56211] Updated by luislavena (Luis Lavena) over 4 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 hsbt (Hiroshi SHIBATA) about 4 years ago

  • Target version changed from 2.1.0 to 2.2.0

#9 [ruby-core:63469] Updated by ngoto (Naohisa Goto) over 3 years ago

#10 [ruby-core:83476] Updated by usa (Usaku NAKAMURA) 5 months ago

  • Assignee changed from usa (Usaku NAKAMURA) to cruby-windows

#11 Updated by naruse (Yui NARUSE) 2 months ago

  • Target version deleted (2.2.0)

Also available in: Atom PDF