glCallList causes the named display list to be executed. The
commands saved in the display list are executed in order, just as if they
were called without using a display list. If list has not been defined as
a display list, glCallList is ignored.

glCallList can appear inside a display
list. To avoid the possibility of infinite recursion resulting from display
lists calling one another, a limit is placed on the nesting level of display
lists during display-list execution. This limit is at least 64, and it depends
on the implementation.

GL state is not saved and restored across a call
to glCallList. Thus, changes made to GL state during the execution of a
display list remain after execution of the display list is completed. Use
glPushAttrib, glPopAttrib, glPushMatrix, and glPopMatrix to preserve GL
state across glCallList calls.