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
nobu
d2c3d9dd0b
* parse.y (call_args2, open_args): removed.
...
* parse.y (parser_yylex): unified warnings at space between method
name and argument parenthese. [ruby-dev:33943]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-21 07:29:05 +00:00
nobu
5a647a3f5f
* include/ruby/ruby.h (CONST_ID): constant ID cache for non-gcc.
...
* *.c: no cache in init functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-09 09:25:32 +00:00
mame
2d9135f7a8
* parse.y (assignable_gen): when "self = 1" was evalueted, unnecessary
...
error message was output, which might cause null pointer access.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 16:14:30 +00:00
nobu
166f8d6d0b
* parse.y (ripper_warnS): now unused.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:39:43 +00:00
usa
42389bd736
* parse.y (ripper_warningS): now used.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 13:38:21 +00:00
matz
1d53405b31
* object.c (rb_cstr_to_dbl): no need for forceful warning when
...
converting to float. overflow is a nature of float values.
* parse.y (parser_yylex): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 10:48:10 +00:00
matz
2acb400eb1
* parse.y (arg): operator assignment "a += b rescue c" should be
...
parsed as "a += (b rescue c)" just like normal assignment.
[ruby-talk:301000]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 15:54:32 +00:00
matz
7ce9ab664d
test/ruby/test_continuation.rb: remove duplicated test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 06:59:38 +00:00
nobu
7b4a171158
* eval.c (ruby_exec_node, ruby_run_node), ruby.c (process_options):
...
use iseq instead of NODE.
* gc.c (source_filenames): removed.
* include/ruby/intern.h, parse.y (yycompile, parser_mark, parser_free,
ripper_initialize): rb_source_filename() is no longer used.
* compile.c, compile.h (ERROR_ARGS), parse.y (node_newnode, fixpos,
parser_warn, e_option_supplied, warn_unless_e_option, range_op,
cond0): nd_file is no longer used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-12 03:41:51 +00:00
knu
9bfc01ea17
* parse.y (debug_lines): Always prepare a new array for each
...
file's SCRIPT_LINES__ storage, instead of appending source lines
every time a file is re-loaded; submitted by Rocky Bernstein in
#18517 .
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-24 10:43:56 +00:00
nobu
91a761b4d0
* parse.y (literal_concat_gen): bail out at different encoding.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-18 07:24:55 +00:00
matz
6c76a2577a
* parse.y (parser_yylex): disallow non digits '0o' expression.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-04 07:29:38 +00:00
matz
daa622aed0
* time.c (time_strftime): format should be ascii compatible.
...
* parse.y (rb_intern3): non ASCII compatible symbols.
* re.c (rb_reg_regsub): add encoding check.
* string.c (rb_str_chomp_bang): ditto.
* test/ruby/test_utf16.rb (TestUTF16::test_chomp): raises exception.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-29 09:19:15 +00:00
nobu
d14c3eb4b8
* parse.y (opt_block_param): command can start just after block param
...
definition. [ruby-list:44479]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-29 06:12:46 +00:00
nobu
43b1b0e16a
* parse.y (value_expr_gen): removed inappropriate warning.
...
[ruby-core:15660]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-26 06:50:12 +00:00
akr
fbee9ba6ea
* parse.y (tokadd_escape): refactored. [ruby-core:15657]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-26 06:44:53 +00:00
matz
588d870234
* include/ruby/node.h (NODE_FL_NEWLINE): renamed from NODE_NEWLINE
...
to denote its a flag. [ruby-core:15529]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-18 05:33:01 +00:00
naruse
7a257b0110
* encoding.c (ENC_CODERANGE_AND): added.
...
* string.c (rb_str_plus, srb_str_times): keep coderange.
* parse.y (STR_NEW0) use rb_usascii_str_new.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-17 06:49:11 +00:00
nobu
04e7cc6411
* parse.y (reg_compile_gen): reg_fragment_setenc might not raise an
...
exception before rb_reg_compile.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-15 00:44:13 +00:00
nobu
67d0ce36f5
* parse.y (reg_compile_gen): appends error message from
...
rb_reg_compile() to one from reg_fragment_setenc().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-14 14:56:40 +00:00
nobu
4660cc6fb9
* parse.y (stmt, arg): reverted r15450. [ruby-core:15526]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 19:15:46 +00:00
nobu
4aa1d12937
* parse.y (arg_append_gen): optimize only for array push.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 18:13:01 +00:00
nobu
552fa153f0
* parse.y (stmt, arg): concat opt_call_args only if non-null.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 16:27:22 +00:00
nobu
813fcf768e
* parse.y (arg_concat_gen, arg_append_gen): optimize for array concat.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 16:26:47 +00:00
nobu
8a87655162
* parse.y (arg_add_gen): removed since identical to arg_append_gen.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 16:23:02 +00:00
nobu
55c4937048
* parse.y (exc_list): should use mrhs if non array.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 12:04:53 +00:00
nobu
7d4defbe1b
* parse.y (exc_list): splat literal array.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 07:48:37 +00:00
nobu
126297de15
* parse.y (args, mrhs): flattens literal array splats.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 07:18:49 +00:00
matz
38694016bc
* string.c (rb_str_hash_cmp): lighter version of rb_str_cmp() for
...
hash comparison function.
* hash.c (rb_any_cmp): use rb_str_hash_cmp().
* string.c (rb_str_casecmp): should return nil for incompatible
comparison.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-12 03:17:43 +00:00
matz
0472db84c5
* range.c (range_include): specialize single character string
...
case (e.g. (?a ..?z).include(?x)) for performance.
[ruby-core:15481]
* string.c (rb_str_upto): specialize single character case.
* string.c (rb_str_hash): omit coderange scan for performance.
* object.c (rb_check_to_integer): check Fixnum first.
* object.c (rb_to_integer): ditto.
* string.c (rb_str_equal): inline memcmp to avoid unnecessary
rb_str_comparable().
* parse.y (rb_intern2): use US-ASCII encoding.
* parse.y (rb_intern_str): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-11 17:46:52 +00:00
nobu
d739fc5a77
* trunk/parse.y (rb_enc_symname2_p): support "!", "!=" and "!~".
...
[ruby-dev:33592]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-04 05:51:21 +00:00
matz
dd7bcfc072
* parse.y (dsym): allow empty symbols. [ruby-core:15248]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-30 17:20:48 +00:00
usa
34387d1a02
* parse.y (reg_fragment_setenc_gen): US-ASCII script special code.
...
* parse.y (reg_fragment_check_len, reg_compile_gen): no need such
trick.
[ruby-dev:33399]
* test/ruby/test_m17n.rb (test_regexp_usacii_literal): add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-28 18:04:39 +00:00
naruse
4d961eb8a6
* parse.y (rb_id2str, ripper_initialize, Init_ripper): use rb_usascii_str_new2.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-28 14:51:23 +00:00
naruse
3c6969ec11
* string.c, parse.y, re.c: use rb_ascii8bit_encoding.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-28 09:03:09 +00:00
usa
4a94863244
* parse.y (parser_str_new): encoding of UTF-8 literal string in
...
US-ASCII script is UTF-8. [ruby-dev:33406]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-28 02:26:23 +00:00
nobu
7c69f166bd
* parse.y (parser_set_encode): check if encoding is ASCII compatible.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-27 15:39:14 +00:00
akr
fc208c1bd5
* include/ruby/oniguruma.h: precise mbclen API redesigned to avoid
...
inline functions.
(onigenc_mbclen_charfound): removed.
(onigenc_mbclen_needmore): removed.
(onigenc_mbclen_recover): removed.
(ONIGENC_MBCLEN_CHARFOUND): removed.
(ONIGENC_MBCLEN_CHARFOUND_P): defined.
(ONIGENC_MBCLEN_CHARFOUND_LEN): defined.
(ONIGENC_MBCLEN_INVALID): removed.
(ONIGENC_MBCLEN_INVALID_P): defined.
(ONIGENC_MBCLEN_NEEDMORE): removed.
(ONIGENC_MBCLEN_NEEDMORE_P): defined.
(ONIGENC_MBCLEN_NEEDMORE_LEN): defined.
(ONIGENC_MBC_ENC_LEN): use onigenc_mbclen_approximate.
* regenc.c (onigenc_mbclen_approximate): defined.
* include/ruby/encoding.h (MBCLEN_CHARFOUND): removed.
(MBCLEN_INVALID): removed.
(MBCLEN_NEEDMORE): removed.
(MBCLEN_CHARFOUND_P): defined.
(MBCLEN_INVALID_P): defined.
(MBCLEN_NEEDMORE_P): defined.
(MBCLEN_CHARFOUND_LEN): defined.
(MBCLEN_NEEDMORE_LEN): defined.
* encoding.c: use new API.
* re.c: ditto.
* string.c: ditto.
* parse.y: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-27 14:27:07 +00:00
nobu
526ab1f0d1
* parse.y (value_expr_gen): reverted r12880. [ruby-dev:33388]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-27 13:55:29 +00:00
nobu
259526006e
* parse.y (assignable_gen, keyword_to_name): __ENCODING__ was missing.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-26 14:42:17 +00:00
usa
2160c40fb2
* parse.y (parser_initialize): set default script encoding as US-ASCII.
...
* ruby.c (load_file): ditto.
* ruby.c (process_options): set script encoding of -e from locale
except when -K is specified.
* ruby.c (load_file): set script encoding of stdin from locale except
when -K is specified. [ruby-dev:33375]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-25 18:49:28 +00:00
akr
14b9d47ae0
* parse.y (reg_fragment_setenc_gen): associate ASCII-8BIT only if
...
str has only ASCII characters.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-24 13:11:00 +00:00
usa
439fab8459
* parser.y (parser_str_new): automatically update string literal's
...
encoding from US-ASCII to ASCII-8BIT when script encoding is US-ASCII
and the string includes non-ascii bytes. [ruby-dev:33348]
* parser.y (reg_fragment_check_gen, reg_compile_gen): automatically
update regexp literal's encoding from US-ASCII to ASCII-8BIT when
script encoding is US-ASCII, the regexp has no kcode option and the
regexp includes non-ascii bytes. [ruby-dev:33353]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-24 11:43:40 +00:00
usa
e36dd52291
* parse.y (reg_fragment_setenc_gen): recognize regexp with option n as
...
as ASCII-8BIT instead of US-ASCII. [ruby-dev:33339]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-24 07:25:46 +00:00
naruse
e336136d8a
* parse.y (STR_NEW0): set encoding as US-ASCII.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-23 22:35:27 +00:00