int selective = (INTEGERP (current_buffer->selective_display)
? XINT (current_buffer->selective_display)
: !NILP (current_buffer->selective_display) ? -1 : 0);
- int multibyte = !NILP (current_buffer->enable_multibyte_characters);
struct position val, bp, ep, xp, pp;
int scroll_amount = 0;
int delta;
val.hpos = bp.prevhpos - width + lmargin;
val.tab_offset = bp.tab_offset + bp.prevhpos - width;
did_motion = 1;
- pos--;
- if (multibyte)
- DEC_POS (pos_byte);
- else
- pos_byte--;
+ DEC_BOTH (pos, pos_byte);
}
bp.vpos = vpos;
{
val.hpos = xp.prevhpos - width + lmargin;
val.tab_offset = xp.tab_offset + bp.prevhpos - width;
- pos--;
- if (multibyte)
- DEC_POS (pos_byte);
- else
- pos_byte--;
+ DEC_BOTH (pos, pos_byte);
}
blank_end_of_window = 1;
if (left_edge->vpos > vpos
|| left_edge->hpos > 0)
{
- pos = left_edge->bufpos - 1;
+ pos = left_edge->bufpos;
pos_byte = left_edge->bytepos;
- if (multibyte)
- DEC_POS (pos_byte);
- else
- pos_byte--;
+ DEC_BOTH (pos, pos_byte);
hpos = left_edge->prevhpos;
}
else
{
*p1++ = fix_glyph (f, continuer, 0);
val.vpos = 0;
- lastpos--;
- if (multibyte)
- DEC_POS (lastpos_byte);
- else
- lastpos_byte--;
+ DEC_BOTH (lastpos, lastpos_byte);
val.tab_offset = taboffset + width;
}
}