Mon Jun 26 16:54:04 PDT 2000 Michael Jennings <mej@eterm.org>
Between myself and Marius Gedminas <mgedmin@takas.lt>, I think we licked that BCE issue that was talked about on the mutt-dev list. SVN revision: 2891
This commit is contained in:
parent
20dd18b325
commit
e458986d63
|
@ -3711,3 +3711,9 @@ Mon Jun 26 09:50:37 PDT 2000 Michael Jennings <mej@eterm.org>
|
||||||
<namsh@lgic.co.kr>.
|
<namsh@lgic.co.kr>.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
Mon Jun 26 16:54:04 PDT 2000 Michael Jennings <mej@eterm.org>
|
||||||
|
|
||||||
|
Between myself and Marius Gedminas <mgedmin@takas.lt>, I think we
|
||||||
|
licked that BCE issue that was talked about on the mutt-dev list.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
|
@ -162,7 +162,7 @@ dnl# Utility stuff
|
||||||
dnl#
|
dnl#
|
||||||
dnl# Did they want debugging?
|
dnl# Did they want debugging?
|
||||||
AC_MSG_CHECKING(for debugging level)
|
AC_MSG_CHECKING(for debugging level)
|
||||||
AC_ARG_WITH(debugging, [ --with-debugging[=num] enable debugging output, num is an optional level],
|
AC_ARG_WITH(debugging, [ --with-debugging[=num] enable debugging output, num is an integer 0-9],
|
||||||
if test "$withval" = "yes"; then
|
if test "$withval" = "yes"; then
|
||||||
withval=4
|
withval=4
|
||||||
else
|
else
|
||||||
|
|
|
@ -955,6 +955,20 @@ request_code_to_name(int code)
|
||||||
return "Unknown";
|
return "Unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
get_ctrl_char_name(char c)
|
||||||
|
{
|
||||||
|
const char *lookup[] =
|
||||||
|
{
|
||||||
|
"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL", /* 0-7 */
|
||||||
|
"BS", "HT", "LF", "VT", "FF", "CR", "SO", "SI", /* 8-15 */
|
||||||
|
"DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", /* 16-23 */
|
||||||
|
"CAN", "EM", "SUB", "ESC", "FS", "GS", "RS", "US" /* 24-31 */
|
||||||
|
};
|
||||||
|
|
||||||
|
return ((c < ' ') ? (lookup[(int) c]) : (""));
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
hard_exit(void) {
|
hard_exit(void) {
|
||||||
|
|
||||||
|
@ -2600,6 +2614,15 @@ main_loop(void)
|
||||||
while (cmdbuf_ptr < cmdbuf_endp) {
|
while (cmdbuf_ptr < cmdbuf_endp) {
|
||||||
|
|
||||||
ch = *cmdbuf_ptr++;
|
ch = *cmdbuf_ptr++;
|
||||||
|
#if DEBUG >= DEBUG_VT
|
||||||
|
if (debug_level >= DEBUG_VT) {
|
||||||
|
if (ch < 32) {
|
||||||
|
D_VT(("\'%s\' (%d 0x%02x %03o)\n", get_ctrl_char_name(ch), ch, ch, ch));
|
||||||
|
} else {
|
||||||
|
D_VT(("\'%c\' (%d 0x%02x %03o)\n", ch, ch, ch, ch));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (ch >= ' ' || ch == '\t' || ch == '\r') {
|
if (ch >= ' ' || ch == '\t' || ch == '\r') {
|
||||||
/* nothing */
|
/* nothing */
|
||||||
} else if (ch == '\n') {
|
} else if (ch == '\n') {
|
||||||
|
|
|
@ -268,7 +268,13 @@ if (test) PrivateModes |= (bit); else PrivateModes &= ~(bit);} while (0)
|
||||||
|
|
||||||
#define CHARS_READ() (cmdbuf_ptr < cmdbuf_endp)
|
#define CHARS_READ() (cmdbuf_ptr < cmdbuf_endp)
|
||||||
#define CHARS_BUFFERED() (count != CMD_BUF_SIZE)
|
#define CHARS_BUFFERED() (count != CMD_BUF_SIZE)
|
||||||
#define RETURN_CHAR() do { refreshed = 0; return (*cmdbuf_ptr++); } while (0)
|
#define RETURN_CHAR() do { \
|
||||||
|
char c = *cmdbuf_ptr++; \
|
||||||
|
refreshed = 0; \
|
||||||
|
if (c < 32) D_VT(("RETURN_CHAR(): \'%s\' (%d 0x%02x %03o)\n", get_ctrl_char_name(c), c, c, c)); \
|
||||||
|
else D_VT(("RETURN_CHAR(): \'%c\' (%d 0x%02x %03o)\n", c, c, c, c)); \
|
||||||
|
return (c); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#ifdef REFRESH_DELAY
|
#ifdef REFRESH_DELAY
|
||||||
# define REFRESH_DELAY_USEC (1000000/25)
|
# define REFRESH_DELAY_USEC (1000000/25)
|
||||||
|
@ -341,6 +347,7 @@ extern void privileges(int);
|
||||||
extern char *sig_to_str(int);
|
extern char *sig_to_str(int);
|
||||||
extern const char *event_type_to_name(int);
|
extern const char *event_type_to_name(int);
|
||||||
extern const char *request_code_to_name(int);
|
extern const char *request_code_to_name(int);
|
||||||
|
extern const char *get_ctrl_char_name(char);
|
||||||
extern void dump_stack_trace(void);
|
extern void dump_stack_trace(void);
|
||||||
extern void install_handlers(void);
|
extern void install_handlers(void);
|
||||||
extern void clean_exit(void);
|
extern void clean_exit(void);
|
||||||
|
|
13
src/debug.h
13
src/debug.h
|
@ -107,6 +107,10 @@ extern unsigned int debug_level;
|
||||||
# define DPRINTF3(x) do { if (debug_level >= 3) {__DEBUG(); real_dprintf x;} } while (0)
|
# define DPRINTF3(x) do { if (debug_level >= 3) {__DEBUG(); real_dprintf x;} } while (0)
|
||||||
# define DPRINTF4(x) do { if (debug_level >= 4) {__DEBUG(); real_dprintf x;} } while (0)
|
# define DPRINTF4(x) do { if (debug_level >= 4) {__DEBUG(); real_dprintf x;} } while (0)
|
||||||
# define DPRINTF5(x) do { if (debug_level >= 5) {__DEBUG(); real_dprintf x;} } while (0)
|
# define DPRINTF5(x) do { if (debug_level >= 5) {__DEBUG(); real_dprintf x;} } while (0)
|
||||||
|
# define DPRINTF6(x) do { if (debug_level >= 6) {__DEBUG(); real_dprintf x;} } while (0)
|
||||||
|
# define DPRINTF7(x) do { if (debug_level >= 7) {__DEBUG(); real_dprintf x;} } while (0)
|
||||||
|
# define DPRINTF8(x) do { if (debug_level >= 8) {__DEBUG(); real_dprintf x;} } while (0)
|
||||||
|
# define DPRINTF9(x) do { if (debug_level >= 9) {__DEBUG(); real_dprintf x;} } while (0)
|
||||||
# else
|
# else
|
||||||
# ifndef DPRINTF
|
# ifndef DPRINTF
|
||||||
# define DPRINTF(x) NOP
|
# define DPRINTF(x) NOP
|
||||||
|
@ -116,6 +120,10 @@ extern unsigned int debug_level;
|
||||||
# define DPRINTF3(x) NOP
|
# define DPRINTF3(x) NOP
|
||||||
# define DPRINTF4(x) NOP
|
# define DPRINTF4(x) NOP
|
||||||
# define DPRINTF5(x) NOP
|
# define DPRINTF5(x) NOP
|
||||||
|
# define DPRINTF6(x) NOP
|
||||||
|
# define DPRINTF7(x) NOP
|
||||||
|
# define DPRINTF8(x) NOP
|
||||||
|
# define DPRINTF9(x) NOP
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* Use this for stuff that you only want turned on in dire situations */
|
/* Use this for stuff that you only want turned on in dire situations */
|
||||||
|
@ -171,7 +179,10 @@ extern unsigned int debug_level;
|
||||||
# define DEBUG_PROFILE 4
|
# define DEBUG_PROFILE 4
|
||||||
# define D_PROFILE(x) DPRINTF4(x)
|
# define D_PROFILE(x) DPRINTF4(x)
|
||||||
|
|
||||||
# define DEBUG_X 5
|
# define DEBUG_VT 5
|
||||||
|
# define D_VT(x) DPRINTF5(x)
|
||||||
|
|
||||||
|
# define DEBUG_X 9
|
||||||
|
|
||||||
# define DEBUG_PARSE 9999
|
# define DEBUG_PARSE 9999
|
||||||
# define D_PARSE(x) D_NEVER(x)
|
# define D_PARSE(x) D_NEVER(x)
|
||||||
|
|
45
src/screen.c
45
src/screen.c
|
@ -768,7 +768,7 @@ scr_add_lines(const unsigned char *str, int nlines, int len)
|
||||||
if (screen.row == screen.bscroll) {
|
if (screen.row == screen.bscroll) {
|
||||||
scroll_text(screen.tscroll, screen.bscroll, 1, 0);
|
scroll_text(screen.tscroll, screen.bscroll, 1, 0);
|
||||||
j = screen.bscroll + TermWin.saveLines;
|
j = screen.bscroll + TermWin.saveLines;
|
||||||
blank_screen_mem(screen.text, screen.rend, j, DEFAULT_RSTYLE | ((rstyle & RS_RVid) ? (RS_RVid) : (0)));
|
blank_screen_mem(screen.text, screen.rend, j, rstyle & ~RS_Uline);
|
||||||
} else if (screen.row < (TermWin.nrow - 1)) {
|
} else if (screen.row < (TermWin.nrow - 1)) {
|
||||||
screen.row++;
|
screen.row++;
|
||||||
row = screen.row + TermWin.saveLines;
|
row = screen.row + TermWin.saveLines;
|
||||||
|
@ -797,7 +797,7 @@ scr_add_lines(const unsigned char *str, int nlines, int len)
|
||||||
j = screen.bscroll + TermWin.saveLines;
|
j = screen.bscroll + TermWin.saveLines;
|
||||||
/* blank_line(screen.text[j], screen.rend[j], TermWin.ncol,
|
/* blank_line(screen.text[j], screen.rend[j], TermWin.ncol,
|
||||||
rstyle); Bug fix from John Ellison - need to reset rstyle */
|
rstyle); Bug fix from John Ellison - need to reset rstyle */
|
||||||
blank_screen_mem(screen.text, screen.rend, j, DEFAULT_RSTYLE | ((rstyle & RS_RVid) ? (RS_RVid) : (0)));
|
blank_screen_mem(screen.text, screen.rend, j, rstyle & ~RS_Uline);
|
||||||
} else if (screen.row < (TermWin.nrow - 1)) {
|
} else if (screen.row < (TermWin.nrow - 1)) {
|
||||||
screen.row++;
|
screen.row++;
|
||||||
row = screen.row + TermWin.saveLines;
|
row = screen.row + TermWin.saveLines;
|
||||||
|
@ -985,26 +985,29 @@ scr_erase_line(int mode)
|
||||||
screen.flags &= ~Screen_WrapNext;
|
screen.flags &= ~Screen_WrapNext;
|
||||||
|
|
||||||
row = TermWin.saveLines + screen.row;
|
row = TermWin.saveLines + screen.row;
|
||||||
switch (mode) {
|
if (screen.text[row]) {
|
||||||
case 0: /* erase to end of line */
|
switch (mode) {
|
||||||
col = screen.col;
|
case 0: /* erase to end of line */
|
||||||
num = TermWin.ncol - col;
|
col = screen.col;
|
||||||
MIN_IT(screen.text[row][TermWin.ncol], col);
|
num = TermWin.ncol - col;
|
||||||
break;
|
MIN_IT(screen.text[row][TermWin.ncol], col);
|
||||||
case 1: /* erase to beginning of line */
|
break;
|
||||||
col = 0;
|
case 1: /* erase to beginning of line */
|
||||||
num = screen.col + 1;
|
col = 0;
|
||||||
break;
|
num = screen.col + 1;
|
||||||
case 2: /* erase whole line */
|
break;
|
||||||
col = 0;
|
case 2: /* erase whole line */
|
||||||
num = TermWin.ncol;
|
col = 0;
|
||||||
screen.text[row][TermWin.ncol] = 0;
|
num = TermWin.ncol;
|
||||||
break;
|
screen.text[row][TermWin.ncol] = 0;
|
||||||
default:
|
break;
|
||||||
return;
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
blank_line(&(screen.text[row][col]), &(screen.rend[row][col]), num, rstyle & ~RS_Uline);
|
||||||
|
} else {
|
||||||
|
blank_screen_mem(screen.text, screen.rend, row, rstyle & ~RS_Uline);
|
||||||
}
|
}
|
||||||
blank_line(&(screen.text[row][col]), &(screen.rend[row][col]), num,
|
|
||||||
rstyle & ~(RS_RVid | RS_Uline));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue