New in Version 18.4

December 18, 2018

New General Features

  • Added the ability to find, replace, find in files, replace in files, and filter with a number range expression. To use a number range inFind,Replace,Find in Files,Replace in Files, orAdvanced Filter dialog box, selectNumber Range from theMode drop-down list box. To use a number range inFind,Replace,FindInFiles,ReplaceInFiles, orFilter macros, include theeeExFindNumberRange flag in theExFlags parameter.
    The number range is expressed in interval notation. For instance,
Number RangeMeaning
[1 , 9]matches integers 1, 2, 3, …, 9
[ , 9)matches any integers less than 9.
[1.0 , 9.0)matches decimal numbers greater than or equal to 1.0, and less than 9.0.
[ , 1.0)matches any decimal numbers less than 1.0
(2.0 , ]matches any decimal number greater than 2.0
  • Added the ability to use JavaScript as a replacement expression when using regular expression or number range to replace. For converting replace expressions, EmEditor uses Chakra (JScript v11) for improved speed. Because this engine is seperate from the macro environment, various objects used for macros are not available for replace expressions. Examples of replacement expressions include:
Replacement ExpressionMeaning
\J “\0” + “abc”appends “abc” at the end of the matched string
\J “\0”.substr( 0, 5 );returns the first 5 characters of the matched string
\J \0 * 100;multiply a matched number with 100
\J parseFloat( \0 ).toFixed(2);rounds a matched number to 2 decimal places
\J cell( -1 )returns the text in the left neighbor cell, relative to the matched cell.
\J parseFloat( cell( -1 ) ) + parseFloat( cell( -2 ) )returns the sum of the two neighboring cells on the left
  • Improved the speed while editing a document containing very long lines.
  • Improved the speed when many regular expression highlight keywords or markers are defined.
  • Added the/xnr option to the command line options.

New Options

  • Added theOptimization page to theCustomize dialog box.
  • Added theEnter Number Range dialog box.
  • Added theMode drop-down list box to theFind,Replace,Find in Files,Replace in Files, andAdvanced Filter dialog box.
  • Added theUse Number Range button to theFind andFilter toolbars.

New Commands

  • Customize Optimization
  • Clear Markers for Saved Lines
  • Filter Out in Column
  • Use Number Range (Find toolbar)
  • Use Number Range (Filter toolbar)
  • Remove Leading Spaces
  • Remove Trailing Spaces

Plug-in API New Features

  • Added theFLAG_FIND_NUMBER_RANGE flag to theFILTER_INFO_EX structure (Editor_Filter inline function) andFIND_REPLACE_INFO structure.

Macro New Features

  • AddedeeExFindNumberRange to theExFlags parameter of theFilter method of theDocument object, theFind andReplace methods of theSelection object, and the
    FindInFiles
    andReplaceInFiles methods of theEditor object.
  • Added theExtractColumns method to theDocument object.