annotate Misc/editline-fix @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents fc4f1289fe6c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4302
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 Subject: Problems trying to use readline or editline ...
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 From: Skip Montanaro <skip@dolphin.automatrix.com>
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 To: python-list@cwi.nl
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 Date: 19 Nov 1995 14:19:56 GMT
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 X-Newsgroups: comp.lang.python
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 X-Organization: Automatrix, Inc.
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
7
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
8
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 I'm having some trouble with either of the line editing libraries available
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 to me. If I build Python with libreadline, I get "staircases" in my
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 interpreter output:
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
12
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 >>> s = 1
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 >>> a = 3
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 >>> etc.
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
16
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 So I figured I'd give Rich Salz's editline a try. It seems to be missing a
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 couple readline functions. When I link I get:
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
19
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 myreadline.o: Undefined symbol _rl_insert referenced from text segment
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 myreadline.o: Undefined symbol _rl_bind_key referenced from text segment
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 I'm running on BSD/OS 2.0 with GCC 2.6.3 as the compiler. My configure line
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 was
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
25
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 ./configure --with-readline=/home/dolphin/skip/src/editline \
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 --with-dl-dld=/home/dolphin/skip/src/dl-dld,/home/dolphin/skip/src/dld
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
28
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 For editline I tried several things before arriving at something that does
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 work ... sort of. First I commented out the tab key binding in Python's
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 Parser/myreadline.c then had to fiddle with editline.c to get tabs to
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 insert. The diffs below seem to work, but have no notion of tab stops (I
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 like 4-char tab stops).
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
34
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 I'd be grateful if anybody had a solution to the readline staircases or a
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 better solution for making editline work.
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
37
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 *** editline.c~ Tue Nov 15 08:53:01 1994
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 --- editline.c Sun Nov 19 09:15:16 1995
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 ***************
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
41 *** 142,145 ****
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 --- 142,148 ----
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 TTYput('?');
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 }
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 + else if (c == '\t') {
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 + TTYput('\t');
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
47 + }
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 else if (ISCTL(c)) {
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 TTYput('^');
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 ***************
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 *** 1326,1329 ****
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 --- 1329,1338 ----
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
53 }
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
54
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 + STATIC STATUS
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
56 + tab()
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 + {
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
58 + return insert_char('\t');
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
59 + }
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
60 +
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
61 STATIC KEYMAP Map[33] = {
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 { CTL('@'), ring_bell },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
63 ***************
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
64 *** 1335,1339 ****
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
65 { CTL('G'), ring_bell },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
66 { CTL('H'), bk_del_char },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
67 ! { CTL('I'), c_complete },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
68 { CTL('J'), accept_line },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
69 { CTL('K'), kill_line },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 --- 1344,1348 ----
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 { CTL('G'), ring_bell },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 { CTL('H'), bk_del_char },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 ! { CTL('I'), tab },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
74 { CTL('J'), accept_line },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
75 { CTL('K'), kill_line },
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
76 --
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
77 Skip Montanaro skip@automatrix.com (518)372-5583
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
78 Musi-Cal: http://www.calendar.com/concerts/ or mailto:concerts@calendar.com
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
79 Internet Conference Calendar: http://www.calendar.com/conferences/
fc4f1289fe6c Added editline fix
Guido van Rossum <guido@python.org>
parents:
diff changeset
80 >>> ZLDF: http://www.netresponse.com/zldf <<<