Additional Switch for '-dump'

Command dump has been extended with the additional key node, very useful for debugging and testing:

pathName dump ?switches? index1 ?index2?

Return the contents of the text widget from index1 up to, but not including index2, including the text and information about marks, tags, and embedded windows, and images. If index2 is not specified, then it defaults to one character past index1. The information is returned in the following format:

key1 value1 index1 key2 value2 index2

The possible key values are text, hyphen, mark, tagon, tagoff, image, window, and node. The corresponding value is the text, mark name, tag name, image name, window name, or node identifier, the hyphen has no value (this means the value is empty). The index information is the index of the start of the text, hyphen, mark, tag transition, image, window, or node. One or more of the following switches (or abbreviations thereof) may be specified to control the dump:

-all

Return information about all elements: text, hyphens, marks, tags, images and windows (but not nodes). This is the default.

-chars

Include information about text (characters and soft hyphens) in the dump results. The value is the text up to the next element or the end of range indicated by index2. A text element does not span newlines. A multi-line block of text that contains no marks or tag transitions will still be dumped as a set of text segments that each end with a newline. The newline is part of the value.

-node

This information is for debugging only. It informs that the following content will belong to this B-Tree node.

-text

Include information about text (characters) in the dump result. The value is the text up to the next element or the end of range indicated by index2. A text element does not span newlines. A multi-line block of text that contains no marks or tag transitions will still be dumped as a set of text segments that each end with a newline. The newline is part of the value. Note that soft hyphens (Unicode point U+00AD) do not belong to this result.

--

This switch has no effect except to terminate the list of switches: the next argument will be treated as pattern even if it starts with -.

This documentation also includes the extensions for the hyphenation support. Note that in old description (and in old implementation) the terminating switch "--" is missing.

In fact the revised behavior is not 100% compatible to older releases, but for any reason wish8.6 has used option name "-text" instead of "-chars", the latter option name is used in commands get and count. So I decided that a consistent interface has more importance than to be 100% compatible. Due to the fact that soft hyphens are not supported in older releases, the incompatibility is a very minor problem, especially while in general command dump is only used for debugging.