Commit Graph

65 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto 051e40c049 Use MRB_PRId for NODE_NTH_REF; ref #3530 2017-03-23 01:52:52 +09:00
Yukihiro "Matz" Matsumoto 63dbed0094 __FILE__ should not update p->filename; fix #3485 2017-03-07 15:01:09 +09:00
Yukihiro "Matz" Matsumoto cd0ac59dd3 Newlines in strings should be counted; fix #3477 2017-03-01 00:05:54 +09:00
Yukihiro "Matz" Matsumoto 22eb41ab20 Fix NODE_DREGX dump; ref #3471 2017-02-28 10:56:34 +09:00
Yukihiro "Matz" Matsumoto 89eac4f59d Update codegen.c comments 2017-02-28 10:32:40 +09:00
Tomoyuki Sahara da4f8e19fa replace "yylval" with "pylval" to make it compile with byacc. 2017-02-24 11:47:48 +09:00
Clayton Smith 797ff625f3 Fix incorrect parsing of block parameters. 2017-01-21 09:08:37 -05:00
Yukihiro "Matz" Matsumoto b0886d5692 Zero length heredoc still crashed; ref Shopify/mruby-internal#81 2016-12-18 02:02:30 +09:00
Yukihiro "Matz" Matsumoto 73cc08772f remove debug code; ref #3344 2016-12-14 13:34:24 +09:00
Yukihiro "Matz" Matsumoto fead715cef tLABEL should not come after conditional ternary; fix #3344 2016-12-13 23:44:10 +09:00
Yukihiro "Matz" Matsumoto d196e4dd04 void_expr_error(): n may be NULL.
Reported from @clayton-shopify.
2016-12-13 11:18:05 +09:00
Yukihiro "Matz" Matsumoto 7b968ca893 Clear parsing_heredoc at the end of file 2016-12-10 12:35:12 +09:00
Tomasz Dąbrowski 0360a744b5 Promote load_exec to mruby API as mrb_load_exec (fixes #3248) 2016-12-07 21:21:21 +01:00
Yukihiro "Matz" Matsumoto 43512cc7bd Reorganize heredoc rules; fix #3273
The following codes used to be SyntaxError:

(1)
  a = <<-EOD;
  hello
  EOD

(2)
  <<-EOD.bla begin
  k
  EOD
  end
2016-12-05 02:55:39 +09:00
Yukihiro "Matz" Matsumoto a0fbc46ccd Import locale insensitive strtod() from Ruby1.8; fix #3270
The function was renamed to `mrb_float_read(const char*, char**)`.
2016-12-03 18:47:04 +09:00
Yukihiro "Matz" Matsumoto f6d199919d Needed to apply block from safe-navigation operators; fix #3310 2016-12-03 16:38:43 +09:00
Yukihiro "Matz" Matsumoto 6b84ff4a44 Print NODE_SCALL (&.) from mrb_parser_dump() 2016-12-03 16:21:15 +09:00
Yukihiro "Matz" Matsumoto 2cca9d3688 avoid comparison between signed and unsigned integer; ref #3312 2016-12-01 18:49:39 +09:00
Nobuyoshi Nakada 0f08914ac0 Support multiple elements \u syntax 2016-12-01 16:48:43 +09:00
Nobuyoshi Nakada fed40b44b8 Extract read_escape_unicode from read_escape 2016-12-01 16:48:43 +09:00
Yukihiro "Matz" Matsumoto 8461a31cb4 Fixed too much void_expr_error(); fix #3307 2016-11-30 13:04:50 +09:00
Bouke van der Bijl 523c267020 Interpret argument in 'f ()' as nil instead of nothing 2016-11-29 09:23:53 -05:00
Yukihiro "Matz" Matsumoto 27ceb84818 parse.y: use opt_paren_args to simplify yield rule 2016-11-27 22:43:46 +09:00
Bouke van der Bijl 73e4f069be Fix nested empty heredoc causing segfault
As reported by https://hackerone.com/jpenalbae
2016-11-24 09:54:18 -05:00
Yukihiro "Matz" Matsumoto 227daa8811 Relax 'void value expression' check that was too strict 2016-11-24 11:22:54 +09:00
Yukihiro "Matz" Matsumoto 1c9593954b Add "void value expression" check to the parser. 2016-11-24 10:32:28 +09:00
Yukihiro "Matz" Matsumoto 752ca514f6 do not dump_node if parser failed 2016-11-11 22:51:48 +09:00
Yukihiro "Matz" Matsumoto 185dad3a6e node_dump() to print NODE_HEREDOC terminator 2016-11-11 22:50:41 +09:00
Yukihiro "Matz" Matsumoto 45aadd7e60 HEREDOC could fail with NUL terminated lines; fix#3244 2016-11-11 22:49:23 +09:00
Yukihiro "Matz" Matsumoto cc3f1b7f5c allow single quoted labels in hashes; ref #3231 2016-11-02 16:14:20 +09:00
Yukihiro "Matz" Matsumoto 13d0832965 allow quoted labels in hashes; fix #3231 2016-11-02 08:41:43 +09:00
Nobuyoshi Nakada 6511bfd79a Removed trailing spaces 2016-09-28 12:29:41 +09:00
Nozomi SATO 068b46d5e2 - fix mrbc_filename leak; cxt->filename would not be freed until the state is closed. 2016-09-04 18:35:23 +09:00
Nobuyoshi Nakada 73dd82e30a parse.y: lparen_arg statement
allow parenthesised statement as a method argument.
reported [Feature:12686] in bugs.ruby-lang.org fixed in CRuby 2.4.
2016-08-19 11:11:54 +09:00
Nobuyoshi Nakada bdd7e2bc8c parse.y: fix chained assignments
fix syntax errors with chained assignment with op assign.
reported [Bug:12669] in bugs.ruby-lang.org fixed in CRuby 2.4.
2016-08-13 13:56:14 +09:00
Nobuyoshi Nakada a06940daa9 parse.y: simplify 90e8ce5
simplify tOP_ASGN rules by command_rhs and arg_rhs rules with
%prec.
2016-08-12 10:14:35 +09:00
Yukihiro "Matz" Matsumoto 90e8ce5c30 parse.y: rescue modifiers for OP_ASGN should protect rhs only
reported in [Bug:12402] in bugs.ruby-lang.org fixed in CRuby 2.4
2016-08-11 16:27:14 +09:00
Takashi Sawanaka 2eefbfed9d Fix crash in mrb_parser_free() due to freed memory access 2016-07-23 11:34:04 +09:00
Yukihiro "Matz" Matsumoto d4d807b774 relax string length limitation to 64KB; fix #2725 2016-07-13 03:22:15 +09:00
Yukihiro "Matz" Matsumoto 2e81fee731 parser_dump() to show symbol number for NODE_SYM 2016-05-16 01:49:24 +09:00
Yukihiro "Matz" Matsumoto 3886becec5 better code generation for ||=; #3138 2016-03-24 16:03:58 +09:00
Yukihiro "Matz" Matsumoto 1ce471c1cc ||= with cvars and constants should work with false values; #3138 2016-03-24 07:59:58 +09:00
Yukihiro "Matz" Matsumoto 4fcff34747 ||= reference error can happen with constants as well; #3138 2016-03-23 23:51:23 +09:00
Yukihiro "Matz" Matsumoto 21a3ae08f7 add safe-navigation (aka lonely) operator &. 2016-03-23 08:51:25 +09:00
Yukihiro "Matz" Matsumoto 2b0baec32a fixed silly class variable/constant confusion; #3138 2016-03-22 00:06:32 +09:00
Yukihiro "Matz" Matsumoto a02acf2635 rescue NameError from class variable access like @@foo ||= 42; fix #3138 2016-03-21 03:49:08 +09:00
Yukihiro "Matz" Matsumoto 41d6ba23b5 fix dump_prefix() with wrong type argument; fix #3128 2016-03-07 10:59:34 +09:00
Yukihiro "Matz" Matsumoto da96c335fe syntax error in interpolated symbol; fixed #3108 2016-02-16 11:33:58 +09:00
HAYASHI Kentaro 9442cb9652 Fix a typo
su ported ->
supported
  ^
2016-01-31 00:48:12 +09:00
Yukihiro "Matz" Matsumoto f7afe1d82a change mrb_run related API names; compatibility macros provided 2016-01-07 22:36:29 +09:00