more targetted warnings for probable DEFSTRUCT syntax errors
authorChristophe Rhodes <csr21@cantab.net>
Mon, 18 Nov 2013 14:11:45 +0000 (14:11 +0000)
committerChristophe Rhodes <csr21@cantab.net>
Mon, 18 Nov 2013 14:11:58 +0000 (14:11 +0000)
commit54f3d099795a42cdbecfaddbd23d7fa741ccaf7d
treea1002d163f8dacc4e38fb9a74d576414586e5270
parent18dc0069cd514c976042766ab9a785c970fe1603
more targetted warnings for probable DEFSTRUCT syntax errors

Some keyword defstruct slot names are more deserving of warnings
than others.  In particular, slot names matching defstruct
options (from name-and-options) are highly suspicious, and likely
never to be intended, as there is essentially always a different
way of writing what is meant.

The exception is when the CONC-NAME defstruct option is null,
which makes defstruct slots effectively have symbolic identity
rather than the normal stringish nature; don't emit full
warnings under those circumstances, even though doing
  (defstruct (foo :conc-name) (:constructor))
is a pretty spectacularly bad idea.
src/code/defstruct.lisp