nobu
db02621bfb
* load.c (load_unlock): update loading table at once.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-13 08:23:43 +00:00
nobu
50c1985555
* load.c (load_unlock): release loading barrier and then remove it
...
from loading_table if it is not in-use. [Bug #5754 ]
* thread.c (rb_barrier_release, rb_barrier_destroy): return
whether any other threads are waiting on it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 03:20:02 +00:00
nobu
f2fff83e96
* load.c (load_lock): delete the loading barrier if it has been
...
destroyed.
* thread.c (rb_barrier_wait): return nil for recursive lock
instead of false, to distinguish it from destroyed barrier.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-14 01:20:11 +00:00
nobu
ab6c8910f4
* load.c (load_unlock): all threads requiring one file should
...
share same loading barrier, so it must be kept alive while those
are waiting on it. [ruby-core:41618] [Bug #5754 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-13 07:13:31 +00:00
nobu
2e16e8a60e
* load.c (rb_feature_p): lazy assigned load_path searched in
...
loading_table were not expanded, but all features, pushed to
loading table, are expanded. a patch by Yura Sokolov
<funny.falcon AT gmail.com> in [ruby-core:41545]. [Bug #5727 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 08:26:54 +00:00
drbrain
a14e13b23b
* load.c (rb_f_require): Improve documentation of Kernel#require.
...
[Ruby 1.9 - Bug #5210 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-23 06:26:11 +00:00
nobu
8603c5934a
* eval_error.c (rb_print_undef_str): new function to raise
...
NameError for undefined method.
* load.c (rb_mod_autoload_p), object.c (rb_mod_const_get),
variable.c (rb_f_untrace_var, set_const_visibility), vm_method.c
(rb_mod_{remove,undef,alias}_method, set_method_visibility):
remove inadvertent symbol creation. based on the first patch by
Jeremy Evans at [ruby-core:38447]. [Feature #5089 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-26 16:05:35 +00:00
mrkn
564fb6a795
* load.c (rb_f_autoload): prevent to autoload for singleton
...
classes. fixes [Bug #4886 ] [ruby-dev:43816]
* bootstraptest/test_autoload.rb: add tests for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-10 06:32:06 +00:00
akr
5ed8c08aa0
* eval.c, hash.c, load.c, proc.c, range.c, thread.c, time.c: don't
...
declare internal functions.
* internal.h, vm_core.h: declare internal functions.
* array.c: include internal.h.
* common.mk: update dependency for array.o.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-18 08:26:19 +00:00
akr
e7996eb3cc
* internal.h: declare internal functions here.
...
* node.h: declare NODE dependent internal functions here.
* iseq.h: declare rb_iseq_t dependent internal functions here.
* vm_core.h: declare rb_thread_t dependent internal functions here.
* bignum.c, class.c, compile.c, complex.c, cont.c, dir.c, encoding.c,
enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c, io.c,
iseq.c, load.c, marshal.c, math.c, numeric.c, object.c, parse.y,
proc.c, process.c, range.c, rational.c, re.c, ruby.c, string.c,
thread.c, time.c, transcode.c, variable.c, vm.c,
tool/compile_prelude.rb: don't declare internal functions declared
in above headers. include above headers if required.
Note that rb_thread_mark() was declared as
void rb_thread_mark(rb_thread_t *th) in cont.c but defined as
void rb_thread_mark(void *ptr) in vm.c. Now it is declared as
the later in internal.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-17 22:43:38 +00:00
tarui
9ce69e7cef
* load.c (loaded_feature_path): cut nonsence loop execution to fix
...
performance bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31 21:56:01 +00:00
nahi
27ddbc5972
* include/ruby/defines.h (CASEFOLD_FILESYSTEM): Revert r30508. See #4255 .
...
Now __APPLE__ is not CASEFOLD_FILESYSTEM again.
* load.c (loaded_feature_path, rb_feature_p, load_lock): Revert r30508.
See #4255 . Make $LOADED_FEATURES scanning case-sensitive again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-22 12:52:18 +00:00
nobu
bf794afbf9
* load.c (rb_get_expanded_load_path): always expand load paths.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-05 01:09:39 +00:00
nobu
dd55661f56
* include/ruby/defines.h (CASEFOLD_FILESYSTEM): HFS+ is case
...
insensitive.
* load.c (loaded_feature_path, rb_feature_p, load_lock): on a
case-insensitive filesystem, loaded features search should
ignore case. [ruby-core:34297]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-10 13:46:47 +00:00
nobu
1aff775d39
* load.c (rb_f_require_relative): don't omit return type.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 03:48:57 +00:00
drbrain
d0830a222c
Document require_relative
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25 02:07:13 +00:00
akr
0316582ebc
* load.c: parenthesize macro arguments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-18 05:43:01 +00:00
nobu
097d58a594
* load.c (ruby_init_ext): export for golfers.
...
* vm_core.h (rb_iseq_eval, rb_iseq_compile_with_option): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-04 01:41:04 +00:00
nobu
b9432e7630
* load.c (rb_provide_feature): clarify error message for frozen
...
$LOADED_FEATURES. based on a patch from Run Paint Run Run at
[ruby-core:31913].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-29 03:51:39 +00:00
nobu
946a037e30
* load.c (load_failed): should honor encoding. [ruby-core:31915]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-29 03:20:04 +00:00
naruse
72fa4d34c0
* ruby.c: add prototype of rb_realpath_internal.
...
* load.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-18 01:16:13 +00:00
mame
2db572514c
* load.c (rb_load_internal): remove call to rb_realpath_internal
...
within rb_load_internal which caused big performance degradation.
Instead, call rb_realpath_internal in the caller of
rb_load_internal. [ruby-dev:41502] [ruby-dev:41610]
* vm.c (rb_vm_call_cfunc): ditto.
* eval_intern.h (rb_vm_call_cfunc): ditto.
* ruby.c (process_options): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-17 14:32:20 +00:00
nobu
7336f32c3b
* load.c (ruby_init_ext): statically linked extensions have no
...
real path. [ruby-dev:41526]
* vm.c (rb_vm_call_cfunc): add filepath argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-03 09:58:32 +00:00
mame
208a51ffa3
* load.c (load_failed): use more accurate error message.
...
[ruby-core:23851]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-30 09:27:24 +00:00
marcandre
c1ecff1b1e
* hash.c: Documentation: change => in call-seq to ->.
...
* enum.c: Documentation: whitespace fix for r27865
* error.c: ditto
* file.c: ditto
* io.c: ditto
* load.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:31:22 +00:00
marcandre
7729de4d91
* array.c: Documentation: change => in call-seq to ->.
...
Harmonize "#=>" in examples. [ruby-core:30206]
* bignum.c: ditto
* class.c: ditto
* compar.c: ditto
* cont.c: ditto
* dir.c: ditto
* encoding.c: ditto
* enum.c: ditto
* enumerator.c: ditto
* error.c: ditto
* eval.c: ditto
* file.c: ditto
* gc.c: ditto
* io.c: ditto
* load.c: ditto
* marshal.c: ditto
* math.c: ditto
* numeric.c: ditto
* object.c: ditto
* pack.c: ditto
* proc.c: ditto
* process.c: ditto
* random.c: ditto
* range.c: ditto
* re.c: ditto
* ruby.c: ditto
* signal.c: ditto
* sprintf.c: ditto
* string.c: ditto
* struct.c: ditto
* thread.c: ditto
* time.c: ditto
* transcode.c: ditto
* variable.c: ditto
* vm_eval.c: ditto
* vm_method.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:07:33 +00:00
nobu
38af94c6ab
* file.c (rb_file_dirname): split from rb_file_s_dirname.
...
* load.c (rb_f_require_relative): use absolute path instead of
expanded path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 09:26:09 +00:00
mame
6ff75042db
* compile.c, iseq.c, ruby.c, vm.c, vm_core.h, vm_eval.c: add absolute
...
path field into rb_iseq_t. The field contains a string representing
a path to corresponding source file. or nil when the iseq is created
from -e, stdin, eval, etc. This field is used for require_relative.
[ruby-dev:40004]
* load.c (rb_f_require_relative): add C implementation of
require_relative.
* prelude.rb (require_relative): get rid of Ruby implementation of
require_relative.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-16 17:40:00 +00:00
shugo
06fa07662b
* load.c (rb_get_expanded_load_path): expand paths if any item in $:
...
is not a string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-13 02:16:20 +00:00
shugo
d9fe7ef492
* load.c (rb_get_expanded_load_path): does not expand paths if all
...
the items in $: are absolute paths. [ruby-core:28113]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-13 01:34:38 +00:00
nobu
37e11f3cce
* dln.c (translit_separator): moved back from load.c again.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-24 02:52:08 +00:00
marcandre
089494fcd1
* load.c (Kernel#autoload?, Module#autoload?): added doc [ruby-core:19983]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-23 19:45:37 +00:00
nobu
31a6d50863
* load.c (rb_feature_provided): fixed for autoloading extension
...
library without suffix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-09 06:46:31 +00:00
nobu
ec490ab2c4
* load.c (rb_feature_provided): suppressed warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-18 11:18:25 +00:00
nobu
e07cb859cc
* suppressed shorten-64-to-32 warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-18 08:05:32 +00:00
nobu
ff1b8b7593
* file.c (rb_find_file_ext, rb_find_file): no needs to expand
...
paths with tilde twice.
* load.c (rb_f_load): load the given path directly if not found in
load_path.
* load.c (search_required): search file in specified safe level.
* load.c (rb_require_safe): path to load is already searched in
search_required().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-23 07:05:04 +00:00
mame
5d30ddec17
* load.c (Init_load): $: must be readonly. [ruby-dev:38690]
...
* ruby.c (ruby_prog_init): $-W must be readonly. [ruby-dev:38691]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-21 13:35:41 +00:00
matz
bb7a1e8d5e
* load.c (rb_f_require): RDoc updated. a patch from Run Paint Run
...
Run in [ruby-core:23833].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-17 07:59:26 +00:00
nobu
3bfa955a8c
* load.c (load_lock): show backtrace at circular require.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-13 06:03:44 +00:00
nobu
b26e4cbb22
* load.c (rb_provide): assumes us-ascii only.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-13 06:00:45 +00:00
nobu
7d8ae4129e
* load.c (rb_require_safe): FilePathValue() implies rb_str_new4().
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-13 05:59:01 +00:00
nobu
087ecdf5ed
* load.c (rb_mod_autoload): try conversion to path like as
...
require. [ruby-core:23834]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-13 05:57:41 +00:00
nobu
12d2c8ba41
stripped trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 14:23:33 +00:00
nobu
f35308b3ef
* eval_intern.h (translit_char): moved from ruby.c.
...
* load.c (load_ext): transliterates file separators and back if
needed.
* symbian/setup (DLN_NEEDS_ALT_SEPARATOR): defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-19 06:11:41 +00:00
nobu
0f9422ef23
* load.c (load_lock): warn for circular require. [ruby-core:20794],
...
[ruby-core:20797]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-03 02:25:42 +00:00
nobu
fa4f685ef7
* load.c (rb_require_safe): raises when the path to be loaded is
...
tainted. [ruby-dev:37843]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-31 10:07:49 +00:00
shugo
1a89baadd3
* load.c (rb_feature_provided): should not calculate len by pointer
...
subtraction because feature may be a expanded path.
[ruby-core:21267]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-29 07:32:07 +00:00
ko1
cf23d0f0f0
* vm.c: add a prefix "rb_" to exposed functions
...
vm_get_ruby_level_next_cfp(), rb_vm_make_env_object(),
vm_stack_to_heap(), vm_make_proc(), vm_invoke_proc(),
vm_get_sourceline(), vm_cref(), vm_localjump_error(),
vm_make_jump_tag_but_local_jump(), vm_jump_tag_but_local_jump().
This changes may affect only core because most of renamed functions
require a pointer of not-exposed struct such as rb_thread_t or NODE.
In short, they are core functions.
* cont.c, eval.c, eval_intern.h, load.c, proc.c, thread.c,
vm_core.h, vm_dump.c, vm_eval.c, vm_exec.c, vm_insnhelper.c:
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-19 02:38:11 +00:00
usa
6a613ba2e4
* ruby.c (set_arg0): use strlcpy() instead of strncpy().
...
* load.c (rb_feature_p): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-16 02:37:45 +00:00
nobu
d7f67b4970
* load.c (rb_feature_p): load path must be expanded.
...
[ruby-dev:37388]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-12 02:00:55 +00:00