Sigh ... some basic lisp, I'm afraid, but I did consult the manual and tested in lisp-interaction-mode, but did not get any the wiser. I'm trying to get a function to work differently depending on whether emacs runs under X or on a terminal: (if (eq window-system nil) ; running under a terminal (lambda () (split-window) (switch-to-buffer "*foo*") ) ; running under a window system (lambda () (select-frame (make-frame)) (set-frame-size (selected-frame) 50 24) (set-frame-position (selected-frame) 150 120) )) It seems that everything in the lambda expressions is ignored (i.e. nothing happens). I used these lambda expressions because simply putting a body of functions got error messages about "Invalid function"s. But it seems I don't get these right. (lambda ( (split-window) (switch-to-buffer "*foo*") )) also seems to be valid syntax, but is also ignored. Can anybody help how to get this simple conditional to work? -- Florian v. Savigny If you are going to reply in private, please be patient, as I only check for mail something like once a week. - Si vous allez répondre personellement, patientez s.v.p., car je ne lis les courriels qu'environ une fois par semaine.