Skip to content
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

Plan for Onigmo 6.0 #66

Closed
k-takata opened this issue Oct 8, 2016 · 2 comments
Closed

Plan for Onigmo 6.0 #66

k-takata opened this issue Oct 8, 2016 · 2 comments

Comments

@k-takata
Copy link
Owner

k-takata commented Oct 8, 2016

About one year ago Oniguruma restarted on GitHub, and Oniguruma 6.0 was released about five months ago. Unfortunately new syntax I implemented in Onigmo like \K, \X and etc. were not merged in Oniguruma, and I don't think K.Kosako is going to merge them.
I think Ongimo and Oniguruma are now diverged and won't be merged again.

Currently Onigmo and Oniguruma cannot be installed in the same system, because Onigmo still uses the same header/library filenames. They should be changed now.

I'm planing that:

  • Rename the header and library filenames: onigmo.h, libonigmo.so, onigmo.dll, etc.
  • Import the latest Ruby's source code. This includes support for Unicode 9.0 and improvement of case folding. (Already merged into the ruby-2.x branch.)
  • Merge the ruby-2.x branch into master. Ruby specific codes should be surrounded by #ifdef RUBY.
  • Change some APIs. (Some of them come from the side effect of merging the ruby-2.x branch.)
    • Encoding structs and syntax structs will become const.
    • Change some encoding name. E.g. ONIG_ENCODING_UTF8 -> ONIG_ENCODING_UTF_8. However the old names still can be used, because I will define aliases for backward compatibility. (But the old structure names like OnigEncodingUTF8 will not be used. They are not considered as a part of public API.)
    • (Import Oniguruma 6.x's new APIs?)
      • onig_scan: Maybe useful and easy to import.
      • onig_unicode_define_user_property: Not sure how this is useful.
      • onig_initialize: Not sure why this is needed. Related to thread safe?
  • (Make Onigmo thread safe and remove all THREAD_* macros like Oniguruma did?)
  • Merge bug fixes done in Oniguruma 6.x. Need to check if they are already fixed in Onigmo.
@k-takata
Copy link
Owner Author

k-takata commented Dec 4, 2016

onig_unicode_define_user_property: Not sure how this is useful.

I have decided to skip this in Onigmo 6.0.
I wonder why this API is limited to Unicode encodings only.

@k-takata
Copy link
Owner Author

Onigmo 6.0.0 has been released: https://github.com/k-takata/Onigmo/releases/tag/Onigmo-6.0.0
Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant