To change the default font for new (non special-display) frames...
(set-face-attribute 'default t :font FONT)
To change the default font for the current frame, as well as future
frames...
(set-face-attribute 'default nil :font FONT)
I understand how when we are in the middle of an emacs session it'd help
to have an option to change the font only of the future-new frames.
But i dont understand the difference of using the 't', or 'nil' option
in an .init file when starting a new emacs session . Doesnt it hold than
in that case all frames are newone making 't' superfluous in .init file?
You understand correctly. You should not notice any difference between `nil'
and `t' as the value of parameter FRAME, when you use `set-face-attribute' in
your init file.
(P.S. Your mailer quotes things weirdly - lots of extraneous `|' and `\|' here
and there.)