summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mbbsd/pmore.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/mbbsd/pmore.c b/mbbsd/pmore.c
index 6bbf0973..4126f9ea 100644
--- a/mbbsd/pmore.c
+++ b/mbbsd/pmore.c
@@ -83,6 +83,8 @@
" pmore 2007 快速設定選項 - 色彩(ANSI碼)顯示模式 "
#define PMORE_MSG_WARN_FAKEUSERINFO \
" ▲此頁內容會依閱\讀者不同,原文未必有您的資料 "
+#define PMORE_MSG_WARN_MOVECMD \
+ " ▲此頁內容含移位碼,可能會顯示假系統訊息 "
#define PMORE_MSG_SEARCH_KEYWORD \
"[搜尋]關鍵字:"
@@ -1026,6 +1028,7 @@ mf_display()
{
int lines = 0, col = 0, currline = 0, wrapping = 0;
int startline, endline;
+ int needMove2bot = 0;
int optimized = MFDISP_OPT_CLEAR;
@@ -1325,13 +1328,18 @@ mf_display()
default:
if(ANSI_IN_MOVECMD(c))
+ {
#ifdef PMORE_RESTRICT_ANSI_MOVEMENT
c = 's'; // "save cursor pos"
#else
// some user cannot live without this.
// make them happy.
newline_default = newline = MFDISP_NEWLINE_MOVE;
+ override_attr = ANSI_COLOR(1;37;41);
+ override_msg = PMORE_MSG_WARN_MOVECMD;
#endif
+ needMove2bot = 1;
+ }
outc(c);
break;
}
@@ -1622,6 +1630,9 @@ mf_display()
}
}
mf.oldlineno = mf.lineno;
+
+ if (needMove2bot)
+ move(b_lines, 0);
}
/* --------------------- MAIN PROCEDURE ------------------------- */