lastchar
#define middlechar(c) (lastchar(c) || hyphenchar(c))
if (!lastchar(ch))
(li->lastchar - 1 - li->cursor),
(li->cursor >= li->lastchar) ? "" : li->cursor);
line.lastchar = line.cursor - 1;
(li->lastchar - 1 - li->cursor),
(li->cursor >= li->lastchar) ? L"" : li->cursor);
if (el->el_line.lastchar + num >= el->el_line.limit) {
if (el->el_line.cursor < el->el_line.lastchar) {
for (cp = el->el_line.lastchar; cp >= el->el_line.cursor; cp--)
el->el_line.lastchar += num;
if (el->el_line.cursor + num > el->el_line.lastchar)
num = (int)(el->el_line.lastchar - el->el_line.cursor);
for (cp = el->el_line.cursor; cp <= el->el_line.lastchar; cp++)
el->el_line.lastchar -= num;
for (cp = el->el_line.cursor; cp <= el->el_line.lastchar; cp++)
el->el_line.lastchar--;
&cp[num] <= el->el_line.lastchar;
el->el_line.lastchar -= num;
for (cp = el->el_line.cursor - 1; cp <= el->el_line.lastchar; cp++)
el->el_line.lastchar--;
el->el_line.lastchar = el->el_line.buffer;
el->el_line.lastchar = el->el_line.buffer;
el->el_line.lastchar = newbuffer + (el->el_line.lastchar - oldbuf);
if (el->el_line.lastchar + len >= el->el_line.limit) {
line_length = (size_t)(el->el_line.lastchar - el->el_line.buffer);
el->el_line.lastchar--;
size = (size_t)(el->el_line.lastchar - el->el_line.buffer);
el->el_line.lastchar = el->el_line.buffer + len;
if (el->el_line.cursor > el->el_line.lastchar)
el->el_line.cursor = el->el_line.lastchar;
if (el->el_line.cursor > el->el_line.lastchar)
el->el_line.cursor = el->el_line.lastchar;
el->el_line.lastchar = cp + 1;
el->el_line.lastchar = el->el_line.buffer;
while (count-- && el->el_line.cursor < el->el_line.lastchar)
EL.buffer, EL.buffer, EL.cursor, EL.cursor, EL.lastchar,
EL.lastchar, EL.limit, EL.limit);
if (el->el_line.cursor == el->el_line.lastchar) {
el->el_line.cursor >= el->el_line.lastchar &&
el->el_line.cursor = el->el_line.lastchar - 1;
while (cp < el->el_line.lastchar)
el->el_line.lastchar = el->el_line.cursor;
el->el_line.cursor = el->el_line.lastchar;
if (el->el_line.cursor < el->el_line.lastchar) {
if (el->el_line.lastchar <= &el->el_line.buffer[1])
wchar_t *lim = el->el_line.lastchar;
*el->el_line.lastchar++ = '\n';
*el->el_line.lastchar = '\0';
*el->el_line.lastchar = '\0'; /* just in case */
(el->el_line.lastchar - el->el_line.buffer);
*el->el_line.lastchar = '\0'; /* just in case */
*el->el_line.lastchar = '\0'; /* just in case */
(el->el_line.lastchar - el->el_line.buffer);
*el->el_line.lastchar = '\0';
(el->el_line.lastchar - el->el_line.buffer)) ||
hp[el->el_line.lastchar - el->el_line.buffer]) &&
*el->el_line.lastchar = '\0'; /* just in case */
(el->el_line.lastchar - el->el_line.buffer)) ||
hp[el->el_line.lastchar - el->el_line.buffer]) &&
nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n';
for (ptr = el->el_line.cursor; ptr < el->el_line.lastchar; ptr++)
nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n';
if (el->el_line.lastchar + el->el_state.argument >=
|| el->el_line.cursor >= el->el_line.lastchar)
wchar_t *lastchar; /* Last character */
for (p = winfo->buffer; p < winfo->lastchar; p++)
info->lastchar = info->buffer + offset;
cp = c__next_word(el, el->el_line.cursor, el->el_line.lastchar,
if (el->el_line.cursor > el->el_line.lastchar)
el->el_line.cursor = el->el_line.lastchar;
if (el->el_line.lastchar +
while (cp < el->el_line.lastchar)
el->el_line.lastchar = el->el_line.buffer;
if (el->el_line.cursor == el->el_line.lastchar)
el->el_line.lastchar,
ep = c__next_word(el, el->el_line.cursor, el->el_line.lastchar,
if (el->el_line.cursor > el->el_line.lastchar)
el->el_line.cursor = el->el_line.lastchar;
ep = c__next_word(el, el->el_line.cursor, el->el_line.lastchar,
if (el->el_line.cursor > el->el_line.lastchar)
el->el_line.cursor = el->el_line.lastchar;
ep = c__next_word(el, el->el_line.cursor, el->el_line.lastchar,
if (el->el_line.cursor > el->el_line.lastchar)
el->el_line.cursor = el->el_line.lastchar;
for (dp = oldc; cp < oldc && dp < el->el_line.lastchar; cp++)
if (el->el_line.cursor == el->el_line.lastchar) {
if (el->el_line.cursor > el->el_line.lastchar)
el->el_line.cursor = el->el_line.lastchar;
if (el->el_line.cursor == el->el_line.lastchar)
*end = (int)(li->lastchar - li->buffer);
el->el_line.lastchar = el->el_line.buffer +
el->el_line.cursor = el->el_line.lastchar;
el->el_line.lastchar = el->el_line.buffer + hlen - 1;
if (el->el_line.lastchar > el->el_line.buffer
&& el->el_line.lastchar[-1] == '\n')
el->el_line.lastchar--;
if (el->el_line.lastchar > el->el_line.buffer
&& el->el_line.lastchar[-1] == ' ')
el->el_line.lastchar--;
el->el_line.cursor = el->el_line.lastchar;
const wchar_t *lastchar;
const char *lastchar;
while ((num = (*el->el_read->read_char)(el, lp->lastchar)) == 1) {
if (lp->lastchar + 1 >= lp->limit &&
lp->lastchar++;
lp->lastchar[-1] == '\r' ||
lp->lastchar[-1] == '\n')
lp->lastchar = lp->buffer;
lp->cursor = lp->lastchar;
*lp->lastchar = '\0';
*nread = (int)(lp->lastchar - lp->buffer);
el->el_line.lastchar = el->el_line.buffer;
el->el_line.lastchar = el->el_line.buffer;
*el->el_line.lastchar++ = CONTROL('d');
el->el_line.cursor = el->el_line.lastchar;
num = (int)(el->el_line.lastchar - el->el_line.buffer);
*nread = (int)(el->el_line.lastchar - el->el_line.buffer);
rl_end = (int)(li->lastchar - li->buffer);
if (li->buffer + from > li->lastchar)
from = (int)(li->lastchar - li->buffer);
if (li->buffer + to > li->lastchar)
to = (int)(li->lastchar - li->buffer);
if (el->el_line.cursor >= el->el_line.lastchar) {
&& el->el_line.lastchar != el->el_line.buffer)
el->el_line.cursor = el->el_line.lastchar - 1;
el->el_line.cursor = el->el_line.lastchar;
if (cp < el->el_line.lastchar && (w = wcwidth(*cp)) > 1)
if (c == '\t' || el->el_line.cursor != el->el_line.lastchar) {
if (el->el_line.cursor >= el->el_line.lastchar) {
&& el->el_line.lastchar != el->el_line.buffer)
el->el_line.cursor = el->el_line.lastchar - 1;
el->el_line.cursor = el->el_line.lastchar;
if (el->el_line.lastchar - el->el_line.buffer > termsz) {
size_t rem = (el->el_line.lastchar-el->el_line.buffer)%termsz;
st = el->el_line.lastchar - rem
for (cp = st; cp < el->el_line.lastchar; cp++) {
el->el_line.lastchar - el->el_line.buffer);
if (el->el_line.lastchar + sizeof(STRfwd) /
sizeof(*el->el_line.lastchar) + 2 +
*el->el_line.lastchar++ = '\n';
*cp; *el->el_line.lastchar++ = *cp++)
*el->el_line.lastchar++ = pchar;
*el->el_line.lastchar++ = *cp++)
*el->el_line.lastchar = '\0';
*el->el_line.lastchar++ = ch;
*el->el_line.lastchar = '\0';
el->el_line.lastchar, 1,
*el->el_line.lastchar++ =
*el->el_line.lastchar = '\0';
while (el->el_line.lastchar > el->el_line.buffer &&
*el->el_line.lastchar != '\n')
*el->el_line.lastchar-- = '\0';
*el->el_line.lastchar = '\0';
el->el_line.lastchar :
el->el_line.cursor > el->el_line.lastchar ||
el->el_line.lastchar :
el->el_line.cursor = el->el_line.lastchar = el->el_line.buffer;
el->el_line.lastchar = el->el_line.buffer;
if (cp >= el->el_line.lastchar)
if (ptr >= line->lastchar)
li.cursor = li.lastchar = Strchr(line, '\0');
len = (size_t)(el->el_line.lastchar - el->el_line.buffer);
el->el_line.lastchar = el->el_line.buffer + len;
if (el->el_line.cursor < el->el_line.lastchar)
if (!c && el->el_line.cursor < el->el_line.lastchar)
if (el->el_line.cursor + len > el->el_line.lastchar)
if (el->el_line.cursor >= el->el_line.lastchar - 1)
el->el_line.lastchar, el->el_state.argument, cv__isWord);
if (el->el_line.cursor >= el->el_line.lastchar - 1)
el->el_line.lastchar, el->el_state.argument, cv__isword);
if (el->el_line.cursor >= el->el_line.lastchar)
if (++el->el_line.cursor >= el->el_line.lastchar) {
if (el->el_line.cursor >= el->el_line.lastchar)
(int)(el->el_line.lastchar - el->el_line.buffer));
(int)(el->el_line.lastchar - el->el_line.cursor));
if (el->el_line.cursor < el->el_line.lastchar) {
if (el->el_line.cursor > el->el_line.lastchar)
el->el_line.cursor = el->el_line.lastchar;
el->el_line.cursor = el->el_line.lastchar;
if (el->el_line.cursor == el->el_line.lastchar)
el->el_line.lastchar, el->el_state.argument, cv__isWord);
if (el->el_line.cursor == el->el_line.lastchar)
el->el_line.lastchar, el->el_state.argument, cv__isword);
el->el_chared.c_undo.len = el->el_line.lastchar - el->el_line.buffer;
el->el_line.lastchar = un.buf + un.len;
if (el->el_line.cursor == el->el_line.lastchar) {
*el->el_line.lastchar = '\0'; /* just in case */
(int)(el->el_line.lastchar - el->el_line.buffer));
*el->el_line.lastchar = '\0'; /* just in case */
el->el_line.lastchar = el->el_line.buffer;
if (cp < el->el_line.buffer || cp >= el->el_line.lastchar)
(int)(el->el_line.lastchar - el->el_line.cursor));
(el->el_line.lastchar - el->el_line.buffer);
u_int firstchar, lastchar;
int ch = bmachine.readstack[bmachine.readsp].lastchar;
int lastchar;
src->lastchar = src->u.string.buf[src->u.string.pos];
if (src->lastchar == '\0')
return src->lastchar;
if (src->lastchar != '\0')
if (lastchar != -1)
(void)putc(lastchar, f);
if (lastchar != -1) {
(void)putc(lastchar, f);
lastchar = ch;
lastchar = -1;
static int lastchar;
return src->lastchar = getc(src->u.stream);
(void)ungetc(src->lastchar, src->u.stream);
char lastchar(const char *);
if (ispunct((unsigned char)lastchar(errorp->error_text[2])))
if (lastchar(cur_wordv[1]) == ':') {
&& lastchar(cur_wordv[1]) == ':'
&& lastchar(cur_wordv[2]) == ':') {
&& lastchar(cur_wordv[1]) == ','
&& lastchar(cur_wordv[3]) == ':') {
if (lastchar(cur_wordv[1]) != ':')
if (lastchar(cur_wordv[1]) == ':') {
if (lastchar(cur_wordv[1]) == ':'
if (lastchar(cur_wordv[2]) == '(' /* ')' */
if (lastchar(cur_wordv[6]) == ':'
&& lastchar(cur_wordv[1]) == '"'
&& lastchar(cur_wordv[2]) == ':'
&& lastchar(cur_wordv[1]) == ','
&& lastchar(cur_wordv[3]) == ':') {
&& lastchar(cur_wordv[2]) == ',' /* file name */
&& lastchar(cur_wordv[4]) == ':' /* line number */
&& lastchar(cur_wordv[6]) == ':'
&& lastchar(cur_wordv[3]) == ':'
len = lf->lastchar - lf->buffer;
if (lf->buffer == lf->lastchar)
if (lf->cursor != lf->lastchar) { /* delete without using ^D */
len = lf->lastchar - lf->buffer;
li.lastchar = line + len;