}
if (str_len (line) == 0) {
- if (option (OPTQUOTEEMPTY)) {
+ if (!(s->flags & M_REPLYING) || option (OPTQUOTEEMPTY)) {
if (s->prefix)
state_puts(s->prefix,s);
for (i=0;i<ql;++i) state_putc('>',s);
* possibly a change in quoting level. But that's better than not
* displaying it at all.
*/
- if ((t = strrchr (buf, '\n')) || (t = strrchr (buf, '\r'))) {
+ if ((t = strrchr (buf, '\r')) || (t = strrchr (buf, '\n'))) {
*t = '\0';
buf_len = t - buf;
}
if (delsp && buf_len >= 1 && buf[buf_len-1] == ' ')
buf[--buf_len] = '\0';
+ /* we're here when last space removed 'cause of DelSp was
+ * the last space and there isn't more -> done */
+ if ((buf_len - buf_off) < 0) {
+ print_flowed_line (curline, s, quotelevel);
+ *curline = '\0';
+ curline_len = 1;
+ continue;
+ }
+
/* signature separator also flushes the previous paragraph */
if (strcmp(buf + buf_off, "-- ") == 0 && curline && *curline) {
print_flowed_line (curline, s, quotelevel);