knu
d5d2440e0f
Drop executable bits of files that are not executable.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-22 05:54:13 +00:00
naruse
131f694330
Suppress warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 06:49:35 +00:00
ko1
c4bc9b5758
* iseq.c, vm_eval.c: set th->base_block properly.
...
th->base_block is information for (a) parsing, (b) compiling
and (c) setting up the frame to execute the program passed by
`eval' method. For example, (1) parser need to know up-level
variables to detect it is variable or method without paren.
Befor (a), (b) and (c), VM set th->base_block by passed bindng
(or previous frame information). After execute (a), (b) and (c),
VM should clear th->base_block. However, if (a), (b) or (c)
raises an exception, then th->base_block is not cleared.
Problem is that the uncleared value th->balo_block is used for
irrelevant iseq compilation. It causes SEGV or critical error.
I tried to solve this problem: to clear them before exception,
but finally I found out that it is difficult to do it (Ruby
program can be run in many places).
Because of this background, I set th->base_block before
compiling iseq and restore it after compiling.
Basically, th->base_block is dirty hack (similar to global
variable) and this patch is also dirty.
* bootstraptest/test_eval.rb: add a test for above.
* internal.h: remove unused decl.
* iseq.c (rb_iseq_compile_with_option): add base_block parameter.
set th->base_block before compation and restore it after
compilation.
* ruby.c (require_libraries): pass 0 as base_block instead of
setting th->base_block
* tool/compile_prelude.rb (prelude_eval): apply above changes.
* vm.c, vm_eval.c: ditto.
* vm_core.h: add comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-22 09:32:56 +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
nobu
2ec4b694cb
* tool/compile_prelude.rb (Prelude#initialize): ignore empty
...
preludes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-15 01:00:09 +00:00
nobu
614bc7f9f8
* tool/compile_prelude.rb: enable optimization.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-28 00:49:25 +00:00
nobu
dd3bbc6005
* tool/compile_prelude.rb: typo.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 00:29:26 +00:00
nobu
04e68d0107
* ruby.c (ruby_init_loadpath_safe): mark initial load paths.
...
* gem_prelude.rb (push_all_highest_version_gems_on_load_path):
search insertion position by initial load path mark.
* lib/rubygems.rb (Gem.load_path_insert_index): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-12 15:11:10 +00:00
muraken
da72b1bb6e
* tool/compile_prelude.rb: TMP_RUBY_PREFIX should replace rubylibprefix but not prefix.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-12 04:56:34 +00:00
nobu
1dcf1174ea
* ruby.c (ruby_init_loadpath_safe, ruby_init_gems): set and remove
...
TMP_RUBY_PREFIX.
* variable.c (rb_mod_remove_const): new function.
* tool/compile_prelude.rb: split each preludes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-11 22:15:11 +00:00
mame
cd2a49f3c7
* tool/compile_prelude.rb: fix require path.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-06 10:36:32 +00:00
nobu
488024dfcf
* tool/compile_prelude.rb: reverted.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-08 12:41:05 +00:00
nobu
c6b3a96fbb
* tool/compile_prelude.rb: evaluates in the main context.
...
[ruby-core:25474]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-08 09:10:49 +00:00
yugui
b1c4052fdf
* tool/compile_prelude.rb: fixes a regexp pattern for require.
...
It had matched 'require("foo"('.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-08 17:11:39 +00:00
usa
bc70ea70cd
* tool/compile_prelude.rb: too long string literal causes compile error
...
on some platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-31 06:09:13 +00:00
yugui
e60463034a
* tool/compile_prelude.rb: replaces "require" with in-place evaluation
...
so that copy & paste for lib/rubygems/default.rb is not necessary.
* gem_prelude.rb: removes copied codes from lib/rubygems/defaults.rb.
uses require instead.
* common.mk (prelude.c): adds dependency for lib/rubygems/defaults.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-30 14:12:25 +00:00
nobu
b472f9b61a
* tool/*: executable.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 08:02:13 +00:00
nobu
fd83230726
* tool/compile_prelude.rb: use US-ASCII name.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 07:48:52 +00:00
mame
a4a3c85558
* tool/compile_prelude.rb: print "<internal:prelude>" instead of
...
"prelude.rb" on stack trace. [ruby-dev:36129]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-10 14:07:13 +00:00
nobu
a06fc80da6
* tool/compile_prelude.rb: allows extra suffix after .c.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-06 01:22:21 +00:00
akr
ab12f27fb5
* tool/compile_prelude.rb (C_ESC): use octal escape to avoid
...
"\x09for (;;) ..." to be interpret the first character 0x9f.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-01 02:45:47 +00:00
nobu
4496da18a8
* trunk/common.mk, goruby.c, golf_prelude.rb: for golfers.
...
* trunk/main.c (main): hook for embedding applications.
* trunk/tool/compile_prelude.rb: can change initialize function name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 07:04:30 +00:00
akr
d45cfa45ab
* tool/compile_prelude.rb: use erb.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 00:27:40 +00:00
nobu
bd79a2eb2d
* win32/enc-setup.mak: extracts BUILTIN_ENCOBJS.
...
* tool/compile_prelude.rb: needs srcdir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 12:41:27 +00:00
nobu
b2d9f1e9d0
* common.mk (encs): new target to compile external encodings.
...
* enc/Makefile.in: became a serb template.
* enc/make_encmake.rb: creates enc.mk from enc/Makefile.in using serb.
* lib/mkmf.rb (relative_from): moved from ext/extmk.rb.
* lib/mkmf.rb ($extmk): true if under to top source directory, not
only ext.
* lib/mkmf.rb (depend_rules): extracted from create_makefile.
* tool/serb.rb (serb): splitted from tool/compile_prelude.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 08:47:28 +00:00
akr
7d6eb8e68b
* tool/compile_prelude.rb: fix TMP_RUBY_PREFIX for relative load path
...
environment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 09:07:45 +00:00
akr
790f631301
escape "{" too.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 08:33:10 +00:00
akr
479c06d19d
* tool/compile_prelude.rb: absolute path may not start with a slash.
...
pointed by usa.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 08:30:07 +00:00
akr
f1bc46f06d
* tool/compile_prelude.rb: fix first substitution.
...
use constant for prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 08:08:40 +00:00
akr
afb554d90a
* tool/compile_prelude.rb: use constant for prefix.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 03:32:26 +00:00
akr
3b37c74564
* tool/compile_prelude.rb: use simple template system for source
...
code generation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 03:26:20 +00:00
matz
4c56aaa162
* tool/compile_prelude.rb (c_esc): need to escape closing brace.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 03:15:37 +00:00
akr
af6a9d70b2
* tool/compile_prelude.rb: adjust RbConfig::CONFIG paths relative
...
to the installation path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-15 02:54:55 +00:00
akr
53d2cd2435
add comment for interpreter issue.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-10 16:33:30 +00:00
akr
7cb1a184c8
don't use 1.9 feature.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-10 11:22:28 +00:00
akr
040ffb5d79
* gem_prelude.rb: new file for gem libraries. currently empty.
...
* common.mk: generate ext_prelude.c by prelude.rb and gem_prelude.rb.
ruby (not miniruby) is linked with ext_prelude.o instead of prelude.o.
* inits.c (rb_call_inits): don't call Init_prelude.
* ruby.c: support --disable-gems option.
(ruby_init_gems): new function to define Gem::Enable and
invoke Init_prelude.
(process_options): call ruby_init_gems just after
ruby_init_loadpath.
* tool/compile_prelude.rb: support multiple files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-10 09:22:59 +00:00
nobu
cfaf3d9a1a
* common.mk (prelude.o): depends on vm_core.h now.
...
* common.mk (prelude.c): depends on tool/compile_prelude.rb too.
* common.mk (prereq): updates all auto-generated sources.
* tool/compile_prelude.rb: separated dynamic and static portions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-25 01:20:30 +00:00
ko1
2f17991bd1
* tool/compile_prelude.rb: fix to include "vm_core.h".
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-24 23:49:19 +00:00
ko1
6bf7d3d8c0
* prelude.rb: added. run this script on startup.
...
* tool/compile_prelude.rb: compile prelude.rb to C string.
(prelude.rb -> prelude.c)
* common.mk: fix to build with prelude.c.
* inits.c (rb_call_inits): ditto.
* thread.c (Init_Thread): move definition of Mutex#synchronize
to prelude.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-24 15:26:28 +00:00