As most of you have probably experienced, even Maple 10.4 in standard 2D Maple input has some strange editing behavior. Most of it is of the variety of "What you see is Not what you get". There are two basic kinds of things that can happen: (a)You get strange errors that seem impossible from the code that you can see, such as "missing operation" or "object used as name" or even "non-matching delimiters"; and (2) Your editing action happens much further away or much more extensively than your cursor position or highlighting would indicate.
This apparently happens because Maple is creating a parsing structure on the fly behind what you are editing and not visible to you. When some incomprehensible errors happen or Maple seemingly does not want to allow you to edit what you see is wrong, sometimes the only remedy is to retype whole blocks of code (possibly creating other errors in the process requiring the same cure, etc., etc.). Till Maple can supply us with a structural viewer that would allow us to easily find and correct such problems, I want to pass along some tips I have learned in my frustration.
Tip one: For problem type (1), move your cursor across words/numbers in offending lines of code. Notice where the underlines fall and where the cursor changes orientation (from a slant to vertical). If only part of a word or number is underlined or the cursor changes orientation within a word or number, it means that that word/number is considered as two words/numbers without an operation between them and it cannot be a name. This is the offender which has to be entirely retyped, this is much better than retyping whole blocks of code. This underlining can also be used to check matching delimiters. Maple may not recognize them as matching, even though they appear matching visually. Some part will have to be retyped to get Maple to recognize them as matching.
Tip two: For problem (2), it seems to often help to first erase the end-of-statement semi-colon and sometimes one or more delimiters at the end of the statement. I guess this moves the editor up a few levels in the parsing hierarchy and allows a more detailed editing.
Tip three: when using backquotes or double quotes to create a literal name or string, it is important to remember that what goes between the quotes is 1D Maple Iput not 2D Input. If Maple correctly recognizes that you are putting something between the quotes, it will interprete your input as 1D input. Thus `\_` will be exactly that, not `_` which it would be in 2D input. If you put quotes in after typing what you want, so that you have captured 2D input between the quotes, you will get strange, uninterpretable errors. Put both quotes in and the type what you want between them. [Note, single quotes to not have this behavior.]