A stray "j" ruined my evening

(napkins.mtmn.name)

19 points | by birdculture 5 days ago ago

9 comments

  • mike_hock 2 hours ago

    > but in ANSI newline delimiter is translated as "j"

    ?

    • ralferoo 2 hours ago

      \n is ^J (ctrl-J) so there's some logic there, but I wonder if something has been lost in the message. I'd guess it either displays ^J or an inverse-colour J, rather than just a plain lowercase j.

      Also possible that the j is a red herring and just some random character that's always there. Pasting a URL containing a newline into most browsers just truncates it at the newline, regardless of how much text is after. I only know this from occasionally copying links from a terminal window where the copy somehow added newlines every 80 characters (even though copying this way normally works fine). I'd have to copy the URL with newlines into a text editor, remove the new lines and copy again to be able to paste it.

      • thaumasiotes 2 hours ago

        > \n is ^J (ctrl-J) so there's some logic there

        Specifically, J is the 10th letter of the alphabet and therefore ctrl-J is code for ascii 10. Same reason ctrl-D sends EOF and ctrl-I sends tab.

        • mike_hock an hour ago

          Yes, but piping output containing newlines into wl-copy does not result in j's in the clipboard.

  • baruchel 2 hours ago
  • meindnoch 2 hours ago

    So this is a bug in that Signal TUI he was using? I.e. it mangles newlines in pasted text.

    • neonz80 an hour ago

      Impossible, Signal TUI is written in Rust.

  • benj111 2 hours ago

    I like how -j fixed the stray j problem....

    • rav an hour ago

      Today I learned that jq -Rrj is a shorter command line for doing the same as tr -d '\n'.