Added editline fix

This commit is contained in:
Guido van Rossum 1996-09-12 17:29:33 +00:00
parent 3f3691e12f
commit dc082eba02
2 changed files with 81 additions and 0 deletions

View File

@ -25,6 +25,7 @@ NEWS News for this release
README The file you're reading now README The file you're reading now
RFD Request For Discussion about a Python newsgroup RFD Request For Discussion about a Python newsgroup
cheatsheet Quick summary of Python by Ken Manheimer cheatsheet Quick summary of Python by Ken Manheimer
editline-fix A news article on how to fix R$'s editline for Python
fixfuncptrs.sh Shell script to fix function pointer initializers fixfuncptrs.sh Shell script to fix function pointer initializers
gMakefile Generic Makefile for dynamically loadable modules gMakefile Generic Makefile for dynamically loadable modules
indent.pro GNU indent profile approximating my C style indent.pro GNU indent profile approximating my C style

80
Misc/editline-fix Normal file
View File

@ -0,0 +1,80 @@
Subject: Problems trying to use readline or editline ...
From: Skip Montanaro <skip@dolphin.automatrix.com>
To: python-list@cwi.nl
Date: 19 Nov 1995 14:19:56 GMT
X-Newsgroups: comp.lang.python
X-Organization: Automatrix, Inc.
I'm having some trouble with either of the line editing libraries available
to me. If I build Python with libreadline, I get "staircases" in my
interpreter output:
>>> s = 1
>>> a = 3
>>> etc.
So I figured I'd give Rich Salz's editline a try. It seems to be missing a
couple readline functions. When I link I get:
myreadline.o: Undefined symbol _rl_insert referenced from text segment
myreadline.o: Undefined symbol _rl_bind_key referenced from text segment
I'm running on BSD/OS 2.0 with GCC 2.6.3 as the compiler. My configure line
was
./configure --with-readline=/home/dolphin/skip/src/editline \
--with-dl-dld=/home/dolphin/skip/src/dl-dld,/home/dolphin/skip/src/dld
For editline I tried several things before arriving at something that does
work ... sort of. First I commented out the tab key binding in Python's
Parser/myreadline.c then had to fiddle with editline.c to get tabs to
insert. The diffs below seem to work, but have no notion of tab stops (I
like 4-char tab stops).
I'd be grateful if anybody had a solution to the readline staircases or a
better solution for making editline work.
*** editline.c~ Tue Nov 15 08:53:01 1994
--- editline.c Sun Nov 19 09:15:16 1995
***************
*** 142,145 ****
--- 142,148 ----
TTYput('?');
}
+ else if (c == '\t') {
+ TTYput('\t');
+ }
else if (ISCTL(c)) {
TTYput('^');
***************
*** 1326,1329 ****
--- 1329,1338 ----
}
+ STATIC STATUS
+ tab()
+ {
+ return insert_char('\t');
+ }
+
STATIC KEYMAP Map[33] = {
{ CTL('@'), ring_bell },
***************
*** 1335,1339 ****
{ CTL('G'), ring_bell },
{ CTL('H'), bk_del_char },
! { CTL('I'), c_complete },
{ CTL('J'), accept_line },
{ CTL('K'), kill_line },
--- 1344,1348 ----
{ CTL('G'), ring_bell },
{ CTL('H'), bk_del_char },
! { CTL('I'), tab },
{ CTL('J'), accept_line },
{ CTL('K'), kill_line },
--
Skip Montanaro skip@automatrix.com (518)372-5583
Musi-Cal: http://www.calendar.com/concerts/ or mailto:concerts@calendar.com
Internet Conference Calendar: http://www.calendar.com/conferences/
>>> ZLDF: http://www.netresponse.com/zldf <<<