GNU bug report logs - #4737
23.1.50; C-j in *scratch* after a hash table constant errors with void-function

Previous Next

Package: emacs;

Reported by: Aidan Kehoe <kehoea <at> parhasard.net>

Date: Fri, 16 Oct 2009 14:45:04 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Aidan Kehoe <kehoea <at> parhasard.net>
Cc: 4737 <at> debbugs.gnu.org
Subject: bug#4737: 23.1.50; C-j in *scratch* after a hash table constant errors with void-function
Date: Sat, 17 Oct 2009 23:43:46 -0400
> In *scratch*:
>
> (progn
>   (setq print-length nil)
>   (make-hash-table))
> => #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8 data ())
>
> #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8 data
>  ())
> =>
> Debugger entered--Lisp error: (void-function hash-table)
>   (hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8 data nil)
>   eval((hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8 data nil))
>   eval-last-sexp-1(t)
>   eval-last-sexp(t)
>   eval-print-last-sexp()
>   call-interactively(eval-print-last-sexp nil nil)

> However, this succeeds:

> (car (list
>       #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8 data ())))
> => #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8 data ())

> XEmacs handles the problem in #'forward-sexp

I think it's safer to handle it in preceding-sexp.  Could you test the
patch below?


*** emacs/lisp/emacs-lisp/lisp-mode.el.~1.247.~	2009-09-27 18:51:01.000000000 -0400
--- emacs/lisp/emacs-lisp/lisp-mode.el	2009-10-17 23:41:53.000000000 -0400
***************
*** 673,678 ****
--- 673,682 ----
  	  (when (eq (preceding-char) ??)
  	    (forward-char -1)))
  
+ 	;; Skip over hash table read syntax
+ 	(when (looking-back "#s")
+ 	  (forward-char -2))
+ 
  	;; Skip over `#N='s.
  	(when (eq (preceding-char) ?=)
  	  (let (labeled-p)



This bug report was last modified 15 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.