14:00:48jdzI'm still looking into this, but in the meanwhile maybe stassats knows what's up: https://gist.github.com/jdz/13c002e186f2e7f45f3912eb007c65b2
14:03:03jdzCL-WHO does a bit of rebinding, like (let ((stream stream)) ...), but looking at WITH-HTML-OUTPUT macro (and the MACROLETs) I don't immediately see how to reduce the test case.
14:41:01jdzInterestingly, removing (check-type ,var stream) from WITH-HTML-OUTPUT macro seems to fix this.
14:51:34jdzUpdated the gist with the shortest test cases.
14:54:11stassatsjdz: it's a dead-code elimination problem
14:56:49jdzInterestingly (for me) the problem also seems to only affect the FORMAT call, not PRINC.
14:59:04jdzAlthough I'd guess (format stream "~A" "string") would be transformed into (princ "string" stream).
14:59:22stassatsit's not related to format or printing or anything
15:00:02jdzI was thinking compiler macros, but I really don't think I'm adding any information here.
16:33:09stassatsjust needs to look through optional-dispatch, but the entry point is in fact called, from the main fun
16:33:17stassatshow com find-dfo removes it anyway
16:37:01stassatsi suppose i see, ok then, no more questions
17:00:42stassatssee even more clearly now, component-head links to any function
17:01:11stassatsbut deleting an unused optional-dispatch breaks the link
17:01:35stassatsthere still may be a better solution