Hello, again. Sheesh. Its starting to come back to me, this 'c' stuff.
It looks like the recursion is starting *after* all the environment variables are initially processed, when what looks to my uneducated eye the elisp list constructed in 'Vprocess_environment' from strings of variable names/values is being copied to 'Vinitial_environment'. 'Fcopy_sequence' is used to do the copy, which invokes 'Fconcat' (!) which invokes 'concat' which invokes 'Flength', which bombs with 'wrong_type_argument'. IIUC, the intent of 'concat' is to assemble a single result string from inputs that may be strings and/or lists/vectors of integers (all presumably representing characters). The comments in the code indicate that the intent is to make a copy of the environment array rather than one long string, so it does appear that something is going pretty wrong here. Not being familiar with Emacs internals, I really can't say for sure, but is it possible that some sort of type information is getting lost here, so that 'concat' is invoked by mistake? =========================================== void set_initial_environment () { register char **envp; #ifndef CANNOT_DUMP if (initialized) #endif { for (envp = environ; *envp; envp++) Vprocess_environment = Fcons (build_string (*envp), Vprocess_environment); /* Ideally, the `copy' shouldn't be necessary, but it seems it's frequent to use `delete' and friends on process-environment. */ Vinitial_environment = Fcopy_sequence (Vprocess_environment); } } ============================================ Thanks for your time, Chris Hall ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Emacs-app-dev- mailing list Emacs-app-dev-@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emacs-app-dev-