bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#3862: 23.1.50; error calling `documentation' on calendar-mode


From: Stefan Monnier
Subject: bug#3862: 23.1.50; error calling `documentation' on calendar-mode
Date: Wed, 15 Jul 2009 21:40:18 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.94 (gnu/linux)

>     (progn
>       (require 'calendar)
>       (documentation 'calendar-mode))

> gets the error and backtrace below.

The docstring gets passed through substitute-command-keys which can run
arbitrary code via menu-item :filters (as well as via autoloaded
keymaps, actually).

> For what it's worth it works fine from the actual calendar buffer, but I
> was trying in some program code where that wasn't the case.  I hoped I
> could generally get the docs for any function from anywhere.

In the present case, there's a subtle bug in the :filter of the
calendar-mode-map (more specially in the menu-bar part of the map).

> Also incidentally I tried a condition-case around it like

>     (condition-case nil
>         (documentation 'calendar-mode)
>       (error nil))

> and was surprised it still went to the debugger.  But maybe that's a
> separate problem.

Indeed it's a separate problem: when the filter is run, it is presumed
it is "at top level" and so the error gets turned into a backtrace
without paying attention to surrounding condition-cases.  It's clearly
a bug, but it might be delicate to fix without introducing risks of
nasty crashes.


        Stefan






reply via email to

[Prev in Thread] Current Thread [Next in Thread]