謎というほどでも無いのだけど emacs などの editor 向けに、 キーボード入 力などをオミットした別のモードのようだ。 使ったことないのと、裏口でコードが複雑化している感じがある。
backend
Buffer::document_header に手を入れていたところ、 別系統のアクセスがあることを発見。 削除しても本体には影響が無さそうだったのでやってしまいます。
別系統の操作体系があって readline までついている? キーボードじゃなくて、コマンドで操るための裏口ぽいか。
-backend
ひきすうで有効になる。
検索しても情報があまり出てこない。
作業
消す前。
> cloc --exclude-dir=docusaurus "--match-f=\.(c|h|cpp)$" src
137 text files.
137 unique files.
1 file ignored.
github.com/AlDanial/cloc v 1.90 T=0.09 s (1566.1 files/s, 483446.8 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C++ 60 2546 1274 31158
C/C++ Header 68 441 154 4924
C 9 112 181 1500
-------------------------------------------------------------------------------
SUM: 137 3099 1609 37582
-------------------------------------------------------------------------------
消した後。量的なインパクトは少ない。
> cloc --exclude-dir=docusaurus "--match-f=\.(c|h|cpp)$" src
137 text files.
137 unique files.
1 file ignored.
github.com/AlDanial/cloc v 1.90 T=0.09 s (1549.2 files/s, 473432.8 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C++ 60 2506 1251 30805
C/C++ Header 68 441 154 4918
C 9 112 181 1500
-------------------------------------------------------------------------------
SUM: 137 3059 1586 37223
-------------------------------------------------------------------------------
remove commandline
ついで によく知らないコマンドラインオプションも削る。
"-m" internet message
mail とか news 向けらしい。 local cgi とも関連がある?
// argv
else if (!strcmp("-m", argv[i])) {
SearchHeader = (search_header = true);
}
// load
else if (searchHeader) {
searchHeader = SearchHeader = false;
if (t_buf == NULL)
t_buf = new Buffer(INIT_BUFFER_WIDTH());
readHeader(&f, t_buf, searchHeader_through, &pu);
if (f.is_cgi && (p = checkHeader(t_buf, "Location:")) != NULL &&
checkRedirection(&pu)) {
/* document moved */
tpath = url_quote(remove_space((char *)p));
request = NULL;
UFclose(&f);
add_auth_cookie_flag = 0;
current = (Url *)New(Url);
*current = pu;
t_buf = new Buffer(INIT_BUFFER_WIDTH());
t_buf->bufferprop = (BufferFlags)(t_buf->bufferprop | BP_REDIRECTED);
status = HTST_NORMAL;
goto load_doc;
}
#ifdef AUTH_DEBUG
if ((p = checkHeader(t_buf, "WWW-Authenticate:")) != NULL) {
/* Authentication needed */
struct http_auth hauth;
if (findAuthentication(&hauth, t_buf, "WWW-Authenticate:") != NULL &&
(realm = get_auth_param(hauth.param, "realm")) != NULL) {
auth_pu = &pu;
getAuthCookie(&hauth, "Authorization:", extra_header, auth_pu, &hr,
request, &uname, &pwd);
if (uname == NULL) {
/* abort */
TRAP_OFF;
goto page_loaded;
}
UFclose(&f);
add_auth_cookie_flag = 1;
status = HTST_NORMAL;
goto load_doc;
}
}
#endif /* defined(AUTH_DEBUG) */
t = checkContentType(t_buf);
if (t == NULL)
t = "text/plain";
}
// わりと挙動がむずい
SearchHeader = Currentbuf->search_header;
DefaultType = Currentbuf->real_type;
auto buf = loadGeneralFile(
url->ptr, nullptr, {.referer = NO_REFERER, .no_cache = true}, request);
SearchHeader = false;