In Emacs Lisp, if foo
is a symbol, then 'foo
and #'foo
are completely equivalent. The latter form (with #'
) is preferred when foo
is a function, as it documents the fact that it is intended to be funcalled.
Your two forms are therefore completely equivalent, and the one with #'
is preferred.
Edit: as pointed out by Malabarba, this is not quite true: #'
on symbols will cause the byte-compiler to emit a warning if the function is not defined.
(Note that this is not the case for lambda-forms, for which plain '
prevents the byte-compiler from compiling the lambda-form, as documented elsewhere. Note further that this is also not necessarily the case in other Lisp dialects, for example in Common Lisp #'foo
performs early binding.)