Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!decwrl!adobe!greid From: greid@adobe.com (Glenn Reid) Newsgroups: comp.lang.postscript Subject: Re: dictfull?? Message-ID: <429@adobe.UUCP> Date: 11 Feb 89 05:35:01 GMT References: <4242@pt.cs.cmu.edu> <50250@yale-celray.yale.UUCP> Sender: news@adobe.COM Reply-To: greid@adobe.COM (Glenn Reid) Organization: Adobe Systems Incorporated, Mountain View Lines: 23 In article <50250@yale-celray.yale.UUCP> engelson@cs.yale.edu (Sean Engelson) writes: >It is your "/fu 0 def"s that are filling up the dictionary. You see, >def creates a new binding, rather than setting a variable. What you >should do is create one binding somewhere, and use "/fu 0 store" >instead. If you want local bindings, do something like: Although it is a good idea to create local dictionaries, it is not true that "def" will fill up a dictionary. It does not "create a new binding," it essentially just overwrites the old one. A far more likely cause for a "dictfull" error is for something else to accidentally leave a dictionary on the dictionary stack that has very few entries left in it. Look for a "begin" without a matching "end" somewhere. User-defined fonts are famous for this. You might also put in tests with "countdictstack" when entering and leaving various procedures, issuing an error message if they don't match. I haven't had a chance to look at the original posting yet; perhaps I will notice something. Glenn Reid Adobe Systems