Bug fixes: ~~~~~~~~~~ Bug in delimiter matching - Eq is configured such that the delimiter-matching code now recognizes the square root sign as a valid opener. Eqn doesn't do this. Eq shouldn't do this. Isolated zilch removal - Currently the code that deletes zilches will, if it encounters a zilch on a line by itself, remove the zilch, and immediately replace it with another zilch. It should not insert a new zilch. Adding of new symbols - Eq's default database of symbols needs to be expanded, perhaps through a set of default definitions, as described in the section on definitions. The current system of requiring the symbols to be enumerated at compile-time should be changed if at all possible. EQ features: ~~~~~~~~~~~~ Arrow Keys - Eq should be made to understand the bindings from ESC-A through ECS-D as being the arrow keys. Kill-line - A kill-line function should be added and bound to C-k. Slash - There seems to be no good way to get a slash; the keystroke is bound to a function that creation a fraction with a horizontal line. Eqn's syntax does nothing special with the slash character, and Eq's behavior is counterintuitive. There should be a menu entry and perhaps a special keybinding for inserting a fraction, and the slash key should insert a literal slash. Size and Font changes - Eq should have an EZ-like interface to changing the size and font of characters, including special characters. Justification - Eq should have some means of controlling alignment (center, left, and right), with the interface being the same as it is in EZ - a _Justify_ menu. From an implementation standpoint, problems here are likely to be closely bound to problems with in-line equations. In-line equations - There is no procedure for producing equations in running text; eq can only insert equations as distinct objects, seperated by newlines. Implementation-wise, this is likely to run into problems similar to ones surrounding justification of equations. EQN features: ~~~~~~~~~~~~~ Generic piles - EQN supports the use of vertically aligned groups of objects, such as would be used in a matrix, or in certain kinds of defintinions of sets, called piles. For example, the following: / | 1 if x > 0 | sign(x) = | 0 if x = 0 | | -1 if x < 0 \ 1, 0, and -1 would be in a single right-justified pile, the `if's would be in a single centered pile, and the equations would be in a left-justified pile. Currently, there is no way to access this functionality from eq. Eq should be modified to support eqn's piles, with the justification coming from a seperate menu, ala EZ. Definitions - There is no provisions for accessing eqn's facility for defining new tokens. This should be added. Perhaps this could be used to expand eq's default symbol database? Diacritical marks - The eq interface doesn't support diacritical marks, such as those necessary to mark a symbol as a vector or a derivative in common notation; rather, it relies on the _Insert Symbol_ functionality. Eq should add the ability to access eqn's facilities for diacritical marks, perhaps with a menu option, rather than relying on the cumbersome _Insert Symbol_ system. From-to - While there is support for the special cases for summations, intergrals, products, unions and intersections, there is no support for the generic from-to facility available in eqn. For example: i = oo /| i /_| X / | i = 0 Eqn does not require this restriction, eq should not either. Groupings - Eq lacks eqn's ability to do explicit grouping of terms. This can lead to ambiguities, especially with respect to delimiters. Eq tries to use the zilch as a friendlier alternative to this, which is a good idea, but the basic functionality should still exist. Matrices - Eq has no facility for using eqn's matrix functions. These seem largely to be special cases of the `pile' functionality, and yet this ability is seen to possibly be in high demand. Eq should support eqn's special matrix command, in addition to the raw matrix-generating ability of piles, in order to benfit from the prior work done on the subject.