Tuesday, November 12, 2019

Re: Un-POSIX-like behavior of join command

On Wed, Nov 13, 2019 at 12:08 AM Brennan Vincent <brennan@umanwizard.com> wrote:
>
>
>
> On Nov 12, 2019, at 2:26 PM, Bram Moolenaar <Bram@moolenaar.net> wrote:
>
>
> I wrote:
>
> 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 Ligne des Fagnes
> 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?
>
>
> The spec apparently says that blank lines are also not resulting in a
> trailing space:
>
> 1. Discard leading <space> characters from the line to be joined.
> 2. If the line to be joined is now empty, delete it, and skip steps 3 through 5.
>
> --
> hundred-and-one symptoms of being an internet addict:
> 78. You find yourself dialing IP numbers on the phone.
>
> /// 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 ///
>
>
> Tony: Thanks for the tip. I have tried with `VIM_POSIX=1 vim -u NONE` and I get the same undocumented un-POSIX-like behavior.
>
> Bram: Thanks for confirming. If we are agreed that this is a bug, is there some Vim bug tracker I should enter it on?

Now that Bram is aware of the problem, and regards it as a bug, IMHO
we can expect a fix in a few days. If no patch concerning it appears
in a week or two you could open an "issue" on Vim's github site to
make sure it doesn't fall off the radar. But it is quite possible that
the problem will get fixed with no further action on your part.

Best regards,
Tony.

--
--
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/CAJkCKXu2eeUBdyrYr3xEw2U8QHE6WaPdB-K%3DoAa06XvY-N%3DuOA%40mail.gmail.com.

No comments: