dumping ground for random patches and texts
 help / color / mirror / Atom feed
* [PATCH] load.c: prevent enumerator load search
@ 2015-07-04 21:14 Eric Wong
  0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2015-07-04 21:14 UTC (permalink / raw)
  To: spew

This violates rubyspec, but passes "make check"

1)
Kernel#require (file extensions) loads a .rb extensioned file when a C-extension file of the same name is loaded FAILED
Expected false to be true
/ruby/spec/rubyspec/core/kernel/shared/require.rb:258:in `block (3 levels) in <top (required)>'
/ruby/spec/rubyspec/core/kernel/require_spec.rb:5:in `<top (required)>'

2)
Kernel#require ($LOAD_FEATURES) when a non-extensioned file is in $LOADED_FEATURES loads a .rb extensioned file when a non extensioned file is in $LOADED_FEATURES FAILED
Expected false to be true
/ruby/spec/rubyspec/core/kernel/shared/require.rb:366:in `block (4 levels) in <top (required)>'
/ruby/spec/rubyspec/core/kernel/require_spec.rb:5:in `<top (required)>'

3)
Kernel.require (file extensions) loads a .rb extensioned file when a C-extension file of the same name is loaded FAILED
Expected false to be true
/ruby/spec/rubyspec/core/kernel/shared/require.rb:258:in `block (3 levels) in <top (required)>'
/ruby/spec/rubyspec/core/kernel/require_spec.rb:24:in `<top (required)>'

4)
Kernel.require ($LOAD_FEATURES) when a non-extensioned file is in $LOADED_FEATURES loads a .rb extensioned file when a non extensioned file is in $LOADED_FEATURES FAILED
Expected false to be true
/ruby/spec/rubyspec/core/kernel/shared/require.rb:366:in `block (4 levels) in <top (required)>'
/ruby/spec/rubyspec/core/kernel/require_spec.rb:24:in `<top (required)>'
---
 load.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/load.c b/load.c
index 91122c7..2fcca1e 100644
--- a/load.c
+++ b/load.c
@@ -897,6 +897,10 @@ search_required(VALUE fname, volatile VALUE *path, int safe_level)
 	if (loading) *path = rb_filesystem_str_new_cstr(loading);
 	return 'r';
     }
+
+    if (ft)
+	goto statically_linked;
+
     tmp = fname;
     type = rb_find_file_ext_safe(&tmp, loadable_ext, safe_level);
     switch (type) {
-- 
EW


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-07-04 21:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-04 21:14 [PATCH] load.c: prevent enumerator load search Eric Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).