http://www.geocities.co.jp/SiliconValley-Cupertino/3751/grapad03.tgz
コンソール上で動く、GRAPADという名前のエディタをつくっています。
僕自身初心者なので(UNIX歴半年)、まだまだ未熟ですが、これからもっと
いろいろな機能を付けていきたいと思っています。
cursesを使って、メニューやダイアログボックスも使えますから、難しい設定はいりません。
以下の環境でコンパイルと実行を確認しました。
VineLinux2.1.5のGnomeターミナル
VineLinux2.1.5のコンソール
RedHatLinux7.1のGnomeターミナル
FreeBSD(98)4.3のコンソール(ダイアログの枠線が化けます)
探検
エディタ作ったよ!見てみて!
1エディタ作ってる人
NGNG2エディタ作ってる人
NGNG コンパイルと実行の方法は、
#tar -zxvf grapad03.tgz で展開して、
#cd grapad03 でディレクトリに入って、
#make とやると、実行ファイルができます。
#./grapad で実行できます。
#tar -zxvf grapad03.tgz で展開して、
#cd grapad03 でディレクトリに入って、
#make とやると、実行ファイルができます。
#./grapad で実行できます。
NGNG
ソースを参考にしようと思ったんだけど、
C++をC風に書くなよダセェ
よって、viできまり。こいつはゴミ。
C++をC風に書くなよダセェ
よって、viできまり。こいつはゴミ。
4エディタ作ってる人
NGNGNGNG
批判するだけなら猿でも出来る。
とりあえずKondara 2.1 Beta2でコンパイルが通ることを確認。
Tera Termから起動したら「白黒端末では使えません。」
と言われたので試してない。
とりあえずKondara 2.1 Beta2でコンパイルが通ることを確認。
Tera Termから起動したら「白黒端末では使えません。」
と言われたので試してない。
NGNG
>>5
curses が $TERM を見てんのかな?
curses が $TERM を見てんのかな?
7エディタ作ってる人
NGNG >>5
ありがとうございます!!
基本的にカラーで表示する事を前提にしているので、
白黒だと起動できません。
強調表示とか検索とか、あとショートカットキーとか、
とりあえず書いただけで使えない機能がまだあるので、
その辺は文句言わないでください。
とりあえず今は検索機能を作るため、BM法とKMP法という
アルゴリズムを勉強しています。
ありがとうございます!!
基本的にカラーで表示する事を前提にしているので、
白黒だと起動できません。
強調表示とか検索とか、あとショートカットキーとか、
とりあえず書いただけで使えない機能がまだあるので、
その辺は文句言わないでください。
とりあえず今は検索機能を作るため、BM法とKMP法という
アルゴリズムを勉強しています。
NGNG
ktermでちゃんと動いたよ。
gnome-terminal では動かなかったです。当方turbo
readmeでは動くらしいんだけど、
がんばれー
gnome-terminal では動かなかったです。当方turbo
readmeでは動くらしいんだけど、
がんばれー
93
NGNG >>5
いや、フィードバックもしようと思って今Makefileを
マクロ使って書き直してたんだけど、なんかエラーになるからやめた(笑)。
FreeBSD 4-STABLE, コンパイル通ってkterm上でさらにscreenの上で動いたよ。
F2押してもキーコードが入るだけだったけど。Alt+F2か?
いや、フィードバックもしようと思って今Makefileを
マクロ使って書き直してたんだけど、なんかエラーになるからやめた(笑)。
FreeBSD 4-STABLE, コンパイル通ってkterm上でさらにscreenの上で動いたよ。
F2押してもキーコードが入るだけだったけど。Alt+F2か?
10エディタ作ってる人
NGNG えーとですね、ktermでも動くんですけど、ファンクションキーがだめなんですよ。
本当はメニューはalt+何かで選べるようにしたいんですけど、
altキーの入力を知る方法がわからないんです。
本当はメニューはalt+何かで選べるようにしたいんですけど、
altキーの入力を知る方法がわからないんです。
NGNG
FreeBSD(98)4.3でコンパイル通ったしbetermで動いたよ。
枠がおかしいのかどうかは確認してないけど。
ただbeterm自体が日本語通らないからメニューに何が書いてあるやらさっぱり。
勘で終了させた。英字表記が理解しづらいよ。sageが何かまだ分からない。
枠がおかしいのかどうかは確認してないけど。
ただbeterm自体が日本語通らないからメニューに何が書いてあるやらさっぱり。
勘で終了させた。英字表記が理解しづらいよ。sageが何かまだ分からない。
12名無しさん@お腹いっぱい。
NGNG Vine-2.1 LinuxPPCでコンパイルしました。
コンパイルはうまくいったと思います。実行ファイルは出来てるので(何せ初心
者なもので良く分からない)。
でも
./grapadをすると
zsh: segmentation fault ./grapad
でうまく行きません。grapadを実行後lsコマンドを実行すると表示が滅茶苦茶に
なります。
kterm、xterm、gnome-terminalで駄目でした。
うーん。何がいけないんだろう。
『初心者にはお勧めできない』
ですかね・・・シュン・・・
コンパイルはうまくいったと思います。実行ファイルは出来てるので(何せ初心
者なもので良く分からない)。
でも
./grapadをすると
zsh: segmentation fault ./grapad
でうまく行きません。grapadを実行後lsコマンドを実行すると表示が滅茶苦茶に
なります。
kterm、xterm、gnome-terminalで駄目でした。
うーん。何がいけないんだろう。
『初心者にはお勧めできない』
ですかね・・・シュン・・・
131
NGNG segmentation faultはこちらのバグです。
メモリの変な領域にアクセスすると出るようです。
本当は僕も含めて、初心者が使いやすいように作ったんですがね…
メモリの変な領域にアクセスすると出るようです。
本当は僕も含めて、初心者が使いやすいように作ったんですがね…
141
NGNG あと、メニューのageとかsageとかは気にしないで下さいw
ショートカットキーの表示をしてあるのですが、まだその機能が無いので
適当に書いてあるだけです。
ショートカットキーの表示をしてあるのですが、まだその機能が無いので
適当に書いてあるだけです。
15奈々さん
NGNG 記念きねん
がんばってvi,emacs越えてな。
がんばってvi,emacs越えてな。
16名無しさん@お腹いっぱい。
NGNG ktermの問題は
termcap (この場合は terminfoか) が知っているファンクションキーの
シーケンスと実際のシーケンスが違うせいだと思う。
cat とかやって、ファンクションキーを押して生のシーケンス見てみ。
infocmp kterm とやって出てくる値と違うだろ。
解決方法はしらないけど、
terminfo を書き換えるってのが妥当じゃないかね。
それと、ktermではXresourcesにこれを追加しとけ:
KTerm*VT100*EightBitInput: false
これで Alt+ほげ が ESC + ほげ のシーケンスで送られるようになる。
termcap (この場合は terminfoか) が知っているファンクションキーの
シーケンスと実際のシーケンスが違うせいだと思う。
cat とかやって、ファンクションキーを押して生のシーケンス見てみ。
infocmp kterm とやって出てくる値と違うだろ。
解決方法はしらないけど、
terminfo を書き換えるってのが妥当じゃないかね。
それと、ktermではXresourcesにこれを追加しとけ:
KTerm*VT100*EightBitInput: false
これで Alt+ほげ が ESC + ほげ のシーケンスで送られるようになる。
1712
NGNG18名無しさん@お腹いっぱい。
NGNG Debain GNU/Linux 3.0 でコンパイルできました。
Eterm + screen 上での動作も確認しました。
ただ、いったん F2 でメニューを開いたときに、抜けよ
うとしてやみくもに ESC を押したら segmentation fault
でオチてしまいました。
原因は editor.cpp:277 の
else if (n->next->c[0]==EOF)
の部分で n->next == NULL であるためのようです。
ちょっと時間がないので前後を読んでいる暇がありません。
すいません。
あとこれはお願いなのですが、makefile 内で gcc とハード
コーディングするのではなく、
CXX=gcc
としておき、
$(CXX)
で参照するようにしていただけるとうれしいです。
Eterm + screen 上での動作も確認しました。
ただ、いったん F2 でメニューを開いたときに、抜けよ
うとしてやみくもに ESC を押したら segmentation fault
でオチてしまいました。
原因は editor.cpp:277 の
else if (n->next->c[0]==EOF)
の部分で n->next == NULL であるためのようです。
ちょっと時間がないので前後を読んでいる暇がありません。
すいません。
あとこれはお願いなのですが、makefile 内で gcc とハード
コーディングするのではなく、
CXX=gcc
としておき、
$(CXX)
で参照するようにしていただけるとうれしいです。
19名有りさん@お腹へった ◆fSunOs.U
NGNG Solaris8 IA+gcc3.0でやってみた まずmakefileの"gcc"となってる
ところは"g++"にしとかないとリンクで失敗するので(゚д゚)マズー
で 起動すると いきなりSIGSEGV......バックトレースは
#0 0xdfa9999e in wmove () from /usr/lib/libcurses.so.1
#1 0x804a37f in _ZN7CEditor7RepaintEv (this=0x8047990) at editor.cpp:336
#2 0x8049952 in _ZN7CEditor5StartEv (this=0x8047990) at editor.cpp:132
#3 0x8049177 in main (argc=1, argv=0x8047b5c) at grapad.cpp:50
そこでとりあえず
----------------------------------------------------------------------
--- editor.cpp~ Fri Dec 14 01:11:09 2001
+++ editor.cpp Fri Dec 14 03:52:14 2001
@@ -333,11 +333,13 @@
}
//デバッグ用
+ if (sttwnd) {
wmove(sttwnd,0,0);
wattron(sttwnd,COLOR_PAIR(COLOR_MENU));
wprintw(sttwnd,"X%d Y%d MX%d Key%X Scrl%d current:%c(%X)", curx, cury ,curmx,
imkey,scroll, buf.GetCurrent()->c[0], (unsigned char)buf.GetCurrent()->c[0] );
wrefresh(sttwnd);
+ }
//画面更新
if(showliner)liner.Repaint(scroll);
----------------------------------------------------------------------
ってな感じでやり直したら 最初の表示は出てきたけど 文字入力してない状態で
下向きカーソルキーを押したらまたSIGSEGV......(>>18と同じところか)
#0 0x804a0f2 in _ZN7CEditor7RepaintEv (this=0x8047990) at editor.cpp:277
277 else if( n->next->c[0]==EOF ){
#1 0x8049ce7 in _ZN7CEditor5StartEv (this=0x8047990) at editor.cpp:209
#2 0x8049177 in main (argc=1, argv=0x8047b5c) at grapad.cpp:50
一応文字入力等はできて "./grapad readme.txt"とやるとreadme.txtを
オープンできるけど スクロールさせると日本語が文字化けする
......とりあえず頑張って......
ところは"g++"にしとかないとリンクで失敗するので(゚д゚)マズー
で 起動すると いきなりSIGSEGV......バックトレースは
#0 0xdfa9999e in wmove () from /usr/lib/libcurses.so.1
#1 0x804a37f in _ZN7CEditor7RepaintEv (this=0x8047990) at editor.cpp:336
#2 0x8049952 in _ZN7CEditor5StartEv (this=0x8047990) at editor.cpp:132
#3 0x8049177 in main (argc=1, argv=0x8047b5c) at grapad.cpp:50
そこでとりあえず
----------------------------------------------------------------------
--- editor.cpp~ Fri Dec 14 01:11:09 2001
+++ editor.cpp Fri Dec 14 03:52:14 2001
@@ -333,11 +333,13 @@
}
//デバッグ用
+ if (sttwnd) {
wmove(sttwnd,0,0);
wattron(sttwnd,COLOR_PAIR(COLOR_MENU));
wprintw(sttwnd,"X%d Y%d MX%d Key%X Scrl%d current:%c(%X)", curx, cury ,curmx,
imkey,scroll, buf.GetCurrent()->c[0], (unsigned char)buf.GetCurrent()->c[0] );
wrefresh(sttwnd);
+ }
//画面更新
if(showliner)liner.Repaint(scroll);
----------------------------------------------------------------------
ってな感じでやり直したら 最初の表示は出てきたけど 文字入力してない状態で
下向きカーソルキーを押したらまたSIGSEGV......(>>18と同じところか)
#0 0x804a0f2 in _ZN7CEditor7RepaintEv (this=0x8047990) at editor.cpp:277
277 else if( n->next->c[0]==EOF ){
#1 0x8049ce7 in _ZN7CEditor5StartEv (this=0x8047990) at editor.cpp:209
#2 0x8049177 in main (argc=1, argv=0x8047b5c) at grapad.cpp:50
一応文字入力等はできて "./grapad readme.txt"とやるとreadme.txtを
オープンできるけど スクロールさせると日本語が文字化けする
......とりあえず頑張って......
NGNG
>>16
Alt+ほげ って本当は [0x80-0x9F] (C1 control code) で、
8bit 通らない場合は [ESC] [0x00-0x20] だったような。
最近は違うのかな。
まぁ多くの実装は ESC XX なんだけど。
Alt+ほげ って本当は [0x80-0x9F] (C1 control code) で、
8bit 通らない場合は [ESC] [0x00-0x20] だったような。
最近は違うのかな。
まぁ多くの実装は ESC XX なんだけど。
21名無しさん@お腹いっぱい。
NGNG ttp://www.factory.gr.jp/~ishigaki/old_diary/199905.html
を参考に以下のように書き換えて
FreeBSD 4.4 + Tera Term Pro で (゚д゚)ウマー
# op が2つ以上あるとか変なのはURLのページにあったままです
# AX,GO って何の capability でせうか?
teraterm|TeraTerm|TeraTermPro console:\
:pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:op=\E[x:\
:AF=\E[3%dm:AB=\E[4%dm:op=\E[m:\
:AX:G0:\
:eA=\E(B\E)0:as=^N:ae=^O:\
:kb=^H:kN=\E[6~:kP=\E[3~:kh=\E[[2~:@7=\E[[5~:\
:tc=vt200:
確認ですが、>>1 は home(kh), end(@7) はサポートしてないですよね?
を参考に以下のように書き換えて
FreeBSD 4.4 + Tera Term Pro で (゚д゚)ウマー
# op が2つ以上あるとか変なのはURLのページにあったままです
# AX,GO って何の capability でせうか?
teraterm|TeraTerm|TeraTermPro console:\
:pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:op=\E[x:\
:AF=\E[3%dm:AB=\E[4%dm:op=\E[m:\
:AX:G0:\
:eA=\E(B\E)0:as=^N:ae=^O:\
:kb=^H:kN=\E[6~:kP=\E[3~:kh=\E[[2~:@7=\E[[5~:\
:tc=vt200:
確認ですが、>>1 は home(kh), end(@7) はサポートしてないですよね?
2221
NGNG 本題と外れるんで sage ですが……
FreeBSD っていつになったらまともな termcap になるんだろ。
NetBSD とかが使ってる http://www.tuxedo.org/~esr/terminfo/
あたりの使えばすむと思うんだけどなぁ… esr 嫌いなのかな?(w
FreeBSD っていつになったらまともな termcap になるんだろ。
NetBSD とかが使ってる http://www.tuxedo.org/~esr/terminfo/
あたりの使えばすむと思うんだけどなぁ… esr 嫌いなのかな?(w
NGNG
FreeBSDのeeみたいな感じだね〜
NGNG
「秀丸 for Unix ほしい」って声がけっこうあるから、
そういうの目指したら?
そういうの目指したら?
NGNG
26おはよごす
NGNG テスト環境 : TeraTermからVine1.1へログインして使用
Makefile
(1)g++に変更しないとコンパイルできなかったよ
(2)common.oのルールがないよ
grapad
(1)F2が効かないので保存できない...
(2)メニューを英語にしてくれたらうれしい(普段SJIS環境にしてるもんで)
Makefile
(1)g++に変更しないとコンパイルできなかったよ
(2)common.oのルールがないよ
grapad
(1)F2が効かないので保存できない...
(2)メニューを英語にしてくれたらうれしい(普段SJIS環境にしてるもんで)
NGNG
>>20
> Alt+ほげ って本当は [0x80-0x9F] (C1 control code) で、
> 8bit 通らない場合は [ESC] [0x00-0x20] だったような。
Control+ とごっちゃになってますな。
本来は Alt+ほげ は 7bit char の 8bit 目を立てたコードを生成し、
Control+ほげ は -0x20 したコードを生成します。
端末環境によっては 8bit 目が通らないケースが多いので、
そういう場合はエスケープしたシーケンス(ESC が使われることが多い)を
生成しますが、実装依存ですし、端末の設定で変更す可能なことも多いです。
X 上のアプリケーションではそういう制約はないのですが、
端末エミュレータなどは得られたキーコードを文字コードもしくは
文字シーケンスにマッピングするのでその過程で同様の縛りが発生します。
例えば以下のように入力が流れる時、各過程で変換が発生します。
この変換は特殊な文字をエスケープするような変換ではなくて、
全ての文字を別の写像にマッピングするような変換だと思っておいた方が
いいでしょう。
キーボード→X→端末エミュレータ→curses→エディタ
ちなみにファンクションキーを適当な文字シーケンスとして表現するのは
端末エミュレータの担当。その文字シーケンスを解釈するのは curses の担当に
なります。
> Alt+ほげ って本当は [0x80-0x9F] (C1 control code) で、
> 8bit 通らない場合は [ESC] [0x00-0x20] だったような。
Control+ とごっちゃになってますな。
本来は Alt+ほげ は 7bit char の 8bit 目を立てたコードを生成し、
Control+ほげ は -0x20 したコードを生成します。
端末環境によっては 8bit 目が通らないケースが多いので、
そういう場合はエスケープしたシーケンス(ESC が使われることが多い)を
生成しますが、実装依存ですし、端末の設定で変更す可能なことも多いです。
X 上のアプリケーションではそういう制約はないのですが、
端末エミュレータなどは得られたキーコードを文字コードもしくは
文字シーケンスにマッピングするのでその過程で同様の縛りが発生します。
例えば以下のように入力が流れる時、各過程で変換が発生します。
この変換は特殊な文字をエスケープするような変換ではなくて、
全ての文字を別の写像にマッピングするような変換だと思っておいた方が
いいでしょう。
キーボード→X→端末エミュレータ→curses→エディタ
ちなみにファンクションキーを適当な文字シーケンスとして表現するのは
端末エミュレータの担当。その文字シーケンスを解釈するのは curses の担当に
なります。
28名無しさん
NGNG 手軽にthread処理の出来るマクロ言語を搭載してクレー。
しかし、これから エディタに言語載せるとしたら、なにのせる?
guile あたり使っとく?
しかし、これから エディタに言語載せるとしたら、なにのせる?
guile あたり使っとく?
29名無しさん@お腹いっぱい。
NGNG Solaris7 SPARC + gcc + kterm でコンパイルしてみたんですが、
まず makefile がちとまずいような気がする。
begin 644 makefile
M4DT@("`@(#T@<FT@+68*14-(3R`@(#T@96-H;PI#0R`@("`@/2!G8V,*0T9,
M04=3(#T@+4\*3$9,04=3(#T@+6QN8W5R<V5S"@IA;&PZ(&=R87!A9`IG<F%P
M860@.B!C:&%I;BYO(')E<VES=&]R>2YO(&UE;G4N;R!E9&ET;W(N;R!G<F%P
M860N;R`*"20H0T,I("0H3$9,04=3*2`M;R!G<F%P860@7`H)8VAA:6XN;R!R
M97-I<W1O<GDN;R!M96YU+F\@961I=&]R+F\@9W)A<&%D+F\*8VQE86XZ(`H)
M0"0H4DTI(&-H86EN+F\@<F5S:7-T;W)Y+F\@;65N=2YO(&5D:71O<BYO(&=R
M87!A9"YO(&=R87!A9"`J?@H*+F-P<"YO.@H)0"0H4DTI("1`"@DD*$-#*2`D
M*$-&3$%'4RD@+6,@)"HN8W!P"@IC:&%I;BYO.B!C:&%I;BYC<'`@8VAA:6XN
M:`IR97-I<W1O<GDN;SH@<F5S:7-T;W)Y+F-P<"!R97-I<W1O<GDN:`IM96YU
M+F\Z(&UE;G4N8W!P(&UE;G4N:`IE9&ET;W(N;SH@961I=&]R+F-P<"!E9&ET
9;W(N:`IG<F%P860N;SH@9W)A<&%D+F-P<```
`
end
こんなのはどう?
まず makefile がちとまずいような気がする。
begin 644 makefile
M4DT@("`@(#T@<FT@+68*14-(3R`@(#T@96-H;PI#0R`@("`@/2!G8V,*0T9,
M04=3(#T@+4\*3$9,04=3(#T@+6QN8W5R<V5S"@IA;&PZ(&=R87!A9`IG<F%P
M860@.B!C:&%I;BYO(')E<VES=&]R>2YO(&UE;G4N;R!E9&ET;W(N;R!G<F%P
M860N;R`*"20H0T,I("0H3$9,04=3*2`M;R!G<F%P860@7`H)8VAA:6XN;R!R
M97-I<W1O<GDN;R!M96YU+F\@961I=&]R+F\@9W)A<&%D+F\*8VQE86XZ(`H)
M0"0H4DTI(&-H86EN+F\@<F5S:7-T;W)Y+F\@;65N=2YO(&5D:71O<BYO(&=R
M87!A9"YO(&=R87!A9"`J?@H*+F-P<"YO.@H)0"0H4DTI("1`"@DD*$-#*2`D
M*$-&3$%'4RD@+6,@)"HN8W!P"@IC:&%I;BYO.B!C:&%I;BYC<'`@8VAA:6XN
M:`IR97-I<W1O<GDN;SH@<F5S:7-T;W)Y+F-P<"!R97-I<W1O<GDN:`IM96YU
M+F\Z(&UE;G4N8W!P(&UE;G4N:`IE9&ET;W(N;SH@961I=&]R+F-P<"!E9&ET
9;W(N:`IG<F%P860N;SH@9W)A<&%D+F-P<```
`
end
こんなのはどう?
30名無しさん@お腹いっぱい。
NGNG311
NGNG こんにちは。なんかいっぱいレスがついていてうれしいです。
makefileについていろいろ書いてもらっていますが、
まだmakeの使い方がよく分かっていないので、勉強したいと思います。
今までずっとVisualC++を使ってきたのですが、違いに結構戸惑っています。
makefileについていろいろ書いてもらっていますが、
まだmakeの使い方がよく分かっていないので、勉強したいと思います。
今までずっとVisualC++を使ってきたのですが、違いに結構戸惑っています。
32名有りさん@お腹へった ◆fSunOs.U
NGNG >>29 変数定義にちょっと違和感がないでもないので......
begin 600 makefile.patch
M+2TM(&UA:V5F:6QE?@E&<FD@1&5C(#$T(#$R.C0Y.C,P(#(P,#$**RLK(&UA
M:V5F:6QE"49R:2!$96,@,30@,3(Z-3$Z,3,@,C P,0I 0" M,2PQ.2 K,2PR
M,"! 0 H@4DT@(" @(#T@<FT@+68*($5#2$\@(" ](&5C:&\*($-#(" @(" ]
M(&=C8PHM0T9,04=3(#T@+4\*+4Q&3$%'4R ]("UL;F-U<G-E<PHK0UA8(" @
M(#T@9RLK"BM#6%A&3$%'4R ]("U/"BM,1$9,04=3(#T@+6QC=7)S97,*( H@
M86QL.B!G<F%P860*(&=R87!A9" Z(&-H86EN+F\@<F5S:7-T;W)Y+F\@;65N
M=2YO(&5D:71O<BYO(&=R87!A9"YO( HM"20H0T,I("0H3$9,04=3*2 M;R!G
M<F%P860@7 HK"20H0T,I("0H3$1&3$%'4RD@+6\@9W)A<&%D(%P*( EC:&%I
M;BYO(')E<VES=&]R>2YO(&UE;G4N;R!E9&ET;W(N;R!G<F%P860N;PH@8VQE
M86XZ( H@"4 D*%)-*2!C:&%I;BYO(')E<VES=&]R>2YO(&UE;G4N;R!E9&ET
M;W(N;R!G<F%P860N;R!G<F%P860@*GX*( H@+F-P<"YO.@H@"4 D*%)-*2 D
M0 HM"20H0T,I("0H0T9,04=3*2 M8R D*BYC<' **PDD*$-86"D@)"A#6%A&
M3$%'4RD@+6,@)"HN8W!P"B *(&-H86EN+F\Z(&-H86EN+F-P<"!C:&%I;BYH
I"B!R97-I<W1O<GDN;SH@<F5S:7-T;W)Y+F-P<"!R97-I<W1O<GDN: II
end
begin 600 makefile.patch
M+2TM(&UA:V5F:6QE?@E&<FD@1&5C(#$T(#$R.C0Y.C,P(#(P,#$**RLK(&UA
M:V5F:6QE"49R:2!$96,@,30@,3(Z-3$Z,3,@,C P,0I 0" M,2PQ.2 K,2PR
M,"! 0 H@4DT@(" @(#T@<FT@+68*($5#2$\@(" ](&5C:&\*($-#(" @(" ]
M(&=C8PHM0T9,04=3(#T@+4\*+4Q&3$%'4R ]("UL;F-U<G-E<PHK0UA8(" @
M(#T@9RLK"BM#6%A&3$%'4R ]("U/"BM,1$9,04=3(#T@+6QC=7)S97,*( H@
M86QL.B!G<F%P860*(&=R87!A9" Z(&-H86EN+F\@<F5S:7-T;W)Y+F\@;65N
M=2YO(&5D:71O<BYO(&=R87!A9"YO( HM"20H0T,I("0H3$9,04=3*2 M;R!G
M<F%P860@7 HK"20H0T,I("0H3$1&3$%'4RD@+6\@9W)A<&%D(%P*( EC:&%I
M;BYO(')E<VES=&]R>2YO(&UE;G4N;R!E9&ET;W(N;R!G<F%P860N;PH@8VQE
M86XZ( H@"4 D*%)-*2!C:&%I;BYO(')E<VES=&]R>2YO(&UE;G4N;R!E9&ET
M;W(N;R!G<F%P860N;R!G<F%P860@*GX*( H@+F-P<"YO.@H@"4 D*%)-*2 D
M0 HM"20H0T,I("0H0T9,04=3*2 M8R D*BYC<' **PDD*$-86"D@)"A#6%A&
M3$%'4RD@+6,@)"HN8W!P"B *(&-H86EN+F\Z(&-H86EN+F-P<"!C:&%I;BYH
I"B!R97-I<W1O<GDN;SH@<F5S:7-T;W)Y+F-P<"!R97-I<W1O<GDN: II
end
NGNG
むしろ automake/autoconf を使い方を覚えた方がいいかも?
あ、でも素の makefile 書式も知らないとダメか...
あ、でも素の makefile 書式も知らないとダメか...
34名無しさん@お腹いっぱい。
NGNG 起動してすぐ下にカーソル移動しようとするとセグブります。
3534
NGNG Makefile は本読まないと無理だよ。本屋へ GO!
NGNG
いまさら、emacs, vim を超えることなど不可能
38名無しさん@お腹いっぱい。
NGNGNGNG
道のりは遠そうだけど育っていくのを見てるのは楽しいかも。
でもできるだけ早く最低限の機能を付けてウプするべし。
でもできるだけ早く最低限の機能を付けてウプするべし。
NGNG
NGNG
最近か?
10年前かた見るけど
10年前かた見るけど
NGNG
cygwinで動いたYO.
43名無しさん@お腹いっぱい。
NGNG >>40
最近かよ... 君なんで UNIX 板にいるの? (T-T
最近かよ... 君なんで UNIX 板にいるの? (T-T
NGNG
>>40
uudecode で復元できる。
uudecode で復元できる。
45あぼーん
NGNGあぼーん
461
NGNG 別にemacsやviを越えようなんて思ってませんよ。
元々「勉強しなくても誰でもすぐ使える」事を目的につくっていますので
余分な機能とかは今のところつけないつもりですし。
今日は1時間ほどやって、検索機能を付けました。
BM法もKMP法も使わない単純比較ですが、もう最近のCPUだと一瞬なんですね。
元々「勉強しなくても誰でもすぐ使える」事を目的につくっていますので
余分な機能とかは今のところつけないつもりですし。
今日は1時間ほどやって、検索機能を付けました。
BM法もKMP法も使わない単純比較ですが、もう最近のCPUだと一瞬なんですね。
NGNG
>>40
ish のほうがいい?
ish のほうがいい?
NGNG
491
NGNG GRAPADが完全に動作するのは次の3つを満たす環境です。
・カラーが使える
・ファンクションキーが使える
・日本語が使える
TeraTermの場合白黒端末なので動きません。
無理矢理うごかしてもファンクションキーを受け付けないのでメニューの操作ができません。
キーの入力については今後いろいろ調べてみたいと思うのですが、
とりあえず今は機種依存の解決よりエディタの機能の方を優先して作っています。
・カラーが使える
・ファンクションキーが使える
・日本語が使える
TeraTermの場合白黒端末なので動きません。
無理矢理うごかしてもファンクションキーを受け付けないのでメニューの操作ができません。
キーの入力については今後いろいろ調べてみたいと思うのですが、
とりあえず今は機種依存の解決よりエディタの機能の方を優先して作っています。
511
NGNG 機種依存というよりOS依存ですね…
NGNG
less + vi + migemo みたいなの希望。
コンソールでサクサク動くやつがいいな。
# まぁ less して v すりゃ vi 立ち上がるし、
# そういうアプローチが UNIX なんだろうけどさ。
コンソールでサクサク動くやつがいいな。
# まぁ less して v すりゃ vi 立ち上がるし、
# そういうアプローチが UNIX なんだろうけどさ。
53名無しさん
NGNGNGNG
NGNG
私も c++ で簡単なフリーソフトウェア書き中なのでちょっと見て、
あまりに気持ち悪いので適当に書きかえてた > Makefie
begin 644 Makefile
M(R!M86ME9W)A<&%D(&9O<B!G<F%P860*"B,@QOS+W+CLI,ZELZ7AI?.ER*3/
MQLFD\Z3`I.G!M,GTOL.DMZ3&I,TN"B,@**2]I*:DN:3KI,NDS\[CI*BDT+RA
MI/*\PKG4.@HC(&-P($UA:V5F:6QE($UA:V5F:6QE+F]R9R`F)B!S960@+64@
M)R]>(R]D)R!-86ME9FEL92YO<F<@/B!-86ME9FEL90HC("D*"@HC(*3HI*^[
MR*2FI.*DSJ3/I=ZEKZ7MQ.JUP2X@ON_%Y;SJP\HN(*2_I,"DM[#*LKRDS\6L
MQ?:DRJ3.I,>DHJ3>I.H*(R"_KLW1I+>DRJ2DI.BDIJ3++@IB:6Y?4%)/1U)!
M35,@/2!G<F%P860*"D1%1E,@/0I)3D-,541%4R`]"D-04$9,04=3(#T*(R!C
M*RL@I,ZEO:&\I;FDRJ3.I,<@9RLK(+O(I*8N(&=C8R"DQZ3BLO*\X:2WI,:D
MKZ3LI.NDPZ3=I*2DL:3LI,G)X<3,I,\@3D<*0UA8(#T@9RLK"B,@I.BDK[BK
MI.NEJJ77I;>EYZ7S+B#&PZ3+("U786QL(*3/I,2DL:2_ROVDK*2DI*2D\Z3'
MI,\_"D-86$9,04=3(#T@+5=A;&P@+6<@+4\R"DQ$1DQ!1U,@/2`M;&-U<G-E
M<PI,24)3(#T*"D-/35!)3$4@/2`D*$-86"D@)"A$1493*2`D*$E.0TQ51$53
M*2`D*$-04$9,04=3*2`D*$-&3$%'4RD*0UA83$0@/2`D*$-86"D*3$E.2R`]
M("0H0UA83$0I("0H0T9,04=3*2`D*$Q$1DQ!1U,I("UO("1`"@IG<F%P861?
M1$5014Y$14Y#2453(#T*9W)A<&%D7T]"2D5#5%,@/2`@961I=&]R+F\@8VAA
M:6XN;R!M96YU+F\@<F5S:7-T;W)Y+F\@8V]M;6]N+F\@9W)A<&%D+F\*9W)A
M<&%D7TQ$041$(#T@)"A,1$%$1"D*9W)A<&%D7TQ$1DQ!1U,@/0H*"B,@I+.D
MLZ2KI.FSQJ73I>NER;SJO>?)],JLI,NDQ*2DI,8*"F%L;#H@8G5I;&0*8G5I
M;&0Z(&=R87!A9`H*+F,N;SH*"20H0T]-4$E,12D@+6,@)#P*"B,@I+.DSLGT
MRJRPS<*XM-BWN*3.L-6_WJ2LI.BDKZ3OI*NDZ:2Z+B"BK*3.I,>DI*2DI/.D
MQZ3//PHC961I=&]R7V]?3T)*14-44R`](&-H86EN+F\@;65N=2YO(')E<VES
M=&]R>2YO"B-E9&ET;W)?;U](14%$15)3(#T@;65N=2YH(&QI;F5R+F@@9&EA
M;&]G+F@@<F5S:7-T;W)Y+F@*(PHC961I=&]R+F\@.B!E9&ET;W(N8W!P(&5D
M:71O<BYH("0H961I=&]R7V]?3T)*14-44RD@)"AE9&ET;W)?;U](14%$15)3
M*0HC"20H0T]-4$E,12D@+6,@)#P*"F=R87!A9"YO.B!G<F%P860N8W!P"@DD
M*$-/35!)3$4I("UC("0\"@IG<F%P860Z("0H9W)A<&%D7T]"2D5#5%,I("0H
M9W)A<&%D7T1%4$5.1$5.0TE%4RD*"4!R;2`M9B`D0`H))"A,24Y+*2`D*&=R
M87!A9%],1$9,04=3*2`D*&=R87!A9%]/0DI%0U13*2`D*&=R87!A9%],1$%$
M1"D@)"A,24)3*0H*"F-L96%N.B!M;W-T;'EC;&5A;BUC;VUP:6QE(&-L96%N
M+6)I;E!23T=204U3"FUO<W1L>6-L96%N+6-O;7!I;&4Z"@DM<FT@+68@*BYO
M(&-O<F4@*BYC;W)E"@IC;&5A;BUB:6Y04D]'4D%-4SH*"2UT97-T("UZ("(D
M*&)I;E]04D]'4D%-4RDB('Q\(')M("UF("0H8FEN7U!23T=204U3*0H*+E!(
M3TY9.B!A;&P@8G5I;&0@8VQE86X@;6]S=&QY8VQE86XM8V]M<&EL92!C;&5A
.;BUB:6Y04D]'4D%-4PH`
`
end
それと CEditor class などで constructor や destructor が未定義なのは
なぜ? CEditor::Init() なんて使わず、素直に constructor 定義して使った
方が楽なのではないかと思うが
あまりに気持ち悪いので適当に書きかえてた > Makefie
begin 644 Makefile
M(R!M86ME9W)A<&%D(&9O<B!G<F%P860*"B,@QOS+W+CLI,ZELZ7AI?.ER*3/
MQLFD\Z3`I.G!M,GTOL.DMZ3&I,TN"B,@**2]I*:DN:3KI,NDS\[CI*BDT+RA
MI/*\PKG4.@HC(&-P($UA:V5F:6QE($UA:V5F:6QE+F]R9R`F)B!S960@+64@
M)R]>(R]D)R!-86ME9FEL92YO<F<@/B!-86ME9FEL90HC("D*"@HC(*3HI*^[
MR*2FI.*DSJ3/I=ZEKZ7MQ.JUP2X@ON_%Y;SJP\HN(*2_I,"DM[#*LKRDS\6L
MQ?:DRJ3.I,>DHJ3>I.H*(R"_KLW1I+>DRJ2DI.BDIJ3++@IB:6Y?4%)/1U)!
M35,@/2!G<F%P860*"D1%1E,@/0I)3D-,541%4R`]"D-04$9,04=3(#T*(R!C
M*RL@I,ZEO:&\I;FDRJ3.I,<@9RLK(+O(I*8N(&=C8R"DQZ3BLO*\X:2WI,:D
MKZ3LI.NDPZ3=I*2DL:3LI,G)X<3,I,\@3D<*0UA8(#T@9RLK"B,@I.BDK[BK
MI.NEJJ77I;>EYZ7S+B#&PZ3+("U786QL(*3/I,2DL:2_ROVDK*2DI*2D\Z3'
MI,\_"D-86$9,04=3(#T@+5=A;&P@+6<@+4\R"DQ$1DQ!1U,@/2`M;&-U<G-E
M<PI,24)3(#T*"D-/35!)3$4@/2`D*$-86"D@)"A$1493*2`D*$E.0TQ51$53
M*2`D*$-04$9,04=3*2`D*$-&3$%'4RD*0UA83$0@/2`D*$-86"D*3$E.2R`]
M("0H0UA83$0I("0H0T9,04=3*2`D*$Q$1DQ!1U,I("UO("1`"@IG<F%P861?
M1$5014Y$14Y#2453(#T*9W)A<&%D7T]"2D5#5%,@/2`@961I=&]R+F\@8VAA
M:6XN;R!M96YU+F\@<F5S:7-T;W)Y+F\@8V]M;6]N+F\@9W)A<&%D+F\*9W)A
M<&%D7TQ$041$(#T@)"A,1$%$1"D*9W)A<&%D7TQ$1DQ!1U,@/0H*"B,@I+.D
MLZ2KI.FSQJ73I>NER;SJO>?)],JLI,NDQ*2DI,8*"F%L;#H@8G5I;&0*8G5I
M;&0Z(&=R87!A9`H*+F,N;SH*"20H0T]-4$E,12D@+6,@)#P*"B,@I+.DSLGT
MRJRPS<*XM-BWN*3.L-6_WJ2LI.BDKZ3OI*NDZ:2Z+B"BK*3.I,>DI*2DI/.D
MQZ3//PHC961I=&]R7V]?3T)*14-44R`](&-H86EN+F\@;65N=2YO(')E<VES
M=&]R>2YO"B-E9&ET;W)?;U](14%$15)3(#T@;65N=2YH(&QI;F5R+F@@9&EA
M;&]G+F@@<F5S:7-T;W)Y+F@*(PHC961I=&]R+F\@.B!E9&ET;W(N8W!P(&5D
M:71O<BYH("0H961I=&]R7V]?3T)*14-44RD@)"AE9&ET;W)?;U](14%$15)3
M*0HC"20H0T]-4$E,12D@+6,@)#P*"F=R87!A9"YO.B!G<F%P860N8W!P"@DD
M*$-/35!)3$4I("UC("0\"@IG<F%P860Z("0H9W)A<&%D7T]"2D5#5%,I("0H
M9W)A<&%D7T1%4$5.1$5.0TE%4RD*"4!R;2`M9B`D0`H))"A,24Y+*2`D*&=R
M87!A9%],1$9,04=3*2`D*&=R87!A9%]/0DI%0U13*2`D*&=R87!A9%],1$%$
M1"D@)"A,24)3*0H*"F-L96%N.B!M;W-T;'EC;&5A;BUC;VUP:6QE(&-L96%N
M+6)I;E!23T=204U3"FUO<W1L>6-L96%N+6-O;7!I;&4Z"@DM<FT@+68@*BYO
M(&-O<F4@*BYC;W)E"@IC;&5A;BUB:6Y04D]'4D%-4SH*"2UT97-T("UZ("(D
M*&)I;E]04D]'4D%-4RDB('Q\(')M("UF("0H8FEN7U!23T=204U3*0H*+E!(
M3TY9.B!A;&P@8G5I;&0@8VQE86X@;6]S=&QY8VQE86XM8V]M<&EL92!C;&5A
.;BUB:6Y04D]'4D%-4PH`
`
end
それと CEditor class などで constructor や destructor が未定義なのは
なぜ? CEditor::Init() なんて使わず、素直に constructor 定義して使った
方が楽なのではないかと思うが
56名無しさん@お腹いっぱい。
NGNGNGNG
NGNG
わ!これすごいねっ!
氏んで!!
氏んで!!
NGNG
neがライバルとなりそうな・・・
NGNG
ne ってまだメンテされてるの?
NGNG
Debian Gnu/Linuxです.
起動はしたもののCtrl-cでしか終了できない.
HHKだからFunctionキーが使えないのか?
xevではちゃんと認識してるんだけど..
キーコードが違うのかな?
期待age.
起動はしたもののCtrl-cでしか終了できない.
HHKだからFunctionキーが使えないのか?
xevではちゃんと認識してるんだけど..
キーコードが違うのかな?
期待age.
621
NGNG コンストラクタで初期化していないのは、Windowsの頃の癖です。
MFCもそうですし、DirectXなどもそうです。
でも明らかに独立していそうなクラスはコンストラクタで初期化しています。
メニューが開けないという人が多いようですが、
キー処理をもっとちゃんとやれば対応できると思います。
特殊なキーを押すと、^[[@とかいうコントロールコードのようなものが
入力されてくるみたいですが、これを一つずつひろっていけばできそうです。
こういった連続したコントロールコードを一つの文字として解釈するモードが
cursesライブラリに用意されていて、今はそれを使っているのですが、
どうやらあまり信用できないみたいですね。
インクリメンタルサーチやmigemoは、導入するとしても相当あとになると思います。
MFCもそうですし、DirectXなどもそうです。
でも明らかに独立していそうなクラスはコンストラクタで初期化しています。
メニューが開けないという人が多いようですが、
キー処理をもっとちゃんとやれば対応できると思います。
特殊なキーを押すと、^[[@とかいうコントロールコードのようなものが
入力されてくるみたいですが、これを一つずつひろっていけばできそうです。
こういった連続したコントロールコードを一つの文字として解釈するモードが
cursesライブラリに用意されていて、今はそれを使っているのですが、
どうやらあまり信用できないみたいですね。
インクリメンタルサーチやmigemoは、導入するとしても相当あとになると思います。
63名無しさん
NGNG 漏れもエディタ作ったYO!
editor.c
>#include "/dev/tty"
ネタにつきsage
がんばれよー。
editor.c
>#include "/dev/tty"
ネタにつきsage
がんばれよー。
64名無しさん@お腹いっぱい。
NGNG 応援上げ!
NGNG
エディタマクロとして perl が使えれば海外でも流行るんじゃないかと思うんだ
けど・・・そーゆーエディタってあんの?
# 国内的には ruby なのかもしれんけど
けど・・・そーゆーエディタってあんの?
# 国内的には ruby なのかもしれんけど
NGNG
>>65
あいだをとってPythonというのは?
あいだをとってPythonというのは?
67名無しさん@お腹いっぱい。
NGNG >>65-66
vimだとperl/ruby/python/tclが使えちゃうんだよねぇ
vimだとperl/ruby/python/tclが使えちゃうんだよねぇ
NGNG
ここはマニアックにHaskell/Prolog/Smalltalkとか。
関係ないけど、emacsのようなソフトってLispよりもSmalltalkの方が似合うと思うんですけど、どうなんでしょう?
関係ないけど、emacsのようなソフトってLispよりもSmalltalkの方が似合うと思うんですけど、どうなんでしょう?
69名無しさん
NGNG あー、Smalltalk 使えたらかなーりいいかも。
というか、欲しくなっちゃったじゃないか...
まあ、半歩譲って CLOS あたりでもいいや。
というか、欲しくなっちゃったじゃないか...
まあ、半歩譲って CLOS あたりでもいいや。
7068
NGNG > LispよりもSmalltalk
これは言語のことだけじゃなくて、ソフト全体のことです。
「とりあえずSmalltalkでマクロが組めるようにしてみた」とか、
「xyzzy用にCLOSを作った」とか、そういうことじゃなくて。
これは言語のことだけじゃなくて、ソフト全体のことです。
「とりあえずSmalltalkでマクロが組めるようにしてみた」とか、
「xyzzy用にCLOSを作った」とか、そういうことじゃなくて。
NGNG
じゃあSqueakでエディタ造ったらえーやんけ。
仮想マシンだぞ。カスタマイズし放題。
という話に・・・
仮想マシンだぞ。カスタマイズし放題。
という話に・・・
72名無しさん
NGNG そしたら WikiWiki しちゃうね。
っていうか、Squeak = Wiki ってイメージが。
っていうか、Squeak = Wiki ってイメージが。
73応援します
NGNG emacsやviとはまったく違ったエディタを是非目指してほしい.
emacsやviの亜流をめざしても所詮亜流にしかならないが,
うまくいけば第3の標準エディタになれるかもしれない.
(vi/emacs以外のユーザごめん)
カスタマイズする言語のウケがよければはやるかもね.
ではがんばって!
emacsやviの亜流をめざしても所詮亜流にしかならないが,
うまくいけば第3の標準エディタになれるかもしれない.
(vi/emacs以外のユーザごめん)
カスタマイズする言語のウケがよければはやるかもね.
ではがんばって!
NGNG
最近 1 来ないね。
75名無しさん
NGNG というか、既存のカスタマイズ方法の枠組みを超えてみるとか。
なにげなく使ってるとかってにカスタマイズされてくみたいな。
なにげなく使ってるとかってにカスタマイズされてくみたいな。
NGNG
というか、既存の入力方法の枠組みを超えてみるとか。
なにげなく思ってるとかってに入力されてくみたいな。
なにげなく思ってるとかってに入力されてくみたいな。
NGNG
というか、既存の開発方法の枠組みを超えてみるとか。
なにげなく煽ってるとかってに開発されてくみたいな。
なにげなく煽ってるとかってに開発されてくみたいな。
NGNG
というか、既存の仕事の枠組みを超えてみるとか。
なにげなく2ちゃん見てるとかってに終ってるみたいな。
なにげなく2ちゃん見てるとかってに終ってるみたいな。
NGNG
というか、既存の人生の枠組みを超えてみるとか。
なにげなく生きていると知らぬ間に逝ってるみたいな。
なにげなく生きていると知らぬ間に逝ってるみたいな。
80名無しさん@お腹いっぱい。
NGNG おぉ〜い!1はどうした!?
俺は、密かに応援してるぞ!
がんばれ〜〜
俺は、密かに応援してるぞ!
がんばれ〜〜
81例の騒ぎで来た人
NGNG フラッシュ騒ぎでこの板に来て、Linuxを使ってみようと思っていますが、
>>1さん、その他有志の開発協力者のみなさん、
がんばって育ててください。期待しています。
Windowsなどから流れてきたユーザーに的を絞ってはいかがでしょうか?
>>1さん、その他有志の開発協力者のみなさん、
がんばって育ててください。期待しています。
Windowsなどから流れてきたユーザーに的を絞ってはいかがでしょうか?
NGNG
83名無しさん@お腹いっぱい。
NGNG >1
終わらすのはもったいなくないかい?
卒業しちゃうのかな?
終わらすのはもったいなくないかい?
卒業しちゃうのかな?
84名無しさん@お腹いっぱい。
NGNG Unixenにとって、エディタまで乗り換えなきゃいけないのが障壁だからなあ
Smalltalkは..>>68
キーボードだけで使える smalltalk環境つくってよ!!
っていうか、やっぱり Lispマシン環境もあこがれるぞ。
symbolics emulatorほしい...
Smalltalkは..>>68
キーボードだけで使える smalltalk環境つくってよ!!
っていうか、やっぱり Lispマシン環境もあこがれるぞ。
symbolics emulatorほしい...
85名無しさん@お腹いっぱい。
NGNG age
861
NGNG 更新が滞っていてすみません。
いろいろな端末エミュレータやFreeBSDなどにも対応させるため、
キー入力の時入ってくる連続した数値をいろいろ調べています。
現段階でktermに対応させました。
いろいろな端末エミュレータやFreeBSDなどにも対応させるため、
キー入力の時入ってくる連続した数値をいろいろ調べています。
現段階でktermに対応させました。
87名無しさん@お腹いっぱい。
NGNG なんか、間違った努力してるような気がするが…
88名無しさん@お腹いっぱい。
NGNG >>87
いや、全く無駄とは思わないが。
いや、全く無駄とは思わないが。
レスを投稿する
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★2 [ニョキニョキ★]
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に [ぐれ★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 中国人「『日本は危ないから行かないように』と言われたが、日本に来たらとても安全だった」 [お断り★]
- 【岸田朗報】鰻(ウナギ)、ガチで3年以内に1匹1000円以下へ!!!! [782460143]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 習「中国とアメリカは軍国主義(日本)を倒した仲間。勝利の成果を守るために協力すべきだ」とトランプに呼び掛け。高市早苗、終了。 [153490809]
- スキルス胃がんってあるじゃん?
- 【急募】巨人の人的補償プロテクトリストWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- 【高市悲報】来年、習近平主席がアメリカに「国賓」として訪米。どうするんだよ高市・・・アメリカも敵に回すのか? [483862913]
