Greg Ward [Wed, 22 Mar 2000 00:30:54 +0000 (00:30 +0000)]
Dropped any notion of allowing the user to specify the build directories:
these must come from the 'build' command. This means we no longer need
the misconceived 'set_peer_option()' method in Command and, more importantly,
sweeps away a bunch of potential future complexity to handle this tricky
case.
Greg Ward [Wed, 22 Mar 2000 00:20:46 +0000 (00:20 +0000)]
Renamed 'install_path' to 'extra_path'.
Fix 'Command.set_undefined_option()' to call 'ensure_ready()' rather
than 'finalize_options()' (which is only supposed to be called once,
which is the whole point of 'ensure_ready()').
Added comment to 'set_peer_option()' to remind myself that this method
cannot work and is fundamentally wrong-headed.
Greg Ward [Wed, 22 Mar 2000 00:15:45 +0000 (00:15 +0000)]
Yet another complete rewrite. Hopefully the *last* complete rewrite of
this command for a while; this implements roughly the plan cooked up by
Guido, Fred, and me. Seems to strike a nice balance between usability in
the common cases (just set one option), expandability for more types of
files to install in future, and customizability of installation
directories.
This revision isn't completely working: standard and alternate
installations work fine, but there are still some kinks to work out of
customized installations.
Greg Ward [Wed, 22 Mar 2000 00:11:21 +0000 (00:11 +0000)]
Took out what looks like old debugging code that probably should never
have been checked in: was passing the PLAT environment variable as the
'plat' argument to 'new_compiler()'.
Barry Warsaw [Mon, 20 Mar 2000 16:36:48 +0000 (16:36 +0000)]
On 17-Mar-2000, Marc-Andre Lemburg said:
Attached you find an update of the Unicode implementation.
The patch is against the current CVS version. I would appreciate
if someone with CVS checkin permissions could check the changes
in.
The patch contains all bugs and patches sent this week and also
fixes a leak in the codecs code and a bug in the free list code
for Unicode objects (which only shows up when compiling Python
with Py_DEBUG; thanks to MarkH for spotting this one).
Greg Ward [Sat, 18 Mar 2000 17:35:12 +0000 (17:35 +0000)]
Oops! Don't call 'ensure_ready()' in 'Distribution.find_command_obj()' --
that broke parsing command-line options. Instead call it in
'Command.find_peer()', which is why I added it to 'find_command_obj()'
in the first place.
Greg Ward [Sat, 18 Mar 2000 17:33:18 +0000 (17:33 +0000)]
Tweaked all over:
* improve help strings
* warn if user supplies non-existing directories
* don't try to 'remove_tree()' non-existing directories
* try to remove the build_base after cleanup (but don't do or say
anything if it fails -- this is just in case we made it empty)
Greg Ward [Sat, 18 Mar 2000 15:19:51 +0000 (15:19 +0000)]
Changed to pay attention to the 'runtime_library_dirs' list (= 'rpath'
option in the 'build_ext' command):
* in ccompiler.py: 'gen_lib_options()' now takes 'runtime_library_dirs'
parameter
* in unixccompiler.py and msvccompiler.py: now pass
'self.runtime_library_dirs' to 'gen_lib_options()', and define
'runtime_library_dir_option()' (although in msvccompiler.py it
blows up with a DistutilsPlatformError right now!)
Greg Ward [Sat, 18 Mar 2000 15:11:50 +0000 (15:11 +0000)]
Third attempt at documenting an installation scheme; this one feels like
it could work--reasonably short and straightforward to document, but
flexible enough that it will be able to handle more than just modules
and extensions in the future.
Jack Jansen [Fri, 17 Mar 2000 16:49:59 +0000 (16:49 +0000)]
Added a method GetMediaNextInterestingTimeOnly, which is like GetMediaNextInterestingTime without asking for the duration (which is, according to qt docs, expensive).
Jeremy Hylton [Thu, 16 Mar 2000 20:04:16 +0000 (20:04 +0000)]
simplify visitor walker class
- remove postorder
- remove protocol for automatically walking children based on visitor
method return value; now only walks if there is no method
Guido van Rossum [Mon, 13 Mar 2000 16:27:06 +0000 (16:27 +0000)]
Checking in the new, improve file.writelines() code.
This (1) avoids thread unsafety whereby another thread could zap the
list while we were using it, and (2) now supports writing arbitrary
sequences of strings.
Guido van Rossum [Mon, 13 Mar 2000 16:01:29 +0000 (16:01 +0000)]
Christian Tismer's "trashcan" patch:
Added wrapping macros to dictobject.c, listobject.c, tupleobject.c,
frameobject.c, traceback.c that safely prevends core dumps
on stack overflow. Macros and functions in object.c, object.h.
The method is an "elevator destructor" that turns cascading
deletes into tail recursive behavior when some limit is hit.
Guido van Rossum [Mon, 13 Mar 2000 15:41:59 +0000 (15:41 +0000)]
Added Christian Tismer's patch to allow list.append(a,b,c) back --
with a twist: you have to define NO_STRICT_LIST_APPEND manually
to enable multi-arg append().
Guido van Rossum [Fri, 10 Mar 2000 23:22:10 +0000 (23:22 +0000)]
Marc-Andre Lemburg: the maxsplit argument for split() and replace()
now defaults to -1, not to 0. Passing an explicit zero doesn't split
or replace at all.
Guido van Rossum [Fri, 10 Mar 2000 23:00:52 +0000 (23:00 +0000)]
Marc-Andre Lemburg: added new builtin functions unicode() and
unichr(); changed ord() to support Unicode strings; added new
exception UnicodeError; fixed a typo in doc string for buffer().
Greg Ward [Fri, 10 Mar 2000 01:57:51 +0000 (01:57 +0000)]
[from 2000-02-25] Second attempt at describing an installation scheme; this is
the simplified scheme that Guido proposed. Also already-obsolete,
and saved only for posterity.
Greg Ward [Fri, 10 Mar 2000 01:49:26 +0000 (01:49 +0000)]
Renamed 'link_static_lib() to 'create_static_lib()', and rewrote it create
a static library (using lib.exe as found by '__init__()', hopefully through
registry entries pointing to DevStudio).
Fred Drake [Thu, 9 Mar 2000 15:54:52 +0000 (15:54 +0000)]
There are a few places which can raise DistutilsPlatformError; make
sure it's imported! ;)
Re-wrap the docstrings on get_python_inc() and get_python_lib() to be
closer to the "normal" Python style. See GvR's "style guide" on the
essays page (http://www.python.org/doc/essays/).
There should never be a space between a function name and the '(' that
opens the argument list (see the style guide again).
Greg Ward [Thu, 9 Mar 2000 03:16:05 +0000 (03:16 +0000)]
Added Joe Van Andel's 'get_python_inc()', adapted by me to supply
the platform-neutral include dir by default and with Mac support.
Added 'get_python_lib()', inspired by 'get_python_inc()'.
Rewrote 'get_config_h_filename()' and 'get_makefile_filename()'
in terms of 'get_python_inc()' and 'get_python_lib()'.
Changed '_init_nt()' and '_init_mac()' to use 'get_python_inc()' and
'get_python_lib()' for directory names.
Jack Jansen [Wed, 8 Mar 2000 16:58:15 +0000 (16:58 +0000)]
Handles were never disposed. Added an AutoDispose(onoff) method to control this.
Also added a Handle() function which is like Resource() but has auto-dispose on by default.
Barry Warsaw [Wed, 8 Mar 2000 15:18:35 +0000 (15:18 +0000)]
A bunch of changes, primarily to command line argument parsing
(inspired by Detlef Lannert). Specifically,
-k/--keyword no longer takes an optional argument to clear the
default keywords. Instead, use -K/--no-default-keywords to clear
them.
-n/--add-location also no longer takes an optional argument to set
the comment style. Instead, use -S/--style to set the comment
style to GNU or Solaris.
-o/--output can take `-' as the filename, meaning write to
standard output.
The inputfile name can also be `-' meaning read from standard in.
A few other changes include
Kludge to mark the file docstring as translatable. Since the
marking is to place _() around the docstring, and because we
actually have to define the _() function before we use it, this
means that we have to manually assign to __doc__ the output of
_(). This doesn't seem too bad because you'll only use this idiom
when translating a script's docstring (you really don't need to
translate most module docstrings).
Convert everything to string methods and do not import the string
module.
Override the Undo delegator to forbid any changes before the I/O mark.
It beeps if you try to insert or delete before the "iomark" mark.
This makes the shell less confusing for newbies.
Tweak the goto file/line command (in the right button menu in PyShell
and output windows) so that it if it doesn't succeed with the line
at the cursor, it tries the line before that. This is handy with
tracebacks, where my natural tendency is to click in the displayed
source line rather than in the file/line indicator just above it.
Now I can indulge this tendency.
I factored out a helper and changed the error handling so that a
non-existing file is treated as if the line didn't match -- this is
handy because some function calls (e.g. "foo.bar(1)") match the grep
pattern.