Opened 10 years ago

Last modified 10 years ago

#343 new defect

interactively evaluated or compiled functions don't get arglist saved

Reported by: Alan Ruttenberg Owned by:
Priority: minor Milestone:
Component: interpreter Version:
Keywords: Cc:
Parent Tickets:


Index: precompiler.lisp
--- precompiler.lisp (revision 14581)
+++ precompiler.lisp (working copy)
@@ -1184,6 +1184,7 @@

(setf lambda-expression (precompiler:precompile-form lambda-expression nil)))


(%defun ',name ,lambda-expression)

+ (%set-arglist (symbol-function ',name) ,(format nil "~{~a~ ~}" (third lambda-expression)))

,@(when doc

`((%set-documentation ',name 'function ,doc)))))))))

Change History (3)

comment:1 Changed 10 years ago by Alan Ruttenberg

Maybe exclude the case where it is done while loading. Not sure of right way to test, perhaps

(unless *load-pathname*
		  (%set-arglist (symbol-function ',name) ,(format nil "~{~a~^ ~}" (third lambda-expression))))

though source isn't currently recorded either and binding *load-pathname* when evaluating in emacs buffer might be easiest way to patch that.

comment:2 Changed 10 years ago by Mark Evenson

With that patch I cannot seemingly get ABCL to start after compiling from scratch:

Low-level initialization completed in 0.798 seconds.
	at org.armedbear.lisp.Primitives$pf_error.execute(
	at org.armedbear.lisp.Primitive.execute(
	at org.armedbear.lisp.Symbol.execute(
	at org.armedbear.lisp.Lisp.error(
	at org.armedbear.lisp.Load.loadSystemFile(
	at org.armedbear.lisp.Load$load_system_file.execute(
	at org.armedbear.lisp.LispThread.execute(
	at org.armedbear.lisp.Lisp.evalCall(
	at org.armedbear.lisp.Lisp.eval(
	at org.armedbear.lisp.Load.loadStream(
	at org.armedbear.lisp.Load.loadFileFromStream(
	at org.armedbear.lisp.Load.loadFileFromStream(
	at org.armedbear.lisp.Load.loadSystemFile(
	at org.armedbear.lisp.Interpreter.initializeLisp(
	at org.armedbear.lisp.Interpreter.createDefaultInstance(
	at org.armedbear.lisp.Main$
ERROR placeholder called with arguments:
Failed to find loadable system file 'autoloads-gen' in boot classpath.
Failed to find loadable system file 'autoloads-gen' in boot classpath.

comment:3 Changed 10 years ago by Alan Ruttenberg

That's quite impressive. Guess I'll do some fiddling, though it will be kind of a random search as I have no clue what the interaction could be about.

Note: See TracTickets for help on using tickets.