# CotEditor 4.2での重要な変更

2022年5月リリースのCotEditor 4.2.0から、改行コードの扱いが変更されました。バージョン4.2.0以前では内部的には改行コードはすべてLF (`U+000A`)として扱っていましたが、バージョン4.2.0以降は書類ファイルの実際の改行コードをそのまま扱います。そのため、とくに以前のバージョンを使っていたユーザはこの変更を意識し、いくつかの設定で変更が必要になる場合があります。

最新のCotEditorがどう改行を扱うかについて詳しくは、多様な改行コードを扱うを参照してください。

## 正規表現パターンでの改行コード

従来のCotEditorは内部的にすべて改行コードをLFで処理していたため、書類の実際の改行コードに関わらず`\n`を改行を認識する正規表現パターンとして利用できました。CotEditor 4.2.0以降では、`\n`は改行コードにLFを用いる書類でしか改行に一致しなくなります。従来のように書類に改行コードの如何に関わらず改行に一致させたい場合は`\n`でなく`\R`を用いてください。

`\R`は、CotEditorが使用しているICU正規表現エンジンにおいて、改行を表現する文字全般に一致するメタ文字です。`U+000A` (LF), `U+000B`, `U+000C`, `U+000D` (CR), `U+0085`, `U+2028`, `U+2029`, および`U+000D` `U+000A`の組み合わせ (CRLF)を改行コードとして認識します。

## 保存している設定での改行の取り扱い

改行コードとしてLFのみを想定したスクリプト処理や正規表現パターンは、CotEditor 4.2.0以降LF以外の改行コードを持つ書類で意図した挙動をしなくなる可能性があります。これらユーザ設定はユーザ自身が設定を変更する必要があります。

CotEditorで改行が関わるユーザ設定としては、以下の設定項目が該当します:

- 複数置換設定の置換定義
- シンタックスのカスタム定義
- スクリプトメニューに保存しているスクリプト内での書類の改行コードの取り扱い

## 検索と置換での改行

正規表現を用いない通常の文字列での検索と置換では、検索/置換文字列内に改行が含まれる場合、その改行は検索対象の書類で用いられている改行コードと同一の改行コードであると想定して使用されます。

これは、たとえば、改行コードCRを含む文字列を（正規表現でない）検索文字列として使用して改行コードLFの書類を検索した場合、検索文字列の改行はすべてLFとして使用される、ということです。検索で改行コードを厳密に扱いたい場合は、正規表現を利用してください。

一方、置換においては、置換文字列に含まれる（`\n`のようなメタ文字での指定も含む）すべての改行コードは書類の改行コードと同一の改行コードに差し替えられます。現状は書類の改行コード以外の改行コードで置換する方法は提供されておらず、これは以前のCotEditorと同じ仕様となります。

検索と置換での改行について詳しくは、改行を検索/置換するを参照してください。

## 関連項目

- 多様な改行コードを扱う
- 改行を検索/置換する
- 混在する改行を探す
- テキストをペーストする
- CotEditor 4.2の新機能
- リリースノート