Programming Python, 2nd Edition by Mark Lutz The following errata were *corrected* in the 7/04 reprint: Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem (95) 5th paragraph (Shared global memory): setting data in global vmemory. NOW READS:: setting data in global memory. {405} second paragraph, lines 3 and 4; "to get full expandability, call the grid container's rowconfig method for each row, and its columnconfig for each column." NOW READS: "to get full expandability, call the grid container's rowconfigure method for each row, and its columnconfigure for each column." {409} grid5b.py, line 19 l.grid(row=numrow, col=i, sticky=NSEW) NOW READS: l.grid(row=numrow, column=i, sticky=NSEW) {411} line 8 on page 411, line 27 in example grid5c.py; l.grid(row=numrow+1, col=i, sticky=NSEW) NOW READS: l.grid(row=numrow+1, column=i, sticky=NSEW) {623} interaction listing at bottom of page: The following two lines (i.e., the 2nd and 3rd lines from the bottom of the page), were a redundant listing and HAVE BEEN DELETED: There are 5 mail messages in 7150 bytes Retrieving: 1 2 3 4 5 {786} Second paragraph in section "Security protocols"; The phrase "and runs on a server whose Python did not have secure socket support built in," HAS BEEN DELETED. (1021) In the sentence at very top of page: "..., it's a fun way explore..." NOW READS: "..., it's a fun way to explore..." (1081) first sentence of second paragraph: "..., and each operator are applied by calling eval." NOW READS: "..., and each operator is applied by calling eval."