History — Version 19.7

# Version 19.7

March 24, 2020

## New General Features

- Added the Move/Copy Columns command, and it can be selected via the right-click menu on the ruler. Selecting this command brings up a dialog box where you can specify where you want to move or copy selected columns or the current column to.

- Added the Combine Columns command, and it can be selected via the right-click menu on the ruler. Selecting this command brings up a dialog box where you can select whether to concatenate columns or to use the first non-empty value.

- Added an option to combine columns to the Extract Columns and Join CSV commands.

- Greatly improved the speed of multiline search using an improved algorithm and multi-threaded code.

### Test results:

| v19.6 | v19.7 | Comparison
--- | --- | --- | ---
Find a multiline string *1 | 68.8 seconds | 0.625 seconds | 110 times faster
Replace a multiline string *2 | 25.3 seconds | 0.907 seconds | 27.9 times faster
Replace a multiline regular expression *3 | 54.1 seconds | 24.0 seconds | 2.25 times faster

*1 Find a 10-line string, Count Matches enabled, 1 string matched.

*2 Replace "ab\nde" with "@", Escape Sequence selected, 17 strings matched.

*3 Replace "a.*?\nb.*?\nc" with "@", Regular Expression selected, 9,842 strings matched.

1.34 GB, 100,000,000 lines, ASCII random data file. 16 threads, Windows 10 (64-bit), Core i9-9900K, 32GB RAM, 2TB SSD.

## New Options

- Added the Move/Copy Columns dialog box.

- Added the Combine Columns dialog box.

- Added the Combine with previous column check box and the Concatenate and Use first non-empty value radio buttons to the Extract Column dialog box.

- Added the Combine with previous column check box and the Concatenate and Use first non-empty value radio buttons to the Join CSV dialog box.

## New Commands

- Move/Copy Columns

- Combine Columns

## Plug-in API New Features

- Added the EE_EDIT_COLUMN message, Editor_EditColumn inline function, and EDIT_COLUMN_INFO structure.

## Macro New Features

- Added the MoveColumn and CombineColumns methods to the Document object.