EmEditor v21.7.0 released (including technical review)!

Today, we are releasing EmEditor v21.7.0.

One of many requested features was to show comparison results in one split window, rather than in two tiled windows. This is now possible with v21.7. When you select a comparison command on the Compare menu, EmEditor will show comparison results in one split window. When you finish a comparison by selecting the Reset to Normal Mode command, EmEditor will revert to a normal tabbed window. The Synchronize Scrolling command will also behave the same. This feature is available on EmEditor Professional and EmEditor Free.

The previous version of EmEditor Professional (v21.6) allowed you to search for multiple strings simultaneously and quickly. The main feature of EmEditor Professional v21.7 is the ability to replace multiple strings simultaneously, and it was requested by several customers (1, 2). We call this new feature Bulk Replace All as opposed to the existing feature of Batch Replace All. The algorithm for Bulk Replace All is significantly different from Batch Replace All. Batch Replace All searches a whole document for one string at a time, and repeats this procedure for the number of search strings. Bulk Replace All searches for all search strings simultaneously. The difference may lead to different results if search/replace string pairs contain, for instance:

1 → 5
2 → 4
4 → 2
5 → 1

and if the source document is


In this case, if Batch Replace All is used, EmEditor will replace 1 with 5 for the whole document first, and then will replace 2 with 4. At this point, the source document becomes:


Next, when it replaces 4 with 2, note that it will replace two 4’s (the second and fourth numbers). Lastly, when it replaces 5 with 1, it will replace two 5’s (the first and last numbers). Thus, the result will be


If the new Bulk Replace All is used, EmEditor will replace all strings simultaneously. Therefore, the result will be:


as you expect.

Bulk Replace All will replace much faster than Batch Replace All. In my test, Bulk Replace All completed 6310 times faster than Batch Replace All when one million search/replace pairs existed.

The improved speed of Bulk Replace All allows for more types of uses. Suppose you need to call customers in your client list. However, there are millions of phone numbers in another list, which is a do-not-call list. You will need to make sure the client list does not contain any numbers in the do-not-call list. In this case, the previous version of EmEditor (v21.6) allowed you to search quickly for any do-not-call numbers in your client list. The new version of EmEditor (v21.7) not only finds but also replaces those matched numbers with other strings (or an empty string). Thus the new feature allows you to replace or remove any unwanted strings in a document quickly. Previously, this task could take several hours, if not days, to finish, depending on the number of search strings. Currently, Bulk Replace All does not support regular expressions, number ranges, or strings including newlines.

Finally, I hope you like EmEditor, whether you use the Professional or Free version. Please contact us or write in forums if you have any questions, feature requests, or any ideas in the future.)

Thank you for using EmEditor!
Yutaka Emura

Please see EmEditor v21.7 New Features for details and screenshots.

This release also includes the following bug/issue fix:

  • Fixed a bug where selecting All in Half-Width/Full-Width Conversion dialog box converts selection only in a CSV mode.
  • Fixed an issue related to the Cell toolbar while filtered.
  • The new version shows you a message box if the Read Only in Headings is set on the Delete/Cut Columns command rather than disabling these commands.
  • The new version enables conversion commands when a column is selected and the Read Only in Headings is set.
  • Fixed a bug where the Replace Expression did not parse \x{hhhhh} values correctly.
  • Fixed a bug where editor.QueryStatusByID(EEID_TOOLBAR1 + n) did not work correctly.
  • Fixed a v21.6 bug where a certain condition on filtering could crash EmEditor.
  • Fixed a v21.6 bug where Extract Replace might not have extracted all occurrences in a line.
  • Fixed customer-reported issues (1, 2).

If you use the Desktop Installer version, you can select Check for Updates on the Help to download the newest version. If this method fails, please download the newest version, and run the downloaded installer. If you use the Desktop portable version, you can go to the Download page to download the newest version. The Store App versions can be updated through Microsoft Store (64-bit or 32-bit) after a few days. If you use winget, you can type “winget install emeditor” to install the latest version of EmEditor (64-bit or 32-bit detected automatically).