comparison mule-doc/TAB.jp @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents
children
comparison
equal deleted inserted replaced
69:804d1389bcd6 70:131b0175ea99
1 Date: Wed, 8 Apr 92 18:51:54 JST
2 From: gniibe@mri.co.jp (NIIBE Yutaka)
3 Return-Path: <gniibe@mri.co.jp>
4 To: handa@etl.go.jp
5 Subject: note on indent.h, indent.c, and xdisp.c
6
7 $B:G8e$KKM$N$d$C$?=$@5$K4X$7$F(B, $B3P=q$rAw$j$^$9!#(B
8 --
9 GniiBE
10 ================ FROM HERE ==============
11 compute_motion (), display_text_string () $B$K4X$9$k3P=q(B ; -*- Indented-Text -*-
12 Tue Apr 7 09:35:41 1992
13 Wed Apr 8 18:26:26 1992
14 GniiBE <gniibe@mri.co.jp>
15
16 column $B$r85$K(B tab $B$N7W;;$O9T$J$o$l$k!#(B
17
18 multi width (multi column $B$GESCf$G3d$k$3$H$N$G$-$J$$(B) character
19 ($B4A;z$J$I(B)$B$,$"$k>l9g(B, $B0l9T$O0lDj$N(B column $B$G$"$k$H$O8B$i$J$$!#(B
20
21 ----------
22 $B$3$s$J>l(B\\
23 $B9g$,$"$k(B\\
24 $B$s$G$9!#(B
25 ----------
26
27 $BK\2H$N(B emacs $B$O!V0l9T$O0lDj$N(B column $B$G$"$k!W$H2>Dj$7$F$$$k!#(B
28 $B$3$NItJ,$r=$@5$9$kI,MW$,$"$k!#(B
29
30 struct position $B$K(B tab_offset $B$H$$$&(B member $B$rDI2C$7(B, $B$=$3$K(B
31 tab_offset $B$NCM$rJ];}$9$k$3$H$G$3$N=$@5$r$*$3$J$&!#(B
32
33 $B$3$3$G(B, tab_offset $B$H(B hpos, column $B$N4V$K$O(B,
34
35 tab_offset + hpos = column
36
37 $B$H$$$&4X78$,$"$k!#$^(B, $BAa$$OC$7$,(B column $B$r$$$A$$$A7W;;$7$J$$$G3P$((B
38 $B$H$3$C$H$H$$$&$b$s$G$7$g$&!#(B
39
40
41 * indent.h (struct position):
42 tab_offset $B$H$$$&(B member $B$rDI2C$7$?!#(B
43
44 * indent.c (compute_motion):
45 truncate, lastpos $B$rDI2C!#(B
46 $B7W;;$NJ}K!$rJQ$($k!#(B
47 emacs $B$N(B bug $B=$@5!#(B
48
49 for ()
50 {
51 (1) $B%-%c%i%/%?$,$I$l$@$1?J$`$+7W;;(B;
52 (2) width $B$rD6$($k$s$@$C$?$i$=$N=hM}(B;
53 }
54
55 $B$N(B (2) $B$N!VD6$($A$c$&!W$N>r7o$r!VD6$($A$c$C$?!W$KJQ99$9(B
56 $B$k!#0J2<$N$h$&$K$J$k!#(B
57
58 for ()
59 {
60 (1) $B%-%c%i%/%?$,$I$l$@$1?J$`$+7W;;(B;
61 (2) width $B$rD6$A$c$C$?$i$=$N=hM}(B;
62 }
63
64 (3-1) $B1[$($A$c$&$G=hM}$5$l$?$O$:$N=hM}(B($B0l$DLa$9(B);
65 (3-2) $B1[$($A$c$&$N=hM}(B;
66
67 (**) pos : buffer $B>e$N0LCV(B
68 (**) (hpos, vpos) : $B2hLL>e$N0LCV(B
69
70 compute_motion $B$O(B
71 (i) $B$"$k(B (hpos, vpos) $B$^$GI=<($9$k$K$O$I$N(B pos $B$,BP1~$9$k$+(B
72 (ii) $B$"$k(B pos $B$^$GI=<($7$?$i$I$3$N(B (hpos, vpos) $B$K$J$k$+(B
73 $B$NFsDL$j$N7W;;$K;H$o$l$k!#(B
74
75 $B$=$7$F(B, loop $B$N=*N;>r7o$O(B, (i) $B$N>l9g(B (hpos, vpos), (ii) $B$N>l9g(B
76 pos $B$K$J$k!#(B
77
78 $B$=$l$G(B,
79
80 ---------- ($B;29M(B) ----------
81 abcdefgh\\ abcdefgh\\
82 $B4A(B ^----(a) 333 ^---- cursor $B$O$3$3$K$/$k!#(B
83 ^---- (b) cursor $B$O$3$3$K$/$k!#(B ^---- $B<!$O$3$3!#(B
84 ^---- (c) $B<!$O$3$3!#(B ----------
85 ---------- multi column character $B$N>l9g!#(B
86 multi width char. $B$N>l9g!#(B
87
88 ----------
89 abcdefghi\
90 j ^---- (a)
91 ^---(b)
92 ^-----(c)
93 ----------
94 $BIaDL$N(B char. $B$N>l9g!#(B
95
96 (i) $B$KBP$7$F(B, (3-1) $B$N=hM}$O(B, (c) $B$G9T$r1[$($?$H;W$C$F$$$k$H$3$m(B
97 $B$r(B, $B$=$NA0$G1[$($F$$$?$H(B (b) $B$K(B (hpos, vpos) $B$rLa$7(B, pos $B$b0l$DLa(B
98 $B$9=hM}$r$9$k!#(B
99
100 (ii) $B$KBP$7$F(B, (3-2) $B$N=hM}$O(B, (a) $B$K(B (hpos, vpos) $B$,$"$k$H;W$C$F(B
101 $B$$$k$N$r(B (b) $B$K0\$9!#(B
102
103 * indent.c (pos_tab_offset):
104 $BK\2H$N(B pos_tab_offset $B$O!V0l9T$O0lDj$N(B column(s) $B$G$"$k!W(B
105 $B$3$H$r2>Dj$7(B, current_column $B$G(B column $B$r5a$a$F(B, $B$=$l$G(B
106 width $B$G(B % $B$H$C$?$j$7$F$$$k!#$^$:$$$N$G(B, $B=q$-D>$7!#(B
107
108 * indent.c (vmotion):
109 pos.vpos * width $B$H$$$&!V0l9T$O0lDj$N(B column(s) $B$G$"$k!W(B
110 $B$3$H$r2>Dj$7$F$"$kItJ,$r=$@5(B, pos.tab_offset $B$rMQ$$$k!#(B
111
112 * xdisp.c (redisplay):
113
114 -------- --------
115 $B$3$s$J(Ba\ DEL $B$3$s$J(B\\
116 $B>l9g(B ==> $B>l9g(B
117 ^^ ^^
118 -------- --------
119
120 $B$r=hM}$9$k$h$&$K(B, goto cancel $B$K$J$k>r7o$r$D$1$k!#(B
121
122 * xdisp.c (try_window):
123 tab_offset $B$N=hM}!#(B
124
125 * xdisp.c (try_window_id):
126 emacs $B$N(B bug $B=$@5!#(B
127 tab_offset $B$N=hM}!#(B
128
129 * xdisp.c (display_text_line):
130 tab_offset $B$N=hM}!#(B
131 $B9TKv$N(B truncate, multi width char. $B$N>l9g(B, $$ $B$N=hM}!#(B
132 emacs $B$N(B bug $B=$@5!#(B
133