* bug#17509: 23.4; bug with regexp in java-mode
@ 2014-05-16 14:16 Francesco Potortì
2014-05-16 16:07 ` Glenn Morris
0 siblings, 1 reply; 4+ messages in thread
From: Francesco Potortì @ 2014-05-16 14:16 UTC (permalink / raw)
To: 17509
$ emacs -Q -nw -l java.el.bug
$ ls -l java.el.*
-rw-rw-r-- 1 pot pot 488 May 16 16:07 java.el.bug
-rw-rw-r-- 1 pot pot 508 May 16 16:09 java.el.java
================ java.el.bug ================
(add-hook 'java-mode-hook
(lambda ()
(setq comment-column 48
fill-column 78)
(make-variable-buffer-local 'c-hanging-comment-ender-p)
(make-variable-buffer-local 'c-comment-continuation-stars)
(make-variable-buffer-local 'defun-prompt-regexp)
(setq c-hanging-comment-ender-p nil
c-comment-continuation-stars "* ")
;; This one hangs Emacs 22 and 23 !
(setq defun-prompt-regexp "\\(class\\|/\\*\\*\\)[^{]*")
))
(find-file "java.el.java")
================ end of java.el.bug ================
================ java.el.java ================
/*******************************************************************************
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
******************************************************************************/
package org.test.ontology;
import org.test.middleware.container.ModuleContext;
import org.test.middleware.container.ModuleActivator;
import org.test.middleware.owl.OntologyManagement;
import org.test.ontology.security.SecurityOntology;
/**
*
*/
================ end of java.el.java ================
Emacs (in a virtual term) hangs with 100% CPU and does not respond to
any keystrokes, including ^C and ^G.
In GNU Emacs 23.4.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.22)
of 2013-12-22 on binet, modified by Debian
configured using `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.4/site-lisp:/usr/share/emacs/site-lisp' '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -DDEBIAN -O2' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: it_IT.UTF-8
value of $LC_CTYPE: it_IT.UTF-8
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: C
value of $LC_TIME: nil
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
Major mode: Fundamental
Minor modes in effect:
desktop-save-mode: t
shell-dirtrack-mode: t
openwith-mode: t
display-time-mode: t
tooltip-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
O A ESC O A ESC O A ESC O A ESC O A ESC O A ESC O A
C-w RET C-x C-s C-_ C-_ ESC O B ESC O B ESC O B ESC
O B ESC O B ESC O B ESC O B ESC O B ESC k C-x C-s ESC
! ESC O A RET ESC O A ESC O A ESC O B ESC O B ESC O
B ESC O B RET ESC > C-w C-x C-s ESC ! ESC O A RET ESC
O A ESC O A ESC O A ESC O A ESC O A ESC O A ESC O A
ESC O A ESC O A ESC O A ESC O B ESC O C ESC O C ESC
O C ESC O C ESC O C ESC O C ESC O C ESC O C ESC O C
ESC O C ESC O C ESC O C ESC O A ESC O A ESC O A ESC
% u n i v e r s A A L RET t e s t RET ! C-x C-s ESC
! ESC O A RET ESC ! ESC O A RET ESC ! ESC O A RET ESC
! p s SPC u f a x w w RET C-x o C-s e m a c s ESC !
k i l l SPC 1 8 8 7 RET ESC ! ESC O A ESC O C ESC O
C ESC O C ESC O C ESC O C 1 RET ESC ! p s SPC u f a
x w w RET C-x o C-x o C-s - Q RET ESC ! ESC O A ESC
O A RET ESC x r e p o r t TAB RET
Recent messages:
Mark set
Replaced 5 occurrences
Saving file /home/pot/java.el.java...
Removing trailing spaces and newlines...
Wrote /home/pot/java.el.java
(Shell command succeeded with no output) [3 times]
Mark saved where search started
(Shell command succeeded with no output)
Mark saved where search started
(Shell command succeeded with no output)
Load-path shadows:
~/elisp/bhl hides /usr/share/emacs/23.4/site-lisp/bhl
~/elisp/bhl hides /usr/share/emacs/site-lisp/bhl
/usr/share/emacs/23.4/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs23/site-lisp/flim/sha1 hides /usr/share/emacs/23.4/lisp/sha1
~/elisp/proced hides /usr/share/emacs/23.4/lisp/proced
~/elisp/ibuffer hides /usr/share/emacs/23.4/lisp/ibuffer
/usr/share/emacs23/site-lisp/flim/md4 hides /usr/share/emacs/23.4/lisp/md4
~/elisp/ruler-mode hides /usr/share/emacs/23.4/lisp/ruler-mode
~/elisp/ido hides /usr/share/emacs/23.4/lisp/ido
~/elisp/format-spec hides /usr/share/emacs/23.4/lisp/format-spec
~/elisp/whitespace hides /usr/share/emacs/23.4/lisp/whitespace
/usr/share/emacs23/site-lisp/flim/hex-util hides /usr/share/emacs/23.4/lisp/hex-util
~/elisp/t-mouse hides /usr/share/emacs/23.4/lisp/t-mouse
/usr/share/emacs23/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/23.4/lisp/textmodes/flyspell
/usr/share/emacs23/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/23.4/lisp/textmodes/ispell
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/23.4/lisp/textmodes/rst
~/elisp/bibtex hides /usr/share/emacs/23.4/lisp/textmodes/bibtex
~/elisp/octave-mod hides /usr/share/emacs/23.4/lisp/progmodes/octave-mod
/usr/share/emacs23/site-lisp/flim/ntlm hides /usr/share/emacs/23.4/lisp/net/ntlm
/usr/share/emacs23/site-lisp/flim/hmac-md5 hides /usr/share/emacs/23.4/lisp/net/hmac-md5
/usr/share/emacs23/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/23.4/lisp/net/sasl-ntlm
/usr/share/emacs23/site-lisp/flim/sasl-digest hides /usr/share/emacs/23.4/lisp/net/sasl-digest
~/elisp/newsticker hides /usr/share/emacs/23.4/lisp/net/newsticker
/usr/share/emacs23/site-lisp/flim/sasl hides /usr/share/emacs/23.4/lisp/net/sasl
/usr/share/emacs23/site-lisp/flim/sasl-cram hides /usr/share/emacs/23.4/lisp/net/sasl-cram
/usr/share/emacs23/site-lisp/flim/hmac-def hides /usr/share/emacs/23.4/lisp/net/hmac-def
~/elisp/undigest hides /usr/share/emacs/23.4/lisp/mail/undigest
~/elisp/smie hides /usr/share/emacs/23.4/lisp/emacs-lisp/smie
/usr/share/emacs23/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/share/emacs23/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs23/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs23/site-lisp/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex
/usr/share/emacs23/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs23/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs23/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs23/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs23/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs23/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs23/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs23/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs23/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs23/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs
/usr/share/emacs23/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs23/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs23/site-lisp/auctex/preview hides /usr/share/emacs/site-lisp/auctex/preview
/usr/share/emacs23/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs23/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/share/emacs23/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/usr/share/emacs23/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs23/site-lisp/mailcrypt/expect hides /usr/share/emacs/site-lisp/mailcrypt/expect
/usr/share/emacs23/site-lisp/mailcrypt/mc-pgp5 hides /usr/share/emacs/site-lisp/mailcrypt/mc-pgp5
/usr/share/emacs23/site-lisp/mailcrypt/mc-pgp6 hides /usr/share/emacs/site-lisp/mailcrypt/mc-pgp6
/usr/share/emacs23/site-lisp/mailcrypt/mc-pgp hides /usr/share/emacs/site-lisp/mailcrypt/mc-pgp
/usr/share/emacs23/site-lisp/mailcrypt/mc-toplev hides /usr/share/emacs/site-lisp/mailcrypt/mc-toplev
/usr/share/emacs23/site-lisp/mailcrypt/mailcrypt hides /usr/share/emacs/site-lisp/mailcrypt/mailcrypt
/usr/share/emacs23/site-lisp/mailcrypt/mc-setversion hides /usr/share/emacs/site-lisp/mailcrypt/mc-setversion
/usr/share/emacs23/site-lisp/mailcrypt/mc-remail hides /usr/share/emacs/site-lisp/mailcrypt/mc-remail
/usr/share/emacs23/site-lisp/mailcrypt/mc-gpg hides /usr/share/emacs/site-lisp/mailcrypt/mc-gpg
Features:
(shadow sort mail-extr message ecomplete mml mml-sec mm-decode mm-bodies
mm-encode mailcap mail-parse rfc2231 mailabbrev nnheader gmm-utils
wid-edit mailheader canlock sha1 sha1-el hex-util hashcash emacsbug
cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs debug time-stamp newcomment multi-isearch sgml-mode desktop
warnings server pot rmailsum rmail mail-utils sendmail rfc2047 rfc2045
ietf-drums qp mm-util mail-prsvr mime-compose tramp-imap assoc tramp-gw
tramp-fish tramp-smb tramp-cache tramp-ftp tramp-cmds tramp auth-source
gnus-util netrc time-date shell password-cache format-spec cl cl-19
tramp-compat trampver bhl switch-to-shell display-buffer-for-wide-screen
openwith sh-beg-end hi-lock ffap scroll-in-place filladapt ansi-color
time jka-compr uniquify advice help-fns advice-preload quail help-mode
view mailcrypt rfc822 comint ring easymenu dired-x dired-aux dired
regexp-opt generic-x disp-table debian-el debian-el-loaddefs w3m-load
vm-autoload vm-autoloads vm-vars vm-version vm-init mailcrypt-init
preview-latex tex-site auto-loads tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset
image fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev loaddefs button minibuffer faces cus-face files
text-properties overlay md5 base64 format env code-pages mule custom
widget hashtable-print-readable backquote make-network-process dbusbind
system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)
--
Francesco Potortì (ricercatore) Voice: +39.050.621.3058
ISTI - Area della ricerca CNR Mobile: +39.348.8283.107
via G. Moruzzi 1, I-56124 Pisa Skype: wnlabisti
(entrance 20, 1st floor, room C71) Web: http://fly.isti.cnr.it
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#17509: 23.4; bug with regexp in java-mode
2014-05-16 14:16 bug#17509: 23.4; bug with regexp in java-mode Francesco Potortì
@ 2014-05-16 16:07 ` Glenn Morris
2014-05-16 16:22 ` Francesco Potortì
0 siblings, 1 reply; 4+ messages in thread
From: Glenn Morris @ 2014-05-16 16:07 UTC (permalink / raw)
To: Francesco Potortì; +Cc: 17509
Francesco Potortì wrote:
> (setq defun-prompt-regexp "\\(class\\|/\\*\\*\\)[^{]*")
Why is this an Emacs bug, and not user error?
That regexp matches the entire example file that you sent.
Maybe you at least want "[^{\n]*" at the end.
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#17509: 23.4; bug with regexp in java-mode
2014-05-16 16:07 ` Glenn Morris
@ 2014-05-16 16:22 ` Francesco Potortì
2014-05-16 21:48 ` Stefan Monnier
0 siblings, 1 reply; 4+ messages in thread
From: Francesco Potortì @ 2014-05-16 16:22 UTC (permalink / raw)
To: Glenn Morris; +Cc: 17509
>Francesco Potortì wrote:
>
>> (setq defun-prompt-regexp "\\(class\\|/\\*\\*\\)[^{]*")
>
>Why is this an Emacs bug, and not user error?
Because I suppose that Emacs should never hang...
>That regexp matches the entire example file that you sent.
>Maybe you at least want "[^{\n]*" at the end.
To be true, I do not even know where that regexp comes from, what is its
purpose and why I did have it in my .emacs :(
Thanks for the tip.
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#17509: 23.4; bug with regexp in java-mode
2014-05-16 16:22 ` Francesco Potortì
@ 2014-05-16 21:48 ` Stefan Monnier
0 siblings, 0 replies; 4+ messages in thread
From: Stefan Monnier @ 2014-05-16 21:48 UTC (permalink / raw)
To: Francesco Potortì; +Cc: 17509
>>> (setq defun-prompt-regexp "\\(class\\|/\\*\\*\\)[^{]*")
>> Why is this an Emacs bug, and not user error?
> Because I suppose that Emacs should never hang...
FWIW, the exponential blowup that can happen in regexp matching is
indeed a misfeature of Emacs's current regexp matcher.
But it's been that way "for ever" and there's no promising sign of an
upcoming fix for it.
Stefan
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-05-16 21:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-16 14:16 bug#17509: 23.4; bug with regexp in java-mode Francesco Potortì
2014-05-16 16:07 ` Glenn Morris
2014-05-16 16:22 ` Francesco Potortì
2014-05-16 21:48 ` Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.