Feature #5458

DL should be removed

Added by Motohiro KOSAKI over 2 years ago. Updated 3 months ago.

Status:Assigned
Priority:Normal
Assignee:Yusuke Endoh
Category:ext
Target version:current: 2.2.0

Description

DL and fiddle are redundant. Moreover DL has no maintainer and its code is problematic.

History

#1 Updated by Yui NARUSE over 2 years ago

  • Project changed from CommonRuby to ruby-trunk

#2 Updated by Yusuke Endoh about 2 years ago

  • Target version set to Next Major

#3 Updated by Yusuke Endoh about 2 years ago

  • Status changed from Open to Assigned
  • Assignee set to Yukihiro Matsumoto

In principle, nothing should be removed from 2.0 because of compatibility.
I cannot advocate DL and Syck, though...

Yusuke Endoh mame@tsg.ne.jp

#4 Updated by Anonymous about 2 years ago

  • File noname added

On Tue, Mar 27, 2012 at 10:50:41PM +0900, mame (Yusuke Endoh) wrote:

Issue #5458 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to matz (Yukihiro Matsumoto)

In principle, nothing should be removed from 2.0 because of compatibility.
I cannot advocate DL and Syck, though...

Fiddle doesn't handle struct creation and formatting. That part of DL
is useful. I could port that to Fiddle, but I'm not sure why.

Now that libffi will work with windows, why don't we just remove the C
code that backs DL? Then we can keep the DL ruby code and forget about
the native code.

--
Aaron Patterson
http://tenderlovemaking.com/

#5 Updated by Yukihiro Matsumoto almost 2 years ago

  • Assignee changed from Yukihiro Matsumoto to Yusuke Endoh

Even though DL can be emulated by using Fiddle in theory, I'd rather keep it for 2.0 for compatibility.
After 2.0, it's OK to replace DL. In that case, we can mark DL as obsolete.

#6 Updated by Yusuke Endoh almost 2 years ago

  • Assignee changed from Yusuke Endoh to Aaron Patterson
  • Target version changed from Next Major to 2.0.0

Okay, I'm willing to mark DL as obsolete in 2.0.
If anyone has an objection, please declare yourself ASAP.

Aaron, could you add a warning?
Then, please reassign back to me.

Yusuke Endoh mame@tsg.ne.jp

#7 Updated by Anonymous almost 2 years ago

  • File noname added

On Sat, Apr 28, 2012 at 02:06:51AM +0900, mame (Yusuke Endoh) wrote:

Issue #5458 has been updated by mame (Yusuke Endoh).

Assignee changed from mame (Yusuke Endoh) to tenderlovemaking (Aaron Patterson)
Target version changed from 3.0 to 2.0.0

Okay, I'm willing to mark DL as obsolete in 2.0.
If anyone has an objection, please declare yourself ASAP.

Aaron, could you add a warning?
Then, please reassign back to me.

Yes I can add a warning! :-)

--
Aaron Patterson
http://tenderlovemaking.com/

#8 Updated by Yui NARUSE almost 2 years ago

  • File deleted (noname)

#9 Updated by Yui NARUSE almost 2 years ago

  • File deleted (noname)

#10 Updated by Yusuke Endoh over 1 year ago

Aaron, did you add a warning?

Yusuke Endoh mame@tsg.ne.jp

#11 Updated by Yusuke Endoh over 1 year ago

Aaron?

Yusuke Endoh mame@tsg.ne.jp

#12 Updated by Anonymous over 1 year ago

On Sat, Nov 24, 2012 at 11:26:16AM +0900, mame (Yusuke Endoh) wrote:

Issue #5458 has been updated by mame (Yusuke Endoh).

Aaron?

Sorry, I'm working on this. I should have the deprecation warning added
some time tomorrow (UTC-7).

--
Aaron Patterson
http://tenderlovemaking.com/

#13 Updated by Zachary Scott over 1 year ago

I wrote a patch for the deprecation notice: https://gist.github.com/4155983

#14 Updated by Aaron Patterson over 1 year ago

  • Assignee changed from Aaron Patterson to Yusuke Endoh

DL is deprecated in trunk. To maintain backwards compatibility, I've moved some parts of DL to Fiddle. We should be able to remove ext/dl after 2.0 release.

#15 Updated by Shota Fukumori over 1 year ago

  • Category set to ext
  • Target version changed from 2.0.0 to next minor

#16 Updated by Naohisa Goto 11 months ago

When DL is removed?

#17 Updated by Prem Sichanugrist 11 months ago

@ngoto Looking from the target, seems like this will be removed on 2.1.0 (next minor)

#18 Updated by Naohisa Goto 11 months ago

  • Target version changed from next minor to 2.1.0

#19 Updated by Luis Lavena 11 months ago

tenderlovemaking (Aaron Patterson) wrote:

DL is deprecated in trunk. To maintain backwards compatibility, I've moved some parts of DL to Fiddle. We should be able to remove ext/dl after 2.0 release.

What parts of DL remain to be migrated to Fiddle?

With DL being deprecated, Win32API component and win32/registry will need to be changed or removed entirely.

#20 Updated by Zachary Scott 11 months ago

The Win32 stuff is largely undocumented, but I remember ngoto-san
moved a lot of it to Fiddle already?

#21 Updated by Anonymous 11 months ago

On Mon, May 20, 2013 at 07:55:11AM +0900, Zachary Scott wrote:

The Win32 stuff is largely undocumented, but I remember ngoto-san
moved a lot of it to Fiddle already?

Pretty much everything should be moved by now. I'll remove DL, see what
breaks, then port any remaining bits.

--
Aaron Patterson
http://tenderlovemaking.com/

#22 Updated by Luis Lavena 11 months ago

zzak (Zachary Scott) wrote:

The Win32 stuff is largely undocumented, but I remember ngoto-san
moved a lot of it to Fiddle already?

I think you're correct, I see win32/registry and win32/resolv:

However I don't see Win32API:

https://github.com/ruby/ruby/blob/trunk/ext/dl/win32/lib/Win32API.rb

So I think the warning in 1.9.3 and 2.0.0 is misleading.

Thank you.

#23 Updated by Zachary Scott 3 months ago

It seems the win32 stuff was moved in r41936 and released in 2.1.0: https://github.com/ruby/ruby/commit/771d31a

Should we mark this ticket as closed 100%?

#24 Updated by Hiroshi SHIBATA 3 months ago

  • Target version changed from 2.1.0 to current: 2.2.0

Also available in: Atom PDF