Commit Graph

726 Commits

Author SHA1 Message Date
Guido van Rossum d014ea6b5e * classobject.c: in instance_lenth, test result of call_object
for exception before using it.  Fixed a few other places where the
  outcome of calling sq_length wasn't tested for exceptions
  (bltinmodule.c, ceval.c).
1992-11-26 10:30:26 +00:00
Guido van Rossum a9e7dc1081 * bltinmodule.c: added built-in function cmp(a, b)
* flmodule.c: added {do,check}_only_forms to fl's list of functions;
  and don't print a message when an unknown object is returned.

* pythonrun.c: catch SIGHUP and SIGTERM to do essential cleanup.

* Made jpegmodule.c smaller by using getargs() and mkvalue() consistently.

* Increased parser stack size to 500 in parser.h.

* Implemented custom allocation of stack frames to frameobject.c and
  added dynamic stack overflow checks (value stack only) to ceval.c.
  (There seems to be a bug left: sometimes stack traces don't make sense.)
1992-10-18 18:53:57 +00:00
Guido van Rossum 3165fe6a56 Modified most (but not yet all) I/O to always go through sys.stdout or
sys.stderr or sys.stdin, and to work with any object as long as it has
a write() (respectively readline()) methods.  Some functions that took
a FILE* argument now take an object* argument.
1992-09-25 21:59:05 +00:00
Guido van Rossum 7066dd75c5 * Makefile: added IMGFILE; moved some stuff around.
* flmodule.c: added some missing functions; changed readonly flags of
  some data members based upon FORMS documentation.
* listobject.c: fixed int/long arg lint bug (bites PC compilers).
* several: removed redundant print methods (repr is good enough).
* posixmodule.c: added (still experimental) process group functions.
1992-09-17 17:54:56 +00:00
Guido van Rossum 1899c2e055 Made builtins int(), long(), float(), oct() and hex() more generic. 1992-09-12 11:09:23 +00:00
Guido van Rossum 94472a0374 classobject.c moduleobject.c stdwinmodule.c xxobject.c:
raise AttributeError, not KeyError, when attribute deletion fails.
sunaudiodevmodule.c: check for deletion before calling setmember.
1992-09-04 09:45:18 +00:00
Guido van Rossum ba3690cd09 Remove outdated warning in comments. 1992-09-03 20:44:36 +00:00
Guido van Rossum 67daef567f Remove bogus type-and-refcnt setting from newsizedstringobject(). 1992-09-03 20:44:02 +00:00
Guido van Rossum ebc8c51cde Compare instance methods by comparing the object and the function. 1992-09-03 20:39:51 +00:00
Guido van Rossum 2e8f6140ff If a type has a repr function but no print function, printing it now
calls the repr function.  When the refcount is bad, don't print
the object at all (chances of crashes).
Changes to checking and printing of references: the consistency
check is somewhat faster; don't print strings referenced once
(most occur in function's name lists).
1992-09-03 20:32:55 +00:00
Guido van Rossum 1e28e5e596 * renamed malloc.h mymalloc.h, and added MALLARG as the type of the
argument to malloc() (size_t or unsigned int)

* listobject.c: check for overflow of the size of the object,
  so things like range(0x7fffffff) will raise MemoryError instead
  of calling malloc() with -4 (and then crashing -- malloc's fault)
1992-08-19 16:46:30 +00:00
Guido van Rossum 2c475427c2 oct(0) should return '0', not '00' 1992-08-14 15:13:07 +00:00
Guido van Rossum 6d946f98bd * macmodule.c: include allobjects.h, not .c
* timemodule.c: the mac has no unistd.h
* classobject.c: fixed several cases of return NULL that should be
  return -1 !!!
1992-08-14 13:49:30 +00:00
Guido van Rossum e6eefc2231 * classobject.[ch], {float,long,int}object.c, bltinmodule.c:
coercion is now completely generic.
* ceval.c: for instances, don't coerce for + and *; * reverses
  arguments if left one is non-instance numeric and right one sequence.
1992-08-14 12:06:52 +00:00
Guido van Rossum 70d7a310a9 * xxobject.c: added tp_as_number, tp_as_sequence, tp_as_mapping to
the type object.
1992-08-14 12:04:19 +00:00
Guido van Rossum 04691fc1c1 Changes so that user-defined classes can implement operations invoked
by special syntax: you can now define your own numbers, sequences and
mappings.
1992-08-12 15:35:34 +00:00
Guido van Rossum ff4949eeee * Makefile: cosmetics
* socketmodule.c: get rid of makepair(); fix makesocketaddr to fix
  broken recvfrom()
* socketmodule: get rid of getStrarg()
* ceval.h: move eval_code() to new file eval.h, so compile.h is no
  longer needed.
* ceval.c: move thread comments to ceval.h; always make save/restore
  thread functions available (for dynloaded modules)
* cdmodule.c, listobject.c: don't include compile.h
* flmodule.c: include ceval.h
* import.c: include eval.h instead of ceval.h
* cgen.py: add forground(); noport(); winopen(""); to initgl().
* bltinmodule.c, socketmodule.c, fileobject.c, posixmodule.c,
  selectmodule.c:
  adapt to threads (add BGN/END SAVE macros)
* stdwinmodule.c: adapt to threads and use a special stdwin lock.
* pythonmain.c: don't include getpythonpath().
* pythonrun.c: use BGN/END SAVE instead of direct calls; also more
  BGN/END SAVE calls etc.
* thread.c: bigger stack size for sun; change exit() to _exit()
* threadmodule.c: use BGN/END SAVE macros where possible
* timemodule.c: adapt better to threads; use BGN/END SAVE; add
  longsleep internal function if BSD_TIME; cosmetics
1992-08-05 19:58:53 +00:00
Guido van Rossum 1984f1e1c6 * Makefile adapted to changes below.
* split pythonmain.c in two: most stuff goes to pythonrun.c, in the library.
* new optional built-in threadmodule.c, build upon Sjoerd's thread.{c,h}.
* new module from Sjoerd: mmmodule.c (dynamically loaded).
* new module from Sjoerd: sv (svgen.py, svmodule.c.proto).
* new files thread.{c,h} (from Sjoerd).
* new xxmodule.c (example only).
* myselect.h: bzero -> memset
* select.c: bzero -> memset; removed global variable
1992-08-04 12:41:02 +00:00
Guido van Rossum e10a19ea6d listobject.c: added optional cmp function to list.sort(). 1992-08-03 19:05:37 +00:00
Guido van Rossum c10aa77cb9 fileobject.c: fix fatal bug in getline() (forgot to initialize fp now) 1992-07-31 12:42:38 +00:00
Guido van Rossum d7297e61df Makefile: added instann rules and $(*DEST*) defines.
fileobject.c: report more moeaningful error for I/O on closed files;
user getargs() everywhere.
1992-07-06 14:19:26 +00:00
Guido van Rossum ed233a5696 Changes for new UNIX-specific built-in module 'select' and new header for
interfaces to variants of select() system call, "myselect.h".  This includes
adding fileno() methods to files, sockets and stdwin.
1992-06-23 09:07:03 +00:00
Guido van Rossum 5dc8eb0914 sysmodule.c: calling sys.settrace() or sys.setprofile() without
arguments crashed in INCREF() calls which should be XINCREF() calls.

timemodule.c: fix for SEQUENT port (sys/select, struct timezone) by
Jaap Vermeulen

xxobject.c: include modsupport.h
1992-06-19 13:57:27 +00:00
Guido van Rossum 57639655c7 New copyright 1992-04-06 12:35:43 +00:00
Guido van Rossum bab9d03855 Copyright for 1992 added 1992-04-05 14:26:55 +00:00
Guido van Rossum 8dd79cf788 Don't allow assignment to attributes named __*__ 1992-04-05 14:24:32 +00:00
Guido van Rossum 719f5fa86a lint fix 1992-03-27 17:31:02 +00:00
Guido van Rossum 3132a5a7dc answer lint's complaints 1992-03-27 17:28:44 +00:00
Guido van Rossum 8b27d929a6 Lint stuff (involves casts, yuck!) 1992-03-27 17:27:05 +00:00
Guido van Rossum eec181ae88 Lint
./
1992-03-27 17:26:44 +00:00
Guido van Rossum 2a591667bd Lint 1992-03-27 17:26:38 +00:00
Guido van Rossum 0c182a1322 Fix lint bug 1992-03-27 17:26:13 +00:00
Guido van Rossum 96163c1dec Lint... 1992-03-27 17:24:47 +00:00
Guido van Rossum 85998fa069 Silence lint 1992-03-27 17:23:48 +00:00
Guido van Rossum 51415a7b3b Quiet lint 1992-03-27 17:23:38 +00:00
Guido van Rossum febd551bab Change error handling. Call clearerr() more often. 1992-03-04 16:39:24 +00:00
Guido van Rossum fa3da8aa7c Include modsupport.h for getargs(). 1992-01-27 16:53:23 +00:00
Guido van Rossum 56cd67ad47 Get rid of redundant type checks.
Define % operator similar to int%int.
1992-01-26 18:16:35 +00:00
Guido van Rossum e32e014c7e Add prototypes.
Change / and % to match divmod.
1992-01-19 16:31:05 +00:00
Guido van Rossum 2b16a6feff Make / and % do the same as divmod. 1992-01-19 16:28:51 +00:00
Guido van Rossum 7c36ad7f44 New function gettupleslice(v, i, j). 1992-01-14 18:45:33 +00:00
Guido van Rossum 4c260ff2a5 Changed to 2's complement bitwise ops. Got rid of ZABS etc. 1992-01-14 18:36:43 +00:00
Guido van Rossum f3b351f140 Different shift implementation. 1992-01-14 18:33:22 +00:00
Guido van Rossum a38c0ff7cd Added READONLY specifier to data members. 1992-01-14 18:32:20 +00:00
Guido van Rossum 088bc2ad3c Added f_lasti and f_lineno members. 1992-01-14 18:32:11 +00:00
Guido van Rossum afbb8db8e6 Fixed bug in long masking ops. 1991-12-31 13:14:13 +00:00
Guido van Rossum 3ea7412d38 Change error messages for impossible assignment slightly. 1991-12-24 13:28:03 +00:00
Guido van Rossum 32dffaa016 Fix assignment of a list to a slice of itself. 1991-12-24 13:27:34 +00:00
Guido van Rossum 201be057fb Added message to EOFError. 1991-12-24 13:26:41 +00:00
Guido van Rossum 7fa52f84c7 Explicitly check for weird values after calling pow(). 1991-12-16 15:43:14 +00:00
Guido van Rossum c06022966f Add "varargs" attribute. 1991-12-16 13:07:24 +00:00
Guido van Rossum 87e7ea72a6 Use new exceptions. 1991-12-10 14:00:03 +00:00
Guido van Rossum 2912f22afc Use IOError. 1991-12-10 13:59:09 +00:00
Guido van Rossum bd3a2e6b11 Use AttributeError. 1991-12-10 13:58:49 +00:00
Guido van Rossum 3a62845094 Improved exceptions. 1991-12-10 13:57:36 +00:00
Guido van Rossum 9a9faddbcb Formulate better error strings. 1991-12-10 13:56:55 +00:00
Guido van Rossum e2966a6362 The cl_bases member of a class object is now never NULL. 1991-12-10 13:53:23 +00:00
Guido van Rossum c6913e7da2 Made the sign use one's complement; implemented shifting and masking operators. 1991-11-19 20:26:46 +00:00
Guido van Rossum 670ceb30d3 Deleted unused local variable. 1991-11-19 20:26:11 +00:00
Guido van Rossum 8aff84a100 Call write(fileno(fp), ...) instead of fwrite for LARGE writes. 1991-11-12 15:42:49 +00:00
Guido van Rossum 7928cd7636 Added shift and mask ops. 1991-10-24 14:59:31 +00:00
Guido van Rossum 3d3037d51a Changed convert to add '0' or '0x' prefix for oct/hex.
Added NULL function pointers for shift and mask ops.
1991-10-24 14:55:57 +00:00
Guido van Rossum 27acb3379e Added NULL function pointers for shift and mask ops. 1991-10-24 14:55:28 +00:00
Guido van Rossum e9c430fd3b Implemented __methods__ attribute 1991-10-20 20:21:15 +00:00
Guido van Rossum e6f7d18e6b Added count() method.
Changed some conditional INCREFs into XINCREFs.
1991-10-20 20:20:40 +00:00
Guido van Rossum 15ecff4c5e Finally implemented divmod(). 1991-10-20 20:16:45 +00:00
Guido van Rossum 9430839acc Add several secret __*__ attributes 1991-10-20 20:11:48 +00:00
Guido van Rossum 18a372f04c getlonglongargs --> getlonglongarg 1991-09-10 14:55:58 +00:00
Guido van Rossum 278ef59110 Check for write errors after printing a value 1991-07-27 21:40:24 +00:00
Guido van Rossum 2fe53f7fec The print operation now returns status! 1991-07-01 18:52:31 +00:00
Guido van Rossum 9fb036811a Change cmpobject() to coerce numerical values before comparing them 1991-07-01 18:48:04 +00:00
Guido van Rossum 49e85146e2 printobject now returns an error code
Remove superfluous err_nomem() call
,
1991-06-07 22:59:30 +00:00
Guido van Rossum bcaa31c411 printobject now returns an error code
Remove superfluous err_nomem() call
1991-06-07 22:58:57 +00:00
Guido van Rossum 909336104b printobject now returns an error code 1991-06-07 16:10:43 +00:00
Guido van Rossum 27dec7e376 Export float_buf_repr() interface, for marshalling of floats. 1991-06-04 19:42:53 +00:00
Guido van Rossum a1ab7fae44 In support of popen(), file objects are now parametrized with a close
function on creation.  (There's a funny thing about the return
value of the close function that should be resolved.)
Also added 'isatty' method.
1991-06-04 19:37:39 +00:00
Guido van Rossum f380e66c0f Fix comments in string_as_sequence 1991-06-04 19:36:32 +00:00
Guido van Rossum b8393da8f8 Finally implement tuple*number. From now on all sequence types
must (pretend to) support all operations except assignments;
if you don't want to support an operation you have to provide
a dummy function that raises an exception...
1991-06-04 19:35:24 +00:00
Guido van Rossum 149e9ea24c Added dnewlongobject(), function to convert double to long int. 1991-06-03 10:58:24 +00:00
Guido van Rossum 76ad8ed51d Call clearerr() after EOF seen. 1991-06-03 10:54:55 +00:00
Guido van Rossum c7ec9c98e2 Fix off-by-one error in long_repr.
Implement long_pow.
1991-05-28 21:58:16 +00:00
Guido van Rossum 70d934601f Fix special cases in pow() 1991-05-28 21:57:39 +00:00
Guido van Rossum 23d6f0e8e7 Many small changes 1991-05-14 12:06:49 +00:00
Guido van Rossum 0bff015ac3 Added nonzero test 1991-05-14 12:05:32 +00:00
Guido van Rossum 50b4ef64eb Added nonzero test 1991-05-14 11:57:01 +00:00
Guido van Rossum 05ab111b1d Enabled (and fixed) newvarobject() 1991-05-05 20:10:41 +00:00
Guido van Rossum edcc38aac5 Initial revision 1991-05-05 20:09:44 +00:00
Guido van Rossum 0046695d0c Added divmod and abs, fixed negative powers 1991-05-05 20:08:27 +00:00
Guido van Rossum eba1b5efe1 Added (dummy) divmod and (functional) abs.
Fixed comments in number methods list
1991-05-05 20:07:00 +00:00
Guido van Rossum e8122f19a0 Renamed class methods to instance methods (which they are) 1991-05-05 20:03:07 +00:00
Guido van Rossum bfe14c5c92 Add warning about Lambert's bug. 1991-04-16 08:41:06 +00:00
Guido van Rossum 569fce7901 Rename class methods to instance methods (at least where user-visible) 1991-04-16 08:38:43 +00:00
Guido van Rossum 0bd2441e00 Added external interface to readline, for raw_input(). 1991-04-04 15:21:57 +00:00
Guido van Rossum daa8bb334d Optimized single-character strings gotten from s[i]. 1991-04-04 10:48:33 +00:00
Guido van Rossum eb183da74f Added 'softspace' interface to replace 'needspace' printing hack. 1991-04-04 10:44:06 +00:00
Guido van Rossum 21ed88cfe2 Change ugly 'class member' to more normal 'instance'. 1991-04-04 10:42:10 +00:00
Guido van Rossum 4a450d06c7 Swapped list_ass_item and list_ass_slice to satisfy Standard C. 1991-04-03 19:05:18 +00:00
Guido van Rossum b6a6bdc7db Optimized stringitem. 1991-03-06 13:15:02 +00:00
Guido van Rossum ed98d48027 Added repeat (for list*integet).
Added methods remove(), reverse() and index().
1991-03-06 13:07:53 +00:00
Guido van Rossum ce5ba841d9 Fixed read() and readline() to do arbitrarily long reads.
And readline() now reads null bytes correctly.
Added tell(), seek() and flush().
1991-03-06 13:06:18 +00:00
Guido van Rossum f70e43a073 Added copyright notice. 1991-02-19 12:39:46 +00:00
Guido van Rossum a08095ab02 Hack to open resource fork on the Mac: open(filename, '*rb'). 1991-02-13 23:25:27 +00:00
Guido van Rossum 253919f3b7 Fix stringcompare when strings contain null bytes. 1991-02-13 23:18:39 +00:00
Guido van Rossum 94726d55c1 Changed bogus ref to textobject into xxobject. 1991-01-02 15:12:51 +00:00
Guido van Rossum 320a5ccbdc Fixed a bit (still no warranties). 1991-01-02 15:11:48 +00:00
Guido van Rossum 59b3590711 Think C 4.0 fixes a bug in 3.0 that we programmed around. 1991-01-02 13:51:41 +00:00
Guido van Rossum 73531a3bae Return -1 for errors. 1990-12-20 23:12:40 +00:00
Guido van Rossum c211ee4b13 Added <errno.h> 1990-12-20 23:06:26 +00:00
Guido van Rossum 3f5da24ea3 "Compiling" version 1990-12-20 15:06:42 +00:00
Guido van Rossum 846e431372 Function objects no longer contain a parse tree node, but intermediate
code.
1990-11-18 17:44:06 +00:00
Guido van Rossum 392ab32859 Fix wrong #ifdef. 1990-11-18 17:41:19 +00:00
Guido van Rossum 921842f2c2 Fixed resizestring() to work if reference tracing is turned on.
The realloc() call would move the list head without fixing the
pointers to in the the chain of allocated objects...
1990-11-18 17:30:23 +00:00
Guido van Rossum 6923e134fc Moved prototyes for fmod and pow, and don't use them for THINK C. 1990-11-02 17:50:43 +00:00
Guido van Rossum bd3edc8dc3 Removed redundant prototype for err_nomem().
Added check for negative refcnt in DELREF.
1990-11-02 17:49:51 +00:00
Guido van Rossum 84c76f52af Added external interface to sort a list. 1990-10-30 13:32:20 +00:00
Guido van Rossum 726749cc5b Added some prototypes. 1990-10-30 13:30:32 +00:00
Guido van Rossum 0558a205a3 Added getmodulename() public interface. 1990-10-26 15:00:11 +00:00
Guido van Rossum abbda16f58 Fix zero division checks: return if it occurs! 1990-10-26 14:58:41 +00:00
Guido van Rossum dd5c7be568 Reads of zero should be legal! 1990-10-26 14:58:11 +00:00
Guido van Rossum 2a9096b5f9 New errors. 1990-10-21 22:15:08 +00:00
Guido van Rossum e87203afde Added __dict to module getattr.
New errors.
1990-10-21 22:12:30 +00:00
Guido van Rossum 5c52b6a75a CHanged errors somewhat. 1990-10-21 22:11:03 +00:00
Guido van Rossum 2b654f74c2 New error handling in getattr(). 1990-10-14 20:03:32 +00:00
Guido van Rossum 165e67edae New error handling. 1990-10-14 20:02:26 +00:00
Guido van Rossum 3cf0ddfd94 (Some) new error handling. 1990-10-14 19:58:09 +00:00
Guido van Rossum 85a5fbbdfe Initial revision 1990-10-14 12:07:46 +00:00