I modified section 13.14 (The declare form) of the GNU Emacs Lisp Reference Manual. The manual didn't say how to make (declare (completion ...) (modes ...)) take effect; the original text is even somewhat misleading. Simply evaluating a (defun ...) form which includes the above declare form won't make Emacs filter commands when asking for completion in M-x. -- shynur