Project

General

Profile

Feature #1949

Warn needless escaped characters

Added by naruse (Yui NARUSE) almost 10 years ago. Updated about 8 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
[ruby-dev:39104]

Description

=begin
正規表現内での不必要なエスケープに警告を出しませんか。

動機としては、/\uXXXX/の非互換性の話があります。

これは、Ruby 1.8において、不必要なエスケープであった/\u/が、
Ruby 1.9においては\uXXXXという構文が追加されたがために、
エラーが出たり意味が変わってしまったりしたという話でした。

このような不幸な出来事は、/\u/と書いたら警告を出すようにしていたら、
未然に防ぐことができたり、被害を減らすことができたかもしれません。

将来また別のエスケープ記法が追加される事は十分あり得る話だと思います。
その際に同じ不幸を繰り返さないように、警告を出すようにしませんか。

具体的には、文字クラス外の
g, i, j, k, l, m, o, p, q, y, E, F, H, I, J, K, L, N, O, P, Q, R, T, U, V, X, Y
と、文字クラス内の
g, i, j, k, l, m, o, p, q, y, z, A, B, E, F, G, H, I, J, K, L, N, O, P, Q, R, T, U, V, X, Y, Z
あたりになるでしょうか。

なお、現状では警告が出ないが、すでにエスケープ記法として用いている、
/\p/あたりは議論の余地のあるところかもしれません。
=end

History

#1

Updated by naruse (Yui NARUSE) almost 10 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r24825.
=end

Also available in: Atom PDF