Without the first patch, this answers nil:
(build-declarations nil (filter-declaration-env
(parse-declarations '((declare (fixnum x y z))))
:affecting '(x)))
With it I get ((type fixnum x)) as I expect.
A potential accuracy improvement for non-built-in types would be to use:
#+clozure (ccl::specifier-type symbol env)
similarly to the #+sbcl case; I will send that along as well if you
like.
Also a tiny typo in the comment is patched.
--
I write stuff at http://failex.blogspot.com/ now. But the post
formatter and themes are terrible for sharing code, the primary
content, so it might go away sooner or later.