Commit Graph

11060 Commits

Author SHA1 Message Date
Guido van Rossum ba5a59c834 Break cycle on close. 1999-06-25 17:25:22 +00:00
Guido van Rossum 5af0df528d Destroy the tree when closing. 1999-06-25 17:08:19 +00:00
Guido van Rossum 30455f3050 Add destroy() method to recursively destroy a tree. 1999-06-25 17:07:57 +00:00
Guido van Rossum fed9b914b5 Extend _close() to break cycles.
Break some other cycles too (and destroy the root when done).
1999-06-25 16:09:27 +00:00
Guido van Rossum 205afb487a Add _close() method that does the actual cleanup (close() asks the
user what they want first if there's unsaved stuff, and may cancel).
It closes more than before.

Add unload_extensions() method to unload all extensions; called from
_close().  It calls an extension's close() method if it has one.
1999-06-25 16:06:29 +00:00
Guido van Rossum dd4dda87c1 Add close() method that breaks cycles. 1999-06-25 16:04:38 +00:00
Guido van Rossum 374c0dfb10 Add unregister() method.
Unregister everything at closing.
Don't call close() in __del__, rely on explicit call to close().
1999-06-25 16:03:19 +00:00
Guido van Rossum e689f0087e Add close() method that breaks a cycle. 1999-06-25 16:02:22 +00:00
Guido van Rossum 7ea8f8404c Break some cycles when the widget is destroyed. 1999-06-25 15:53:54 +00:00
Fred Drake 624a191512 Patch from Sjoerd Mullender:
Make argument names equal to what is used in the documentation of the
file object, since chunks are supposedly file-like.
1999-06-25 14:58:44 +00:00
Guido van Rossum 59834f11e3 Mikael Lyngvig writes:
I just noticed that the changes below also apply to cmpcache.py, which
is virtually identical to cmp.py.
1999-06-25 14:21:44 +00:00
Guido van Rossum 3aa9ca147b Patch by Mikael Lyngvig:
1. Fix incorrect file open mode on Win32 platforms (use "rb" instead
of "r").

2. Add shallow parameter to cmp.cmp().  If false, deep file
comparisons are made.

The module should be 100 percent backwards compatible.
1999-06-25 14:12:50 +00:00
Guido van Rossum cf6905f986 Clarify the example by explicitly importing the fcntl module -- this
avoid being fooled into thinking that fcntl and FCNTL are the same
thing -- they aren't!  (fcntl is the extension, FCNTL.py is h2py
output that defines all the constants).

(XXX The example is still weird -- I think there's a more portable way
to do locking now.  That's for someone else to fix...)
1999-06-24 17:58:44 +00:00
Guido van Rossum 336a201d4f Sjoerd Mullender writes:
Urllib makes the URL of the opened file available through the geturl
method of the returned object.  For local files, this consists of
file: plus the name of the file.  This results in an invalid URL if
the file name was relative.  This patch fixes this so that the
returned URL is just a relative URL in that case.  When the file name
is absolute, the URL returned is of the form file:///absolute/path.

[I guess that a URL of the form "file:foo.html" is illegal...  GvR]
1999-06-24 15:27:36 +00:00
Guido van Rossum ff3a278d3b Small patch by Tim Peters - it was using self.maxlist when it should
be using self.maxdict.
1999-06-23 23:27:05 +00:00
Guido van Rossum ce7695191f Simplified version of a patch by Chih-Hao Huang, who wrote:
"""
When there are additional Setup files, specified by -e option of freeze,
checkextenstions.py assumes that *.o, *.a, -Lpath, and -Rpath are all
relative to where the Setup file is. select() inserts the path to the
Setup file to make them absolute. However, the assumption is not true.
There are cases that absolute paths are specified for them. The inserted
prefix, by select(), results in error.

The following fix check for absolute paths. The assumption is: an
absolute path begins with either '/' or '$'. In the latter case, it is
from the environmental variable. (Variables defined locally in the Setup
file have already been handled by expandvars())
"""

My version of the patch has been verified by Charles Waldman (a
colleague of Chih-Hao).
1999-06-23 21:37:57 +00:00
Fred Drake 7c2426439e Removed tty module entry. 1999-06-23 17:31:59 +00:00
Fred Drake 1b2dc9045e Add entries for tty module. 1999-06-23 17:29:02 +00:00
Fred Drake 0bccd73be0 Updates from Moshe, again edited by me. Describe the parameters to
border() using a table instead of text for ease of comprehension.
1999-06-23 17:28:01 +00:00
Fred Drake 92f3f41424 Added "See Also" section for termios module. 1999-06-23 15:12:09 +00:00
Fred Drake ae4d5c23f5 Various updates. 1999-06-23 14:56:13 +00:00
Fred Drake 66239d5530 tty module documentation from Moshe, with some editing and an added
"See also" section.
1999-06-23 14:30:19 +00:00
Fred Drake af81a509c3 Added more sections... 1999-06-23 13:34:22 +00:00
Fred Drake b742a42bc0 Two more from Moshe! 1999-06-23 13:33:40 +00:00
Jack Jansen cab9476330 Drag manager constants. 1999-06-23 09:09:46 +00:00
Fred Drake 4316135a44 Make the mode parameter to open() default in the same way as for wave.open(). 1999-06-22 21:23:23 +00:00
Fred Drake 707f8e67b9 Added entry for the chunk module. 1999-06-22 18:50:06 +00:00
Fred Drake 97793ab6b9 New section from Moshe Zadka, modified by FLD for markup, some
additional content.
1999-06-22 18:49:20 +00:00
Just van Rossum d58c7464d9 mod from Joe Strout: when quitting, catch errors in window.close() methods and ignore them. Otherwise one can never quit. 1999-06-22 18:37:35 +00:00
Guido van Rossum 8746082175 Patch by Tim Peters:
Introduce a new builtin exception, UnboundLocalError, raised when ceval.c
tries to retrieve or delete a local name that isn't bound to a value.
Currently raises NameError, which makes this behavior a FAQ since the same
error is raised for "missing" global names too:  when the user has a global
of the same name as the unbound local, NameError makes no sense to them.
Even in the absence of shadowing, knowing whether a bogus name is local or
global is a real aid to quick understanding.

Example:

D:\src\PCbuild>type local.py
x = 42

def f():
    print x
    x = 13
    return x

f()

D:\src\PCbuild>python local.py
Traceback (innermost last):
  File "local.py", line 8, in ?
    f()
  File "local.py", line 4, in f
    print x
UnboundLocalError: x

D:\src\PCbuild>

Note that UnboundLocalError is a subclass of NameError, for compatibility
with existing class-exception code that may be trying to catch this as a
NameError.  Unfortunately, I see no way to make this wholly compatible
with -X (see comments in bltinmodule.c):  under -X, [UnboundLocalError
is an alias for NameError --GvR].

[The ceval.c patch differs slightly from the second version that Tim
submitted; I decided not to raise UnboundLocalError for DELETE_NAME,
only for DELETE_LOCAL.  DELETE_NAME is only generated at the module
level, and since at that level a NameError is raised for referencing
an undefined name, it should also be raised for deleting one.]
1999-06-22 14:47:32 +00:00
Guido van Rossum 43128905be Patch submitted by Toby Dickenson and approved by Mark Hammond.
Toby writes:

winmakemakefile.py tries to allow for spaces in the python install
path, by adding quotes around the appropriate filenames. It doesn't
quite get this correct; sometimes the quotes end up in the middle of
the path.

Microsoft's NMAKE version 6.0 is happy with this (!!!!)  unless there
is also a space in the name. I guess most users of freeze on windows
do not use the same path as the binary distribution.

I've tested the following changes on systems with and without a space
in the path.
1999-06-21 22:36:53 +00:00
Fred Drake 0f871dc39e Added some "See also" references to htmllib docs.
Documented htmlentitydefs.
1999-06-21 21:20:56 +00:00
Fred Drake 2cd31dc3ea Added entry for curses module. 1999-06-21 21:14:30 +00:00
Fred Drake 4997f4d54a Added entries for four of Moshe's documentation sections. 1999-06-21 21:13:50 +00:00
Fred Drake a4070cef5e Preliminary documentation for the curses module by Moshe Zadka, with
lots of markup fixes and some English nits fixed.

Still needs real review.  Some of the function signatures used in this
module are really bad!  (Two leading optional parameters? Ugh!)
1999-06-21 21:13:09 +00:00
Guido van Rossum 592305011d Add warning FreeBSD users of a problem with curses and termcap,
submitted by Klaus-Juergen Wolf.
1999-06-21 20:51:46 +00:00
Fred Drake d5d55ea02e Fix a markup error. 1999-06-21 18:36:09 +00:00
Fred Drake 4755e7d5c1 Three more modules documented by Moshe! 1999-06-21 18:25:49 +00:00
Jack Jansen 1de2a92791 Initial minimal test program: print information on anything dropped onto Python
window.
1999-06-21 16:19:43 +00:00
Jack Jansen 58b2eacf6b Print something on stderr in case of exceptions in callback routines. 1999-06-21 16:18:51 +00:00
Jack Jansen c4f6331690 Drag manager interface (completely untested, so far) 1999-06-21 15:14:26 +00:00
Guido van Rossum 1a03cf56e0 Greg McFarlane submitted two missing Text methods: mark_next() and
mark_previous().
1999-06-21 14:13:30 +00:00
Fred Drake 6f49e0a154 Added a few minor comments, mostly to discourage documentation of
really old modules that may become obsolete.
1999-06-18 19:58:59 +00:00
Fred Drake a48a083edb Added paragraph about potential re-initialization of extension
modules; responding to suggestion by Robin Boerdijk
<Robin.Boerdijk@nl.origin-it.com>.
1999-06-18 19:17:28 +00:00
Fred Drake a88ef00a50 Further clarfication of the system-dependence of the system() return
value, based on comments from Tim Peters.
1999-06-18 19:11:25 +00:00
Fred Drake 4f298695be Relocating file to Lib/lib-old. 1999-06-18 17:12:36 +00:00
Fred Drake 46e1a32edf Re-categorize the dump module as obsolete. 1999-06-18 17:12:15 +00:00
Fred Drake 354e98222c fpformat has been documented for at least a week now! 1999-06-18 15:21:25 +00:00
Guido van Rossum 1d5ad90c1c CRITICAL PATCH!
We occasionally received reports from people getting "invalid tstate"
crashes (this is a fatal error in PyThreadState_Delete()).  Finally
several people were able to reproduce it reliably and Tim Peters
discovered that there is a race condition when multiple threads are
calling this function without holding the global interpreter lock (the
function may be called without holding that).

Solved the race condition by adding a lock around the mutating uses of
interp->tstate_head.  Tim and Jonathan Giddy have run tests that make
it likely that this fixes the crashes -- although Tim hasn't heard
from the person who reported the original problem.
1999-06-18 14:22:24 +00:00
Guido van Rossum 7f85186921 # Darn! Local variable l declared but not used in abstract_issubclass(). 1999-06-17 19:12:39 +00:00