nobu
bda0b012a8
* parse.y (assign_in_cond): also should warn assignment to dvar in
...
conditional. [ruby-dev:39363]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-23 08:08:32 +00:00
nobu
8686840960
* compile.c (iseq_compile_each), parse.y (stmt, arg): arg_concat()
...
on op_asgn was inversed. [ruby-core:25629] [Bug #2050 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-18 07:15:06 +00:00
nobu
4f041dafbe
* debug.c, parse.y: fixed types.
...
* node.h (nd_line): limit to int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-14 07:39:16 +00:00
naruse
e13ca98198
* parse.y (rb_char_to_option_kcode): ASCII-8BIT should also delay.
...
* re.c (parser_regx_options): return rb_ascii8bit_encindex on
ASCII-8BIT. [ruby-dev:39300]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-10 17:07:38 +00:00
naruse
ba6e61d6f5
Only 1 kcode effects options [ruby-core:25411]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-09 08:19:06 +00:00
nobu
b46cd0e400
* include/ruby/ruby.h (rb_data_type_struct): constified dsize.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-09 02:11:35 +00:00
nobu
fb03cb8275
* parse.y (literal_concat_gen): concat body from dstr instead of
...
nd_next. [ruby-core:25284]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-03 08:57:28 +00:00
nobu
9691894b86
* parse.y (fname): removed duplication.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-03 08:47:11 +00:00
naruse
6ab36c6e19
*regparse.c (CC_DUP_WARN): use rb_compile_warn if ScanEnv has source
...
information. [ruby-dev:39105]
*re.c (rb_reg_compile): add sourcefile and sourceline to the arguments.
*re.c (make_regexp): ditto.
*re.c (rb_reg_initialize): ditto.
*re.c (rb_reg_initialize_str): ditto.
*re.c (rb_reg_compile): ditto.
*regcomp.c (onig_compile): ditto.
*regint.h (onig_compile): ditto.
*re.c (reg_compile_gen): follow above.
*re.c (rb_reg_to_s): ditto.
*re.c (make_regexp): ditto.
*re.c (rb_reg_initialize): ditto.
*re.c (rb_reg_initialize_str): ditto.
*re.c (rb_reg_new_str): ditto.
*re.c (rb_enc_reg_new): ditto.
*re.c (rb_reg_initialize_m): ditto.
*re.c (rb_reg_init_copy): ditto.
*regcomp.c (onig_new): ditto.
*regcomp.c (onig_compile): set sourcefile and sourceline to scan_env.
*regparse.h (ScanEnv): add sourcefile and sourceline.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-30 08:00:31 +00:00
nobu
4119b54854
* parse.y (rb_enc_symname2_p): not depend on nul terminator.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-30 07:39:10 +00:00
mame
4c5d7d53b2
* parse.y (reduce_nodes_gen): preserve NODE_FL_NEWLINE flag during
...
node reducing. [ruby-core:24463]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-20 14:42:16 +00:00
nobu
bfc94fde25
* parse.y (ENABLE_SELECTOR_NAMESPACE): defaulted to 0.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-20 03:11:01 +00:00
nobu
4a7cf7638c
* parse.y (ivar2_hash_type): disabled for now.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-20 03:09:08 +00:00
nobu
b5e6b46e90
* parse.y (lex_get_str, lex_io_gets, rb_parser_compile_string):
...
must be ascii compatible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-17 05:35:10 +00:00
nobu
114f01bd9d
* parse.y (yylex): should dispatch scan-event even when follows
...
just after delayed-token. [ruby-dev:37855] [Bug #1071 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-16 14:58:27 +00:00
nobu
f93bdaed62
* parse.y (fname, string_dvar, sym, dsym, f_arglist): removed
...
duplications.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-15 01:40:10 +00:00
nobu
6a26b59600
* parse.y (literal_concat0): tail can be nil. [ruby-dev:38980]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-02 12:04:43 +00:00
nobu
5004e33f8d
* parse.y (literal_concat_gen): reduced unnecessary node at string
...
literal concatenation with empty head dstr. [ruby-dev:38968]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-31 01:54:14 +00:00
mame
3129ed327e
* parse.y (literal_concat_gen): NODE_DSTR was incorrectly handled as
...
NODE_STR. [ruby-dev:38968]
* bootstraptest/test_syntax.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-30 18:02:37 +00:00
naruse
3ca25b5a29
* parse.y (regexp): regexp literal at the top of dstr is still needed even if it is empty.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-28 23:11:29 +00:00
mame
31c561f66a
* vm_core.h (struct rb_iseq_t): add a new field line_no. This field
...
represents line number from which the original code of the iseq
starts. [ruby-dev:38698]
* iseq.c, compile.c: ditto.
* parse.y: line number hack (for Proc#source_location) is no longer
needed.
* test/ruby/test_settracefunc.rb: line number of set_trace_func is now
compatible with 1.8's.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-22 13:37:26 +00:00
nobu
5a392c71db
* compile.c (compile_dstr_fragments): reduced needless literal.
...
* parse.y (xstring, regexp, dsym, literal_concat, evstr2dstr):
literal at the top of dstr is no longer needed if it is empty,
since concatstrings and toregexp always create new strings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-20 10:01:05 +00:00
nobu
415d5ebc2f
* id.c (Init_id), vm.c (vm_exec): @#__ThrowState__ is no longer
...
used. [ruby-dev:38760]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 09:28:12 +00:00
nobu
b16c326d5e
* parse.y (parser_data_type): typed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-09 22:22:33 +00:00
nobu
fc5f0cafa1
* parse.y (parser_yylex): fixed wrong variable.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-01 22:53:51 +00:00
nobu
37138a2a93
* parse.y (parser_set_encode): show the erred file name instead of
...
the file that requires it. [ruby-core:24006]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-24 06:02:33 +00:00
takano32
bc4c51ecce
Tue Jun 16 16:09:59 2009 TAKANO Mitsuhiro (takano32) <tak@no32.tk>
...
* parse.y (parser_read_escape, parser_tokadd_escape):
replace scan_oct as ruby_scan_oct.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-16 07:14:48 +00:00
nobu
51bf0388aa
* parse.y (struct parser_params): lex_gets_ptr should be long.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-27 14:00:40 +00:00
nobu
064057166b
* parse.y (parser_yyerror): get rid of possible overflow.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-26 00:22:20 +00:00
nobu
f91b0dc811
* compile.c (rb_parse_in_eval): returns true in true eval, not in
...
main. [ruby-dev:38382]
* parse.y (program): inherits dvars in eval or main.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-17 05:23:10 +00:00
nobu
f29235378d
* parse.y (magic_comment_encoding): ignores unused emacs-style
...
encoding comment, as like Vim styles. [ruby-core:23470]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-16 00:49:10 +00:00
nobu
78e376a3ee
* defs/keywords (reserved_word): made inline function static.
...
[ruby-core:23210]
* parse.y (rb_reserved_word): ordinary function for ripper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-16 00:30:16 +00:00
nobu
d2c07ecb88
* parse.y (magic_comment_encoding): use rb_compile_warning() to
...
show the currently parsing file name. [ruby-core:23469]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-16 00:19:18 +00:00
matz
ab2119fc3d
* parse.y: add semicolons to some grammar rules not terminated
...
with them. a patch from Dave B in [ruby-core:23422].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-11 13:54:59 +00:00
nobu
22cde7b682
* dir.c, dln.c, parse.y, re.c, ruby.c, sprintf.c, strftime.c,
...
string.c, util.c, variable.c: use strlcpy, memcpy and snprintf
instead of strcpy, strncpy and sprintf.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-17 01:29:17 +00:00
nobu
4de12b6ae9
* util.c (ruby_scan_oct, ruby_scan_hex): use size_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-14 09:25:20 +00:00
nobu
315ee838bc
* parse.y (stack_type): uses VALUE which is able to be stored
...
parser stack.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-11 04:27:11 +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
3b817f834a
* parse.y (debug_lines): calls rb_intern() once.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-21 05:32:08 +00:00
nobu
8b392f4d4c
* parse.y (rb_parse_in_main): fixed typo.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-16 02:47:58 +00:00
ko1
e40928733d
* ruby.c (process_options): decrement parse_in_eval to recognize
...
parsing main or normal eval script.
* compile.c (rb_parse_in_main): return 1 if parsing main script.
(if parse_in_eval is negative value, it means main script)
* parse.y (yycompile0): check rb_parse_in_main() to accumulate
script text. Bug #848 [ruby-core:20450]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 16:14:43 +00:00
matz
2a0b6280bb
* parse.y (command): moved return/break/next from command_call for
...
better error message.
* parse.y (call_args): void value check added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 06:06:47 +00:00
matz
1fc5fb2b7b
* parse.y (stmt): explicit error for "Object::Far += foo 1" just
...
as "Object::Far += 1".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 05:23:51 +00:00
ko1
597220ef0c
* vm.c (Init_VM): create and define TOPLEVEL_BINDING at first.
...
* vm.c (vm_set_main_stack, rb_iseq_eval_main): added.
* parse.y (rb_parser_compile_file): fix to check parse_in_eval flag.
* eval.c (ruby_exec_node): use rb_iseq_eval_main()
instead of rb_iseq_eval().
* iseq.c (rb_iseq_new_main), vm_core.h: added.
main script (specified by -e or script name) should be run
under TOPLEVEL_BINDING using Kernel#eval. Above changes
simulate Kernel#eval behaviour. [ruby-dev:37240]
* compile.c (make_name_for_block): skip iseq except block type.
this fix is needed for [ruby-dev:37240], and also fixes
[ruby-dev:35392].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 01:15:56 +00:00
matz
5e62997245
* string.c (rb_external_str_new_with_enc): set ASCII-8BIT if
...
encoding is US-ASCII and string contains 8bit characters.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 15:13:18 +00:00
matz
1d4c164581
* parse.y (gettable_gen): the encoding of __FILE__ should be
...
rb_filesystem_encoding(). [ruby-list:45733]
* parse.y (gettable_gen): __FILE__ should be ASCII-8BIT when
filesystem encoding is US-ASCII and __FILE__ contains non 7bit
characters.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-22 01:43:16 +00:00
nobu
a04d12b188
* parse.y (stmt): returns dispatched result.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-16 07:41:54 +00:00
nobu
b315664f2b
* parse.y (primary): also in ripper, saves in_def before restoring.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-16 07:29:47 +00:00
matz
587afe728b
* parse.y (block_call): block should not be given to yield.
...
[ruby-core:20583]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-16 00:16:46 +00:00
tadf
2209f072fc
must be typos.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-12 23:59:36 +00:00
nobu
303c28d49b
* parse.y (yycompile0): ruby_eval_tree_begin is always 0 when
...
ruby_eval_tree is 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-12 07:23:24 +00:00
nobu
541915b239
* compile.c (iseq_compile_each), gc.c (assign_heap_slot),
...
(gc_mark_children), parse.y (vtable_alloc, vtable_free, vtable_add),
proc.c (proc_to_s), thread.c (terminate_i, rb_thread_terminate_all),
(thread_start_func_2, blocking_region_begin, blocking_region_end),
(rb_thread_kill), thread_pthread.c (native_thread_create),
(ubf_pthread_cond_signal), vm.c (check_env, thread_free), vm_dump.c
(vm_env_dump_raw, vm_stack_dump_each, vm_thread_dump_state),
(vm_call0): use void pointer for %p.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-09 04:33:55 +00:00
nobu
8c01ec883a
* parse.y (expr): keyword_not can continue across newline.
...
[ruby-core:20252]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 13:54:42 +00:00
mame
d563f1680c
* parse.y (parser_yylex): check EOF explicitly.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 12:34:13 +00:00
nobu
a26b7a0c82
* parse.y (lambda): need to adjust lpar_beg for both of the parser and
...
ripper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 18:43:27 +00:00
matz
aed0c718db
* parse.y (lambda): need to adjust lpar_beg for ripper as well.
...
[ruby-dev:36702]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-24 09:08:43 +00:00
matz
e8a71e64a1
* parse.y (f_larglist): should not allow semicolon separated local
...
variable declarations if formal argument list is not surrounded
by parentheses, mostly because semicolon outside of parentheses
appears to terminate the expression.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-22 06:03:12 +00:00
ko1
3337185ed6
* parse.y (arg_concat_gen): concat target node should be NODE_ARRAY.
...
[ruby-core:19413]
* bootstraptest/test_method.rb: add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 20:45:35 +00:00
matz
d3546e79ae
* parse.y (opt_block_arg): allow trailing comma after usual
...
arguments. not after block argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18 11:49:39 +00:00
nobu
b025ce4678
* common.mk (ID_H_TARGET): phony target to update id.h.
...
* tool/ifchange, win32/ifchange.bat: --timestamp option added.
* tool/generic_erb.rb: --timestamp, --output and --if-change options
added.
* template/id.h.tmpl: moved from id.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-17 10:46:23 +00:00
matz
c196780964
* parse.y (parser_yylex): allow reserved word to be keyword argument.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-14 00:36:52 +00:00
naruse
20ed75a639
* parse.y (token_info_pop): show source filename. [ruby-dev:36710]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-13 10:13:40 +00:00
nobu
d9fdf58aaa
* parse.y (parser_prepare): use utf-8 encoding directly.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-11 10:49:56 +00:00
ko1
3f710785f0
* parse.y: optimize 'for' statement when one variable given.
...
* benchmark/bm_loop_for.rb: added.
* benchmark/bm_loop_times.rb: modified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 19:19:36 +00:00
nobu
4b51662800
* parse.y (comment_at_top): needed for ripper too.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 13:16:58 +00:00
nobu
a77d088cf6
* parse.y (magic_comment_encoding): warns when ignored.
...
* parse.y (parser_magic_comment): replaces '-' with '_'.
* parse.y (parser_yylex): allows magic comments indented and the
second line or later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-10 10:21:53 +00:00
yugui
c86ce094e2
* include/ruby/ruby.h: embeds the elements of an array into its
...
struct RArray for # of elements <= 3.
* array.c: ditto.
* gc.c (gc_mark_children): following the change of struct RArray.
* ext/tk/tcltklib.c (ip_ruby_cmp): ditto.
* parse.y (coverage): ditto.
* proc.c (curry): ditto.
* .gdbinit: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-09 05:47:04 +00:00
nobu
9bcbc90605
* parse.y (stmt): returns non zero. [ruby-dev:36633]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-30 07:54:02 +00:00
nobu
9480a18411
* parse.y (token_info_push, token_info_pop): do nothing for evaled
...
source.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-29 16:02:58 +00:00
nobu
77a9d7c32f
* parse.y (primary, brace_block): fix for line number.
...
* proc.c (rb_proc_location, rb_method_location): new methods
{Proc,Method,UnboundMethod}#source_location. [ruby-core:18452]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-26 13:47:01 +00:00
ko1
2e311f6bd5
* include/ruby/node.h, node.h: move node.h from include path.
...
This change stop to install node.h beacuase of saving ABI
(node.h will be changed. Extensions should not depends on
this file).
* blockinlining.c, class.c, compile.c, debug.h, enum.c,
gc.c, iseq.c, parse.y, ruby.c, signal.c, variable.c,
vm.c, vm_core.h, vm_dump.c: ditto.
* ext/ripper/depend: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 19:52:31 +00:00
ko1
8cd252ac6f
* common.mk: clean up
...
- remove blockinlining.$(OBJEXT) to built
- make ENCODING_H_INCLDUES variable (include/ruby/encoding.h)
- make VM_CORE_H_INCLUDES variable (vm_core.h)
- simplify rules.
- make depends rule to output depend status using gcc -MM.
* include/ruby/mvm.h, include/ruby/vm.h: rename mvm.h to vm.h.
* include/ruby.h: ditto.
* load.c: add inclusion explicitly.
* enumerator.c, object.c, parse.y, thread.c, vm_dump.c:
remove useless inclusion.
* eval_intern.h: cleanup inclusion.
* vm_core.h: rb_thread_t should be defined in this file.
* vm_evalbody.c, vm_exec.c: rename vm_evalbody.c to vm_exec.c.
* vm.h, vm_exec.h: rename vm.h to vm_exec.h.
* insnhelper.h, vm_insnhelper.h: rename insnhelper.h to vm_insnhelper.h.
* vm.c, vm_insnhelper.c, vm_insnhelper.h:
- rename vm_eval() to vm_exec_core().
- rename vm_eval_body() to vm_exec().
- cleanup include order.
* vm_method.c: fix comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 00:20:28 +00:00
naruse
cfadd72532
* parse.y: strings which contain only US-ASCII don't force to have
...
US-ASCII encoding. [ruby-dev:36400]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-19 23:09:33 +00:00
akr
a953d28e3c
* include/ruby/oniguruma.h (onigenc_get_prev_char_head): add end
...
argument.
* include/ruby/encoding.h (rb_enc_prev_char): ditto.
* regenc.c (onigenc_get_prev_char_head): add end argument.
* regparse.c: follow the interface change.
* regexec.c: ditto.
* string.c: ditto.
* parse.y: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-13 18:22:04 +00:00
matz
929e0b91be
* parse.y (f_block_optarg): allow default for block parameters as
...
long as the value is primary. a patch from Eric Mahurin
<eric.mahurin at gmail.com> in [ruby-core:16880].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 18:39:36 +00:00
matz
05edaf5090
* parse.y (yylex): "1.upto 2 {|i| p i }" should be syntax error.
...
[ruby-dev:36008]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 16:09:43 +00:00
matz
31b6ea65bb
* include/ruby/ruby.h (DBL2NUM): renamed from DOUBLE2NUM.
...
a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp>
in [ruby-dev:36102].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 18:24:21 +00:00
akr
2eb763857d
* parse.y (parser_encoding_name): defined.
...
(parser_tokadd_mbchar): show encoding in the message of
"invalid multibyte char" error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 11:02:11 +00:00
nobu
0075a767e5
* parse.y (struct token_info): constified.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 09:17:47 +00:00
nobu
a442691c9d
* parse.y (token_info_get_column, token_info_has_nonspaces),
...
(token_info_push, token_info_pop): constified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 09:16:38 +00:00
matz
855b594157
* parse.y (token_info_push): -w warns indentation level mismatch.
...
based on a patch from Yukina Yamano presented at RubyKaigi'07.
See <http://jp.rubyist.net/RubyKaigi2007/Log0609-LT06.html > and
<http://www.logic-junction.com/products/rubyend.html > (Japanese).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 07:29:41 +00:00
ko1
35617676cb
* parse.y: remove include pragma for "ruby/intern.h".
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 01:43:34 +00:00
yugui
d9a1cc2f4e
* parse.y (YYSTYPE): struct RVarmap has been no longer
...
defnied.
see also r11717 by matz.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 05:27:46 +00:00
nobu
dc02325fd8
* include/ruby/encoding.h (rb_enc_ispunct): added.
...
* common.mk (COMMONOBJS), inits.c (rb_call_inits): id.c is now
included from parse.c.
* id.c (Init_id), id.h (ruby_method_ids): added IDs used by VM.
* parse.y (global_symbols): added rooms for VM IDs.
* parse.y (rb_intern3, rb_id2str): single puctuation symbol is now
same as char code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-14 08:57:07 +00:00
nobu
c710140216
* parse.y (union tmpyystype): no longer needed, since YYSTYPE is
...
defined in parse.h now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-14 08:46:23 +00:00
nobu
de0a9f726e
* configure.in,parse.y: removed garbage spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-10 03:15:37 +00:00
nobu
8d0fdce468
* parse.y (deferred_nodes, compstmt, arg, fixup_nodes, range_op): fix
...
up fixnum range literal in conditional as automagical line number
comparison. [ruby-core:12124], [ruby-dev:35731]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-04 07:48:52 +00:00
nobu
b951952b40
* parse.y (yylex): 8 and 9 in octal integer should cause compile
...
error. [ruby-dev:35729]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-02 06:51:53 +00:00
yugui
20486a7f64
* parse.y (parser_yylex): removed an useless conditional, and magic
...
comment are ignored unless at the first of line.
* test/ruby/test_m17n.rb (test_magic_comment_vim): added.
* test/ruby/test_m17n.rb (test_magic_comment_at_variaous_positions):
added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-01 09:38:50 +00:00
mame
cf08661141
* parse.y (magic_comment_encoding): remove meaningless null check.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-30 16:18:40 +00:00
mame
728b092442
* parse.y (vtable_free): remove meaningless null check.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-30 13:19:34 +00:00
mame
91c07a5ac6
* thread.c (rb_set_coverages, rb_reset_coverages): enable and disable
...
coverage measurement.
* thread.c (rb_get_coverages): rename and move from vm.c.
* vm.c (rb_vm_get_coverages): ditto.
* iseq.c (prepare_iseq_build): ditto.
* thread.c (clear_coverage): ditto.
* parse.y (coverage): ditto.
* ext/coverage/coverage.c: use above functions, add new method
Coverage.start and fix rdoc .
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-08 15:13:22 +00:00
mame
caf3933bab
* thread.c (rb_enable_coverages): hide coverage array by setting 0 to
...
klass during measurement.
* parse.y (coverage, yycompile0): ditto.
* iseq.c (prepare_iseq_build): use rb_hash_lookup instead of
rb_hash_aref.
* thread.c (rb_coverage_result): restore klass of coverage array and
return it.
* theaad.c (update_coverage): chcek whether its klass is 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-08 13:57:06 +00:00
mame
ae3a03eb07
* include/ruby/intern.h: remove prototypes about coverage.
...
* iseq.c (prepare_iseq_build): add prototype.
* parse.y (coverage): ditto.
* thread.c (clear_coverage): ditto.
* thread.c (update_coverage): use rb_sourceline.
* thread.c (rb_get_coverages): rename and move to vm.c.
* vm.c (rb_vm_get_coverages): ditto.
* ext/coverage/coverage.c: add rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-03 14:27:43 +00:00
mame
f08581c7b6
* ext/coverage/coverage.c, ext/coverage/extconf.rb: eliminate
...
COVERAGE__ and introduce coverage.so instead. How to measure
coverage: (1) require "coverage.so", (2) require or load Ruby source
file, and (3) Coverage.result will return the same hash as COVERAGE__.
[ruby-dev:35324]
* thread.c (rb_enable_coverages): start coverage measurement by using
rb_add_event_hook.
* thread.c (rb_get_coverages): returns current results of coverage
measurement.
* include/ruby/intern.h: add prototype for above two functions.
* vm_core.h, vm.c: add field of coverages to rb_vm_t.
* insns.def (trace): remove special handling for COVERAGE__.
* iseq.c (prepare_iseq_build): switch COVERAGE__ to
rb_get_coverages().
* parse.y (coverage): ditto.
* thread.c (clear_coverage): ditto.
* lib/coverage.rb: use coverage.so instead of COVERAGE__.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-03 12:55:12 +00:00
mame
5874de95e8
* Add coverage measurement constant COVERAGE__. This constant is not
...
for casual use. Usage: (1) assign {} to COVERAGE__, (2) require or
load Ruby source file, and (3) COVERAGE__["sourcefilepath"] will
return an array whose elements represent number of executions per
line of source code.
* vm_core.h: add field of coverage array to iseq.
* iseq.c (prepare_iseq_build): ditto.
* insns.def (trace): update coverage array.
* parse.y (coverage): create and initialize coverage array.
* compile.h (ADD_TRACE): add trace instruction to update covearge
array.
* thread.c (clear_coverage): delete coverage array when forking.
Otherwise, double count of coverage may occur.
* lib/coverage.rb: sample coverage measurement tool.
* error.c: distinguish explicitly between parse_in_eval and
mild_compile_error.
* load.c: ditto.
* vm_eval.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01 16:55:30 +00:00
shyouhei
3e69e83a62
* include/ruby/ruby.h (enum ruby_special_consts): ISO C forbids
...
comma at end of enumerator list
* include/ruby/ruby.h (enum ruby_value_type): ditto.
* eval_intern.h (enum): ditto.
* vm_core.h (enum rb_thread_status): ditto.
* parse.y (enum lex_state_e): ditto.
* parse.y (enum string_type): ditto.
* process.c (enum): ditto.
* ruby.c (enum dump_flag_bits): ditto.
* ruby.c (enum disable_flag_bits): ditto.
* compile.c (iseq_link_element): ditto
* debug.c (union): ditto.
* cont.c (enum context_type): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01 08:27:58 +00:00
matz
8f03e4d2c5
* parse.y (primary): empty not should call '!' on nil.
...
cf [ruby-dev:35227]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-27 09:35:53 +00:00
matz
d8c930dd06
* parse.y (primary): not operand might be empty. [ruby-dev:35227]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-25 15:49:17 +00:00
matz
89080e0254
* parse.y (primary): make functional-style not operator to act
...
like function. see <http://d.hatena.ne.jp/ku-ma-me/20080624/p1 >.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-25 12:55:47 +00:00