emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: No GCPRO in directory-files and directory-files-and-attributes


From: Lars Hansen
Subject: Re: No GCPRO in directory-files and directory-files-and-attributes
Date: Wed, 10 Dec 2003 19:45:56 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021130



Calling call1 etc. does not GCPRO the variables from which the
argument values are obtained, any more than calling Ffuncall does.

Well, I don't know much about these things, but these lines are from call1:

   args[0] = fn;
   args[1] = arg1;
   GCPRO1 (args[0]);
   gcpro1.nvars = 2;
   RETURN_UNGCPRO (Ffuncall (2, args));

To me it looks as the arguments are protcted.

I don't think there is a bug.  Those values will never be used again,
so they don't need to be GCPRO'd.
In eval.c there is the following comment:

   /* NOTE!!! Every function that can call EVAL must protect its args
      and temporaries from garbage collection while it needs them.
      The definition of `For' shows what you have to do.  */

When directory-files and directory-files-and-attributes call file name handlers I think eval may be called.
So to me it still looks like a bug. Am I missing something?






reply via email to

[Prev in Thread] Current Thread [Next in Thread]