Hello all, rather a lisp newbie and been searching all over, but can't figure it out. I have the code below: (provide 'ian-project) ;; Based on the presence of the 'project' environment variable, ;; display the project name in the frame title and the mode line. (defun set-project-in-frame-title () (interactive) (setq projectname (getenv "project")) (message "Project: %s" projectname) (if projectname (setq-default frame-title-format (concat "%b (%*) [" projectname "] ")) (setq frame-title-format (concat "%b (%*)")) ) ;; if projectname ) And in my ~/.emacs I have: (require 'ian-project) (set-project-in-frame-title) The message "Project: " is displayed in the *Messages* buffer on startup, however, the project name does not end up in the frame title, unless I execute the function by hand: M-x set-project-in-frame-title() My emacs version is: GNU Emacs 24.2.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.6.4) of 2013-02-02 on buildvm-04.phx2.fedoraproject.org Thank you very much in advance for any pointers as to what I may be missing. Ian. -- One man's "magic" is another man's engineering. "Supernatural" is a null word. -- Excerpt from the notebooks of Lazarus Long, from Robert Heinlein's "Time Enough for Love"