Coder Social home page Coder Social logo

Comments (4)

n1vux avatar n1vux commented on May 31, 2024

Screen shots from my Reproduction comment reply quoted above -
Xterm width 10.
image1

Grep equivalent.
grep

from ack3.

hoelzro avatar hoelzro commented on May 31, 2024

This is probably due to the trailing \e[K we write at the end of each matched line if coloration is on. I honestly don't know why we do that...

from ack3.

n1vux avatar n1vux commented on May 31, 2024

are you saying we debiting the LRECL for the ANSI escape \e[K ? ??
[ IIRC it should be 'ZERO WIDTH' (like \b in an RE only with side effects :-) ]

Or that \e[K is erasing the last character because the cursor is stuck?

CSI n K EL – Erase in Line – Erases part of the line.
If n is zero (or missing), clear from cursor to the end of the line.
If n is one, clear from cursor to beginning of the line.
If n is two, clear entire line. Cursor position does not change.
http://en.wikipedia.org/wiki/ANSI_escape_code

Outputting a possibly extra \e[0m at the end of line, in case we haven't finished the matched text, and also avoids a tracking semaphore to know if we finished or not.

But i agree, I don't remember why \e[K might have been required for cleanliness / cargocult-and-paste from bad-old-VT10[0-9] days; IIRC that was only useful when overwriting a possibly longer line by cursor addressing (or CR without NL) -- in which is was very useful in e.g. 'vi'.

from ack3.

hoelzro avatar hoelzro commented on May 31, 2024

It could be either; I say we remove it, though.

from ack3.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.