Change the semantics of mod_read_input_line.
Change the semantics of mod_read_input_line.

Previously, mod_read_input_line read some data in the line buffer and
returned the *first* complete line in this buffer, moving the rest of
the input at the beginning of the buffer. In general, this is not what
we want because it can introduce a lag (I observed this during
interactions with xmonad).

Now, mod_read_input_line will return the *last* complete line in the
line buffer. If no line is present (or just one empty line), the whole
buffer is returned. This avoids introducing bugous behaviors when
the buffer is filled without any newline.

mpu/xbar