Tuesday, November 12, 2019

Re: Un-POSIX-like behavior of join command

Brennan Vincent wrote:

> When joining a line that is followed by an empty line (or one with only
> spaces), POSIX specifies that it should be deleted without the current
> line being affected. See the section "Join" in
> https://pubs.opengroup.org/onlinepubs/9699919799/ .
>
> However, vim appends a space to the current line in this case. For
> example, if line 1 is "foo", and line 2 is blank, after executing :1j
> line 1 will be "foo ", as can be seen by executing the following (`ex`
> is provided by `vi` on my system)
>
> $ echo -e 'foo\n' > test.txt && echo -e '1j\nwq' | ex test.txt && wc -c
> test.txt
> 5 test.txt
>
> nvi/nex give the POSIX behavior:
>
> $ echo -e 'foo\n' > test.txt && echo -e '1j\nwq' | nex test.txt && wc -c
> test.txt
> 4 test.txt
>
> Is this a bug, or intentional?

I can't think of a reason why it works this way. And the trailing space
is useless. So we should call it a bug.

What should happen if the second line is blank, not empty?

--
hundred-and-one symptoms of being an internet addict:
77. The phone company asks you to test drive their new PBX system

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
--
You received this message from the "vim_use" 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_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/201911121912.xACJC0wr001498%40masaka.moolenaar.net.

No comments:

Post a Comment