Although I no longer maintain the code (and have not for years), my memory
is that many things will break if this is changed willy-nilly. It is part
of the earliest-written (circa 1983), deepest levels of the code, so the
changes will be pervasive, affecting almost every .el file. When I wrote
the code (primarily for my own use and amusement), I saw little choice in
using the mechanism, though I knew it was clunky. Emacs at the time was
MUCH smaller and I knew most of its internals well, so I felt pretty
safe...who'd have guessed how much it would grow over almost 30 years, or
that my code would still be around. Sorry.
On Fri, Apr 27, 2012 at 9:48 AM, Bastien <bzg@gnu....> wrote:
> Hi Glenn,
> Bastien <bzg@gnu....> writes:
> > From latest calendar.el in Emacs:
> > ;; A note on free variables:
> > ;; The calendar passes around a few dynamically bound variables, which
> > ;; unfortunately have rather common names. They are meant to be
> > ;; available for external functions, so the names can't be changed.
> > ;; displayed-month, displayed-year: bound in calendar-generate, the
> > ;; central month of the 3 month calendar window
> > ;; original-date, number: bound in diary-list-entries, the arguments
> > ;; with which that function was called.
> > ;; date, entry: bound in diary-list-sexp-entries (qv)
> > ^^^^ ^^^^^
> I'm not entirely sure whether the comment quoted above reflects
> the situation in Calendar's code.
> Could you have a look and tell me if something needs to be fixed
> in Calendar?