t...@tsdye.com (Thomas S. Dye) writes: > Aloha all, > > My evolving reproducible research documents make use of Dan Davison's > idea recently re-introduced by Seb Vauban: > > * Local variables > :noexport: > > # Local Variables: > # eval: (org-sbe "setup-common-lisp") > # End: > > Here, the source code block named `setup-common-lisp' is defined > elsewhere in the file. > > The problem from the point of view of reproducible research is that > org-sbe used to be named sbe, so for the research to be reproducible > across that recent change I need to be able to configure things so the > command that happens to be on the user's computer is used. > > I read about defalias and saw that this should be used at the > point that the original definition is made, so I followed the pointer to > fset and naively tried this in the local variables: > > # eval: (and (boundp 'org-sbe) (not (boundp 'sbe)) (fset 'sbe 'org-sbe)) > # eval: (sbe "setup-common-lisp) > > But this gets me the following error: > > File local-variables error: (void-function sbe) > > Can someone offer a suggestion? >
Use fboundp, instead of boundp: the latter checks the variable binding slot, whereas the former checks the function binding slot. Nick