[Python-checkins] python/dist/src/Modules readline.c,2.48,2.49

gvanrossum@users.sourceforge.net gvanrossum@users.sourceforge.net
2002年5月30日 08:41:58 -0700


Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv20079
Modified Files:
	readline.c 
Log Message:
SF #558432: Prevent Annoying ' ' from readline (Holker Krekel).
 readline in all python versions is configured
 to append a 'space' character for a successful
 completion. But for almost all python expressions
 'space' is not wanted (see coding conventions PEP 8).
 For example if you have a function 'longfunction'
 and you type 'longf<TAB>' you get 'longfunction '
 as a completion. note the unwanted space at the 
 end. 
 The patch fixes this behaviour by setting readline's
 append_character to '0円' which means don't append
 anything. This doesn't work with readline < 2.1
 (AFAIK nowadays readline2.2 is in good use).
 An alternative approach would be to make the
 append_character
 accessable from python so that modules like
 the rlcompleter.py can set it to '0円'. 
[Ed.: I think expecting readline >= 2.2 is fine. If a completer wants
another character they can append that to the keyword in the list.]
Index: readline.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/readline.c,v
retrieving revision 2.48
retrieving revision 2.49
diff -C2 -d -r2.48 -r2.49
*** readline.c	21 Apr 2002 15:03:18 -0000	2.48
--- readline.c	30 May 2002 15:41:56 -0000	2.49
***************
*** 574,577 ****
--- 574,578 ----
 		strdup(" \t\n`~!@#$%^&*()-=+[{]}\\|;:'\",<>/?");
 		/* All nonalphanums except '.' */
+ 	rl_completion_append_character ='0円';
 
 	begidx = PyInt_FromLong(0L);

AltStyle によって変換されたページ (->オリジナル) /