EmEditor v23.0.4 released!

Today, we are releasing EmEditor v23.0.4.

v23.0.4 includes the following bug fixes.

  • The new version always closes the Web Browser completely when it becomes hidden.
  • Worked around a crash if running on an old CPU not supporting SSE4.2 (for instance, Intel Core 2 Duo released in 2006). The crash was due to a bug in Visual Studio v17.8.
  • Fixed the Find Keyword (Help) command on the Macros menu.
  • Fixed an issue where selecting multiple cells, press F2 or Enter, and typing changed the cell contents to a same string.
  • Fixed an issue where pressing ESC during the CSV cell editing mode did not always reset the cells.
  • Fixed a potential crash on the Combine Columns command with certain options.
  • Fixed a potential crash on the Split a File command if run during the CSV syntax check.
  • Fixed a potential crash while showing hover tooltips using the Language Server Protocol.

Please see EmEditor v23.0 New Features for details and screenshots.

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.

EmEditor Logo

Known Issues and Current Status

This page contains important information regarding the current version issues and their status. The information is being updated frequently.

Some issues might be already fixed in recent versions including preview versions. Please try updating EmEditor to the latest version including preview versions if you believe there are any issues.

Version 23.0.3

  • EmEditor may crash as STATUS_ILLEGAL_INSTRUCTION if running on an old CPU not supporting SSE4.2 (for instance, Intel Core 2 Duo released in 2006). The crash was due to a bug in Visual Studio v17.8. The issue was addressed on the latest version.

Version 23.0.2

  • EmEditor may not be able to save workspaces, wrap lines, or show outlining if Keep Locked is selected from the Changed by Another Program drop-down list in the File page of configuration properties. This issue was fixed on the latest version.

Version 23.0.1

  • Macros might stop working by default. To work around this issue, clear the Run macros asynchronously by default option, or set the Use V8 as JavaScript engine option in the Customize Macros dialog. This issue was fixed on the latest version.

All Versions

  • Starting with v23.0.0, the local Help format was transitioned from a single CHM file to multiple HTML files, and the Help will be displayed in a web browser. The Help pages are local if the URL is a local path.
  • If EmEditor crashes when you deal with a very large file, incrasing the virtual memory might prevent the crash. Please see How to Increase Virtual Memory. You could also avoid this problem by reducing the Number of Threads in the Advanced page of the Customize dialog. On v23.0 or later, you could also avoid this problem by setting the Use temporary files while editing option in the Advanced page of the Customize dialog, but it will lower the speed.
  • Pressing the Hankaku/Zenkaku key on a Japanese keyboard might cause EmEditor to crash. This is a bug of Windows. If this issue persists, please revert to a previous version of an IME.

EmEditor v23.0.3 released!

Today, we are releasing EmEditor v23.0.3.

v23.0.3 includes the following bug fixes.

  • Fixed issues where EmEditor might not be able to save workspaces, wrap lines, or show outlining if Keep Locked is selected from the Changed by Another Program drop-down list in the File page of configuration properties.
  • Fixed various crashes.

Please see EmEditor v23.0 New Features for details and screenshots.

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.

EmEditor v23.0.2 released!

Today, we are releasing EmEditor v23.0.2.

v23.0.2 includes the following bug fixes.

  • Fixed a bug where macros may not run on default settings. The new version limits one single Web Browser even if multiple group windows exist.

Please see EmEditor v23.0 New Features for details and screenshots.

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.

EmEditor v23.0.1 released!

Today, we are releasing EmEditor v23.0.1.

v23.0.1 includes the following bug fixes.

  • Fixed a bug where EmEditor could crash when opening a file as a specific file encoding such as Arabic or US-ASCII.
  • Fixed a bug where EmEditor could crash when showing the Web Browser bar in multiple group windows.

Please see EmEditor v23.0 New Features for details and screenshots.

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.

EmEditor v23.0.0 released (including technical review)!

Today, we are releasing EmEditor v23.0.0.

While conventionally, this version should be named v22.6, due to numerous changes and being a truly major update, as well as being the last major update of the year, we decided to align with the last two digits of the year 2023 and name it v23.0.

Recent advancements in generative AI, including ChatGPT, have enabled the use of various information and services through web browsers. Among EmEditor users including this customer, there is a growing demand to use these web services directly within EmEditor, eliminating the need to use external browsers. In the new version, we have added a feature to display a web browser in a customer bar of EmEditor. This browser is designed to work in conjunction with macros, allowing users to send a portion of the document in the editor to a site displayed in the Web Browser or vice versa. To utilize these features, ensure that Use V8 as the JavaScript engine is selected in the Options page of the Customize Macros dialog, or add the following line at the beginning of each macro:


#language = "V8"

Two specific features have been added:

(1) web. keyword: To access the Document Object Model (DOM) of HTML, use the lowercase web. keyword. This distinction is necessary to differentiate between objects in EmEditor and objects in the Web Browser. For example, in a macro:


document.write( "Test" );

It is unclear whether “Test” should be displayed in the editor view of EmEditor or in the HTML of the Web Browser. To display “Test” in the Web Browser, add the web. prefix:


// Displays "Test" in Web Browser
web.document.write( "Test" );

With this syntax, keywords starting with web. are interpreted as instructions executed in the Web Browser, allowing access to the DOM. Examples include:


// Returns the URL of the current web page.
alert( web.location.href );

// Returns the preferred language of the browser.
alert( web.navigator.language );

// Pastes the text of the current web page into a new document.
editor.NewFile();
write( web.document.documentElement.innerText );

// Pastes the HTML of the current web page into a new document.
editor.NewFile();
write( web.document.documentElement.outerHTML );

(2) onLoad event: If the last executed macro contains a function starting with function onLoad(), it is called only once when the web page is updated or a new page is loaded. This functionality allows tasks such as retrieving search results on search sites. For example:


function onLoad() {
    // Retrieves the HTML of the page and pastes it into a new document.
    editor.NewFile();
    document.write( web.document.documentElement.outerHTML );  
}

The Bing.jsee macro example demonstrates how to retrieve and display specific information from HTML search results. Note that some search sites, like the free version of ChatGPT, may not trigger page updates or new page loads. In such cases, the onLoad() event does not occur, preventing the retrieval of search results using this event. Nevertheless, Makoto Emura came up with an idea to monitor an HTML element using the MutationObserver interface and retrieve the text when changes occur. The ChatGPT.jsee macro sample demonstrates how to retrieve responses from ChatGPT using this interface. If you run this macro as it is, the selected text is only entered into the ChatGPT prompt box. However, if you uncomment lines 99 to 100, it will actually send the text. Disclaimer: The format of Bing and ChatGPT responses may change at any time in the future, potentially affecting the functionality of these macros. The macros are intended solely to demonstrate the new features of EmEditor v23.0. We do not guarantee that these macros will work in the future.

Another major change in v23.0 is the optimization for handling large files. EmEditor users often deal with large CSV files, sometimes reaching several gigabytes. To ensure smooth performance even with such files, extensive testing was conducted on operations such as deleting, inserting, combining, sorting, and pasting columns. The commands were optimized by multi-threading and other optimization techniques, resulting in approximately 21 to 34 times faster performance compared to v22.5.

In the CSV Converter, previous versions lacked multi-threading code, causing slow performance with large files. The new version improves this by using multi-threading and SIMD code, making CSV format conversion even for multi-gigabyte files operate within a few seconds.

For Japanese (JIS) and Japanese (EUC), v23.0 abandons the use of the traditional Windows API object, MultiLanguage, in favor of a custom lookup table. This change enhances the detection logic for invalid characters and significantly improves the operation speed such as file opening and searching.

In v22.5, clicking the left edge of line numbers toggles the bookmark. Responding to user feedback, an option to disable this feature has been added in the Mouse page of the Customize dialog under Click the left edge of a line number to toggle the bookmark.

The Markdown configuration has been improved to allow more accurate representation of emphasis formatting, such as bold and italic, through the addition of special syntax.

Using the Language Server Protocol, Makoto Emura added a feature to format the selected string or entire document. This command, accessible through the Convert menu as Format (shortcut: Ctrl+K, F), eliminates inconsistencies such as the number of leading tabs or spaces and the position and presence of spaces around parentheses () or {} for improved readability. Users can select code to format, and if no selection is made, a dialog prompts whether to format the entire document. Or you may press Ctrl+K, D to format the entire document. To enable the Format command, the Language Server Protocol option must be enabled on the Language Server page of the Customize dialog box, and the desired language must be selected from the Document type drop-down list. Note that preferences for formatting, such as the presence of spaces around parentheses, depend on the language server and cannot be customized within EmEditor.

Starting from this version, the Language Server Protocol is officially supported for C++, CSS, HTML, JavaScript, JavaScript for EmEditor, Perl, and Python configurations. Users can disable this feature at any time in the settings on the Language Server page of the Customize dialog box.

Makoto enhanced the CommitList (Git) plugin by adding an Update Submodule option to pull changes to a submodule. He also removed the Undo Changes menu item from the staged files list (not unstaged files) in the CommitList sidebar to avoid confusion regarding expected behavior.

Finally, the traditional help system, which used an outdated design and was challenging to maintain, has been redesigned using Sphinx. The new help system is maintained and built on our GitHub page.

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 v23.0 New Features for details and screenshots.

This release also includes all bug fixes while developing v23.0.

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.

Interview article with CIO Korea (IDG) in Seoul was published!

Interview | Do you know the fast, large-capacity editor ‘EmEditor’? ··· Yutaka Emura, CEO, developer with 40 years of experience (Google translation)

Original: 인터뷰 | 빠른 대용량 편집기 ‘엠에디터’를 아시나요? ··· 40년 경력의 개발자 에무라 유타카 대표

Interview article with CNET Korea in Seoul was published!

[Interview] Yutaka Emura, CEO of Emurasoft, “EmEditor, the world’s fastest professional software” (Google translation)

Original: [인터뷰] 에무라 유타카 에무라소프트 대표 “엠에디터(EmEditor), 세계에서 가장 빠른 전문가용 SW”

Working with CSV in EmEditor

We have authored a guide that explains the CSV-related features in EmEditor. The purpose of this document is to assist you in locating all the necessary tools for effectively working with CSV files in EmEditor. The document also includes a comparison of the CSV size limits between EmEditor and Excel.

We also tested EmEditor and Excel in the categories of Opening files, Replacing, and Sorting. The test results demonstrated that EmEditor outperformed Excel by a margin of 14 to 40 times in all the tested categories.

For comprehensive details, please refer to our guide titled “Working with CSV in EmEditor” (PDF).

Disclaimer: We tested all apps as accurately as possible; however, all speeds depend on the tested computers, files, and other factors. All speeds may be improved in future app versions. We recommend that you install and compare these apps for yourself. Other factors, including the feature set, stability, usability, affordability, and design, should also be
considered when deciding which app to choose.

Text Editor Speed Comparison for Large Files

We published a Text Editor Speed Comparison in April 2009. However, numerous text editors have undergone significant updates and improvements since then. As a result, we have decided to conduct speed tests once again.

For this round of testing, we selected seven text editors known for their ability to support very large files, including EmEditor. We assessed these editors in various categories: Opening files, Searching, Replacing, Sorting, Saving, and Searching within Files. The test outcomes demonstrated that EmEditor outperformed the other editors by a margin of 2 to 187 times in all the tested categories.

You can find the detailed results in our Text Editor Speed Comparison (PDF).

Disclaimer: We tested all apps as accurately as possible; however, all speeds depend on the tested computers, files, and other factors. All speeds, as well as failed tests (including crashes, incomplete, and partial results), may be improved or resolved in future app versions. We recommend that you install and compare these apps for yourself. Other factors, including the feature set, stability, usability, affordability, and design, should also be considered when deciding which app to choose.