Just van Rossum [Thu, 10 Jul 2003 14:53:27 +0000 (14:53 +0000)]
Fixed a bug that's been there from the beginning but wasn't noticed
until now: the inheritance of default values was the wrong way around.
This caused app bundles to get a type of "BNDL" instead of "APPL".
Apparently this is not a problem until you try to drag your app to
the dock.
----------------------------------------------------------------------
Andrew MacIntyre [Thu, 10 Jul 2003 12:52:54 +0000 (12:52 +0000)]
Extend the pwd & grp emulations to support accessing the pwd/grp
record tuple by name as well as index, to match the behaviour of
the pwd/grp extension modules for Unix. These emulation modules
now pass test_pwd & test_grp.
* Extended DB & DBEnv set_get_returns_none functionality to take a
"level" instead of a boolean flag. The boolean 0 and 1 values still
have the same effect. A value of 2 extends the "return None instead
of raising an exception" behaviour to the DBCursor set methods.
This will become the default behaviour in pybsddb 4.2.
* Fixed a typo in DBCursor.join_item method that made it crash instead
of returning a value. Obviously nobody uses it. Wrote a test case
for join and join_item.
Fred Drake [Tue, 8 Jul 2003 15:57:52 +0000 (15:57 +0000)]
Improve compatibility with more versions of LaTeX2HTML and more LaTeX
markup. Not currently needed, but easier to save this now than to
have to figure it out when we do.
Fix a typo/cut-n-paste error in DBCursor.join_item so that it doesn't
return a tuple. (this also implies that nobody uses this method; the
bug has been here for a long time)
Just van Rossum [Fri, 4 Jul 2003 14:20:03 +0000 (14:20 +0000)]
#765903:
- added bundle_id/--bundle-id option, to specify the CFBundleIndentifier
#765615:
- in the appropriate situation, prepend $PATH with our path instead of
setting it.
Jack Jansen [Fri, 4 Jul 2003 12:14:39 +0000 (12:14 +0000)]
Fixed two bugs in MacOSX framework handling spotted by Edward Moy:
- In the top level Makefile, the argument to -install_name should be
prepended with /System/Library/Frameworks/, so it is an absolute path.
- In the top level Makefile, because of 2), RUNSHARED needs to be set to
DYLD_FRAMEWORK_PATH=<path to local framework> and $(RUNSHARED) prepended
to the $(MAKE) lines in the frameworkinstallmaclib and
frameworkinstallapps targets.
Tim Peters [Fri, 4 Jul 2003 04:40:45 +0000 (04:40 +0000)]
An Anonymous Coward on c.l.py posted a little program with bizarre
behavior, creating many threads very quickly. A long debugging session
revealed that the Windows implementation of PyThread_start_new_thread()
was choked with "laziness" errors:
1. It checked MS _beginthread() for a failure return, but when that
happened it returned heap trash as the function result, instead of
an id of -1 (the proper error-return value).
2. It didn't consider that the Win32 CreateSemaphore() can fail.
3. When creating a great many threads very quickly, it's quite possible
that any particular bootstrap call can take virtually any amount of
time to return. But the code waited for a maximum of 5 seconds, and
didn't check to see whether the semaphore it was waiting for got
signaled. If it in fact timed out, the function could again return
heap trash as the function result. This is actually what confused
the test program, as the heap trash usually turned out to be 0, and
then multiple threads all got id 0 simultaneously, confusing the
hell out of threading.py's _active dict (mapping id to thread
object). A variety of baffling behaviors followed from that.
WRT #1 and #2, error returns are checked now, and "thread.error: can't
start new thread" gets raised now if a new thread (or new semaphore)
can't be created. WRT #3, we now wait for the semaphore without a
timeout.
Also removed useless local vrbls, folded long lines, and changed callobj
to a stack auto (it was going thru malloc/free instead, for no discernible
reason).
Fixes bug of timezone value being left as -1 when ``time.tzname[0] ==
time.tzname[1] and not time.daylight`` is true when it should only when
time.daylight is true. Tests are also fixed.
Jack Jansen [Wed, 2 Jul 2003 22:09:30 +0000 (22:09 +0000)]
Skip noticed that the document talks about "setting PythonLauncher as the
default application" but doesn't give a clue on how to do this. Refer to
Apple Help.
Just van Rossum [Wed, 2 Jul 2003 20:03:04 +0000 (20:03 +0000)]
Fix and test for bug #764548:
Use isinstance() instead of comparing types directly, to enable
subclasses of str and unicode to be used as patterns.
Blessed by /F.
Note that csv files (when they are actual files) must be opened in 'b'inary
mode. Note that the only restriction on the csvfile passed to writer
objects is that it have a write method.
On those systems lacking the AFMT_S16_NE symbol, the test was failing
because it was still looking in the ossaudiodev module namespace for
this symbol.
As the symbol has already been rebound as a global, use that instead.
FreeBSD 5.x has moved some library routines and typedefs outside the
scope of the _XOPEN_SOURCE and _POSIX_C_SOURCE symbols, including:
- getloadavg()
- typedefs for u_int, u_long, u_char, u_short, ushort & uint
These are now all defined under the control of a __BSD_VISIBLE symbol.
The lack of the typedefs causes several extension modules to build
incorrectly or not at all, and is the cause of failures reported for
test_socket and test_tempfile on this platform
(see python-dev: 29/6/03, pieterb@gewis.nl, "Running tests on freebsd5")
This change does not appear to be needed in the 2.2 branch.
Fred Drake [Wed, 2 Jul 2003 13:42:51 +0000 (13:42 +0000)]
The datetime C API really isn't usable outside the datetime module
implementation, so remove this decoy (it break formatting of the GNU
info version of the docs).
Mark Hammond [Tue, 1 Jul 2003 00:13:27 +0000 (00:13 +0000)]
Support 'mbcs' as a 'built-in' encoding, so the C API can use it without
defering to the encodings package.
As described in [ 763111 ] mbcs encoding should skip encodings package
Walter Dörwald [Mon, 30 Jun 2003 11:57:52 +0000 (11:57 +0000)]
Don't require that a RuntimeError is raised when playing a second
sound while the first one is still running, as the first one
one might already have finished.