mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	 d62ecbf0ba
			
		
	
	
		d62ecbf0ba
		
	
	
	
	
		
			
			svn+ssh://svn.python.org/python/branches/py3k ........ r85728 | georg.brandl | 2010-10-19 20:54:25 +0200 (Di, 19 Okt 2010) | 1 line #10092: Properly reset locale in Locale*Calendar classes. The context manager was buggy because setlocale() returns the *new* locale, not the old. Also add a test for this. ........ r85731 | georg.brandl | 2010-10-19 23:07:16 +0200 (Di, 19 Okt 2010) | 1 line Be consistent in the spelling of thread-safe(ty). ........ r85735 | georg.brandl | 2010-10-20 08:50:19 +0200 (Mi, 20 Okt 2010) | 1 line Fix r85728: use "" to mean the system default locale, which should work on more systems. ........ r85766 | georg.brandl | 2010-10-21 09:40:03 +0200 (Do, 21 Okt 2010) | 1 line #10159: sort completion matches before comparing to dir() result. ........ r85767 | georg.brandl | 2010-10-21 14:49:28 +0200 (Do, 21 Okt 2010) | 1 line #9095, #8912, #8999: add support in patchcheck for Mercurial checkouts, C file reindenting, and docs whitespace fixing. ........ r85768 | georg.brandl | 2010-10-21 14:59:14 +0200 (Do, 21 Okt 2010) | 1 line #9919: fix off-by-one error in lineno command in Misc/gdbinit; also add newline to its output. ........ r85769 | georg.brandl | 2010-10-21 15:01:23 +0200 (Do, 21 Okt 2010) | 1 line Fix missing import. ........ r85770 | georg.brandl | 2010-10-21 15:29:10 +0200 (Do, 21 Okt 2010) | 1 line #3077: fix h2py substitution of character literals. ........ r85771 | georg.brandl | 2010-10-21 15:34:51 +0200 (Do, 21 Okt 2010) | 1 line #1203650: allow larger list of files in windows makefile for freeze. ........ r85773 | georg.brandl | 2010-10-21 15:45:52 +0200 (Do, 21 Okt 2010) | 1 line #4829: better error message for invalid file mode ........ r85777 | georg.brandl | 2010-10-21 17:44:51 +0200 (Do, 21 Okt 2010) | 1 line Add .hgeol file for the Mercurial EOL extension. ........
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import re
 | |
| import sys
 | |
| 
 | |
| # Write the config.c file
 | |
| 
 | |
| never = ['marshal', 'imp', '_ast', '__main__', 'builtins',
 | |
|          'sys', 'gc', '_warnings']
 | |
| 
 | |
| def makeconfig(infp, outfp, modules, with_ifdef=0):
 | |
|     m1 = re.compile('-- ADDMODULE MARKER 1 --')
 | |
|     m2 = re.compile('-- ADDMODULE MARKER 2 --')
 | |
|     for line in infp:
 | |
|         outfp.write(line)
 | |
|         if m1 and m1.search(line):
 | |
|             m1 = None
 | |
|             for mod in modules:
 | |
|                 if mod in never:
 | |
|                     continue
 | |
|                 if with_ifdef:
 | |
|                     outfp.write("#ifndef PyInit_%s\n"%mod)
 | |
|                 outfp.write('extern PyObject* PyInit_%s(void);\n' % mod)
 | |
|                 if with_ifdef:
 | |
|                     outfp.write("#endif\n")
 | |
|         elif m2 and m2.search(line):
 | |
|             m2 = None
 | |
|             for mod in modules:
 | |
|                 if mod in never:
 | |
|                     continue
 | |
|                 outfp.write('\t{"%s", PyInit_%s},\n' %
 | |
|                             (mod, mod))
 | |
|     if m1:
 | |
|         sys.stderr.write('MARKER 1 never found\n')
 | |
|     elif m2:
 | |
|         sys.stderr.write('MARKER 2 never found\n')
 | |
| 
 | |
| 
 | |
| # Test program.
 | |
| 
 | |
| def test():
 | |
|     if not sys.argv[3:]:
 | |
|         print('usage: python makeconfig.py config.c.in outputfile', end=' ')
 | |
|         print('modulename ...')
 | |
|         sys.exit(2)
 | |
|     if sys.argv[1] == '-':
 | |
|         infp = sys.stdin
 | |
|     else:
 | |
|         infp = open(sys.argv[1])
 | |
|     if sys.argv[2] == '-':
 | |
|         outfp = sys.stdout
 | |
|     else:
 | |
|         outfp = open(sys.argv[2], 'w')
 | |
|     makeconfig(infp, outfp, sys.argv[3:])
 | |
|     if outfp != sys.stdout:
 | |
|         outfp.close()
 | |
|     if infp != sys.stdin:
 | |
|         infp.close()
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     test()
 |