commit 5e45378f4db20b1e40fa17781dccfc9506c35d47
parent a05e1d3eb74354c57036aa80c7f23c7e614eda74
Author: ukai <ukai>
Date: Fri, 8 Nov 2002 16:01:18 +0000
[w3m-dev 03388] meta refresh problem
* fm.h (AL_IMPLICIT_DONE): 3->4
(AL_ONCE): 8
(AL_IMPLICIT_ONCE): (AL_IMPLICIT|AL_ONCE)
* main.c (MAIN): & AL_IMPLICIT, & AL_IMPLICIT_DONE
(SigAlarm): & AL_IMPLICIT, & AL_IMPLICIT_DONE, & AL_ONCE
(setAlaramEvent): & AL_IMPLICIT
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat:
3 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,5 +1,15 @@
2002-11-09 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
+ * [w3m-dev 03388] meta refresh problem
+ * fm.h (AL_IMPLICIT_DONE): 3->4
+ (AL_ONCE): 8
+ (AL_IMPLICIT_ONCE): (AL_IMPLICIT|AL_ONCE)
+ * main.c (MAIN): & AL_IMPLICIT, & AL_IMPLICIT_DONE
+ (SigAlarm): & AL_IMPLICIT, & AL_IMPLICIT_DONE, & AL_ONCE
+ (setAlaramEvent): & AL_IMPLICIT
+
+2002-11-09 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
+
* [w3m-dev 03387] Re: tab browser
* buffer.c (newBuffer): buf->LINES initialize
(gotoLine): use buf->LINES
diff --git a/fm.h b/fm.h
@@ -1042,8 +1042,9 @@ void w3m_exit(int i);
#define AL_UNSET 0
#define AL_EXPLICIT 1
#define AL_IMPLICIT 2
-#define AL_IMPLICIT_DONE 3
-#define AL_IMPLICIT_ONCE 4
+#define AL_IMPLICIT_DONE 4
+#define AL_ONCE 8
+#define AL_IMPLICIT_ONCE (AL_IMPLICIT|AL_ONCE)
#endif
/*
diff --git a/main.c b/main.c
@@ -967,11 +967,11 @@ MAIN(int argc, char **argv, char **envp)
mouse_active();
#endif /* USE_MOUSE */
#ifdef USE_ALARM
- if (alarm_status == AL_IMPLICIT) {
+ if (alarm_status & AL_IMPLICIT) {
alarm_buffer = Currentbuf;
- alarm_status = AL_IMPLICIT_DONE;
+ alarm_status = AL_IMPLICIT_DONE | (AL_IMPLICIT & AL_ONCE);
}
- else if (alarm_status == AL_IMPLICIT_DONE
+ else if (alarm_status & AL_IMPLICIT_DONE
&& alarm_buffer != Currentbuf) {
setAlarmEvent(0, AL_UNSET, FUNCNAME_nulcmd, NULL);
}
@@ -5217,13 +5217,12 @@ SigAlarm(SIGNAL_ARG)
data ? data : "")->ptr,
FALSE, alarm_sec - 1, FALSE, TRUE);
}
- else if (alarm_status == AL_IMPLICIT) {
+ else if (alarm_status & AL_IMPLICIT) {
alarm_buffer = Currentbuf;
- alarm_status = AL_IMPLICIT_DONE;
+ alarm_status = AL_IMPLICIT_DONE | (AL_IMPLICIT & AL_ONCE);
}
- else if ((alarm_status == AL_IMPLICIT_DONE
- && alarm_buffer != Currentbuf)
- || alarm_status == AL_IMPLICIT_ONCE) {
+ else if (alarm_status & AL_IMPLICIT_DONE
+ && (alarm_buffer != Currentbuf || alarm_status & AL_ONCE)) {
setAlarmEvent(0, AL_UNSET, FUNCNAME_nulcmd, NULL);
}
if (alarm_sec > 0) {
@@ -5270,8 +5269,7 @@ void
setAlarmEvent(int sec, short status, int cmd, void *data)
{
if (status == AL_UNSET || status == AL_EXPLICIT
- || status == AL_IMPLICIT_ONCE
- || (status == AL_IMPLICIT && alarm_status != AL_EXPLICIT)) {
+ || (status & AL_IMPLICIT && alarm_status != AL_EXPLICIT)) {
alarm_sec = sec;
alarm_status = status;
alarm_event.cmd = cmd;