Hello Vim developers,

I've noticed a regression:

    :s/.*/\="foo\nbar"/

This correctly replaces the current line with two lines containing "foo"
and "bar", respectively. Now add the confirm flag, and accept the
replacement:

    :s/.*/\="foo\nbar"/c

This replaces the current line with a single line containing "foo^@bar"
(where ^@ is <Nul>). This is inconsistent and unexpected. Replacing with
\r instead works (with and without the flag), and can be used as a
workaround.

Using the attached scriptlet, I've bisected this to the following patch:

,----[ bad change ]----
| 7.3.225  "\n" in a substitute() inside ":s" not handled correctly
`----

The problem therefore can be seen in this and all following Vim
versions, verified up to the latest 7.4.258. (I've used a HUGE build on
both Windows/x64 and Linux/x64.)

-- regards, ingo
-- 
  -- Ingo Karkat --  /^-- /^-- /^-- /^-- /^-- http://ingo-karkat.de/ --
  --   http://vim.sourceforge.net/account/profile.php?user_id=9713   --

-- 
-- 
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.

Attachment: bug-s_c-newline.vim
Description: application/octetstream

Raspunde prin e-mail lui