skeeto / emacs-web-server

Extensible Emacs HTTP 1.1 server
The Unlicense
240 stars 31 forks source link

Undocumented dependency on cl #8

Closed tburette closed 10 years ago

tburette commented 10 years ago

If cl is not loaded, the error message Caught Error: (void-function symbol-macrolet) appears when the server handles a request.

A (require 'cl) must be done somewhere to make the error go away. This dependency is not mentioned anywhere.

skeeto commented 10 years ago

Nowhere does simple-httpd make use of symbol-macrolet. The name doesn't appear anywhere in the code, and I can run the server without ever loading cl (emacs -Q -l simple-httpd.el -f httpd-start).

What's probably happening is some other package created a servlet that uses symbol-macrolet without requiring cl. Until a few months ago simple-httpd depended on and required cl, but it was updated to cl-lib (ce5b226). Whoever wrote that servlet must have been depending on simple-httpd loading cl.

This is interesting because of none of the servlets out there that I'm aware of (Skewer, elfeed-web, impatient-mode, my pastebin demo) use symbol-macrolet. It sounds like you're running something I've haven't heard about yet.

tburette commented 10 years ago

Oh boy! I somehow mixed up https://github.com/skeeto/emacs-web-server and https://github.com/eschulte/emacs-web-server

Sorry for the waste of time :/