Age | Commit message (Collapse) | Author |
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
for few years because:
* NODE is no longer accessible.
* rb_iseq_eval_main crashes without preparing with rb_thread_t.
* some existing APIs calls exit(3) without giving the opportunity to
finalize or handle errors to the client.
* No general-purpose function to compile a source to an iseq are
published in the public headers.
This commit solves the problems.
* include/ruby/ruby.h: Grouped APIs for embedding CRuby interpreter.
(ruby_setup, ruby_compile_main_from_file,
ruby_compile_main_from_string, ruby_eval_main,
ruby_set_script_name): new APIs to embed CRuby.
(ruby_opaque_t) Opaque pointer to an internal data, to NODE or iseq
in particular.
* eval.c (ruby_setup): Similar to ruby_init but returns an error code
instead of exit(3) on error.
(ruby_eval_main): Similar to ruby_exec_node but returns the
evaluation result.
(ruby_eval_main_internal): renamed from ruby_exec_internal.
* ruby.c (toplevel_context): new helper function.
(PREPARE_EVAL_MAIN): moved.
(process_options): refactored with new functions.
(parse_and_compile_main) new helper funciton.
(ruby_compile_main_from_file, ruby_compile_main_from_string) new API
(ruby_set_script_name): new API.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ruby.c: ditto.
* thread_pthread.c: ditto
* version.c: ditto.
* vm_core.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
the size of guard page into the stack size.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Patch by Zachary Scott. [ruby-trunk - Bug #6544]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Patch by Zachary Scott. [ruby-trunk - Bug #6536]
* lib/drb/drb.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* regparse.c (is_onechar_cclass): restructured to clarify that c is
used iff found == 1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This prevents errors introduced by disabling bulitin functions,
which is the sub-effect of -ansi/-std.
Now NetBSD can use -ansi -std=iso9899:199409.
Maybe mingw, cygwin and darwin can also.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* tool/enc-unicode.rb: add comment why it uses Hash#index.
* enc/unicode/{name2ctype.kwd,name2ctype.src,name2ctype.h.blt}:
update to follow the current name2ctype.h.
FYI current Unicode version is 6.1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
response codes added in RFCs 2817 and 4918. [ruby-core:45547]
[Feature #6569]
* lib/net/http/responses.rb: Rename Net::HTTPMultipleChoice to
Net::HTTPMultipleChoices, leaving the former as alias to the
latter for backward compatibitily. [ruby-core:45547]
[Feature #6569]
* lib/net/http/responses.rb: Add comments about unused,
still-in-draft and private extension response codes.
[ruby-core:45547] [Feature #6569]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
for size_t variables. [ruby-dev:45733] [Bug #6584]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* configure.in: remove -ansi and -std options for lgamma_r() and
finite().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* configure.in: cygwin does not provide some declarations in strict
ANSI mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
but did emit warnings if -Wuninitialized was set. Assigning
NULL instead if pfetch_prev should suffice the situation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* configure.in: cygwin needs C99 for some stuff, e.g.,
pthread_attr_setstacksize, sched_yield.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* Makefile.in (.c.i): add warnflags to make the result consistent with
compilation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
VC++ optimized. That is, C++ habits are often contaminated into
various headers. Most frequent situation is the use of //
comments. We bypass ANSI C mode for them. Otherwise extension
libs cannot include those headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/win32.h: get rid of C99 style one line comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* encoding.c (enc_alias_internal): use strdup defined as macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* process.c (rb_exec_fillarg): get rid of SIZE_T_MAX which may need
more headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* process.c (rb_exec_fillarg): fix array element size. "continue" and
"readonly" exceeded the size.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* process.c (rb_exec_fillarg): use shell if the first word is reserved
or special built-in name.
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* process.c (rb_exec_fillarg): treat '=' only in the first word. if
the first word does not contain '=', it is the command name and
environment assignments cannot be anymore.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
case real clean-static target doesn't exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
character to detect assignments preceding command name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(rb_exec_arg_addopt): ditto.
(rb_exec_arg_fixup): ditto.
(rb_run_exec_options): ditto.
(rb_run_exec_options_err): ditto.
* internal.h (rb_execarg_init): declared.
(rb_execarg_addopt): ditto.
(rb_execarg_fixup): ditto.
(rb_execarg_run_options): ditto.
* process.c: call rb_execarg_addopt, rb_execarg_fixup,
rb_execarg_run_options, rb_execarg_init.
(rb_execarg_addopt): renamed from rb_exec_arg_addopt.
(rb_exec_arg_addopt): stub to call rb_execarg_addopt.
(rb_execarg_init): renamed from rb_exec_arg_init.
(rb_exec_arg_init): stub to call rb_execarg_init.
(rb_execarg_fixup): renamed from rb_exec_arg_fixup.
(rb_exec_arg_fixup): stub to call rb_execarg_fixup.
(rb_execarg_run_options): renamed from rb_run_exec_options_err.
(rb_run_exec_options_err): stub to call rb_execarg_run_options.
(rb_run_exec_options): call rb_execarg_run_options.
* io.c: call rb_execarg_addopt, rb_execarg_fixup,
rb_execarg_run_options, rb_execarg_init.
* ext/pty/pty.c (establishShell): call rb_execarg_init and
rb_execarg_fixup.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
requested by _ko1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(rb_exec): ditto.
(rb_exec_err): ditto.
(rb_fork): ditto.
(rb_fork_err): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
On FreeBSD people must specify --with-opt-dir or --with-execinfo-dir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
dfp (dynamic frame pointer) to ep (environment pointer).
This change make VM `normal' (similar to other interpreters).
Before this commit:
Each frame has two env pointers lfp and dfp. lfp points
local environment which is method/class/toplevel frame.
lfp[0] is block pointer.
dfp is block local frame. dfp[0] points previous (parent)
environment pointer.
lfp == dfp when frame is method/class/toplevel.
You can get lfp from dfp by traversing previous environment
pointers.
After this commit:
Each frame has only `ep' to point respective enviornoment.
If there is parent environment, then ep[0] points parent
envioenment (as dfp). If there are no more environment,
then ep[0] points block pointer (as lfp). We call such ep
as `LEP' (local EP). We add some macros to get LEP and to
detect LEP or not.
In short, we replace dfp and lfp with ep and LEP.
rb_block_t and rb_binding_t member `lfp' and `dfp' are removed
and member `ep' is added.
rename rb_thread_t's member `local_lfp' and `local_svar' to
`root_lep' and `root_svar'.
(VM_EP_PREV_EP(ep)): get previous environment pointer. This macro
assume that ep is not LEP.
(VM_EP_BLOCK_PTR(ep)): get block pointer. This macro assume
that ep is LEP.
(VM_EP_LEP_P(ep)): detect ep is LEP or not.
(VM_ENVVAL_BLOCK_PTR(ptr)): make block pointer.
(VM_ENVVAL_BLOCK_PTR_P(v)): detect v is block pointer.
(VM_ENVVAL_PREV_EP_PTR(ptr)): make prev environment pointer.
(VM_ENVVAL_PREV_EP_PTR_P(v)): detect v is prev env pointer.
* vm.c: apply above changes.
(VM_EP_LEP(ep)): get LEP.
(VM_CF_LEP(cfp)): get LEP of cfp->ep.
(VM_CF_PREV_EP(cfp)): utility function VM_EP_PREV_EP(cfp->ep).
(VM_CF_BLOCK_PTR(cfp)): utility function VM_EP_BLOCK_PTR(cfp->ep).
* vm.c, vm_eval.c, vm_insnhelper.c, vm_insnhelper.h, insns.def:
apply above changes.
* cont.c: ditto.
* eval.c, eval_intern.h: ditto.
* proc.c: ditto.
* thread.c: ditto.
* vm_dump.c: ditto.
* vm_exec.h: fix function name (on vm debug mode).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
aggregate type is a C99ism.
* compile.c (enum compile_array_type_t): comma at the end of enum
list is a C99ism.
* vm_backtrace.c (enum LOCATION_TYPE): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
value to the variable err.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
this cause a failure on FreeBSD 8.2 amd64.
http://fbsd.rubyci.org/~chkbuild/ruby-trunk/log/20120610T130201Z.diff.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* thread_pthread.c (timer_thread_sleep): Extracted out a function from
thread_timer(). Added an alternative implementation for platforms
that lacks select(2) or pipe(2).
(rb_thread_create_timer_thread, native_cond_initialize,
native_cond_destroy): Replaced wrong HAVE_XXX checks.
* configure.in (pthread_attr_init): New check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(rb_exec_err): new stub function to call
rb_exec_without_timer_thread.
(rb_f_exec): call rb_exec_without_timer_thread.
(rb_exec): call rb_exec_without_timer_thread.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(rb_f_fork): use rb_fork_ruby instead of rb_fork.
(rb_daemon): ditto.
* io.c (pipe_open): use rb_fork_ruby instead of rb_fork.
* internal.h (rb_fork_ruby): declared.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
pointer.
* lib/net/http/responses.rb: Add RFC numbers to base on.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
to NativeClient SDK. PATH variable redefinition in GNUmakefile does
not work for GNU make 3.81.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* gc.h (IS_STACK_DIR_UPPER): utility macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* thread_pthread.c (get_stack): seems stack size does not include
guard size on Mac OS X.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|