A quick look at the code shows that it pollutes the namespace with undeclared and un-let-bound variables like "tag" (and there could be more like that). If we investigate further, we might find a culprit like that that's causing this problem. (defun simple-wiki-get-tag () (let (prompt) (if (and simple-wiki-tag-history (car simple-wiki-tag-history)) (setq prompt (concat "Tag (" (car simple-wiki-tag-history) "): ")) (setq prompt "Tag: ")) (setq tag (completing-read prompt simple-wiki-tag-list nil nil "" 'simple-wiki-tag-history (car simple-wiki-tag-history)))) (unless (assoc tag simple-wiki-tag-list) (add-to-list 'simple-wiki-tag-list (cons tag nil))) tag)