aboutsummaryrefslogtreecommitdiffstats
path: root/etc.c
diff options
context:
space:
mode:
Diffstat (limited to 'etc.c')
-rw-r--r--etc.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/etc.c b/etc.c
index 8fe1215..16d1295 100644
--- a/etc.c
+++ b/etc.c
@@ -498,7 +498,7 @@ calcPosition(char *l, Lineprop *pr, int len, int pos, int bpos, int mode)
static char *prevl = NULL;
int i, j;
- if (l == NULL || len == 0)
+ if (l == NULL || len == 0 || pos < 0)
return bpos;
if (l == prevl && mode == CP_AUTO) {
if (pos <= len)
@@ -727,6 +727,11 @@ next_status(char c, int *status)
case '>':
*status = R_ST_NORMAL;
break;
+ case 'D':
+ case 'd':
+ /* could be a !doctype */
+ *status = R_ST_TAG;
+ break;
default:
*status = R_ST_IRRTAG;
}
@@ -1365,7 +1370,13 @@ setup_child(int child, int i, int f)
if (!child)
SETPGRP();
#endif /* __MINGW32_VERSION */
+ /*
+ * I don't know why but close_tty() sometimes interrupts loadGeneralFile() in loadImage()
+ * and corrupt image data can be cached in ~/.w3m.
+ */
+#if 0
close_tty();
+#endif
close_all_fds_except(i, f);
QuietMessage = TRUE;
fmInitialized = FALSE;