EmEditor v21.5.0 released (including technical review)!

Today, we are releasing EmEditor v21.5.0.

The biggest advantage of using Unicode is that you can include any character you want into a document. The drawback is that it can include any unwanted characters for some people. Those unwanted characters may include invisible characters such as U+200B (ZERO WIDTH SPACE) and control characters such as U+0081. Try copying the following text and paste it to Notepad or other text editors.

"​" invisible character (U+200B)
"" control character (U+0081)

Since these characters often become invisible in Notepad and many other text editors, they could become security issues if used unintentionally. Untrusted source code containing invisible characters could contain a hidden backdoor. If you copy source code from code-sharing sites such as StackOverflow and paste it to your text editor, you want to make sure the source code is free of those unwanted characters. Another example is that you might be editing a data file that contains user input text data. Since users could input any text data, the text might include invisible or control characters that need to be cleaned up before being parsed. If a text editor couldn’t show those characters, it would become difficult to find those characters.

The new main feature of v21.5 becomes useful in these cases. v21.5 can visualize these invisible and control characters. While you can use this feature with its default settings, you can optionally customize which characters to warn, or which characters to approve. If you edit data files that consist of only certain character types (such as English alphabets, numbers, and a few symbols), you might want to define those characters as approved characters. You can set EmEditor to warn characters in the specified character ranges, or characters outside of the specified character ranges. Moreover, you can have EmEditor check for those unwanted characters automatically while saving documents. This feature is supported on EmEditor Professional and EmEditor Free.

Another new feature of v21.5 is the EditorConfig support. If you work as a team, and if each member of the team uses a different text editor, the team can create .editorconfig files that define coding styles such as indent styles, newline characters, and file encodings. Since v21.5 conforms to the EditorConfig specifications, you don’t need to change EmEditor options manually to conform with the team project settings as long as the options are set in .editorconfig files.

For instance, if your team wants you to use a line-feed (LF) as the newline code and to use the indent size of 4, your team can create a .editorconfig file in the same (or parent) folder containing the following lines.

end_of_line = lf
indent_size = 4

All text editors supporting EditorConfig, including EmEditor v21.5, will look for this file and will set their options accordingly and automatically for the specified file types.

This feature can be useful even if you don’t work with a team. For instance, if you want to have “a.txt” and “b.txt” files to show without lines wrapped, but if you want other text files to have lines wrapped, you can create a .editorconfig file containing the following lines:

max_line_length = off

This technique will avoid a need to create a new configuration in EmEditor just for simple options supported in EditorConfig.

While I optimized the code for speed, the EditorConfig support can slow down opening files especially if you open files from slow drives or network. In that case, you can turn off the option by clearing the Use .editorconfig option to the Edit page of the Customize dialog box. The EditorConfig feature is supported on EmEditor Professional and EmEditor Free, but the Use .editorconfig option is available only on EmEditor Professional (the feature is always enabled on EmEditor Free).

Since we supported the insert_final_newline property of EditorConfig, we also added the Ensure a newline exists at the end of each file option to the Save Details dialog box. This feature is supported on EmEditor Professional and EmEditor Free.

A customer has asked if he can utilize the Sum of the selected numbers displayed in the Status bar in his macros. The new Sum and Average properties of the Selection object allows you to use those numbers. Since these properties work faster, the included Sum.jsee macro was rewritten to use the Sum property. This feature is supported only on EmEditor Professional.

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. I also welcome you to write a review by selecting the Write a Review command on the Help menu, because I read them periodically. (You might need to download the Store App version before you are able to write a review.)

Thank you for using EmEditor!
Yutaka Emura

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

This release also includes the following bug/issue fix:

  • Fixed a pre-v21.4 issue where the Find in Files command might not have worked correctly if a very long path exists under a certain condition.
  • Fixed a pre-v21.4 issue where Find without Match Case might have failed if the Count Frequent Strings option was set.
  • Fixed a v21.4.1 issue where Regex searches with the Search All Documents in the Group option might have failed.
  • Fixed the horizontal scroll bar issue when a window is split horizontally.
  • Fixed a pre-v21.4 issue related to mouse selection while scrolling up.
  • Fixed a potential crash when right-clicking on toolbars.
  • 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).