* bug#4737: 23.1.50; C-j in *scratch* after a hash table constant errors with void-function
@ 2009-10-16 14:40 Aidan Kehoe
0 siblings, 0 replies; 5+ messages in thread
From: Aidan Kehoe @ 2009-10-16 14:40 UTC (permalink / raw)
To: emacs-pretest-bug
Hello!
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.
Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing list.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
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, details here:
http://hg.debian.org/hg/xemacs/xemacs/file/a27de91ae83c/lisp/lisp.el#l55
When I use the XEmacs version of #'forward-sexp, the problem goes away.
Goodbye,
Aidan
If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
`bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/Sources/emacs/nextstep/Emacs.app/Contents/Resources/etc/DEBUG for instructions.
In GNU Emacs 23.1.50.1 (i386-apple-darwin8.11.1, NS apple-appkit-824.48)
of 2009-09-30 on bonbon
Windowing system distributor `Apple', version 10.3.824
configured using `configure '--with-ns' '--enable-asserts' '--enable-maintainer-mode' '--enable-cocoa-experimental-ctrl-g' '--with-xpm' '--with-jpeg' '--with-tiff' '--with-png' 'LDFLAGS=-L/opt/local/lib -L/usr/X11R6/lib -L/usr/local/lib' 'CPPFLAGS=-I/opt/local/include -I/usr/X11R6/include -I/usr/local/include''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: de_DE.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default-enable-multibyte-characters: t
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-v C-v C-v C-v C-v C-v
C-v C-v C-v C-v <escape> v C-v C-v C-v C-v C-v <prior>
<next> <next> <prior> <prior> <prior> <prior> <prior>
<prior> <prior> <prior> <prior> C-x b * s c <tab> <return>
( k i l l e C-a C-k <f1> v p r i n t - l e <tab> n
<tab> <return> C-x o C-n C-n C-n C-n C-n C-e C-b C-b
C-b C-b <return> C-x o C-n C-x o C-e C-b C-b C-b <return>
C-x o C-x b * s c <tab> C-g C-x o C-n C-n C-x o C-x
b * s c <tab> <return> <escape> > <return> <return>
( s e t q SPC e v a l - e x p r e s s i o n - p r i
n t - l e n g t h SPC n i l ) C-j C-p C-p C-p C-p C-p
C-p C-e C-j C-p C-d C-d ( l e n g t h SPC ' C-e ) C-j
C-x o C-x o C-p C-p C-n C-n C-n C-p C-p C-p C-p C-k
C-k C-k C-p C-e C-j C-p C-e C-j q <escape> x r e p
o r t - e m a c s - b u g C-g C-p <return> <return>
C-p ( c o n s SPC . C-a ( c a r SPC C-e C-n C-e <backspace>
) <return> <tab> n i l ) ) C-j C-x o C-p C-p C-f C-f
C-f C-f C-f C-f C-f C-f C-d C-n C-n C-j C-x o q <escape>
x r e p o r t - e m a c s - b u g <return>
Recent messages:
Making completion list...
Type C-x 1 to delete the help window.
uncompressing simple.el.gz...done
Quit
Mark set
Entering debugger...
Back to top level.
Quit
Entering debugger...
Back to top level.
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#4737: 23.1.50; C-j in *scratch* after a hash table constant errors with void-function
@ 2009-10-18 3:43 Chong Yidong
2009-10-18 14:43 ` Stefan Monnier
0 siblings, 1 reply; 5+ messages in thread
From: Chong Yidong @ 2009-10-18 3:43 UTC (permalink / raw)
To: Aidan Kehoe; +Cc: 4737
> 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)
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#4737: 23.1.50; C-j in *scratch* after a hash table constant errors with void-function
2009-10-18 3:43 bug#4737: 23.1.50; C-j in *scratch* after a hash table constant errors with void-function Chong Yidong
@ 2009-10-18 14:43 ` Stefan Monnier
2009-10-18 15:34 ` martin rudalics
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2009-10-18 14:43 UTC (permalink / raw)
To: Chong Yidong; +Cc: Aidan Kehoe, 4737
> + ;; Skip over hash table read syntax
> + (when (looking-back "#s")
> + (forward-char -2))
Calling looking-back without a limit argument is asking for trouble (it
has complexity O(size of buffer) or worse).
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#4737: 23.1.50; C-j in *scratch* after a hash table constant errors with void-function
2009-10-18 14:43 ` Stefan Monnier
@ 2009-10-18 15:34 ` martin rudalics
2009-10-19 2:06 ` Stefan Monnier
0 siblings, 1 reply; 5+ messages in thread
From: martin rudalics @ 2009-10-18 15:34 UTC (permalink / raw)
To: Stefan Monnier, 4737; +Cc: Aidan Kehoe, Chong Yidong
> Calling looking-back without a limit argument is asking for trouble (it
> has complexity O(size of buffer) or worse).
Then we should make the limit argument non-optional.
martin
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#4737: 23.1.50; C-j in *scratch* after a hash table constant errors with void-function
2009-10-18 15:34 ` martin rudalics
@ 2009-10-19 2:06 ` Stefan Monnier
0 siblings, 0 replies; 5+ messages in thread
From: Stefan Monnier @ 2009-10-19 2:06 UTC (permalink / raw)
To: martin rudalics; +Cc: Aidan Kehoe, 4737, Chong Yidong
>> Calling looking-back without a limit argument is asking for trouble (it
>> has complexity O(size of buffer) or worse).
> Then we should make the limit argument non-optional.
Feel free to do that,
Stefan
PS: Now that we can do it compatibly via set-advertised-calling-convention.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-10-19 2:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-18 3:43 bug#4737: 23.1.50; C-j in *scratch* after a hash table constant errors with void-function Chong Yidong
2009-10-18 14:43 ` Stefan Monnier
2009-10-18 15:34 ` martin rudalics
2009-10-19 2:06 ` Stefan Monnier
-- strict thread matches above, loose matches on Subject: below --
2009-10-16 14:40 Aidan Kehoe
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).