]> granicus.if.org Git - python/commitdiff
Added doc strings. Maybe the doc string for the module itself is a bit
authorGuido van Rossum <guido@python.org>
Sat, 27 Jun 1998 19:43:25 +0000 (19:43 +0000)
committerGuido van Rossum <guido@python.org>
Sat, 27 Jun 1998 19:43:25 +0000 (19:43 +0000)
long, but it sure helps!

Python/sysmodule.c

index ae16baf4c6ce8905452df029a9f6429f9902a9d0..97d0cac04d599cb7917ea6a67cb04e7feb9f2a8b 100644 (file)
@@ -115,6 +115,12 @@ sys_exc_info(self, args)
                        tstate->exc_traceback : Py_None);
 }
 
+static char exc_info_doc[] =
+"exc_info() -> (type, value, traceback)\n\
+\n\
+Return information about the exception that is currently being handled.\n\
+This should be called from inside an except clause only.";
+
 static PyObject *
 sys_exit(self, args)
        PyObject *self;
@@ -125,6 +131,15 @@ sys_exit(self, args)
        return NULL;
 }
 
+static char exit_doc[] =
+"exit([status])\n\
+\n\
+Exit the interpreter by raising SystemExit(status).\n\
+If the status is omitted or None, it defaults to zero (i.e., success).\n\
+If the status numeric, it will be used as the system exit status.\n\
+If it is another kind of object, it will be printed and the system\n\
+exit status will be one (i.e., failure).";
+
 static PyObject *
 sys_settrace(self, args)
        PyObject *self;
@@ -141,6 +156,12 @@ sys_settrace(self, args)
        return Py_None;
 }
 
+static char settrace_doc[] =
+"settrace(function)\n\
+\n\
+Set the global debug tracing function.  It will be called on each\n\
+function call.  See the debugger chapter in the library manual.";
+
 static PyObject *
 sys_setprofile(self, args)
        PyObject *self;
@@ -157,6 +178,12 @@ sys_setprofile(self, args)
        return Py_None;
 }
 
+static char setprofile_doc[] =
+"setprofile(function)\n\
+\n\
+Set the profiling function.  It will be called on each function call\n\
+and return.  See the profiler chapter in the library manual.";
+
 static PyObject *
 sys_setcheckinterval(self, args)
        PyObject *self;
@@ -169,6 +196,12 @@ sys_setcheckinterval(self, args)
        return Py_None;
 }
 
+static char setcheckinterval_doc[] =
+"setcheckinterval(n)\n\
+\n\
+Tell the Python interpreter to check for asynchronous events every\n\
+n instructions.  This also affects how often thread switches occur.";
+
 #ifdef USE_MALLOPT
 /* Link with -lmalloc (or -lmpc) on an SGI */
 #include <malloc.h>
@@ -198,6 +231,12 @@ sys_getrefcount(self, args)
        return PyInt_FromLong((long) arg->ob_refcnt);
 }
 
+static char getrefcount_doc[] =
+"getrefcount(object) -> integer\n\
+\n\
+Return the current reference count for the object.  This includes the\n\
+temporary reference in the argument list, so it is at least 2.";
+
 #ifdef COUNT_ALLOCS
 static PyObject *
 sys_getcounts(self, args)
@@ -223,8 +262,8 @@ extern PyObject *_Py_GetDXProfile Py_PROTO((PyObject *,  PyObject *));
 
 static PyMethodDef sys_methods[] = {
        /* Might as well keep this in alphabetic order */
-       {"exc_info",    sys_exc_info, 0},
-       {"exit",        sys_exit, 0},
+       {"exc_info",    sys_exc_info, 0, exc_info_doc},
+       {"exit",        sys_exit, 0, exit_doc},
 #ifdef COUNT_ALLOCS
        {"getcounts",   sys_getcounts, 0},
 #endif
@@ -234,13 +273,13 @@ static PyMethodDef sys_methods[] = {
 #ifdef Py_TRACE_REFS
        {"getobjects",  _Py_GetObjects, 1},
 #endif
-       {"getrefcount", sys_getrefcount, 0},
+       {"getrefcount", sys_getrefcount, 0, getrefcount_doc},
 #ifdef USE_MALLOPT
        {"mdebug",      sys_mdebug, 0},
 #endif
-       {"setcheckinterval",    sys_setcheckinterval, 1},
-       {"setprofile",  sys_setprofile, 0},
-       {"settrace",    sys_settrace, 0},
+       {"setcheckinterval",    sys_setcheckinterval, 1, setcheckinterval_doc},
+       {"setprofile",  sys_setprofile, 0, setprofile_doc},
+       {"settrace",    sys_settrace, 0, settrace_doc},
        {NULL,          NULL}           /* sentinel */
 };
 
@@ -271,6 +310,62 @@ list_builtin_module_names()
        return list;
 }
 
+/* XXX If your compiler doesn't like strings this long, edit it. */
+static char sys_doc[] =
+"This module provides access to some objects used or maintained by the\n\
+interpreter and to functions that interact strongly with the interpreter.\n\
+\n\
+Dynamic objects:\n\
+\n\
+argv -- command line arguments; argv[0] is the script pathname if known\n\
+path -- module search path; path[0] is the script directory, else ''\n\
+modules -- dictionary of loaded modules\n\
+exitfunc -- you may set this to a function to be called when Python exits\n\
+\n\
+stdin -- standard input file object; used by raw_input() and input()\n\
+stdout -- standard output file object; used by the print statement\n\
+stderr -- standard error object; used for error messages\n\
+  By assigning another file object (or an object that behaves like a file)\n\
+  to one of these, it is possible to redirect all of the interpreter's I/O.\n\
+\n\
+last_type -- type of last uncaught exception\n\
+last_value -- value of last uncaught exception\n\
+last_traceback -- traceback of last uncaught exception\n\
+  These three are only available in an interactive session after a\n\
+  traceback has been printed.\n\
+\n\
+exc_type -- type of exception currently being handled\n\
+exc_value -- value of exception currently being handled\n\
+exc_traceback -- traceback of exception currently being handled\n\
+  The function exc_info() should be used instead of these three,\n\
+  because it is thread-safe.\n\
+\n\
+Static objects:\n\
+\n\
+maxint -- the largest supported integer (the smallest is -maxint-1)\n\
+builtin_module_names -- tuple of module names built into this intepreter\n\
+version -- the version of this interpreter\n\
+copyright -- copyright notice pertaining to this interpreter\n\
+platform -- platform identifier\n\
+executable -- pathname of this Python interpreter\n\
+prefix -- prefix used to find the Python library\n\
+exec_prefix -- prefix used to find the machine-specific Python library\n\
+dllhandle -- [Windows only] integer handle of the Python DLL\n\
+winver -- [Windows only] version number of the Python DLL\n\
+__stdin__ -- the original stdin; don't use!\n\
+__stdout__ -- the original stdout; don't use!\n\
+__stderr__ -- the original stderr; don't use!\n\
+\n\
+Functions:\n\
+\n\
+exc_info() -- return thread-safe information about the current exception\n\
+exit() -- exit the interpreter by raising SystemExit\n\
+getrefcount() -- return the reference count for an object (plus one :-)\n\
+setcheckinterval() -- control how often the interpreter checks for events\n\
+setprofile() -- set the global profiling function\n\
+settrace() -- set the global debug tracing function\n\
+";
+
 PyObject *
 _PySys_Init()
 {
@@ -278,7 +373,7 @@ _PySys_Init()
        PyObject *m, *v, *sysdict;
        PyObject *sysin, *sysout, *syserr;
 
-       m = Py_InitModule("sys", sys_methods);
+       m = Py_InitModule3("sys", sys_methods, sys_doc);
        sysdict = PyModule_GetDict(m);
 
        sysin = PyFile_FromFile(stdin, "<stdin>", "r", NULL);