> The functions in message.c write message with color attributes. So if 
> splitting per line, it must get whole contents at the first.
> I guess someone want to get the contents as text which contains \n, but 
> someone want to get the contents as array of lines. So I want to keep the 
> contents as text.
> 
> Thanks.

Almost never used not splitted messages (they were only needed by me in case 
there is only one line of output; and only because splitting one line does not 
make much sense; code with proposed by @Ingo Karkat implementation of 
`capture()` is not a tiny bit harder to write in this case). I have another 
proposal:

1. Fix :redir to allow nesting.
2. Fix :redir to hold reference to dictionary containing variable (like l:, g:, 
s: or such) to workaround problem I mentioned in 
https://groups.google.com/forum/#!searchin/vim_dev/redir/vim_dev/1M3QS46SrAk/a13SqNpPWywJ.
 Obviously only in case redirecting to variable.
3. Make :redir automatically end when function ends if it holds reference to 
l:. In any case I doubt anybody needs to start redir in one function and end in 
another and do redirection to function-local variable at the time. This also 
must workaround stale :redir's left due to an exception (plugin authors almost 
always capture to function-local variables).
4. (optional) Add capture() function, but it should return a list of lists of 
dictionaries:

    [
        [{'hl': "Error", 'text': "Error on first line"}, {'hl': "OtherHL", 
'text': "Other highlight in first line (possible when using :echon)"}],
        [{'hl': "Normal", 'text': "Regular message on second line"}],
    ]

  . It is useful in some cases (like any use of :redir this cases happen mainly 
because of problems in API: distinguishing between `<LT>Space>` and `<Space>` 
in :map output (current code I use assumes nobody needs to define mapping like 
`<LT>F1>`; assumption has not proved false by the time, but having to use it 
bugs me); distinguishing between regular text and special characters in 
messages (don’t remember when I needed this, but there was some case)).
5. (optional) Extend syntax of :redir to capture to a list of lines.

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Raspunde prin e-mail lui