2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

エディタ作ったよ!見てみて!

1 :エディタ作ってる人:01/12/14 01:43
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のコンソール(ダイアログの枠線が化けます)

2 :エディタ作ってる人:01/12/14 01:46
コンパイルと実行の方法は、
#tar -zxvf grapad03.tgz で展開して、
#cd grapad03 でディレクトリに入って、
#make とやると、実行ファイルができます。
#./grapad で実行できます。

3 :名無しさん@お腹いっぱい。:01/12/14 01:53
ソースを参考にしようと思ったんだけど、
C++をC風に書くなよダセェ

よって、viできまり。こいつはゴミ。

4 :エディタ作ってる人:01/12/14 01:57
>>3
それで、動かしてみてくれましたか?
ちゃんとコンパイルできますか?

5 :名無しさん@お腹いっぱい。:01/12/14 02:05
批判するだけなら猿でも出来る。

とりあえずKondara 2.1 Beta2でコンパイルが通ることを確認。
Tera Termから起動したら「白黒端末では使えません。」
と言われたので試してない。

6 :名無しさん@お腹いっぱい。:01/12/14 02:12
>>5
curses が $TERM を見てんのかな?

7 :エディタ作ってる人:01/12/14 02:14
>>5
ありがとうございます!!
基本的にカラーで表示する事を前提にしているので、
白黒だと起動できません。

強調表示とか検索とか、あとショートカットキーとか、
とりあえず書いただけで使えない機能がまだあるので、
その辺は文句言わないでください。
とりあえず今は検索機能を作るため、BM法とKMP法という
アルゴリズムを勉強しています。

8 :gchar ネムー:01/12/14 02:14
ktermでちゃんと動いたよ。

gnome-terminal では動かなかったです。当方turbo
readmeでは動くらしいんだけど、

がんばれー

9 :3:01/12/14 02:14
>>5
いや、フィードバックもしようと思って今Makefileを
マクロ使って書き直してたんだけど、なんかエラーになるからやめた(笑)。

FreeBSD 4-STABLE, コンパイル通ってkterm上でさらにscreenの上で動いたよ。
F2押してもキーコードが入るだけだったけど。Alt+F2か?

10 :エディタ作ってる人:01/12/14 02:19
えーとですね、ktermでも動くんですけど、ファンクションキーがだめなんですよ。
本当はメニューはalt+何かで選べるようにしたいんですけど、
altキーの入力を知る方法がわからないんです。

11 :名無しさん@お腹いっぱい。:01/12/14 02:39
FreeBSD(98)4.3でコンパイル通ったしbetermで動いたよ。
枠がおかしいのかどうかは確認してないけど。
ただbeterm自体が日本語通らないからメニューに何が書いてあるやらさっぱり。
勘で終了させた。英字表記が理解しづらいよ。sageが何かまだ分からない。

12 :名無しさん@お腹いっぱい。:01/12/14 02:43
Vine-2.1 LinuxPPCでコンパイルしました。
コンパイルはうまくいったと思います。実行ファイルは出来てるので(何せ初心
者なもので良く分からない)。
でも
./grapadをすると

zsh: segmentation fault ./grapad

でうまく行きません。grapadを実行後lsコマンドを実行すると表示が滅茶苦茶に
なります。

kterm、xterm、gnome-terminalで駄目でした。

うーん。何がいけないんだろう。

『初心者にはお勧めできない』

ですかね・・・シュン・・・

13 :1:01/12/14 02:46
segmentation faultはこちらのバグです。
メモリの変な領域にアクセスすると出るようです。
本当は僕も含めて、初心者が使いやすいように作ったんですがね…

14 :1:01/12/14 02:49
あと、メニューのageとかsageとかは気にしないで下さいw
ショートカットキーの表示をしてあるのですが、まだその機能が無いので
適当に書いてあるだけです。

15 :奈々さん:01/12/14 03:01
記念きねん
がんばってvi,emacs越えてな。

16 :名無しさん@お腹いっぱい。:01/12/14 03:04
ktermの問題は
termcap (この場合は terminfoか) が知っているファンクションキーの
シーケンスと実際のシーケンスが違うせいだと思う。
cat とかやって、ファンクションキーを押して生のシーケンス見てみ。
infocmp kterm とやって出てくる値と違うだろ。

解決方法はしらないけど、
terminfo を書き換えるってのが妥当じゃないかね。

それと、ktermではXresourcesにこれを追加しとけ:
KTerm*VT100*EightBitInput: false
これで Alt+ほげ が ESC + ほげ のシーケンスで送られるようになる。

17 :12:01/12/14 03:12
>>1みたいな人はなんか応援したくなる。

頑張ってくださいね。

18 :名無しさん@お腹いっぱい。:01/12/14 04:04
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)
で参照するようにしていただけるとうれしいです。

19 :名有りさん@お腹へった ◆fSunOs.U :01/12/14 04:28
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を
オープンできるけど スクロールさせると日本語が文字化けする

......とりあえず頑張って......

20 :名無しさん@お腹いっぱい。:01/12/14 06:29
>>16
Alt+ほげ って本当は [0x80-0x9F] (C1 control code) で、
8bit 通らない場合は [ESC] [0x00-0x20] だったような。

最近は違うのかな。
まぁ多くの実装は ESC XX なんだけど。

21 :名無しさん@お腹いっぱい。:01/12/14 07:17
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) はサポートしてないですよね?

22 :21:01/12/14 07:25
本題と外れるんで sage ですが……

FreeBSD っていつになったらまともな termcap になるんだろ。
NetBSD とかが使ってる http://www.tuxedo.org/~esr/terminfo/
あたりの使えばすむと思うんだけどなぁ… esr 嫌いなのかな?(w

23 :名無しさん@お腹いっぱい。:01/12/14 07:43
FreeBSDのeeみたいな感じだね〜

24 :名無しさん@お腹いっぱい。:01/12/14 08:12
「秀丸 for Unix ほしい」って声がけっこうあるから、
そういうの目指したら?

25 :名無しさん@お腹いっぱい。:01/12/14 08:39
>>20
kterm上からximで日本語入力すると C1 control code は
日本語文字になっちゃうのよ。

日本語入力しないなら (emacsみたく自前でIM持つとか) 別にいいんだけど
たぶん>>1の様子だとそうじゃなさそう

26 :おはよごす:01/12/14 08:55
テスト環境 : TeraTermからVine1.1へログインして使用

Makefile
(1)g++に変更しないとコンパイルできなかったよ
(2)common.oのルールがないよ

grapad
(1)F2が効かないので保存できない...
(2)メニューを英語にしてくれたらうれしい(普段SJIS環境にしてるもんで)

27 :名無しさん@お腹いっぱい。:01/12/14 10:16
>>20
> Alt+ほげ って本当は [0x80-0x9F] (C1 control code) で、
> 8bit 通らない場合は [ESC] [0x00-0x20] だったような。

Control+ とごっちゃになってますな。

本来は Alt+ほげ は 7bit char の 8bit 目を立てたコードを生成し、
Control+ほげ は -0x20 したコードを生成します。

端末環境によっては 8bit 目が通らないケースが多いので、
そういう場合はエスケープしたシーケンス(ESC が使われることが多い)を
生成しますが、実装依存ですし、端末の設定で変更す可能なことも多いです。

X 上のアプリケーションではそういう制約はないのですが、
端末エミュレータなどは得られたキーコードを文字コードもしくは
文字シーケンスにマッピングするのでその過程で同様の縛りが発生します。

例えば以下のように入力が流れる時、各過程で変換が発生します。
この変換は特殊な文字をエスケープするような変換ではなくて、
全ての文字を別の写像にマッピングするような変換だと思っておいた方が
いいでしょう。

キーボード→X→端末エミュレータ→curses→エディタ

ちなみにファンクションキーを適当な文字シーケンスとして表現するのは
端末エミュレータの担当。その文字シーケンスを解釈するのは curses の担当に
なります。

28 :名無しさん:01/12/14 11:00
手軽にthread処理の出来るマクロ言語を搭載してクレー。

しかし、これから エディタに言語載せるとしたら、なにのせる?
guile あたり使っとく?

29 :名無しさん@お腹いっぱい。:01/12/14 11:34
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

こんなのはどう?

30 :名無しさん@お腹いっぱい。:01/12/14 12:31
二日前にLINUXのインストールを成功させたばかりの超超初心者ですが
イチユーザーとして応援してます!頑張って下さい>>1
理解できるようになったら是非試させていただきます。

31 :1:01/12/14 12:32
こんにちは。なんかいっぱいレスがついていてうれしいです。
makefileについていろいろ書いてもらっていますが、
まだmakeの使い方がよく分かっていないので、勉強したいと思います。
今までずっとVisualC++を使ってきたのですが、違いに結構戸惑っています。

32 :名有りさん@お腹へった ◆fSunOs.U :01/12/14 12:56
>>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

33 :名無しさん@お腹いっぱい。:01/12/14 13:04
むしろ automake/autoconf を使い方を覚えた方がいいかも?
あ、でも素の makefile 書式も知らないとダメか...

34 :名無しさん@お腹いっぱい。:01/12/14 13:07
起動してすぐ下にカーソル移動しようとするとセグブります。

35 :34:01/12/14 13:11
Makefile は本読まないと無理だよ。本屋へ GO!

36 :29:01/12/14 13:22
>>32
> >>29 変数定義にちょっと違和感がないでもないので......
確かに... すまんす

37 :名無しさん@お腹いっぱい。:01/12/14 15:07
いまさら、emacs, vim を超えることなど不可能

38 :名無しさん@お腹いっぱい。:01/12/14 15:12
>>37
越えることが不可能なのは同意だが、
だからといって意味がないとは言えない。

emacsやviの変態キーバインド覚えるのが嫌な人のための
CUIエディタとなればいい。

39 :名無しさん@お腹いっぱい。:01/12/14 16:23
道のりは遠そうだけど育っていくのを見てるのは楽しいかも。
でもできるだけ早く最低限の機能を付けてウプするべし。

40 :名無しさん@お腹いっぱい。:01/12/14 18:29
最近>>29>>32みたいなのよくみるんだけど、これなに?

41 :名無しさん@お腹いっぱい。:01/12/14 18:38
最近か?
10年前かた見るけど

42 :名無しさん@お腹いっぱい。:01/12/14 20:31
cygwinで動いたYO.

43 :名無しさん@お腹いっぱい。:01/12/14 21:25
>>40
最近かよ... 君なんで UNIX 板にいるの? (T-T

44 :名無しさん@お腹いっぱい。:01/12/14 21:27
>>40
uudecode で復元できる。

45 :名無しさん:01/12/14 22:24
http://www.adultcross.com/toybox/

46 ::01/12/14 23:56
別にemacsやviを越えようなんて思ってませんよ。
元々「勉強しなくても誰でもすぐ使える」事を目的につくっていますので
余分な機能とかは今のところつけないつもりですし。

今日は1時間ほどやって、検索機能を付けました。
BM法もKMP法も使わない単純比較ですが、もう最近のCPUだと一瞬なんですね。

47 :名無しさん@Emacs:01/12/15 00:29
>>40
ish のほうがいい?

48 :名無しさん@お腹いっぱい。:01/12/15 00:50
Vinelinux2.15(だっけかな?)で一発OKダタヨ

>>42
テラタムで動かないからCygwinのXに飛ばして動かしたよ・・・・先にスレ読んでおくんだったよ

49 ::01/12/15 01:00
GRAPADが完全に動作するのは次の3つを満たす環境です。
・カラーが使える
・ファンクションキーが使える
・日本語が使える

TeraTermの場合白黒端末なので動きません。
無理矢理うごかしてもファンクションキーを受け付けないのでメニューの操作ができません。
キーの入力については今後いろいろ調べてみたいと思うのですが、
とりあえず今は機種依存の解決よりエディタの機能の方を優先して作っています。

50 :名無しさん:01/12/15 01:00
>>46
勉強しなくても使えるけど、裏では強力なことしてるってのがいいなあ。
だからインクリメンタルサーチにしたほうがいいかなーと。

migemo を導入してみない?

51 ::01/12/15 01:01
機種依存というよりOS依存ですね…

52 :名無しさん@お腹いっぱい。:01/12/15 02:14
less + vi + migemo みたいなの希望。
コンソールでサクサク動くやつがいいな。
# まぁ less して v すりゃ vi 立ち上がるし、
# そういうアプローチが UNIX なんだろうけどさ。

53 :名無しさん:01/12/15 02:34
>>52
その条件満すんだったらvi 改造したほうがはやそうね。
C 版の migemo も作られたことだし。

>>1 も migemo 使ってほしいなあ。
正規表現を実装しなきゃいけないから大変かもしれないけど。

54 :名無しさん@お腹いっぱい。:01/12/15 02:56
>>49(>>1)

>>21 を ~/.termcap に書き込んで export TERM=teraterm でok。

55 :名無しさん@Vim%Chalice:01/12/15 04:59
私も 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 定義して使った
方が楽なのではないかと思うが

56 :名無しさん@お腹いっぱい。:01/12/15 07:47
>>55
Win32(VC++ + MFCだけかも)だと、コンストラクタと初期化関数の
二段階での初期化が定石だったりする。
その癖で…ってところだと思う。

57 :名無しさん@お腹いっぱい。:01/12/15 13:12
>>56
メモリ以外にリソースを消費するものだけ、なんだけどね
いきなりコンストラクタでハンドル消費したらえらいことに

58 :名無しさん@お腹いっぱい。:01/12/15 17:48
わ!これすごいねっ!
氏んで!!

59 :名無しさん@お腹いっぱい。:01/12/15 17:51
neがライバルとなりそうな・・・

60 :名無しさん@お腹いっぱい。:01/12/15 19:47
ne ってまだメンテされてるの?

61 :名無しさん@お腹いっぱい。:01/12/16 00:55
Debian Gnu/Linuxです.
起動はしたもののCtrl-cでしか終了できない.
HHKだからFunctionキーが使えないのか?
xevではちゃんと認識してるんだけど..
キーコードが違うのかな?
期待age.

62 ::01/12/16 02:30
コンストラクタで初期化していないのは、Windowsの頃の癖です。
MFCもそうですし、DirectXなどもそうです。
でも明らかに独立していそうなクラスはコンストラクタで初期化しています。

メニューが開けないという人が多いようですが、
キー処理をもっとちゃんとやれば対応できると思います。
特殊なキーを押すと、^[[@とかいうコントロールコードのようなものが
入力されてくるみたいですが、これを一つずつひろっていけばできそうです。
こういった連続したコントロールコードを一つの文字として解釈するモードが
cursesライブラリに用意されていて、今はそれを使っているのですが、
どうやらあまり信用できないみたいですね。

インクリメンタルサーチやmigemoは、導入するとしても相当あとになると思います。

63 :名無しさん:01/12/17 07:41
漏れもエディタ作ったYO!

editor.c
>#include "/dev/tty"

ネタにつきsage
がんばれよー。

64 :名無しさん@お腹いっぱい。:02/01/01 16:25
応援上げ!

65 :名無しさん@お腹いっぱい。:02/01/02 03:07
エディタマクロとして perl が使えれば海外でも流行るんじゃないかと思うんだ
けど・・・そーゆーエディタってあんの?
# 国内的には ruby なのかもしれんけど

66 :名無しさん@お腹いっぱい。:02/01/02 04:44
>>65
あいだをとってPythonというのは?

67 :名無しさん@お腹いっぱい。:02/01/02 20:39
>>65-66
vimだとperl/ruby/python/tclが使えちゃうんだよねぇ

68 :名無しさん@お腹いっぱい。:02/01/02 20:50
ここはマニアックにHaskell/Prolog/Smalltalkとか。

関係ないけど、emacsのようなソフトってLispよりもSmalltalkの方が似合うと思うんですけど、どうなんでしょう?

69 :名無しさん:02/01/02 21:29
あー、Smalltalk 使えたらかなーりいいかも。
というか、欲しくなっちゃったじゃないか...

まあ、半歩譲って CLOS あたりでもいいや。

70 :68:02/01/02 22:35
> LispよりもSmalltalk
これは言語のことだけじゃなくて、ソフト全体のことです。
「とりあえずSmalltalkでマクロが組めるようにしてみた」とか、
「xyzzy用にCLOSを作った」とか、そういうことじゃなくて。

71 :名無しさん@お腹いっぱい。:02/01/03 00:13
じゃあSqueakでエディタ造ったらえーやんけ。
仮想マシンだぞ。カスタマイズし放題。

という話に・・・

72 :名無しさん:02/01/03 00:47
そしたら WikiWiki しちゃうね。
っていうか、Squeak = Wiki ってイメージが。

73 :応援します:02/01/03 22:25
emacsやviとはまったく違ったエディタを是非目指してほしい.
emacsやviの亜流をめざしても所詮亜流にしかならないが,
うまくいけば第3の標準エディタになれるかもしれない.
(vi/emacs以外のユーザごめん)

カスタマイズする言語のウケがよければはやるかもね.
ではがんばって!

74 :名無しさん@お腹いっぱい。:02/01/04 12:43
最近 1 来ないね。

75 :名無しさん:02/01/05 19:57
というか、既存のカスタマイズ方法の枠組みを超えてみるとか。
なにげなく使ってるとかってにカスタマイズされてくみたいな。

76 :名無しさん@お腹いっぱい。:02/01/05 22:49
というか、既存の入力方法の枠組みを超えてみるとか。
なにげなく思ってるとかってに入力されてくみたいな。

77 :名無しさん@お腹いっぱい。:02/01/08 07:53
というか、既存の開発方法の枠組みを超えてみるとか。
なにげなく煽ってるとかってに開発されてくみたいな。

78 :名無しさん@お腹いっぱい。:02/01/08 08:10
というか、既存の仕事の枠組みを超えてみるとか。
なにげなく2ちゃん見てるとかってに終ってるみたいな。

79 :名無しさん@お腹いっぱい。:02/01/08 17:49
というか、既存の人生の枠組みを超えてみるとか。
なにげなく生きていると知らぬ間に逝ってるみたいな。

80 :名無しさん@お腹いっぱい。:02/01/09 13:06
おぉ〜い!1はどうした!?
俺は、密かに応援してるぞ!
がんばれ〜〜

81 :例の騒ぎで来た人:02/01/09 15:40
フラッシュ騒ぎでこの板に来て、Linuxを使ってみようと思っていますが、
>>1さん、その他有志の開発協力者のみなさん、
がんばって育ててください。期待しています。

Windowsなどから流れてきたユーザーに的を絞ってはいかがでしょうか?

82 :名無しさん@お腹いっぱい。:02/01/09 18:06
>>81
そういう人は GNOME とか KDE とか使ってなさいってこった。
あぁ、でもあれが UNIX だとは思ってほしくなかったりもしないでもない。

パイプを10個ぐらい繋げたときに UNIX つかってるって感じがするよ。漏れは。
あと、sort のオプション忘れてスクリプト書いちゃうときとか。

>>79
すでにそうなってないか?

83 :名無しさん@お腹いっぱい。:02/01/22 23:53
>1
終わらすのはもったいなくないかい?
卒業しちゃうのかな?

84 :名無しさん@お腹いっぱい。:02/01/23 01:59
Unixenにとって、エディタまで乗り換えなきゃいけないのが障壁だからなあ
Smalltalkは..>>68
キーボードだけで使える smalltalk環境つくってよ!!

っていうか、やっぱり Lispマシン環境もあこがれるぞ。
symbolics emulatorほしい...


85 :名無しさん@お腹いっぱい。:02/02/02 00:30
age

86 :1:02/02/02 12:35
更新が滞っていてすみません。
いろいろな端末エミュレータやFreeBSDなどにも対応させるため、
キー入力の時入ってくる連続した数値をいろいろ調べています。
現段階でktermに対応させました。

87 :名無しさん@お腹いっぱい。:02/02/03 06:37
なんか、間違った努力してるような気がするが…


88 :名無しさん@お腹いっぱい。:02/02/03 11:35
>>87
いや、全く無駄とは思わないが。

89 :名無しさん@お腹いっぱい。:02/02/03 13:43
がむばれ

90 :名無しさん@お腹いっぱい。:02/02/14 10:30
がむばってるかぁ〜


91 :名無しさん@お腹いっぱい。:02/02/18 18:29
ねぇ〜、>>1のホムペは何処逝ったの?

92 :名無しさん@お腹いっぱい。:02/02/18 20:37
>Windowsなどから流れてきたユーザーに的を絞ってはいかがでしょうか?
それいいね!!

UNIXで初めてviやEmacsを扱ったとき
(私はMacから入った人です)
「なんじゃこりゃ?」
と思いました…

93 ::02/02/18 20:53
えーと、楽しみにしてくれてる方々本当にすみません。
3学期のテストが終わったらまた再開しますので・・・。
春休みに一気にプログラミングするつもりですので、もうちょっと待っててください。


94 :名無しさん@お腹いっぱい。:02/03/10 00:01
途中経過キボン

95 :名無しさん@お腹いっぱい。:02/03/10 00:04
がんばれage

96 :名無しさん@お腹いっぱい。:02/04/01 16:00
1来ないな〜
とうとうtermcap(5)、termios(4)あたりに到達して勉強中かな?
それかこのあたりを許せずにVCに帰っちゃったとか(W

97 :名無しさん@お腹いっぱい。:02/05/03 03:15
1が戻った時にここがなかったらあまりに気の毒なので保全カキコ

98 :1:02/05/06 03:24
製作再開しています。
春休みにやるとか93で言ってますが、基本情報技術者の試験とかいろいろで
忙しくてできませんでした。おまけに留年してしまったし・・・
まあ個人的なことはともかく、そのうち上げますので。

99 :名無しさん@お腹いっぱい。:02/05/07 00:20
http://www.geocities.co.jp/SiliconValley-Cupertino/3751/grapad04.tgz
sageでこっそり更新・・・

ktermに対応しました。検索機能がつきました。他バグをいろいろとりました。

100 :1:02/05/07 23:29
http://www.geocities.co.jp/SiliconValley-Cupertino/3751/grapad041.tgz
今日はageで更新。置換機能が付きました(一斉置換のみ)。

XWindow版を作ろうかと考えています。
と言ってもまだなにも分からないんですよねえ。HelloWorldしかできないです。

101 :1:02/05/07 23:35
ウィンドウとかはともかく、一番分からないのはIMです。
Grapadをコンソールで作ってたのは、はじめから日本語変換が使えるからという理由からでした。
そうでなければ最初からWindowでやってましたから。
というわけで先ほど質問スレに書いたところ、いいサイトを教えてもらったので
今読んでいるところです。

102 :1:02/05/07 23:36
というわけで今日は寝ます。ではまた。

103 :名無しさん@お腹いっぱい。:02/05/07 23:59
お。もうこねーだろうなと思ってたよ。
まーがんばれや!
...リュー年にめげず(イヂワル

104 :名無しさん@お腹いっぱい。:02/05/08 00:53
ついに帰ってきたか>>1
がんばれ。


105 :名無しさん@お腹いっぱい。:02/05/08 01:28
落第小僧がエディタ作りに逃避しているスレはここですか?

…ごめん、ちょっと言ってみたかった。>>103が悪いんだから、
責めるんならヤツを責めてくれ。

106 :名無しさん@お腹いっぱい。:02/05/08 21:14
まあでも、就職の面接の時なんかに

「一度留年されてるそうですが、どうしてですか?」
「エディタ作ってました。」

なんてのはちょっと カコ(・∀・)イイ!!かも。がんがれ〜

107 :103:02/05/08 23:22
オイオイ俺はイヂワルなようでいて実はヤンワリとなぐさめているのに
キミ>105のは一撃でトドメさしてるぞ(w

#そしてこのネタ引っ張るほど1が落ち込んでいくという罠。

108 :1:02/05/09 19:32
まあ、エディタ作るの再会したのは、留年したからという理由もあるんですがね。
毎日かなり暇です。

109 :名無しさん@お腹いっぱい。:02/05/09 21:16
C++なんだし、Qt を使ってみては?
Xlib を直接使うと自前ライブラリを作りたくなる罠だし。

110 :名無しさん@お腹いっぱい。:02/05/10 22:03
>>109
GUIはオプショナルに留めてほすぃ。。。

111 :名無しさん@お腹いっぱい。:02/05/10 23:07
--enable-gui をつけよう

112 :名無しさん@お腹いっぱい。:02/05/11 20:52
GtkにしようかQtにしようかと迷っていたんですが、
結局Xtで作っています。Xaw3dはダサダサで、
僕の目指しているグラフィカルなエディタとは大きくかけ離れているので
XawXpmを代わりに使っています。

113 :1:02/05/13 09:24
CとC++用のコメント強調機能を付けました。
http://www.geocities.co.jp/SiliconValley-Cupertino/3751/software/grapad042.tgz

簡単な紹介のページを作りました。
http://www.geocities.co.jp/SiliconValley-Cupertino/3751/software/grapad.htm




114 :名無しさん@お腹いっぱい。:02/05/14 22:42
試しにいれてみますた。

wmのionがファンクションキーを全て取ってしまっているので、
いきなり操作不能に陥ってしまいますた。

気を取り直してコンソールで実行したら、メニューが全て文字化けして
しまいました(日本語に対応してないから当り前か…)

でも、簡素な作りには好感が持てます。
ee代替を目指してがんがれ!

115 :名無しさん@お腹いっぱい。:02/05/16 01:08
>>1がんばれよ!

116 :名無しさん@お腹いっぱい。:02/05/18 16:16
落ち着いたら STL を使ってみようと、言ってみるテスト

117 :名無し:02/05/19 13:33
がんばってるか〜?

118 :1:02/05/20 11:11
OSや、端末エミュレータの種類によってキーバインドが異なるので面倒ですね。
cursesについているkeypad()を使えばその辺りを吸収してくれるのですが、
値をキーの種類ではなく、emacsのショートカットキーで返して来るのでよく分かりません。
私はほとんどemacsを使ったことが無いのです・・・

119 :名無しさん@お腹いっぱい。:02/05/23 00:12
いってることがよく分かんないぞ。
キーの種類と一口に言っても(A)よりデバイスに近いレベルで言うキースキャンコード、
(B)端末寄りにに考えるなら ASCII コード、エスケープシーケンスがどうこう、
(C)ユーザの視点でキーの種類といったらすなわちキートップに書いてあるラベルのこった。

おそらく1の欲しいキーの種類はC(そして行き着くところA)のことだと憶測するが、
curses、termcap では(というかいわゆる文字端末上では)無理で、キミが「emacsのショート
カットキー」と言ってるのはBのことかと思われる。

120 :名無しさん@お腹いっぱい。:02/05/28 20:22
このエディタのソースを参考にしてはどうですか?
ALT キーも使えてますよ。
http://fte.sourceforge.net/

121 :名無しさん@お腹いっぱい。:02/06/16 14:38
FDclone のソースを参考にするというのはどうでしょうか。

http://hp.vector.co.jp/authors/VA012337/soft/fd/FD-2.01a.tar.gz

term.c, input.c あたりが参考に…ならないかも(w


122 :名無しさん@お腹いっぱい。:02/07/21 23:58


123 :名無しさん@お腹いっぱい。:02/07/22 21:11
ほっほっほっ・・・エディタを極めるものはアプリケーションを極める、じゃ・・・

124 :名無しさん@お腹いっぱい。:02/07/24 15:44
>>49
入れてないので流して聞いてください、スマソ。
寺はSetup->WindowにあるFull colorでカラーが使えると思ったんだけど…。

125 : :02/08/02 16:52
で、どうなった? >>1

126 :名無しさん@お腹いっぱい。:02/08/13 01:25
1よ、やってんのか?

127 :名無しさん@XEmacs:02/08/15 00:59
automake化( ̄ー ̄)ニヤリッ

begin 700 enautomake.sh
M(R$O8FEN+W-H"@IC:&UO9"`V-#0@*@IM:V1I<B!S<F,*;78@*BYC<'`@*BYH
M('-R8PIM=B!R96%D;64N='AT(%)%041-10IT;W5C:"!#3U!924Y'($Y%5U,@
M05542$]24R!#:&%N9V5,;V<*<FT@;6%K969I;&4*"B,@5&AI<R!I<R!A('-H
M96QL(&%R8VAI=F4N("!3879E(&ET(&EN(&$@9FEL92P@<F5M;W9E(&%N>71H
M:6YG(&)E9F]R90HC('1H:7,@;&EN92P@86YD('1H96X@=6YP86-K(&ET(&)Y
M(&5N=&5R:6YG(")S:"!F:6QE(BX@($YO=&4L(&ET(&UA>0HC(&-R96%T92!D
M:7)E8W1O<FEE<SL@9FEL97,@86YD(&1I<F5C=&]R:65S('=I;&P@8F4@;W=N
M960@8GD@>6]U(&%N9`HC(&AA=F4@9&5F875L="!P97)M:7-S:6]N<RX*(PHC
M(%1H:7,@87)C:&EV92!C;VYT86EN<SH*(PHC"4UA:V5F:6QE+F%M"B,)8V]N
M9FEG=7)E+FEN"B,)<W)C+TUA:V5F:6QE+F%M"B,*96-H;R!X("T@36%K969I
M;&4N86T*<V5D("=S+UY8+R\G(#Y-86ME9FEL92YA;2`\/"`G14Y$+6]F+4UA
M:V5F:6QE+F%M)PI84U5"1$E24R`]('-R8PI%3D0M;V8M36%K969I;&4N86T*
M96-H;R!X("T@8V]N9FEG=7)E+FEN"G-E9"`G<R]>6"\O)R`^8V]N9FEG=7)E
M+FEN(#P\("=%3D0M;V8M8V]N9FEG=7)E+FEN)PI8(R!0<F]C97-S('1H:7,@
M9FEL92!W:71H(&%U=&]C;VYF('1O('!R;V1U8V4@82!C;VYF:6=U<F4@<V-R
M:7!T+@I804-?24Y)5"AS<F,O9W)A<&%D+F-P<"D*6$%-7TE.251?05543TU!
M2T4H9W)A<&%D+"`P+C0N,BD*6$%-7T-/3D9)1U](14%$15(H8V]N9FEG+F@I
M"E@*6",@0VAE8VMS(&9O<B!P<F]G<F%M<RX*6$%#7U!23T=?0UA8"EA!0U]0
M4D]'7T-#"EA!0U]04D]'7TE.4U1!3$P*6`I8(R!#:&5C:W,@9F]R(&QI8G)A
M<FEE<RX*6",@1DE8344Z(%)E<&QA8V4@8&UA:6XG('=I=&@@82!F=6YC=&EO
M;B!I;B!@+6QC=7)S97,G.@I804-?0TA%0TM?3$E"*&-U<G-E<RP@;F]E8VAO
M*0I8"E@C($-H96-K<R!F;W(@:&5A9&5R(&9I;&5S+@I804-?2$5!1$527U-4
M1$,*6$%#7T-(14-+7TA%041%4E,H<W1D;&EB+F@@<W1R:6YG+F@I"E@*6",@
M0VAE8VMS(&9O<B!T>7!E9&5F<RP@<W1R=6-T=7)E<RP@86YD(&-O;7!I;&5R
M(&-H87)A8W1E<FES=&EC<RX*6`I8(R!#:&5C:W,@9F]R(&QI8G)A<GD@9G5N
M8W1I;VYS+@I804-?1E5.0U]-14U#35`*6$%#7T-(14-+7T953D-3*&UE;7-E
M="D*6`I804-?3U544%54*%M-86ME9FEL92!S<F,O36%K969I;&5=*0I%3D0M
M;V8M8V]N9FEG=7)E+FEN"F5C:&\@>"`M('-R8R]-86ME9FEL92YA;0IS960@
M)W,O7E@O+R<@/G-R8R]-86ME9FEL92YA;2`\/"`G14Y$+6]F+7-R8R]-86ME
M9FEL92YA;2<*6&)I;E]04D]'4D%-4R`](&=R87!A9`I8"EAG<F%P861?4T]5
M4D-%4R`](&-H86EN+F-P<"!C:&%I;BYH(&-O;6UO;BYC<'`@8V]M;6]N+F@@
M9&EA;&]G+F@@7`I8"0EE9&ET;W(N8W!P(&5D:71O<BYH(&=R87!A9"YC<'`@
M:V5Y+F-P<"!K97DN:"!L:6YE<BYH(%P*6`D);65N=2YC<'`@;65N=2YH(')E
M<VES=&]R>2YC<'`@<F5S:7-T;W)Y+F@@<G5L97(N:`I8"0I%3D0M;V8M<W)C
M+TUA:V5F:6QE+F%M"@IS970@+7@*86-L;V-A;`IA=71O:&5A9&5R"F%U=&]M
M86ME("TM9VYU("TM861D+6UI<W-I;F<@+2UC;W!Y"F%U=&]C;VYF"F5X:70*
!"@``
`
end


128 :名無しさん@お腹いっぱい。:02/08/16 03:40
>>127>>1

129 :名無しさん@お腹いっぱい。:02/08/18 06:28
age


130 :名無しさん@お腹いっぱい。:02/09/25 23:53
つくってくれよ


131 ::02/09/26 19:13
すいません、長いことほったらかしてました。
X用のエディタ作ろうと思ってXtとGtk+を勉強したりしてました。

132 :名無しさん@カラアゲうまうま:02/09/26 23:01
期待sage

133 ::02/09/27 22:03
しばらくsageでいってください。
ソースまで読んでる人いるかどうか知りませんが、
文字列を保持しているCChainというクラスを全面的に書き直しているところです。
これでスクロールが大幅に早くなる・・・かも。

134 :名無しさん@お腹いっぱい。:02/09/28 06:40
戻ってきたか。期待してるぞ。

> X用のエディタ作ろうと思ってXtとGtk+を勉強したりしてました。

気持ちはわかるけど、あんまり最初から欲張りすぎると
結局わけわかんなくなっちゃって挫折するから気をつけて。

ところでgeocitiesのページが消えてるんだけど、ソースはどっから落としゃいいのよ?
このさいだから sf.jp のアカウントでもとれば?


135 ::02/10/05 01:56
なんか消えてますね。
あげようとしたんですが、ジオのパスワード忘れてしまって・・・
また垢取って別のとこにX版といっしょにあげます。

136 :名無しさん@お腹いっぱい。:02/10/05 23:05
>>1
がんばれよ。

137 ::02/10/07 02:03
クリップボードの使い方がわからん。

138 :名無しさん@お腹いっぱい。:02/10/07 06:00
もうすこし進捗状況を詳しく説明してもらわないと
何がなんだかさっぱりわからないよ。独り言のつもりならいいけど。
いったい何を使って作ってるんだ?
Xt なら xclipboard のソースでも参考にしる。
Gtk+ は知らないが、Xt よりは簡単だろう。

139 ::02/10/12 23:55
使ってるライブラリはGtk+です。
GtkEditableを通してやろうと思ったら、なんか字数制限があるらしく、
選択した部分全部コピーしてくれません。んー、まあいっか。

140 :名無しさん@お腹いっぱい。:02/10/14 02:30
>>1
早くどっかのアカウント取って落せるようにしてちょ。

141 :名無しさん@お腹いっぱい。:02/11/19 22:24
http://www.geocities.co.jp/SiliconValley-Cupertino/9688/index.htm
更新してませんが、ここでやってきます。

142 ::02/11/27 19:19
制作中のGTKを使ったエディタですが、文字を打つぐらいはできるようになったので、公開します。
あいかわらずクリップボードの使い方がわからないんですよねえ。
コピーはできるのに、ペーストができない。

143 :名無しさん@お腹いっぱい。:02/11/28 10:43
RedHat7.3 でコンパイルエラーが出たので、パッチを送ったよ。

144 ::02/11/28 21:32
どうもありがとうございました。
ふつうはキャスティングなんてしなくてもコールバック関数を接続できますよねえ?
GTKは、とにかくキャスティングが面倒すぎです。
でも安全のため、コールバック関数の部分はGTK_SIGNAL_FUNCマクロで書き換えることにします。


145 :名無しさん@お腹いっぱい。:02/12/01 00:20
そりゃ関数を多重定義できる言語の「フツー」だわさ。

146 :名無しさん@お腹いっぱい。:02/12/01 16:36
初心者にgrapad使わせるのにdebパッケージでも作るかと思ったのだが、配色
強制なのか。
WindowsからUNIXにアクセスして使う、というライトUNIXユーザもけっこう多
いし、うーん……

あ、あとGTK+エディタだと、こんなのが出てたよ。

ttp://www.maid.org/tmaid/

Windows版もあり。

147 :名無しさん@お腹いっぱい。:02/12/04 19:18
GrapadXプレリリース2を公開しました。
UndoとRedo機能が付きました。クリップボードの使用が安定しました。
結構使えるようになってきましたよ。
GrapadX自身の制作も、GrapadXで行っています。

>>145
Cって多重定義できませんでしたっけ?
それに暗黙の変換ぐらいしてくれてもいいのにとか思ったりしてます。

>>146
grapadも近いうちに手を入れます。grapadxもそのつもりで作っていますから。
そのために内部で文字情報を保持しているchainというクラスは、
純粋なC++のみでライブラリに依存しないように作っています。
あとはユーザインターフェースをかぶせれば、GTKでなくとも
QTだろうがMFCだろうがCursesだろうが、なんにでも対応できます。

148 :名無しさん@お腹いっぱい。:02/12/04 19:29
結構下がってきたのでそろそろ上げますか

149 :名無しさん@お腹いっぱい。:02/12/04 22:05
うむ、楽しみだ。
俺自身はviもEmacsもむしろ好きなので使うことは無いだろうが、初心者にと
りあえず使ってなって言えるエディタがないからねえ。
キラーアプリの可能性すら秘めてるジャンルだけに、超期待。

150 :名無しさん@Vim%Chalice:02/12/04 22:26
>>149
viやemacsはわけわからんからun*xはクソ、とか言うヤシに
「grapad使えやゴルァ!」と言えるようになるといいなあ。

151 :名無しさん@お腹いっぱい。:02/12/05 02:09
vimでもEmacsでもメニューがついてるから、初心者でも問題ないとおもうが。

152 :名無しさん@お腹いっぱい。:02/12/05 02:15
>>151
でも、どちらにしてもある程度使い込まないと便利じゃない(むしろ不便)
というのは事実かと。

153 :名無しさん@お腹いっぱい。:02/12/05 02:37
vi系はモードの違いを意識できるようになるまでが大変だし、Emacsはエディ
タという枠を越えてるからな。
もし議論がしたいなら別スレでやってくれ。

154 :143:02/12/05 07:22
またも RedHat 7.3 でコンパイルエラー。
list.cpp の先頭で #include <stding.h> が必要です。
あと gxlist_find が bool 値を返さないという warning が出る。

C (C++) でプログラムを書くときは、この4行:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
はもうお約束だと思ったほうがいいよ。オレはいつもまず最初に入れてる。


155 :143:02/12/05 07:27
あと、バグ発見。
起動したあとなにか文字をタイプして、いったん undo して、またなにかタイプすると SEGV る。
以下、gdb の出力結果。crtper が正しく戻ってないようす。

GNU gdb Red Hat Linux (5.1.90CVS-5)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run
Starting program: /tmp/grapadx-pr2.0/gx

Program received signal SIGSEGV, Segmentation fault.
0x08054ed7 in CChain::SaveChanged (this=0x80ab370, inputtype=3, x=0, y=0, n=0xbfffe9c4) at chain.cpp:730
730 per[crtper].end->prev->next=new node;
(gdb) print per[crtper].end->prev->next
Cannot access memory at address 0x4
(gdb) print per[crtper].end->prev
Cannot access memory at address 0x4
(gdb) print per[crtper].end
$1 = (node *) 0x0
(gdb) print crtper
$2 = 199
(gdb)


156 :143:02/12/05 07:35
それからクリップボードがどうも X と連携してないみたいです。
Mozilla のように、X的なインターフェイス (選択した部分を真ん中ボタンではりつけ) と
Windows的なインターフェイス (明示的にコピー・ペーストを指示する) が
ミックスされてるとうれしいなあ。

あと、コメントの検出はいまのところ chain.cpp で決め打ちにされてるみたいだが、
設定ファイルで指定できるようにするといろんな言語に対応できて便利。


157 :1:02/12/06 00:34
>>143
すいません。またstring.h入れ忘れました。なんで自分の環境だとエラー出ないんだろう?
Undoはまだバグがありますね。もう少し見直してみます。
中ボタンで貼り付けは、いらないかなとか思っていたんですが、やっぱりいりますかね?
うーん、どうやってやるんだろう?ちょっと調べてみます。

158 :名無しさん@お腹いっぱい。:02/12/06 01:01
#include <cstdio>
#include <cstdlib>
#include <cstring>
こうだよな? やっぱ気持ち悪いべ。

159 :名無しさん@お腹いっぱい。:02/12/07 12:29
1のリンク先403 Forbiddenじゃないか?

160 :名無しさん@お腹いっぱい。:02/12/07 12:59
>>159

>>141を見よ

つうか、なんで sf.net とか使わんの?

161 :名無しさん@お腹いっぱい。:02/12/07 13:08
sfのやり方に沿ってやらなきゃいかんのが面倒だからじゃないの?
一度慣れてしまえばどうって事はないんだろうけど。

162 :名無しさん@お腹いっぱい。:02/12/07 14:01
>>157
-Wall付けとけ(ソースを見ずにパピコ

163 :名無しさん@お腹いっぱい。:02/12/07 14:04
>>160
サンクス。
でも展開してmakeしたらエラー沢山出たんで、嫌になって止めちまった。
cursesでどうやって日本語使うのか知りたかったんだが…

164 ::02/12/07 21:32
sfってsourceforgeの事ですよね?vectorのunix版みたいな感じなのかな・・・?
ちょっとのぞいてみましたが、なんだか面倒そうですね。

165 :名無しさん@お腹いっぱい。:02/12/08 00:43
もうすぐ1年
まったり良スレ
1応援さげ

166 :モナーフォントの作者:02/12/08 03:02
>>1
vectorみたいな使い方もできるけど、肝はcvsだと思う。
ようするに、あなたが指定したメンバーにソースを自由にいじらせる
(といっても履歴つきだから、後から戻そうと思えばもどせる) ことができる。

unixに慣れてないとsshやrsyncは面倒くさく感じるかもしれないけど、
geocitiesにシコシコftpでアップするよりはずっと自由度が高いし、
慣れるとメチャ楽。それと個人的にはバナー広告がでないのがうれしい。

167 :名無しさん@お腹いっぱい。:02/12/08 03:07
そう、nxtのように。

168 ::02/12/08 20:58
あー、ほんとだ、もう1年になるんですね。
でも途中でやめてた時期が長いから、実質2,3ヶ月ぐらいでしょうかね。
いまだにUNIXの使い方に慣れていないので、まずはUNIXに慣れる方が先かも。
特にエディタを作ってる以上、正規表現は絶対避けては通れませんし・・・

169 :名無しさん@お腹いっぱい。:02/12/08 23:41
ベクターは貸し倉庫で、SourceForge はアレだ
ツカサのワンワンオフィスってとこか。

170 :名無しさん@お腹いっぱい。:02/12/16 01:15
とりあえず CChain は std::list を使った方がいいんじゃないか
と言ってみるテスト

171 :1:02/12/22 15:52
std::listはつかったことないのでよくわからないのですが、
C++に標準で装備されてる双方向リストのことでしょうか。
リストのデータ構造についてはそれほど苦労していないので、自分でプログラミングするぶんには
今のままでいいんじゃないかと思っています。

今はundoをずっとやってるんですが、どうも元にもどす位置がずれてしまいます。
もうじき冬休みなので、そうしたら時間をかけてみなおしたいと思います。

172 :170:02/12/29 05:26
>>1
いや、ソース公開してるんだから独自方式より、皆に分かる方が
いいかなぁとか思ったりしたわけです。
まぁ「ソース公開してんだからテメェでやれ」と言われるとアレですが。

173 :山崎渉:03/01/15 13:15
(^^)

174 :名無しさん@お腹いっぱい。:03/01/24 20:11
ねえ、元気? 風邪引いてない?


175 :名無しさん@お腹いっぱい。:03/02/01 14:40
気長に待ち。
完成はサグラダ・ファミリアと一緒くらいか〜。

176 :厨房:03/03/25 07:25
grapadをForte C++でコンパイルしてみた。
1 makefileは使えない。(書き直した)
2.エラーと警告がでた。
dmake: 並列モードをデフォルトとして使用します。
.dmakerc ファイルの設定については、dmake(1) のマニュアルページを参照してください。
Blade --> 1 個のジョブ
CC -c menu.cc
Blade --> 2 個のジョブ
CC -c resistory.cc
Blade --> 2 個のジョブ
CC -c key.cc
Blade --> ジョブ出力
CC -c menu.cc
"menu.h", 行 53: 警告: id が menuitem::id を隠しています.
"liner.h", 行 23: エラー: "CLiner::Init(int, int, int, int)" は値を戻すことを期待されています.
"liner.h", 行 37: 警告: waddstr(_win_st*, char*) の呼び出し中の仮引数 2 で文字列リテラルを char* に変換しました.
"liner.h", 行 38: 警告: waddstr(_win_st*, char*) の呼び出し中の仮引数 2 で文字列リテラルを char* に変換しました.
"dialog.h", 行 47: 警告: waddstr(_win_st*, char*) の呼び出し中の仮引数 2 で文字列リテラルを char* に変換しました.
"dialog.h", 行 48: 警告: waddstr(_win_st*, char*) の呼び出し中の仮引数 2 で文字列リテラルを char* に変換しました.
"editor.h", 行 49: 警告: CDialog::Create(char*, int, int, int, int) の呼び出し中の仮引数 t で文字列リテラルを char* に変換しました.
"editor.h", 行 50: 警告: CDialog::AddStatic(int, int, int, int, char*) の呼び出し中の仮引数 caption で文字列リテラルを char* に変換しました.

続く

177 :厨房:03/03/25 07:26
続き

"editor.h", 行 51: 警告: CDialog::AddButton(int, int, int, char*) の呼び出し中の仮引数 caption で文字列リテラルを char* に変換しました.
"editor.h", 行 80: 警告: CDialog::Create(char*, int, int, int, int) の呼び出し中の仮引数 t で文字列リテラルを char* に変換しました.
"editor.h", 行 81: 警告: CDialog::AddStatic(int, int, int, int, char*) の呼び出し中の仮引数 caption で文字列リテラルを char* に変換しました.
"editor.h", 行 82: 警告: CDialog::AddButton(int, int, int, char*) の呼び出し中の仮引数 caption で文字列リテラルを char* に変換しました.
1 個のエラーと 11 個の警告が検出されました.
*** エラーコード 1
dmake: 致命的エラー: ターゲット `menu.o' の構築用コマンドが失敗しました。

あと、UNIXで動作確認してないのにUNIX用を名乗って、漏れみたいなのから電波照射されたりしてない?


178 :厨房:03/03/25 07:32
liner.hの"CLiner::Init(int, int, int, int)"
に戻り値として0を返すよう付け加えたらコンパイルは通ったが、
core吐いて落ちた。
以上



179 :名無しさん@お腹いっぱい。:03/03/25 22:16
ヘボ

180 :名無しさん@お腹いっぱい。:03/03/26 01:40
>>179
・・・そうか
コンパイルに上手・下手があったのか。
それはしらなんだな。

181 :名無しさん@お腹いっぱい。:03/03/26 01:56
>>178=180=181
editor.cppの448行目からの3行をコメントアウトしたら、
とりあえず動いた。


182 :山崎渉:03/04/17 12:38
(^^)

183 :山崎渉:03/04/20 05:53
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

184 :山崎渉:03/05/22 02:09
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

185 :名無しさん@お腹いっぱい。:03/06/06 17:47
>>1=>>171の冬休みはまだかーい?

186 :山崎 渉:03/07/15 11:35

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

187 :あぼーん:あぼーん
あぼーん

188 :あぼーん:あぼーん
あぼーん

189 :名無しさん@お腹いっぱい。:03/12/13 19:51
Grapadもうどこにもないの

190 :名無しさん@お腹いっぱい。:04/01/13 02:26
テキストフォーマットに標準の仕様ってありますか?
ここには改ページが FF って書いてあるけど、Form Feed (書式送り?)って
改ページと同じなの?

http://www.atmarkit.co.jp/icd/root/79/49634379.html

191 :名無しさん@お腹いっぱい。:04/01/16 08:13
>>190
man ascii


192 :190:04/01/17 17:36
うちのリッチテキストエディタでは目出度く ^L で改ページになりやした。
これで良いか。

193 :名無しさん@お腹いっぱい。:04/04/30 15:39
1はどこいった?

194 :名無しさん@お腹いっぱい。:04/04/30 17:01
ぬるぽ

195 :名無しさん@お腹いっぱい。:04/04/30 18:22
>>194 がっ

54 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)