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

fix escaping in inline #731

Merged
merged 3 commits into from
Jan 22, 2017
Merged

Conversation

takahashim
Copy link
Collaborator

@takahashim takahashim commented Jan 20, 2017

Escaping rules in inline elements:

  • \} -> }
  • \\ -> \
  • \ + (other char) -> \ + (other char)

@takahashim
Copy link
Collaborator Author

これは非互換が入る可能性があるので、ちょっと危険な変更なんですが、でも現状の挙動はバグですよねえ…

@kmuto
Copy link
Owner

kmuto commented Jan 20, 2017

はい、バグですねぇ。このまま負債とするより修正してしまったほうがよさそう。

@takahashim
Copy link
Collaborator Author

,の扱いが気になっていたのですが、これは\,\,のまま保存してinline_*メソッドに渡す挙動なので、これでよいかなという気分です。

@takahashim
Copy link
Collaborator Author

takahashim commented Jan 21, 2017

インラインに}\を含む文字列を書く時のルールとしては、

  • \}\\\}
  • .} (.\以外) → .\}
  • \. (.}以外) → \. あるいは \\. (そのままでも良いし、エスケープしても良い。どちらも等価)
  • }のみ → \}
  • \のみ → \\

でよいはず。

@takahashim
Copy link
Collaborator Author

Travisでエラーが出てますが、Bundlerの問題のようなのでマージしてみますね

@takahashim takahashim merged commit 6311b2d into kmuto:master Jan 22, 2017
@takahashim takahashim deleted the fix-inline-escape branch January 22, 2017 04:09
@takahashim
Copy link
Collaborator Author

手元のRuby 2.4.0でbundle update;bundle exec rakeした分にはエラーが出なかったので良いことにします

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

Successfully merging this pull request may close these issues.

2 participants