Ooops... there was some mistake in the code based on cl-progv which I supplied. Just to be 100% clear about this alternative solution, it would be as in the attached patch bug-1.diff.
V. ________________________________ De : Vincent Belaïche <vincent....@hotmail.fr> Envoyé : jeudi 29 juin 2017 13:24:53 À : Roland Winkler; BBDB info list Objet : bbdb-print.el lexical binding breaks bbdb-print-record Hello Roland, With lexical binding bbdb-print-record makes a void variable error on address variable. Attached is a fix. I use a lambda expression to make the binding dynmical so that bbdb-print-require can be evalled in the correct context. An alternative fix would have been to use : (cl-progv '(first-letter name organization mail phone address xfields) (list first-letter name organization mail phone address xfields)). Well, to avoid any duplication in this case, it would be better to use some macro like this: (defmacro bbdb-do-cl-progv (&rest l) `(cl-progv (quote ,l) (list ,@l))) and then in bdbd-print-record: (bbdb-do-cl-progv first-letter name organization mail phone address xfields)(list first-letter name organization mail phone address xfields) Anyway, I prefer the lambda trick, I don't like cl-progv and eval. Probably lambdas are more portable to old Emacs versions. Vincent.
bug-1.diff
Description: bug-1.diff
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ bbdb-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/