A stray "j" ruined my evening

(napkins.mtmn.name)

16 points | by birdculture 4 days ago

4 comments

  • baruchel 50 minutes ago
  • mike_hock 1 hour ago
    > but in ANSI newline delimiter is translated as "j"

    ?

    • ralferoo 57 minutes 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 48 minutes 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 19 minutes ago
          Yes, but piping output containing newlines into wl-copy does not result in j's in the clipboard.
  • meindnoch 1 hour ago
    So this is a bug in that Signal TUI he was using? I.e. it mangles newlines in pasted text.
    • neonz80 14 minutes ago
      Impossible, Signal TUI is written in Rust.
  • benj111 1 hour ago
    I like how -j fixed the stray j problem....
    • rav 13 minutes ago
      Today I learned that jq -Rrj is a shorter command line for doing the same as tr -d '\n'.