[Python-checkins] CVS: python/dist/src/Doc/lib libdis.tex,1.30,1.31

Jeremy Hylton jhylton@users.sourceforge.net
Fri, 23 Mar 2001 09:23:52 -0800


Update of /cvsroot/python/python/dist/src/Doc/lib
In directory usw-pr-cvs1:/tmp/cvs-serv1640/lib

Modified Files:
	libdis.tex 
Log Message:
Add nested scopes spec to appendix.

Add new opcodes LOAD_CLOSURE, LOAD_DEREF, STORE_DEREF, MAKE_CLOSURE to
docs for dis module.

Add docs for new function and code members in Sec. 3 of ref manual.
They're present regardless of whether nested scopes are used.

Remove description of default argument hack from Sec. 7 of the ref
manual and refer the reader to the appendix.


Index: libdis.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libdis.tex,v
retrieving revision 1.30
retrieving revision 1.31
diff -C2 -r1.30 -r1.31
*** libdis.tex	2000/10/10 22:00:03	1.30
--- libdis.tex	2001/03/23 17:23:49	1.31
***************
*** 557,560 ****
--- 557,579 ----
  \end{opcodedesc}
  
+ \begin{opcodedesc}{LOAD_CLOSURE}{i}
+ Pushes a reference to the cell contained in slot \var{i} of the
+ cell and free variable storage.  The name of the variable is 
+ \code{co_cellvars[\var{i}]} if \var{i} is less than the length of
+ \var{co_cellvars}.  Otherwise it is 
+ \code{co_freevars[\var{i} - len(co_cellvars)]}.
+ \end{opcodedesc}
+ 
+ \begin{opcodedesc}{LOAD_DEREF}{i}
+ Loads the cell contained in slot \var{i} of the cell and free variable
+ storage.  Pushes a reference to the object the cell contains on the
+ stack. 
+ \end{opcodedesc}
+ 
+ \begin{opcodedesc}{STORE_DEREF}{i}
+ Stores TOS into the cell contained in slot \var{i} of the cell and
+ free variable storage.
+ \end{opcodedesc}
+ 
  \begin{opcodedesc}{SET_LINENO}{lineno}
  Sets the current line number to \var{lineno}.
***************
*** 582,585 ****
--- 601,612 ----
  with the function.  The function object is defined to have \var{argc}
  default parameters, which are found below TOS.
+ \end{opcodedesc}
+ 
+ \begin{opcodedesc}{MAKE_CLOSURE}{argc}
+ Creates a new function object, sets its \var{func_closure} slot, and
+ pushes it on the stack.  TOS is the code associated with the function.
+ If the code object has N free variables, the next N items on the stack
+ are the cells for these variables.  The function also has \var{argc}
+ default parameters, where are found before the cells.
  \end{opcodedesc}