1649 — 22 October 2018

1649.6.2

EIR

XTREE AutoFilter refinements: • Columns with cformat "s" or "l" now eligible for AutoFiltering. Previously required S or # as well; • Disable the context menu filter-to-value option for child items. Filtering only applies to the top level; child items are filtered along with their parents.

1649.6.1

Fix

XTREE AutoFilter: • XTF_NOREDRAW was interfering with the restoration of items when clearing a column filter; • Filtering of ListX columns was sometimes removing more items than warranted; • Filtering via the context menu was not always filtering on the right column.

1649.5.1

Fix

XTREE multi-tree: clicking outside of the current tree into another tree was in some cases generating bogus xrow values and/or corrupt answer array trace messages.

1649.4.1

Fix

XTREE AutoFilter: filtering in ListX or CellListX columns was being incorrectly applied against the code rather than the display value.

1649.3.2

Fix

AUI_CONTROL fix/refinement: previous relaxation of image scaling limits (in 1642.1) within buttons containing images and text and using pixel coordinates was allowing for distortion due to horizontal stretching.

1649.3.1

Fix

Parameter passing: close loophole left by 1649.1 patch which resulted in a spurious out of memory error when passing uninitialized S,0 to X,0.

1649.2.1

Fix

XTREE: property sheet mode was behaving oddly as a result of some conflicting changes around 6.4.1646 related to the AutoFilter implementation.

1649.1.3

Fix

Parameter passing: when an S parameter or expression is received into an X,0 parameter, a trailing null was being added. This was harmless in some cases but not in others. The problem was introduced as a side effect of a related refinement in 6.5.1639.0. Note that the one exception to this rule is when the source expression is a null string, in which case the target will be a single null byte.

1649.1.2

EIR

XTREE AutoFilter refinements to the filter dialogs: • Remove the Clear button, which was confusing and is now superseded by the context menu; • Change the initial focus and default button to reduce the number of clicks and/or keystrokes for the most common case; • Regroup the context menu filter options into a single submenu.

1649.1.1

EIR

XTEXT/ATSD (server-side) refinement: increase the timeout period for waiting on the client to send the updated buffer. Some slow clients or networks were causing the XTEXT update to abort prematurely due to timeout. Same patch as 6.4.1558.4.

1649.0.4

Fix

Compiler edit 886: The ++IFMAP and ++IFNMAP conditional directives were always operating relative to the GLOBAL scope, rather than the scope (and extern rules) that would apply to the a variable in that context. For example, ++IFNMAP FOO within a function now checks for the existence of a variable FOO in the same way that a regular reference to FOO in that context would, i.e. considering a locally defined FOO, then a module private FOO, and then—if auto_extern or or ++extern FOO had been specified—a global FOO.

1649.0.3

Fix

XTREE AutoFilter refinements/fixes: • The column width is now adjusted when adding or removing the filter indicator (purple dot); • Previously, when multiple columns were filtered, using the Clear option was failing to clear the purple dot indicators from all of the filtered columns; • AutoFilter was not working with cformat P.

1649.0.2

EIR

XTREE AutoFilter enhancement: the context menu now contains smart options to clear the current column filter or all column filters when applicable. It also contains a new option to filter the column by the value of the clicked-on cell.

1649.0.1

EIR

XTREE AutoFilter enhancement: the Range filter type has been split into two variations: Filter=RangeStr and Filter=RangeNum. In the case of Filter=Range, it will decide for itself which kind of range makes the most sense. The string version (RangeStr) uses the ASCII collating sequence for the range selection, while the numeric version (RangeNum) now removes any non-numeric formatting characters from each cell and then uses the value to compare against the from/to range limits.