GNU bug report logs - #12045
24.1.50; semantic :: Debugger entered--Lisp error: (wrong-type-argument syntax-table-p nil)

Previous Next

Package: emacs;

Reported by: Jambunathan K <kjambunathan <at> gmail.com>

Date: Wed, 25 Jul 2012 15:06:02 UTC

Severity: normal

Found in version 24.1.50

Fixed in version 24.3

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: David Engster <deng <at> randomsample.de>
To: Jambunathan K <kjambunathan <at> gmail.com>
Cc: 12045 <at> debbugs.gnu.org
Subject: bug#12045: 24.1.50; semantic :: Debugger entered--Lisp error: (wrong-type-argument syntax-table-p nil)
Date: Thu, 11 Oct 2012 22:45:54 +0200
Jambunathan K. writes:
> My original report was on Windows.  The current report is on Debian
> Squeeze against CEDET bzr repo.  So, consider this a bug report against
> the "future"-CEDET.
>
> When I do "C-c , j" on some symbol, that I know is defined in current
> .el file, I get
> ,----
> |     Jump to symbol: org-e-odt-lib-dir [No Match] [5 times]
> `----
>
> When I partially type up the symbol and do TAB for completion, I get
> ,----
> |     semantic-analyze-current-context: Cannot analyze buffers not supported
> |     by Semantic
> `----
>
> If semantic does not support EmacsLisp files [1],
> 1. It should report an error or warning when the buffer tries to enter
>    semantic-mode.
>
> 2. Disable menu items (starting with Developement->etc) that doesn't
>    apply to current buffer.

You are right, this problem still exists. It is due to the fact that
semantic-mode is active for all buffers (it is a minor mode after all),
whether they could be parsed or not. Raising an error or warning for all
buffers that cannot be parsed would surely be very annoying, so we
cannot do that. However, we can check if a buffer was parsed by calling
`semantic-active-p' (which simply returns `semantic-new-buffer-fcn-was-run').

The solution for the menu items is pretty simple (checking for
`semantic-active-p' instead of only looking at `semantic-mode'). I've
now pushed a change to CEDET upstream that does this, and I will merge
it soon.

Regarding interactive commands, especially those with a pre-defined
keybinding, I'm not entirely sure what would be the best fix. The
easiest way would be if keymaps could be activated dependend on a
buffer-local variable, just as I can do that via the :visible attribute
for menu items. I don't think this is possible, but maybe someone around
here knows a solution. Otherwise, we'd have to check for
`semantic-active-p' in all interactive commands.

-David




This bug report was last modified 12 years and 220 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.