Stephen Riehm <[email protected]> wrote: > Hi Dominique, > >> Sorry if I broke your mapping. I'll see soon how else it can be fixed. > > that's OK - I have a patch and you responded before woke up, so it's all good > :-) > >> I just tried to map <C-"> and it does not work for me even when >> vim is older than 7.4.1968. Indeed, mapping <M-"> worked but >> in gvim only, not in terminal. > > hmm... it seems I've been battling that all my life :-) > Backstory: > My problem is that all the normal and control characters are pre mapped, > apple's command key is also pre defined (try mapping <D-H> or <D-.> :-( > So alt/meta is the only option for setting up a consistent "user interface". > <M-?> where ? = (, ), [, ], ', ", < or > is a IMHO wonderful set of > bracketing macros, which is why losing <M-"> was so painful. It's the > keystroke that's important, not the character. > >> The memory issue should be the same for <C-"> or <M-">, since >> it happened because " starts a comment, causing an invalid syntax >> not handled well by vim. > > Hmmm... shouldn't the parser know that it's already parsing an <M-> token and > skip comments until the > ? > >> $ valgrind --num-callers=20 vim -u NONE -c 'echo "\<M-">' -c q 2> log > > I don't have valgrind
If you compile vim with gcc or clang, you can also see this bug by adding -fsanitize=address to the compiler flags, recompile vim, and then run vim normally. It should crash without patch 7.4.1968 when doing: vim -u NONE -c 'echo "\<M-"> > ... but running the vim part I can see that your test case does indeed throw > an error. > What I don't completely understand is why I don't see this error from my > normal vimrc? > Or is it only a problem when it's already in a comment? i.e.: > > map <M-"> ... > " map <M-"> ... > > I tried this but it only barfs with your test line :-/ > BTW: the \ seems to be redundant. In my example, \<M-"> is not in a comment, but inside a string started by a double quotes. VimL grammar is a bit strange as double quote " is used for comments, but it can also be used for delimiting strings or even other purposes like register @" or <C-"> (etc). I don't know yet how to fix the memory error while accepting your mapping, but I'll spend time on it later. Dominique -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
