Pascal Costanza wrote:
Just guessing: If you see that the writer form is a funcall to a setf function, you can then check with fboundp if such a function actually exists. This is probably a bit shaky, but maybe good enough for practical purposes?
Good idea. To be more precise:
- if the writer form is something else than (FUNCALL #'(SETF FOO) ...) then there is a defsetf going on (it even takes precedence over a potential setf function).
- if the writer form is (FUNCALL #'(SETF FOO) ...) and that function is bound, then there is a setf function going on but no defsetf.
- otherwise, there is no writer at all.
I think this might just work.