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>.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
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# Did they want debugging?
|
||||
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
|
||||
withval=4
|
||||
else
|
||||
|
|
|
@ -955,6 +955,20 @@ request_code_to_name(int code)
|
|||
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
|
||||
hard_exit(void) {
|
||||
|
||||
|
@ -2600,6 +2614,15 @@ main_loop(void)
|
|||
while (cmdbuf_ptr < cmdbuf_endp) {
|
||||
|
||||
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') {
|
||||
/* nothing */
|
||||
} 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_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
|
||||
# define REFRESH_DELAY_USEC (1000000/25)
|
||||
|
@ -341,6 +347,7 @@ extern void privileges(int);
|
|||
extern char *sig_to_str(int);
|
||||
extern const char *event_type_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 install_handlers(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 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 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
|
||||
# ifndef DPRINTF
|
||||
# define DPRINTF(x) NOP
|
||||
|
@ -116,6 +120,10 @@ extern unsigned int debug_level;
|
|||
# define DPRINTF3(x) NOP
|
||||
# define DPRINTF4(x) NOP
|
||||
# define DPRINTF5(x) NOP
|
||||
# define DPRINTF6(x) NOP
|
||||
# define DPRINTF7(x) NOP
|
||||
# define DPRINTF8(x) NOP
|
||||
# define DPRINTF9(x) NOP
|
||||
# endif
|
||||
|
||||
/* 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 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 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) {
|
||||
scroll_text(screen.tscroll, screen.bscroll, 1, 0);
|
||||
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)) {
|
||||
screen.row++;
|
||||
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;
|
||||
/* blank_line(screen.text[j], screen.rend[j], TermWin.ncol,
|
||||
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)) {
|
||||
screen.row++;
|
||||
row = screen.row + TermWin.saveLines;
|
||||
|
@ -985,26 +985,29 @@ scr_erase_line(int mode)
|
|||
screen.flags &= ~Screen_WrapNext;
|
||||
|
||||
row = TermWin.saveLines + screen.row;
|
||||
switch (mode) {
|
||||
case 0: /* erase to end of line */
|
||||
col = screen.col;
|
||||
num = TermWin.ncol - col;
|
||||
MIN_IT(screen.text[row][TermWin.ncol], col);
|
||||
break;
|
||||
case 1: /* erase to beginning of line */
|
||||
col = 0;
|
||||
num = screen.col + 1;
|
||||
break;
|
||||
case 2: /* erase whole line */
|
||||
col = 0;
|
||||
num = TermWin.ncol;
|
||||
screen.text[row][TermWin.ncol] = 0;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
if (screen.text[row]) {
|
||||
switch (mode) {
|
||||
case 0: /* erase to end of line */
|
||||
col = screen.col;
|
||||
num = TermWin.ncol - col;
|
||||
MIN_IT(screen.text[row][TermWin.ncol], col);
|
||||
break;
|
||||
case 1: /* erase to beginning of line */
|
||||
col = 0;
|
||||
num = screen.col + 1;
|
||||
break;
|
||||
case 2: /* erase whole line */
|
||||
col = 0;
|
||||
num = TermWin.ncol;
|
||||
screen.text[row][TermWin.ncol] = 0;
|
||||
break;
|
||||
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