Skip to content

Bullet points of 6.0 changes for CRuby's ChangeLog #504

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
aycabta opened this issue Aug 29, 2017 · 4 comments
Closed

Bullet points of 6.0 changes for CRuby's ChangeLog #504

aycabta opened this issue Aug 29, 2017 · 4 comments

Comments

@aycabta
Copy link
Member

aycabta commented Aug 29, 2017

Let me write later.

@aycabta
Copy link
Member Author

aycabta commented Dec 13, 2017

I implemented:

  • Remove offset from CodeObject
  • Support rational and imaginary
  • Support hash rocket "=>"
  • Fix seeking position when parses symbol
  • Handle "[]" and "[]=" after "." as method
  • Handle JSON-style hash key as symbol
  • Handle dynamic regexp token as regexp in HTML
  • Handle "#{}" as dynamic string
  • Handle redefinable operators as identifier
  • Stop dropping continuing backslash
  • Support %i and %I literal
  • Fix for "\n" after backslash escape
  • Fix escape in string
  • Fix backtick handling
  • Support lambda literal
  • Fix handling hash rocket after symbol
  • Fix percent string literal with operator
  • Fix heredoc
  • Fix complex condition in for/while/until
  • Fix n-ary detecting condition for rational and imaginary
  • Handle constant ending with "!" as identifier
  • Fix postfix "if" after escaped newline
  • Fix postfix if/unless/while/until after heredoc
  • Fix escape behavior in single quote string literal
  • Support safe navigation operator
  • Fix creation of symbol token for reserved keywords and others
  • Separate "foo!=bar" to "foo", "!=" and "bar"
  • Fix assignment operator
  • Fix for symbol detection when nesting method
  • Support escaped character literal
  • Fix handling symbol args of yield/super/defined?
  • Fix handling embdoc and unnecessary blank line in <pre>
  • Handle number with plus or minus sign as integer
  • Fix postfix :nodoc:
  • Fix regexp literal in one-liner
  • Support quoted symbol key for JSON-style hash literal
  • Handle __ENCODING__ as keyword
  • Fix % literal with the same sign of original
  • Context#each_section yields only #display? items
  • Support multi-line constant body with escaped newline
  • Use IO.console.winsize instead of IO.console_size for JRuby 9k
  • Fix constant assignment as alias with Hash
  • Fix handling "rescue" inside paren
  • Fix JSON-style Hash literal for args of method
  • Use Ripper for lexical analyzer
  • Skip the same of outside nesting namespace
  • Fix variable expansion in args of yield
  • Escape yield parameters
  • Fix CodeFence of markdown.kpeg with unintended Array for format
  • Support did_you_mean
  • Support :args: directive before method
  • Handle all definitions per file in Ruby
  • Use "frozen_string_literal: true"
  • Add ruby-title class to method name in HTML
  • Update markdown.kpeg from upstream
  • Use Enumerable#chunk after drop Ruby 1.8
  • Use ParseError that is auto-generated by KPeg

@aycabta
Copy link
Member Author

aycabta commented Dec 13, 2017

@hsbt Do you need other people's implementations?

@aycabta
Copy link
Member Author

aycabta commented Dec 20, 2017

Squashed:

  • Replaced IRB based lexer with Ripper.
  • Supported many new syntaxes of Ruby in the past few years.
  • Used "frozen_string_literal: true". It reduces documents generation time by 5%.
  • Supported did_you_mean.

@hsbt
Copy link
Member

hsbt commented Dec 20, 2017

Thanks a lot. I've committed at ruby/ruby@71e5c12

@hsbt hsbt closed this as completed Dec 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants