1. repr(license) will no longer print to stdout and read from stdin;
you have to use license(). `license` is a short message explaining
this.
2. Use lazy initialization so that startup isn't slowed down by the
search for the LICENSE file.
3. repr(license) actually returns the desired string, rather than
printing to stdout and returning ''. (Why didn't we think of this
before?)
4. Use the pythonlabs license URL as the license fallback instead of
the CNRI license handle.
apparently not considered a terminal, and so isatty(3) returns false. So we
skip the test for ttyness of the master side and just check the slave side,
which should really be a terminal.
CGI scripts should *not* use /usr/bin/env, since on systems that don't
come standard with Python installed, Python isn't on the default $PATH.
Too bad that this breaks on Linux, where Python is in /usr/bin which
is on the default path -- the point is that you must manually edit
your CGI scripts when you install them.
about how it would be nice to write absolute paths to the temporary
byte-compilation script, but this doesn't work because it screws up the
trailing-slash trickery done to 'prefix' in build_py's 'byte_compile()'
method.
Fixed to use 'execute()' instead of 'os.remove()' to remove the temporary
script: now it doesn't blow up in dry-run mode!
invalid proxy setting.
Minor change to call of unknown_url; always pass data argument
explicitly since data defaults to None.
PEP 42: Add as a feature that urllib handle proxy setting that contain
only the host and port of the proxy.
Linux distributions which provide both KDE and Gnome set this environment
variable even if the user is not using KDE. We do *not* want to start
Konquerer if KDE is not running unless the user actually tells us to!
by default (since compiling at install time works just fine). Details:
- added 'compile' and 'optimize' options
- added 'byte_compile()' method
- changed 'get_outputs()' so it includes bytecode files
A lot of the code added is very similar to code in install_lib.py;
would be nice to factor it out further.
choice between (compile, no-compile) * (optimize=0, optimize=1,
optimize=2). Details:
- added --no-compile option to complement --compile, which has
been there for ages
- changed --optimize (which never worked) to a value option, which
expects 0, 1, or 2
- renamed 'bytecompile()' method to 'byte_compile()', and beefed
it up to handle both 'compile' and 'optimize' options
- fix '_bytecode_filenames()' to respect the new options
standard 'py_compile.compile()' function. Laundry list of features:
- handles standard Distutils 'force', 'verbose', 'dry_run' flags
- handles various levels of optimization: can compile directly in
this interpreter process, or write a temporary script that is
then executed by a new interpreter with the appropriate flags
- can rewrite the source filename by stripping an optional prefix
and preprending an optional base dir.
- added 'sub_commands' class attr
- added 'has_*()' predicates referenced by the sub-command list
- rewrote 'run()' so it's a trivial loop over relevant sub-commands
They are unneeded: All this stuff is already done by the
install command which is run by bdist_wininst.
One bug has been fixed:
The root of the fake install tree is install.install_purelib,
not install.install_lib!
They are different if the extra_path option is used in
the setup function.
Rebuild after the changes to wininst.exe.
Removed get_ext_libname() because it is unused.
Fixed get_libraries() to append an '_d' to the python debug
import library. If MSVC is used, do not add 'pythonxx.lib' to
the list of libraries, because this is handled better
by a pragma in config.h.
This should fix bug #115595, but it needs some more testing.
popen2(), popen3(): Reversed order of bufsize and mode parameters to
comply with what was here before (Python 1.5.2).
class Popen3: Factored the __init__() into a more basic initializer and
a helper method, to allow some re-use by the Popen4 class.
Use os.dup2() instead of os.dup() to create the proper
file descriptors in the child process.
This closes SourceForge bug #115330 and partially closes#115353.
__file__ attributes of already-imported modules to be absolute. This helps
robustify the interpreter against os.chdir() calls from the application.
Only remove setdefaultencoding() from sys if it exists; if this module is
run as a script (since there is a _test() function that gets run), it broke
because the script attempts to remove it again after the import of site
has already done so. This allows the module to be run as a script again.
makepath(): New function, standardizes all pathname normalization in one
place.
cStringIO does not get it right (reported as SF bug #115531).
Added test for ValueError when write() is called on a closed StringIO
object. Commented out because cStringIO does not get it right
(reported as SF bug #115530).
Do not expose the __name__ when reporting the list of options available
for a section since that is for internal use.
This closes SourceForge bug #115357.
Additionally, define InterpolationDepthError and MAX_INTERPOLATION_DEPTH.
The exception is raised by get*() when value interpolation cannot be
completed within the defined recursion limit. The constant is only
informative; changing it will not affect the allowed depth.
Fix the exit from get() so that None is not returned if the depth is met
or exceeded; either return the value of raise InterpolationDepthError.
implementations. Details:
* replace 'link_shared_object()', 'link_shared_lib()', and
'link_executable()' with 'link()', which is (roughly)
the union of the three methods it replaces
* in all implementation classes (UnixCCompiler, MSVCCompiler, etc.),
ditch the old 'link_*()' methods and replace them with 'link()'
* in the abstract base class (CCompiler), add the old 'link_*()'
methods as wrappers around the new 'link()' (they also print
a warning of the deprecated interface)
Also increases consistency between MSVCCompiler and BCPPCompiler,
hopefully to make it easier to factor out the mythical WindowsCCompiler
class. Details:
* use 'self.linker' instead of 'self.link'
* add ability to compile resource files to BCPPCompiler
* added (redundant?) 'object_filename()' method to BCPPCompiler
* only generate a .def file if 'export_symbols' defined
caused the drive letter to cause urlopen() to think it was an unrecognized
URL scheme. This only passes system ids to urlopen() if the file does not
exist. It works on Windows & Unix.
It should work everywhere else as well.
self.optionxform(), which (in the default case) caused options spelled
with opper case letters in their name to be inaccessible. Reported by
"Todd R. Palmer" <t2palmer@bellsouth.net> on
activepython@listserv1.ActiveState.com.
* options can now be spelled "foo-bar" or "foo_bar" (handled in
'parse_config_files()', just after we parse a file)
* added a "[global]" section so there's a place to set global
options like verbose/quiet and dry-run
* respect the "negative alias" dictionary so (eg.) "quiet=1" is
the same as "verbose=0" (this had to be done twice: once in
'parse_config_file()' for global options, and once in
'_set_command_options()' for per-command options)
* the other half of handling boolean options correctly: allow
commands to list their boolean options in a 'boolean_options'
class attribute, and use it to translate strings (like "yes", "1",
"no", "0", etc) to true or false
xml.sax: Fix parse and parseString not to rely on ExpatParser
Greatly simplify import logic by using __import__
saxutils: Support Unicode strings and files as parameters to
prepare_input_source