Commit Graph

5695 Commits

Author SHA1 Message Date
Guido van Rossum 590baa4a7a * import.c (get_module): pass .py filename to parse_file, not .pyc filename!
* funcobject.c (func_repr): don't call getstringvalue(None) for anonymous
  functions.
* bltinmodule.c: removed lambda (which is now a built-in function);
  removed implied lambda for string arg to filter/map/reduce.
* Grammar, graminit.[ch], compile.[ch]: replaced lambda as built-in
  function by lambda as grammar entity: instead of "lambda('x: x+1')" you
  write "lambda x: x+1".
* Xtmodule.c (checkargdict): return 0, not NULL, for error.
1993-11-30 13:40:46 +00:00
Guido van Rossum b376a4ad18 * timemodule.c: Add hack for Solaris 2.
* posixmodule.c: don't prototype getcwd() -- it's not portable...
* mappingobject.c: double-check validity of last_name_char in
  dict{lookup,insert,remove}.
* arraymodule.c: need memmove only for non-STDC Suns.
* Makefile: comment out HTML_LIBS and XT_USE by default
* pythonmain.c: don't prototype getopt() -- it's not standardized
* socketmodule.c: cast flags arg to {get,set}sockopt() and addrbuf arg to
  recvfrom() to (ANY*).
* pythonrun.c (initsigs): fix prototype, make it static
* intobject.c (LONG_BIT): only #define it if not already defined
* classobject.[ch]: remove all references to unused instance_convert()
* mappingobject.c (getmappingsize): Don't return NULL in int function.
1993-11-23 17:53:17 +00:00
Guido van Rossum c45611d0e3 * import.c (get_module): total rewrite, to ensure proper search order: for
each dir in sys.path, try each possible extension.  (Note: C extensions
  are loaded before Python modules in the same directory, to allow having
  a C version used when dynamic loading is supported and a Python version
  as a back-up.)
* import.c (reload_module): test for error from getmodulename()
* moduleobject.c: implement module name as dict entry '__name__' instead
  of special-casing it in module_getattr(); this way a module (or
  function!) can access its own module name, and programs that know what
  they are doing can rename modules.
* stdwinmodule.c (initstdwin): strip ".py" suffix of argv[0].
1993-11-17 22:58:56 +00:00
Guido van Rossum a3d78fb268 * posixmodule.c: added set{uid,gid}.
* {tuple,list,mapping,array}object.c: call printobject with 0 for flags
* compile.c (parsestr): use quote instead of '\'' at one crucial point
* arraymodule.c (array_getattr): Added __members__ attribute
1993-11-10 09:23:53 +00:00
Guido van Rossum c600411755 * mpzmodule.c: removed redundant mpz_print function.
* object.[ch], bltinmodule.c, fileobject.c: changed str() to call
  strobject() which calls an object's __str__ method if it has one.
  strobject() is also called by writeobject() when PRINT_RAW is passed.
* ceval.c: rationalize code for PRINT_ITEM (no change in function!)
* funcobject.c, codeobject.c: added compare and hash functionality.
  Functions with identical code objects and the same global dictionary are
  equal.  Code objects are equal when their code, constants list and names
  list are identical (i.e. the filename and code name don't count).
  (hash doesn't work yet since the constants are in a list and lists can't
  be hashed -- suppose this should really be done with a tuple now we have
  resizetuple!)
1993-11-05 10:22:19 +00:00
Guido van Rossum 2e8f8a398e Added compare operations for functions and code objects.
(Also hash, but it doesn't work yet.)
1993-11-05 10:20:10 +00:00
Guido van Rossum 094885b0f0 Must initialize 'inspect' flag 1993-11-05 10:16:09 +00:00
Guido van Rossum e77a757094 * nismodule.c: database keys and values can contain null bytes. be more
careful about these.
* arraymodule.c: added 8 byte swap; added 'i' format character; added
  reverse() method; rename read/write to fromfile/tofile.
* config.c: Set version to 0.9.9++.
* rotormodule.c (r_rand): declare k1..k5 as unsigned longs so the shifts
  will have a well-defined effect independent of word size.
* bltinmodule.c: renamed bagof() to filter().
1993-11-03 15:01:26 +00:00
Guido van Rossum b73cc04e62 * ceval.c, longobject.c, methodobject.c, listnode.c, arraymodule.c,
pythonrun.c: added static forward declarations
* pythonrun.h, ceval.h, longobject.h, node.h: removed declarations of
  static routines
1993-11-01 16:28:59 +00:00
Guido van Rossum 2586bf0a34 * rangeobject.{c,h}, bltinmodule.c: removed non-essential ops from range
object.
1993-11-01 16:21:44 +00:00
Sjoerd Mullender 615194a352 Fixed bugs in resizetuple and extended the interface.
Added ifdefs in stringobject.c for shared strings of length 1.
Renamed free_list in tupleobject.c to free_tuples.
1993-11-01 13:46:50 +00:00
Guido van Rossum dc4b93db70 * listobject.c (list_ass_slice): XDECREF instead of DECREF so
setlistslice() can be used to cut the unused part out of a freshly made
  slice (as done by bagof()).  [needed by the next mod!]
* structural changes to bagof(), map() etc.
1993-10-27 14:56:44 +00:00
Guido van Rossum 3b716046a0 Committing the correct graminit.c; also changed confusing comments in Grammar. 1993-10-27 13:25:30 +00:00
Guido van Rossum 12d12c5faf * compile.[ch]: support for lambda()
* PROTO.h, mymalloc.h: added #ifdefs for TURBOC and GNUC.
* allobjects.h: added #include "rangeobject.h"
* Grammar: added lambda_input; relaxed syntax for exec.
* bltinmodule.c: added bagof, map, reduce, lambda, xrange.
* tupleobject.[ch]: added resizetuple().
* rangeobject.[ch]: new object type to speed up range operations (not
  convinced this is needed!!!)
1993-10-26 17:58:25 +00:00
Guido van Rossum 8054fad890 Changes to accept double-quoted strings on input. 1993-10-26 15:19:44 +00:00
Guido van Rossum 5a2a683e72 * filemodule.c: added writelines() -- analogous to readlines()
* import.c: fixed core dump when out-of-date .pyc file encountered (again!)
1993-10-25 09:59:04 +00:00
Sjoerd Mullender 52c1f51554 import.c: When something is wrong with the .pyc, properly open the .py
file.
object.c: Write allocation statistics to stderr.
1993-10-25 08:40:52 +00:00
Guido van Rossum 89b3325dc4 * import.c (MAGIC): Changed magic word to avoid confusion about exec
function vs. exec statement
* bltinmodule.c: renamed the module to __builtin__.
* posixmodule.c (posix_execv): renamed exec --> execv since it is now a
  reserved word.
1993-10-22 14:26:06 +00:00
Sjoerd Mullender 3bb8a05947 Several optimizations and speed improvements.
cstubs: Use Matrix type instead of float[4][4].
1993-10-22 12:04:32 +00:00
Guido van Rossum db3165e655 * bltinmodule.c: removed exec() built-in function.
* Grammar: add exec statement; allow testlist in expr statement.
* ceval.c, compile.c, opcode.h: support exec statement;
  avoid optimizing locals when it is used
* fileobject.{c,h}: add getfilename() internal function.
1993-10-18 17:06:59 +00:00
Guido van Rossum cacd9579d4 * stdwinmodule.c (stdwin_done): interface to shutdown stdwin (now this is
no longer done by config.c).
* stdwinmodule.c (initstdwin), config.c (initall): get command line
  arguments from sys.argv instead of special-casing stdwin in config.c
* import.c (get_module): fix core dump when foomodule.o does not define
  initfoo().
* ChangeLog: documented changes by Sjoerd.
1993-10-18 11:44:47 +00:00
Guido van Rossum 21d335ed9e Makefile, import.c: Lance's alternative module search (allow .pyc file
without .py file); Bill's dynamic loading for SunOS using shared
libraries.

pwdmodule.c (mkgrent): remove DECREF of uninitialized variable.

classobject.c (instance_getattr): Fix case when class lookup returns
unbound method instead of function.
1993-10-15 13:01:11 +00:00
Sjoerd Mullender cbaddb52ae Added widget methods {Height,Width}{,MM}OfScreen. 1993-10-12 14:10:58 +00:00
Sjoerd Mullender a9c3c22c33 * Extended X interface: pixmap objects, colormap objects visual objects,
image objects, and lots of new methods.
* Added counting of allocations and deallocations of builtin types if
  COUNT_ALLOCS is defined.  Had to move calls to NEWREF down in some
  files.
* Bug fix in sorting lists.
1993-10-11 12:54:31 +00:00
Guido van Rossum f1dc566328 * Makefile: added all: and default: targets.
* many files: made some functions static; removed "extern int errno;".
* frozenmain.c: fixed bugs introduced on 24 June...
* flmodule.c: remove 1.5 bw compat hacks, add new functions in 2.2a
  (and some old functions that were omitted).
* timemodule.c: added MSDOS floatsleep version .
* pgenmain.c: changed exit() to goaway() and added defn of goaway().
* intrcheck.c: add hack (to UNIX only) so interrupting 3 times
  will exit from a hanging program.  The second interrupt prints
  a message explaining this to the user.
1993-07-05 10:31:29 +00:00
Guido van Rossum 9e90a672b4 * pythonmain.c: -k option, usage message, more environment flags.
(the latter also in frozenmain.c)
* ceval.c: global 'killprint' flag raises exception when printing an
  expression statement's value (useful for finding stray output)
* timemodule.c: add asctime() and ctime().  Change julian date to
  1-based origin (as intended and documented).
* Removed unused DO_TIMES stuff from timemodule.c.  Added 'epoch' and
  'day0' globals (year where time.time() == 0 and day of the week the
  epoch started).
1993-06-24 11:10:19 +00:00
Guido van Rossum 234f942aef * Added gmtime/localtime/mktime and SYSV timezone globals to timemodule.c.
Added $(SYSDEF) to its build rule in Makefile.
* cgensupport.[ch], modsupport.[ch]: removed some old stuff.  Also
  changed files that still used it...  And made several things static
  that weren't but should have been...  And other minor cleanups...
* listobject.[ch]: add external interfaces {set,get}listslice
* socketmodule.c: fix bugs in new send() argument parsing.
* sunaudiodevmodule.c: added flush() and close().
1993-06-17 12:35:49 +00:00
Guido van Rossum eb6b33a837 * classobject.c: in instance_getattr, don't make a method out of a
function found as instance data.
* socketmodule.c: added 'flags' argument sendto/recvfrom, rewrite
  argument parsing in send/recv.
* More changes related to access (terminology change: owner instead of
  class; allow any object as owner; local/global variables are owned
  by their dictionary, only class/instance data is owned by the class;
  "from...import *" now only imports objects with public access; etc.)
1993-05-25 09:38:27 +00:00
Guido van Rossum b3f7258f14 * Lots of small changes related to access.
* Added "access *: ...", made access work for class methods.
* Introduced subclass check: make sure that when calling
  ClassName.methodname(instance, ...), the instance is an instance of
  ClassName or of a subclass thereof (this might break some old code!)
1993-05-21 19:56:10 +00:00
Guido van Rossum 81daa32c15 Access checks now work, at least for instance data (not for methods
yet).  The class is now passed to eval_code and stored in the current
frame.  It is also stored in instance method objects.  An "unbound"
instance method is now returned when a function is retrieved through
"classname.funcname", which when called passes the class to eval_code.
1993-05-20 14:24:46 +00:00
Guido van Rossum 25831652fd Several changes in one:
(1) dictionaries/mappings now have attributes values() and items() as
well as keys(); at the C level, use the new function mappinggetnext()
to iterate over a dictionary.

(2) "class C(): ..." is now illegal; you must write "class C: ...".

(3) Class objects now know their own name (finally!); and minor
improvements to the way how classes, functions and methods are
represented as strings.

(4) Added an "access" statement and semantics.  (This is still
experimental -- as long as you don't use the keyword 'access' nothing
should be changed.)
1993-05-19 14:50:45 +00:00
Guido van Rossum 6ac258d381 * pythonrun.c: Print exception type+arg *after* stack trace instead of
before it.
* ceval.c, object.c: moved testbool() to object.c (now extern visible)
* stringobject.c: fix bugs in and rationalize string resize in formatstring()
* tokenizer.[ch]: fix non-working code for lines longer than BUFSIZ
1993-05-12 08:24:20 +00:00
Guido van Rossum acbe8da4f8 (I suggest a recompile after getting this, the ceval.c bugfix may be crucial!)
* Makefile: removed superfluous AR=ar, fixed misleading comment.
* ceval.c: fixed debugging code; save/restore errors in locals_2_fast.
* intrcheck.c: for SunOS etc., turn off syscall resumption.
* regexpr.h: bump number of registers to 100.
1993-04-15 15:33:52 +00:00
Guido van Rossum 9575a44575 * Microscopic corrections to make things compile on the Cray APP.
* Removed one use of $> in Makefile and warned about others.
  Added configurable lines in Makefile to change CC and AR.
1993-04-07 14:06:14 +00:00
Guido van Rossum f56e3db1dd Support for frozen scripts; added -i option. 1993-04-01 20:59:32 +00:00
Guido van Rossum 5b7221849e * Fixed some subtleties with fastlocals. You can no longer access
f_fastlocals in a traceback object (this is a core dump hazard
  if there are <nil> entries), but instead eval_code() merges the fast
  locals back into the locals dictionary if it looks like the local
  variables will be retained.  Also, the merge routines save
  exceptions since this is sometimes needed (alas!).

* Added id() to bltinmodule.c, which returns an object's address
  (identity).  Useful to walk arbitrary data structures containing
  cycles.

* Added compile() to bltinmodule.c and compile_string() to
  pythonrun.[ch]: support to exec/eval arbitrary code objects.  The
  code that defaults globals and locals is moved from run_node in
  pythonrun.c (which is now identical to eval_node) to eval_code in
  ceval.c.  [XXX For elegance a clean-up session is necessary.]
1993-03-30 17:46:03 +00:00
Guido van Rossum 8b17d6bd89 Changes to speed up local variables enormously, by avoiding dictionary
lookup (opcode.h, ceval.[ch], compile.c, frameobject.[ch],
pythonrun.c, import.c).  The .pyc MAGIC number is changed again.
Added get_menu_text to flmodule.
1993-03-30 13:18:41 +00:00
Guido van Rossum 9bfef44d97 * Changed all copyright messages to include 1993.
* Stubs for faster implementation of local variables (not yet finished)
* Added function name to code object.  Print it for code and function
  objects.  THIS MAKES THE .PYC FILE FORMAT INCOMPATIBLE (the version
  number has changed accordingly)
* Print address of self for built-in methods
* New internal functions getattro and setattro (getattr/setattr with
  string object arg)
* Replaced "dictobject" with more powerful "mappingobject"
* New per-type functio tp_hash to implement arbitrary object hashing,
  and hashobject() to interface to it
* Added built-in functions hash(v) and hasattr(v, 'name')
* classobject: made some functions static that accidentally weren't;
  added __hash__ special instance method to implement hash()
* Added proper comparison for built-in methods and functions
1993-03-29 10:43:31 +00:00
Guido van Rossum e537240c25 * Changed many files to use mkvalue() instead of newtupleobject().
* Fixcprt.py: added [-y file] option, do only files younger than file.
* modsupport.[ch]: added vmkvalue().
* intobject.c: use mkvalue().
* stringobject.c: added "formatstring"; renamed string* to string_*;
  ceval.c: call formatstring for string % value.
* longobject.c: close memory leak in divmod.
* parsetok.c: set result node to NULL when returning an error.
1993-03-16 12:15:04 +00:00
Guido van Rossum 9e51f9bec8 bltinmodule.c: added round(x, [n]); coerce() of two class instances
will try to coerce anyway.
classobject.c: instance 'nonzero' should first try __nonzero__
only then __len__.
1993-02-12 16:29:05 +00:00
Guido van Rossum bf80e5407f * stdwinmodule.c: various new commands: setwin{pos,size},
listfontnames, bitmap ops.
* listobject.c: use mkvalue() when possible; avoid weird error when
  calling append() without args.
* modsupport.c: new feature in getargs(): if the format string
  contains a semicolor the string after that is used as the error
  message instead of "bad argument list (format %s)" when there's an
  error.
1993-02-08 15:49:17 +00:00
Guido van Rossum 6f5afc9a73 * ceval.c: ifdef out the last argument passing compat hack.
* Fixed memory leaks in socket, select and sv modules: mkvalue("O", v)
  does INCREF(v) so if v is brand new it should be XDECREF'd
1993-02-05 09:46:15 +00:00
Guido van Rossum 34679b7661 * Added Fixcprt.py: script to fix copyright message.
* various modules: added 1993 to copyright.
* thread.c: added copyright notice.
* ceval.c: minor change to error message for "+"
* stdwinmodule.c: check for error from wfetchcolor
* config.c: MS-DOS fixes (define PYTHONPATH, use DELIM, use osdefs.h)
* Add declaration of inittab to import.h
* sysmodule.c: added sys.builtin_module_names
* xxmodule.c, xxobject.c: fix minor errors
1993-01-26 13:33:44 +00:00
Guido van Rossum 0b0db8e3a0 Added separate main program for the Mac: macmain.c
stdwinmodule.c: wsetfont can now return an error
Makefile: add CL_USE and CL_LIB*S; config.c: move CL part around
New things in imgfile; also in Makefile.
longobject.c: fix comparison of negative long ints...  [REAL BUG!]
marshal.c: add dumps() and loads() to read/write strings
timemodule.c: make sure there's always a floatsleep()
posixmodule.c: rationalize struct returned by times()
Makefile: add test target, disable imgfile by default
thread.c: Improved coexistance with dl module (sjoerd)
stdwinmodule.c: Change include stdwin.h if macintosh
rotormodule.c: added missing last argument to RTR_?_region calls
confic.c: merged with configmac.c, added 1993 to copyright message
fileobject.c: int compared to NULL in writestring(); change fopenRF ifdef
timemodule.c: simplify times() using mkvalue; include myselect.h
  earlier (for sequent).
posixmodule: for sequent, include unistd.h instead of explicit
  extern definitions and don't define rename()
Makefile: change misleading/wrong MD5 comments
1993-01-21 16:07:51 +00:00
Sjoerd Mullender 76ab5feb45 ushdr_t was not defined so fill in its size instead of using sizeof. 1993-01-13 12:49:46 +00:00
Sjoerd Mullender e89341250d Added error checking.
Improved coexistance with dl module.
1993-01-13 12:08:48 +00:00
Guido van Rossum 775f4dacbc * Makefile: use cp -r to install the library
* ceval.c: use #ifdef COMPAT_HACKS instead of #if 0
* Makefile: fix to make clmodule.c compile;
  make config.o dependent on libpython.a (so date is always correct)
* timemodule.c: now sleep() also takes a float argument.
* posixmodule.c: added nice().
1993-01-09 17:18:52 +00:00
Sjoerd Mullender ed59d205a9 Various changes.
* Makefile: svmodule.c.proto and svgen.py are gone, svmodule.c came in
	their stead.  Also, pass -DUSE_DL flag to thread.c and give
	the user a possibility to add the -DDEBUG to just thread.c.
* ceval.c: init_save_thread() can be called more than once now.
* svgen.py, svmodule.c.proto, svmodule.c: Removed prototype file and
	replaced it by the generated file.
* thread.c: Added some more checks; added call to DL library when it
	is also used to tell it where the shared arena is so that DL
	can use some other area.
* threadmodule.c: Call init_save_thread from another place.  Also,
	added new function getlocklock() which does to lock objects
	what getfilefile does to file objects.
1993-01-06 13:36:38 +00:00
Guido van Rossum a2b7f40513 * Configure.py: use #!/usr/local/bin/python
* posixmodule.c: move extern function declarations to top
* listobject.c: cmp() arguments must be void* if __STDC__
* Makefile, allobjects.h, panelmodule.c, modsupport.c: get rid of
  strdup() -- it is a portability risk
* Makefile: enclosed ranlib command in parentheses for Sequent Make
  which aborts if the command is not found even if '-' is present
* timemodule.c: time() returns a floating point number, in microsecond
  precision if BSD_TIME is defined.
1993-01-04 09:09:59 +00:00
Guido van Rossum 5f59d6018e * mymalloc.h: always allocate one extra byte, since some malloc's
return NULL for malloc(0) or realloc(p, 0).  (This should be done
  differently than wasting one byte, but alas...)
* Moved "add'l libraries" option in Makefile to an earlier place.
* Remove argument compatibility hacks (b) and (c).
* Add grey2mono, dither2mono and mono2grey to imageop.
* Dup the fd in socket.fromfd().
* Added new modules mpz, md5 (by JH, requiring GNU MP 1.2).  Affects
  Makefile and config.c.
* socketmodule.c: added socket.fromfd(fd, family, type, [proto]),
  converted socket() to use of getargs().
1992-12-14 16:59:51 +00:00
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 c89705d697 * config.c: Added audioop to lists.
* Makefile: change default source directory
* socketmodule.c: added getsockname and getpeername
* bltinmodule.c: corrected typo in type() error message
* Added new built-in functions str() and repr(): repr(x) == `x`;
  str(x) == x if x is a string, otherwise str(x) == repr(x).
* Added joinfields to stropmodule.c (string.join calls joinfields now)
1992-11-26 08:54:07 +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 1899c2e055 Made builtins int(), long(), float(), oct() and hex() more generic. 1992-09-12 11:09:23 +00:00
Sjoerd Mullender d10d8291f1 Added C++ support in thread.h; don't use signals if not strictly
necessary, and when they are, use SIGKILL; when compiled with -DDEBUG,
only print debug messages when "THREADDEBUG" is set in the environment.
1992-09-11 15:19:27 +00:00
Guido van Rossum 2dff991f6b Give code objects a more useful representation. 1992-09-03 20:50:59 +00:00
Guido van Rossum 99bec95482 Add some debugging features if DEBUG defined
(fetch the filename as a string so I can see it with dbx, and set f_lineno);
call abort() when detecting an "undetected" error.
1992-09-03 20:29:45 +00:00
Guido van Rossum 59bff399a0 Add sys.exitfunc feature. Make askync non-static. 1992-09-03 20:28:00 +00:00
Guido van Rossum da8cd8638f Add $PYTHONSTARTUP feature. 1992-09-03 20:26:57 +00:00
Guido van Rossum 14b4adbd33 Add an optional interface to turn malloc debugging on and off. 1992-09-03 20:25:30 +00:00
Sjoerd Mullender 2179945eec newest version 1992-09-02 12:54:36 +00:00
Sjoerd Mullender aee8bc1fab adapted SV module to the new svideo library.
update thread package.
1992-09-02 11:25:37 +00:00
Guido van Rossum a93265a666 suppress unnecessary error message if too many arguments are passed 1992-08-27 07:45:12 +00:00
Guido van Rossum f9a2d33f01 fix *serious* (new) bug in testbool: by default objects should test
true, not false!!!
1992-08-19 16:41:45 +00:00
Guido van Rossum 2b81dc9c00 fix *serious* (new) bug in evalfile: forgot to initialize s!!! 1992-08-19 16:40:53 +00:00
Guido van Rossum f9f2e82fca New thread.c from Sjoerd, supports _exit_prog(). Use this in goaway()
to avoid hanging in cleanup().
1992-08-17 08:59:08 +00:00
Guido van Rossum 94390a4eaf use getargs() in more cases;
oct(0) should return '0', not '00'
1992-08-14 15:14:30 +00:00
Guido van Rossum 96caaee836 check for embedded \0 in strings for z and s formats 1992-08-14 15:12:03 +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 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 df72a655b9 To ignore a call, cast it to (void), not to (void *)... 1992-08-12 15:27:32 +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 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 138e6bf66e Removed confusing, incorrect comment. 1992-06-03 17:08:15 +00:00
Guido van Rossum ab2490a6d5 Added new types to setattr() as well... 1992-06-03 17:07:23 +00:00
Guido van Rossum 899dcf36a0 Added parameter decls to do_mkvalue for non-template machines 1992-05-15 11:04:59 +00:00
Guido van Rossum fc61adb5f1 Merged with Steve Miale's version 1992-04-13 15:53:41 +00:00
Guido van Rossum 3cfe6faffe Added mkvalue() function 1992-04-13 10:48:55 +00:00
Guido van Rossum bd9ccca812 Test for NULL coming out of err_get() in call_exc_trace() 1992-04-09 14:58:08 +00:00
Guido van Rossum 801dcae64d reverse sense of test for CHECKEXC 1992-04-08 11:32:32 +00:00
Guido van Rossum 5b7313a982 Arg of cmp_outcome becomes an int for portability to the Mac 1992-04-06 13:24:57 +00:00
Guido van Rossum 7cdf5eb5b9 Don't use NULL as 0 int! 1992-04-06 12:34:45 +00:00
Guido van Rossum 74b31c9826 Latest gramamr 1992-04-06 12:34:37 +00:00
Guido van Rossum bab9d03855 Copyright for 1992 added 1992-04-05 14:26:55 +00:00
Guido van Rossum 94fb82e461 Only * can be used for varargs argument lists 1992-04-05 14:24:50 +00:00
Guido van Rossum eee3fd495a (Hopefully) fix bug in reference count in call_exc_trace()
plus minor rearrangements found during debugging
1992-04-05 14:18:13 +00:00
Guido van Rossum e765f7dbae Fix reference counts of sys_trace and sys_profile 1992-04-05 14:17:55 +00:00
Guido van Rossum 2c81957ba1 tightened try statement syntax 1992-03-31 18:50:52 +00:00
Guido van Rossum dcc6ef2144 fix HUGE and MAXVAL (suggested by Tim Peters) 1992-03-27 17:30:32 +00:00
Guido van Rossum df840d911f lint 1992-03-27 17:29:44 +00:00
Guido van Rossum 0a066c07ac lint (added prototypes for all static fns) 1992-03-27 17:29:15 +00:00
Guido van Rossum f1aeab7f81 fix what lint found 1992-03-27 17:28:26 +00:00
Guido van Rossum 292bb8ea33 Shut up lint 1992-03-27 17:23:29 +00:00
Guido van Rossum 2807d191f0 Shut up lint. 1992-03-27 17:23:17 +00:00
Guido van Rossum e3d7045e47 Add -v option (verbose) and get rid of finaloutput() function (unused) 1992-03-27 17:21:30 +00:00
Guido van Rossum 4cd8b5cad8 Print messages about where from modules are imported when -v is given. 1992-03-27 17:21:04 +00:00
Guido van Rossum c1b5cec10e *** empty log message *** 1992-03-24 13:46:39 +00:00
Guido van Rossum e2437a191d Added settrace() and setprofile(). 1992-03-23 18:20:18 +00:00
Guido van Rossum 9c8d70de45 New trace implementation; and profile (in a similat vein). 1992-03-23 18:19:28 +00:00
Guido van Rossum 56a1bcc107 Totally get rid of silly '\E' escape. 1992-03-12 17:36:11 +00:00
Guido van Rossum 22ebe2f4a7 Strip leading whitespace from input(). 1992-03-12 17:33:52 +00:00
Guido van Rossum f08ab0ad15 Skip leading whitespace of eval() string argument. 1992-03-04 16:41:41 +00:00
Guido van Rossum c4adc83378 Set sys.last_{type,value} to characteristics of last unhandled exception. 1992-03-04 16:39:39 +00:00
Guido van Rossum 299a734744 Tighten error handling of string printing. 1992-03-04 16:39:08 +00:00
Guido van Rossum d8bac6de57 Move SEP to osdefs.h. Use MAXPATHLEN from osdefs.h. 1992-02-26 15:19:13 +00:00
Guido van Rossum 7169dbb76d Move printing of filename and lineno to tb_displayline.
Search sys.path if the filename isn't found.
Include osdefs.h.
1992-02-26 15:17:59 +00:00
Guido van Rossum 0f61f8a4bd Added execfile(). 1992-02-25 18:55:05 +00:00
Guido van Rossum 9b1d33b105 Use correct prototype for invert(). 1992-02-11 15:56:02 +00:00
Guido van Rossum 5778949295 Get rid of comment about open(). 1992-02-05 11:17:52 +00:00
Guido van Rossum 16dfd29e44 Limit length of name passed to sprintf. 1992-02-05 11:17:30 +00:00
Guido van Rossum c4884007f9 EOF in source is a SyntaxError, not an EOFError. 1992-02-05 11:16:47 +00:00
Guido van Rossum 4ddf8cc408 Get rid of "Unhandled exception: " altogether. 1992-02-05 11:16:28 +00:00
Guido van Rossum 33894be657 Added getattr and setattr built-in functions. 1992-01-27 16:53:09 +00:00
Guido van Rossum cb4eeddeea Don't print "Unhandled exception: " when one occurs -- just print its name. 1992-01-27 16:48:10 +00:00
Guido van Rossum 922cfad5a3 New getargs() function: a single varargs function,
guided by a format string, makes all get*arg() functions unnecessary.
1992-01-27 16:47:03 +00:00
Guido van Rossum 5ad58c6aef sysset(name, NULL) does nothing if sys.name is undefined 1992-01-26 18:15:48 +00:00
Guido van Rossum e0513dee58 getbinaryname is now part of dl_loadmod. 1992-01-26 18:15:22 +00:00
Guido van Rossum 598fd8c980 Raise SyntaxError for syntax errors detected in this phase. 1992-01-26 18:12:03 +00:00
Guido van Rossum 8401e5678c Added -d option (increments debugging variable); mostly to get rid
of a compiler warning.
1992-01-19 16:48:36 +00:00
Guido van Rossum acbefefe21 Use strtoul() for oct/hex constants.
Accept * as well as + in varargs arg list.
1992-01-19 16:33:51 +00:00
Guido van Rossum e25c25635e Support for dynamic loading added. 1992-01-19 16:28:21 +00:00
Guido van Rossum 8ec25b410c If sys.trace is None, don't trace. For exceptions, only use
the local trace function.
1992-01-19 16:26:13 +00:00
Guido van Rossum 6d80647f7f long_format() is now declared in longobject.h. 1992-01-19 16:25:49 +00:00
Guido van Rossum c6515d12b7 tb_here() can now get the lasti and lineno arguments from the frame. 1992-01-14 18:44:48 +00:00
Guido van Rossum ee3a299c39 Ensure that sys.argv[0] always exists (maybe as empty string). 1992-01-14 18:42:53 +00:00
Guido van Rossum 23d5cdebac New version from the net. 1992-01-14 18:42:23 +00:00
Guido van Rossum cc59e94899 Don't depend on patchlevel.h. 1992-01-14 18:40:47 +00:00
Guido van Rossum 49d6dc4123 Added varargs code. 1992-01-14 18:30:26 +00:00
Guido van Rossum 6a3f9a841a Added UNPACK_VARARG code. 1992-01-14 18:29:20 +00:00
Guido van Rossum 39d942da0f add READONLY to member list. 1992-01-12 02:30:05 +00:00
Guido van Rossum 96a42c85bc User trace feature. 1992-01-12 02:29:51 +00:00
Guido van Rossum 626dae7a42 Fix bug in assign_slice for negative index; used length of wrong object! 1992-01-10 00:28:07 +00:00
Guido van Rossum 46b1638044 Stop option processing immediately after "-c command",
leaving additional options for the command to handle.
1992-01-02 16:16:18 +00:00
Guido van Rossum 6a468bf71c Raise SystemExit instead of calling goaway(). 1991-12-31 13:15:35 +00:00
Guido van Rossum 5afc74757b Clear errno, just to be sure. 1991-12-31 13:15:19 +00:00
Guido van Rossum a534ed3ee7 Catch SystemExit and go away if it is caught. 1991-12-31 13:14:48 +00:00
Guido van Rossum 768a3f0ab8 Added SystemExit. 1991-12-31 13:13:47 +00:00
Guido van Rossum a9df32ab2a Minor changes. 1991-12-31 13:13:35 +00:00
Guido van Rossum 54a41d6366 Don't rely on <string.h> 1991-12-24 13:29:10 +00:00
Guido van Rossum 4135e78204 Use IOError and ImportError when import fails. 1991-12-24 13:26:56 +00:00
Guido van Rossum 86d8e63433 EOF while parsing should raise EOFError, not SyntaxError. 1991-12-24 13:26:15 +00:00
Guido van Rossum 98256aa518 Negative subscript are now allowed as in slices.
Added ImportError.
1991-12-24 13:25:19 +00:00
Guido van Rossum ed7711b7cb Sorted exceptions; added ImportError. 1991-12-24 13:24:53 +00:00
Guido van Rossum 6e93c07a06 Change RuntimeError into IOError when module file not found on reload. 1991-12-16 15:43:47 +00:00
Guido van Rossum fb905c3ebf Regularize exceptions. 1991-12-16 15:42:38 +00:00
Guido van Rossum efb087b13f Changed some RuntimeErrors. 1991-12-16 15:41:41 +00:00
Guido van Rossum c06022966f Add "varargs" attribute. 1991-12-16 13:07:24 +00:00
Guido van Rossum 3ddee714d1 New magic word; and check it. 1991-12-16 13:06:34 +00:00
Guido van Rossum b954c2c39f Use SyntaxError. 1991-12-16 13:05:50 +00:00
Guido van Rossum 288a60f973 New argument passing. 1991-12-16 13:05:10 +00:00
Guido van Rossum 9c7b861a00 New argument passing mechanism. 1991-12-16 13:04:47 +00:00
Guido van Rossum c02e15c45e Added "apply"; added "SyntaxError"; changed table lay-out. 1991-12-16 13:03:00 +00:00
Guido van Rossum 7177657bf2 Added sys.version object. 1991-12-10 14:00:21 +00:00
Guido van Rossum 87e7ea72a6 Use new exceptions. 1991-12-10 14:00:03 +00:00
Guido van Rossum c5e96291d0 Implement 'global' and new class syntax. 1991-12-10 13:53:51 +00:00
Guido van Rossum 32c6cdf776 Added STORE_GLOBAL and DELETE_GLOBAL.
Exceptions may now also be tuples.
1991-12-10 13:52:46 +00:00
Guido van Rossum 50afb7a216 Added new exceptions. 1991-12-10 13:52:31 +00:00
Guido van Rossum 7928cd7636 Added shift and mask ops. 1991-10-24 14:59:31 +00:00
Guido van Rossum 006bcd42ac Made dir() more robust.
Added hex() and oct().
1991-10-24 14:54:44 +00:00
Guido van Rossum 7e3090cf08 newclassobject() gets a third argument 1991-10-20 20:26:16 +00:00
Guido van Rossum 2f1d87e9c2 Added __members__ secret attribute 1991-10-20 20:24:14 +00:00
Guido van Rossum 5063bab973 Check for EINTR and turn it into KeyboardInterrupt
in err_errno().
1991-10-20 20:14:56 +00:00
Guido van Rossum 01cfd447d0 Comment out 'abort()' call.
Changed comparison operators.
1991-10-20 20:12:38 +00:00
Guido van Rossum dc8a108a36 Protect dir() against non-directory __dict__ attributes. 1991-10-20 20:11:03 +00:00
Guido van Rossum c5da350310 getlonglongargs --> getlonglongarg
Added getlongobjectarg.
1991-09-10 14:56:32 +00:00
Guido van Rossum b881314b6f Use dict2lookup. 1991-08-16 09:01:55 +00:00
Guido van Rossum f0ada4a130 Use more dict2 functions./ 1991-08-16 09:01:08 +00:00
Guido van Rossum 831632507a Use dmore dict2lookup. 1991-08-16 08:58:43 +00:00
Guido van Rossum df62e44f38 Changed many calls to dict stufff to dict2 variants.
*** Somehow the call to printobject was changed back to fwrite?!?! ***
1991-08-16 08:56:04 +00:00
Guido van Rossum a57fb011f1 Change getbuiltin interface to get the name as an object;
call dict2lookup insteead of dictlookup.
1991-08-16 08:54:58 +00:00
Guido van Rossum 139e57b2a4 Support for long integers 1991-07-27 21:39:31 +00:00
Guido van Rossum ef098519ed New grammar (semicolons, continue, no multiple NEWLINES) 1991-07-27 21:37:24 +00:00
Guido van Rossum 4bad92cc8a New syntax: semicolons, continue statement.
For the latter we must keep track of the current block's type.
(We can't continue through a try statement, sigh.()
1991-07-27 21:34:52 +00:00
Guido van Rossum 76a00af3f2 Support for long integers 1991-07-27 21:34:00 +00:00
Guido van Rossum 83bf35cb27 Add interface to call a Python function (or other callable) object
from C.
1991-07-27 21:32:34 +00:00
Guido van Rossum a60810973d Call printobject instead of fwrite to print strings. 1991-07-22 11:48:07 +00:00
Guido van Rossum ef0068ff9d Added getintintintarg() (3 int args) 1991-07-01 18:47:30 +00:00
Guido van Rossum efc0bd02e5 Check for identical types before comparing objects to see if they
are the same -- 0 and 0.0 compare equal but should be considered different
here!
1991-07-01 18:44:20 +00:00
Guido van Rossum 89d55cad95 Call coerce() in arithmetic operations, to support mixed mode arithmetic 1991-07-01 18:43:13 +00:00
Guido van Rossum c6bb8f7ab2 Add and use coerce() routine for mixed mode arithmetic 1991-07-01 18:42:41 +00:00
Guido van Rossum d6a15ada72 Generalize to macintosh. 1991-06-24 22:30:42 +00:00
Guido van Rossum 247ff718df Don't use printobject() to print a string (filename).
Print ';' instead of ',' between file and line for MPW.
1991-06-24 22:25:27 +00:00
Guido van Rossum d783a46d73 printobject now returns an error code 1991-06-07 22:35:42 +00:00
Guido van Rossum 909336104b printobject now returns an error code 1991-06-07 16:10:43 +00:00
Guido van Rossum 689e701919 Add run_command() to implement "-c command". 1991-06-07 13:59:53 +00:00
Guido van Rossum 64b4552069 Add marshalling for dictionaries. 1991-06-07 13:58:22 +00:00
Guido van Rossum 065d71e271 Declare errno, for prehistoric systems. 1991-06-04 20:23:28 +00:00
Guido van Rossum dce2e3d8f5 Initial revision 1991-06-04 19:42:30 +00:00
Guido van Rossum a082ce40a6 Changed and exported newcodeobject() interface, for ".pyc" files. 1991-06-04 19:41:56 +00:00
Guido van Rossum 3caa6e35cf Added fclose to newopenfileobject() calls. 1991-06-04 19:40:59 +00:00
Guido van Rossum c405b7b2fa Support ".pyc" files: cached compilation results.
(Similar to Emacs ".elc" files.)
1991-06-04 19:39:42 +00:00
Guido van Rossum 2cfd356f0a Removed Think C 3.0 stuff and wish list. 1991-06-04 19:38:58 +00:00
Guido van Rossum 067b9c0aef Remove test for unimplemented sq_repeat method (see tupleobject comments) 1991-06-04 19:36:54 +00:00
Guido van Rossum ad40531aa1 Fix conversion of double to long; stylistic changes. 1991-06-03 10:58:01 +00:00
Guido van Rossum fb8edfce22 Don't optimize <string> and <stdin> code 1991-05-14 11:56:03 +00:00
Guido van Rossum 4965bc8ac4 Declare ticker as int; made testbool generic for all numeric types 1991-05-14 11:51:49 +00:00
Guido van Rossum eb4361af6c Defined path delimiter for MS-DOS as semicolon 1991-05-05 20:14:35 +00:00
Guido van Rossum 175a9ea8c8 Pre-define MS-DOS separator 1991-05-05 20:07:59 +00:00
Guido van Rossum e3a204fe47 Added long integer support. 1991-05-05 20:05:35 +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 d4905454cc Added long() and support for longs in int() and float();
turned abs() and divmod() into generic versions;
added pow().
1991-05-05 20:00:36 +00:00
Guido van Rossum 753e2bfbbf Initial revision 1991-04-16 08:45:40 +00:00
Guido van Rossum a5900aa549 Move allobjects.h to front (needed by THINK C precompiled headers) 1991-04-16 08:42:06 +00:00
Guido van Rossum 0a697f686f BUGFIX! Instructions are unsigned bytes. 1991-04-16 08:39:12 +00:00
Guido van Rossum 26203aa422 Use fileobject's filegetline() to implement unlimited raw_input(). 1991-04-04 15:20:41 +00:00
Guido van Rossum e6c67a7263 Added isatty() for MPW. 1991-04-04 10:47:59 +00:00
Guido van Rossum 282914b7b0 Added error checking for numeric constants; added local/global variable
optimization.
1991-04-04 10:42:56 +00:00
Guido van Rossum 374a92261b Moved support functions after main function; added prototypes;
Fixed 'needspace' hack to use a flag in the stdout file object;
added local and global variable lookup cases.
1991-04-04 10:40:29 +00:00
Guido van Rossum 7a904edcbf Moved get*doublearg() routines here from mathmodule.c 1991-04-03 19:06:26 +00:00
Guido van Rossum 66f1fa83f1 Added forward declaration (to satisfy Standard C). 1991-04-03 19:03:52 +00:00
Guido van Rossum 62d4624ea3 Create code string with initial size of 1000 instead of 0. 1991-04-03 19:00:23 +00:00
Guido van Rossum b8824952cb Define and use GETNAMEV macro. 1991-04-03 18:59:50 +00:00
Guido van Rossum e7ef22ef41 Include patchlevel.h (to ensure it is distributed with the rest). 1991-03-06 13:09:35 +00:00
Guido van Rossum f70e43a073 Added copyright notice. 1991-02-19 12:39:46 +00:00
Guido van Rossum 7927384a1d Added version that opens a pipe to /bin/pwd. 1991-02-19 12:28:18 +00:00
Guido van Rossum 7f133ed073 Call the init function of a built-in module here.
,
1991-02-19 12:23:57 +00:00
Guido van Rossum 865828d7cf Reversed min and max (to alphabetical order). 1991-02-19 12:21:50 +00:00
Guido van Rossum 4c4177865d Fix bug in input(); add comments to cases in compile(). 1991-01-21 16:09:22 +00:00
Guido van Rossum 86cd6e646e File name shortening. 1991-01-21 15:12:35 +00:00
Guido van Rossum de9775af8f Initial revision 1991-01-21 14:27:52 +00:00
Guido van Rossum 73531a3bae Return -1 for errors. 1990-12-20 23:12:40 +00:00
Guido van Rossum 6c4f4a92ac Changes for THINK C 4.0.
Don't call inittime() and initmath(), let config_*.c decide about those.
1990-12-20 23:11:33 +00:00
Guido van Rossum f22120ab74 Changed include of <errno.h> 1990-12-20 23:05:40 +00:00
Guido van Rossum 40d0b7e904 Change div() into divide(); div() is a Standard C function. 1990-12-20 23:03:11 +00:00
Guido van Rossum 3f5da24ea3 "Compiling" version 1990-12-20 15:06:42 +00:00
Guido van Rossum 5b3138bec0 Empty all modules' symbol tables, so most circular references are
cleared up.
(A function definition references its module's symbol table but
the symbol table of course references the function...)
1990-11-18 17:41:40 +00:00
Guido van Rossum c6aa9e90ad Some extra DECREFs. 1990-11-18 17:40:32 +00:00
Guido van Rossum 3304975647 Add extra DECREF. 1990-11-18 17:36:26 +00:00
Guido van Rossum d6f3bc2aae Compile class definitions.
Document and fix code generation for try statements.
Use two bytes for all arguments.
Avoid duplicate entries in lists of constants and names.
1990-11-18 17:35:03 +00:00
Guido van Rossum e9736fc8a1 Free parse tree after compiling.
Added support for class definitions.
Reorganized main interpreter loop to fetch op and arg once at the head.
Use two bytes for arguments (see ceval.c).
1990-11-18 17:33:06 +00:00
Guido van Rossum da0c6bdfe3 Moved configuration-dependent initializations (etc.) to config_*.c 1990-11-18 17:28:24 +00:00
Guido van Rossum 10dc2e8097 Initial revision 1990-11-18 17:27:39 +00:00
Guido van Rossum f1ac403c4d Reformulated err_badarg error message. 1990-11-09 15:05:53 +00:00
Guido van Rossum 3d54f2d3d9 Added provision for THINK C which doesn't have sys_nerrors or sys_errlist. 1990-11-02 17:51:17 +00:00
Guido van Rossum f5401bd49e Added prototype for strerror. 1990-11-02 17:50:28 +00:00
Guido van Rossum 3ccb6172f8 removed dir statement. Function arguments may now be tests. 1990-10-26 15:01:05 +00:00
Guido van Rossum 8d15b5d036 Added reload() functionality. 1990-10-26 14:58:58 +00:00
Guido van Rossum 17e66f6d87 Added intobject.h and tupleobject.h includes. 1990-10-26 14:53:07 +00:00
Guido van Rossum 683a072642 Added err_badcall(). 1990-10-21 22:09:12 +00:00
Guido van Rossum 536d5d3523 Call asa_done() in goaway(). 1990-10-14 20:05:00 +00:00
Guido van Rossum 68c35d01d6 Move err_badarg() and err_nomme() to errors.c. 1990-10-14 20:02:48 +00:00
Guido van Rossum 7d310eb081 Adde dconvenience functions. 1990-10-14 20:00:05 +00:00
Guido van Rossum 85a5fbbdfe Initial revision 1990-10-14 12:07:46 +00:00