Lisp HUG Maillist Archive

RE: Init file commands crashing

> -----Original Message-----
> From: owner-lisp-hug@lispworks.com
> [mailto:owner-lisp-hug@lispworks.com] On Behalf Of Thomas Summerall
> Sent: Thursday, February 07, 2008 12:45 PM
> To: lisp-hug@lispworks.com
> Subject: Init file commands crashing
> 
> 
> 
> I have set up an initialization file (.lispworks) so I can
> have LW execute some commands I am constantly typing in after 
> it launches.
> 
> There are two commands I always use after loading and
> compiling my project file:
> 
> (in-package..)
> (start-my-code)
> 
> If I load and compile my project file then type those two
> commands in the listener everything is fine.
> 
> If I instead put a (compile-if-needed "myfile" :load t) in
> the init file followed by the two commands above I get a 
> crash into my command line:
> 
> "/tmp/LWtemp.MYCOMPUTERNAME.local.235.0.command; exit
> my-routine.nfasl ;Loading fasl file 
> /Users/MYUSERNAME/myproject/myfilename.fasl
> ;Loading fasl file /Users/MYUSERNAME/myproject/abotherfilename.fasl
> etc
> 
> ERROR: Bad arguments to MYROUTINENAME: NIL NIL"
> 
> So my questions is, what's different about putting the
> commands in the init file?  Or is there a difference I need 
> to know about between (compile-file-if-needed) and the 
> process of opening the project file and clicking the compile button?
> 
> I tried this using the model init file and adding the
> commands at the end and also with an init file that only has 
> these commands.
> 
> Thanks for any help on this.
> 

Hi Thomas,

I guess you should make sure, your code is run after certain 
LispWorks initialization code, so your code finds a sufficient environment. 
I think this is typically done be define-action.

Here is my .lispworks which start my personal project manager for example:

;; Starting the Project Manager

(in-package "CL-USER")

(load "~/.repository")

(define-action "Initialize Lispworks Tools" "Start Project Manager"
               (lambda (&rest args)
                 (load (pm-file "prod/projects/pr-ld"))
                 (funcall (find-symbol "PM-RUN" "PMAN"))
                 (use-package "PMAN")))


Happy Lisping

Andreas





Updated at: 2020-12-10 08:44 UTC