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.

EmEditor v22.5.2 released!

Today, we are releasing EmEditor v22.5.2.

v22.5.2 includes the following bug fixes and improvements.

  • Fixed an issue related to Convert on the tooltip.
  • Fixed an issue related to the Function Bar.
  • Fixed various potential crashes.

Please see EmEditor v22.5 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 v22.5.1 released!

Today, we are releasing EmEditor v22.5.1.

v22.5.1 includes the following bug fixes and improvements.

  • Fixed an issue related to Convert All on the tooltip.
  • Fixed an issue related to the Function Bar.
  • Fixed an issue related to file change notifications.
  • Fixed various potential crashes.

Please see EmEditor v22.5 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 v22.5.0 released (including technical review)!

Today, we are releasing EmEditor v22.5.0.

I recently bought a PC with a 13th Gen Intel Core i7-13700. Since the 12th Gen Core processors, Intel has introduced a hybrid architecture that combines P-Cores for performance and E-Cores for efficiency. This new architecture is interesting because a P-Core runs faster than an E-Core. All previous versions of EmEditor assumed that all threads run at the same speed. If a P-Core thread runs faster than an E-Core thread, P-Core threads finish their task earlier than E-Core threads and need to wait for E-Core threads to finish their task. Just for clarification, thread speed could fluctuate even without E-Cores and P-Cores; for instance, if a thread is interrupted by a background app or system process, the thread will become slower than other threads. Nevertheless, the existence of P-Cores and E-Cores could exacerbate the situation.

To overcome this situation, I optimized the code so that v22.5 will dynamically manage thread load balancing. The following screenshots show the CPU usage before and after optimization while searching a very large file for a regular expression. The overall CPU usage goes down suddenly at the end of the task after optimization.

A previous version (v22.4.2) assumes each thread runs at the same speed. As a result, some threads finish earlier than other threads, and the overall CPU usage goes down gradually toward the end of a search task.
The new version (v22.5) dynamically manages the thread load balancing so that every thread works efficiently until the task ends. The overall CPU usages goes down suddenly at the end of the task. As a result, the time to finish the task becomes shorter.

While developing v22.5, we spent most of our time optimizing our code to improve the speed of many commands using various techniques, including multi-threading. For instance, the speed of the Copy command was improved by 1.49 times through multi-threading. While refactoring and optimizing, I had opportunities to review the code. The older version inadvertently did not enable the SHA instruction set if the CPU did not support the AVX-512 instruction set. v22.5 fixed this bug and improved the speed of several commands, including Delete Duplicate Lines, on many CPUs that do not support AVX-512. I will continue to review and optimize the code for speed in coming versions.

When I first used my new PC to build our code with Visual C++, I was disappointed to know that the build was very slow. We found that the memory usage reached 100% when building the code because only 16 GB of physical memory (RAM) was available. The CPU has 24 logical cores, and Visual C++ was using 24 threads to build the code. Adjusting the number of threads from 24 to 7 in the Visual C++ options made the compiler build the code faster. Likewise, EmEditor was slower when using 24 threads compared to 3 threads. Increasing the physical memory from 16 GB to 80 GB made both apps faster with 24 threads. Therefore, if you have a modern CPU with a large number of logical cores, I would strongly recommend increasing the physical memory. For instance, if your CPU has 24 logical cores, I would recommend at least 32 GB of physical memory in your PC. If you don’t have enough memory, you might need to adjust the number of threads, which can be specified on the Advanced page of the Customize dialog box in EmEditor. In v22.5, I adjusted the default number of threads to the nearest GB amount of physical memory if the number of logical cores exceeds this GB value.

A customer asked for an improvement in file change detection. The older version checked the current file size and timestamp every 5 seconds by default, and if it determined that the file had changed, a message box “File changed by another program. Reload with changes?” would appear. v22.5 uses a Windows API to detect file changes more efficiently.

Another customer asked for the ability to click on the left edge of a line number to toggle the bookmark. With older versions, you would have had to select the Toggle Bookmark command or press CTRL + F2 to toggle the bookmark. I understand that clicking on the line number would be easier and somewhat standard among text editors, so I added this ability if line numbers are visible.

Makoto Emura added the ability to use the Language Server Protocol for the Search Symbols command and the ability to use the JSON language server. He also improved the CommitList plug-in by adding commits ahead/behind indicators for the Pull and Push buttons.

We will stop supporting Windows 7, 8.1, and Server 2008 R2 in the near future. Microsoft has already stopped supporting these versions of Windows. Using these old versions of Windows is strongly discouraged for security reasons. We will also stop developing the 32-bit version of EmEditor. We would like to focus our development and testing resources on the 64-bit version of EmEditor.

Since we want many people to use EmEditor, we have kept our EmEditor price as low as possible. The first-year price of an annual subscription, US$40 (or US$39.99 earlier), has not changed by more than 1 cent since we started offering annual subscription licensing. However, we do not tolerate the illegal use of EmEditor Professional. I have seen some websites selling or giving away EmEditor Professional “crack” keys. These are illegal sites, and keys obtained from these sites are not supported by us. I sometimes receive technical questions about EmEditor Professional even though the users do not have valid licenses. I would rather spend my time supporting our customers who have purchased valid licenses. In order to eradicate these illegal sites, and more importantly, to continue developing EmEditor and supporting our customers, we will add code to check the authenticity of licenses against our server database. If a license is not valid, the code will stop the Professional version from working. This check may not happen as soon as you launch EmEditor, and it may not happen every time you launch EmEditor. Due to the nature and purpose of this code, we will not disclose details about how it works. However, no personal information will be transmitted, and this check will not prevent you from using EmEditor without an Internet connection. It is important for us to protect our software and our customers who have purchased valid licenses. I hope you understand the background reason for this minimum license check and accept it. Please also see How to calculate the number of licenses to check whether you own enough necessary number of licenses.

We will announce our license price update and ending sales of lifetime licenses in a separate blog.

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 v22.5 New Features for details and screenshots.

This release also includes all bug fixes while developing v22.5.

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 v22.4.2 released!

Today, we are releasing EmEditor v22.4.2.

v22.4.2 includes the following bug fixes and improvements.

Please see EmEditor v22.4 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 v22.4.1 released!

Today, we are releasing EmEditor v22.4.1.

v22.4.1 includes the following bug fixes and improvements.

  • Adjusted the horizontal mouse wheel change while pressing the Shift key.
  • Fixed the behavior of Replace in Files with \J replacement expressions.
  • Fixed an issue where Replace in Files did not show the replacement count in the status bar.
  • Allowed drag and drop the vertical selection to copy or move.
  • Fixed a potential crash on Delete Columns, Clear Contents, and other conversion commands with a very large CSV file.
  • Fixed CSV column adjustment issue after Undo.
  • Fixed a potential crash on the Find in Files command with the Output as the Direct Open option.
  • Fixed a potential freeze on the Compare command if the Split vertically option was not selected. The new version does NOT highlight changed lines character-by-character anymore unless the Split vertically option is selected.
  • Fixed a display issue on a CSV mode while row headings are enabled.
  • Improved the Left and Home key movements while row headings are enabled in the CSV cell selection mode.

Please see EmEditor v22.4 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.