setnu and cvs-functions

6 views
Skip to first unread message

Stefan Kamphausen

unread,
Sep 11, 2006, 1:50:46 PM9/11/06
to
Hi,

for years and years I have been crashing my trusty XEmacs. It only
happens when I use setnu-mode -which I do all the time- and the
functions that provide access to CVS (cvs-status, followed by diffs
and commits) -which I rarely use.

I know that setnu is quite a beast but as long as I don't use folded
files it works like a charme almost all the time.

As soon I do some CVS commits I can rely on XEmacs to crash during
the following work and the line numbers are always in a quite messy
state. Well, actually, it doesn't always crash but sometimes just
hangs consuming loads of CPU so it's hard to get a backtrace there.

I do have a little bit in my ~/.xsession-errors after killing XEmacs,
though:


setnu-set-extent-property(#<extent *[17825, 17826) line-number \
setnu-next-extent setnu-prev-extent setnu 0x8f7b9e4 in buffer \
Somefile.java> line-number " 550 ")
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# bind (inhibit-quit ee match-data new-lines start-e e saved-end \
saved-next n numstr length end start)
setnu-after-change-function(15840 15841 0)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# bind (fill beg end tmp-pre tmp-post hang-ender-stuck here \
c-lit-limits c-lit-type args fun apply-outside-literal \
fill-paragraph)
c-mask-paragraph(nil t do-auto-fill)
# bind (c-auto-fill-prefix)
c-do-auto-fill()
self-insert-command(1)
# bind (command-debug-status)
call-interactively(self-insert-command)
# (condition-case ... . error)
# (catch top-level ...)

Am I alone with this or does anyone know something to do?

best,
stefan


PS: No problems with psvn which I use regularly

PPS: Versions....

emacs-version
Value: "21.4 (patch 19) \"Constant Variable\" XEmacs Lucid"

uname -a
Linux zaphod 2.6.15-gentoo-r1 #1 SMP PREEMPT Wed Apr 12 10:53:31 CEST
2006 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GNU/Linux


--
Stefan Kamphausen --- http://www.skamphausen.de
a blessed +42 regexp of confusion (weapon in hand)
You hit. The format string crumbles and turns to dust.

Adrian Aichner

unread,
Sep 12, 2006, 2:14:34 PM9/12/06
to
Stefan Kamphausen <ska...@gmx.de> writes:

> Hi,
>
> for years and years I have been crashing my trusty XEmacs. It only
> happens when I use setnu-mode -which I do all the time- and the
> functions that provide access to CVS (cvs-status, followed by diffs
> and commits) -which I rarely use.
>
> I know that setnu is quite a beast but as long as I don't use folded
> files it works like a charme almost all the time.
>
> As soon I do some CVS commits I can rely on XEmacs to crash during
> the following work and the line numbers are always in a quite messy
> state. Well, actually, it doesn't always crash but sometimes just
> hangs consuming loads of CPU so it's hard to get a backtrace there.

Hi Stefan,

do you get a backtrace using
M-x toggle-debug-on-quit
first, then when XEmacs hangs after you provoke the error again, press
C-g (keyboard-quit)
or even
C-G

Press C-G quickly a few times, if one keypress does not succeed.

I'm not using setnu-mode myself, I just use
(setq line-number-mode t)
and
(setq column-number-mode t)

Hope this helps!

Adrian

> best,
> stefan
>
>
> PS: No problems with psvn which I use regularly
>
> PPS: Versions....
>
> emacs-version
> Value: "21.4 (patch 19) \"Constant Variable\" XEmacs Lucid"
>
> uname -a
> Linux zaphod 2.6.15-gentoo-r1 #1 SMP PREEMPT Wed Apr 12 10:53:31 CEST
> 2006 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GNU/Linux

--
Adrian Aichner
mailto:adr...@xemacs.org
http://www.xemacs.org/

Stefan Kamphausen

unread,
Sep 13, 2006, 4:46:01 AM9/13/06
to
Hi Adrian,

Adrian Aichner <adr...@xemacs.org> writes:

> Stefan Kamphausen <ska...@gmx.de> writes:
>
>> Hi,
>>
>> for years and years I have been crashing my trusty XEmacs. It only
>> happens when I use setnu-mode -which I do all the time- and the
>> functions that provide access to CVS (cvs-status, followed by diffs
>> and commits) -which I rarely use.
>>
>> I know that setnu is quite a beast but as long as I don't use folded
>> files it works like a charme almost all the time.
>>
>> As soon I do some CVS commits I can rely on XEmacs to crash during
>> the following work and the line numbers are always in a quite messy
>> state. Well, actually, it doesn't always crash but sometimes just
>> hangs consuming loads of CPU so it's hard to get a backtrace there.
>
> Hi Stefan,
>
> do you get a backtrace using
> M-x toggle-debug-on-quit
> first, then when XEmacs hangs after you provoke the error again, press
> C-g (keyboard-quit)

I know of this procedure but C-g does not interrupt the action
(otherwise I would not have to kill XEmacs ;-)

> > or even
> C-G

The story of (X)Emacs: after all these years still learning things. I
didn't know about C-G and this acutally gets out of the CPU-eating
loop producing a backtrace:

Debugger entered--Lisp error: (quit)
setnu-after-change-function(14661 14662 0)
self-insert-command(1)
newline()
#<compiled-function nil "...(14)" [" " nil newline
indent-according-to-mode] 3 814998 "*">()
call-interactively(newline-and-indent)
recursive-edit()
byte-code("..." [buffer-read-only noninteractive debugger-buffer
middlestart debugger-args debugger-batch-max-lines pop-to-buffer
debugger-mode debugger-setup-buffer count-lines 2 "...\n" message
buffer-string kill-emacs debug backtrace-debug 3 t debugger-reenable
"" nil recursive-edit standard-output] 3)
debug(error (quit))
signal(quit nil)
read-from-minibuffer("M-x " nil #<keymap minibuffer-must-match-map
size 9 0xdae> nil read-command-history nil nil)
completing-read("M-x " [ccl-encode-thai-xtis postfix_operator_opt
jde-which-method-class-min-length interrupt-command 0
folding-isearch-forward-exit-minibuffer overlay-properties gcc-asm 0
0 ad-Orig-search-forward 0 svn-status-previous-line 0 0 got-init
spec-id 0 cvs-mode-delete-lock qs-args apropos-match-face activation
c-debug-remove-decl-spot-faces 0 0 :thread-name 0
semantic-bovinate-nonterminal frame-to-be-deleted documentable
c-paren-any-kwds 0 :deactivate popup-hook err-var watch-req $
latin-unity-representations-feasible-region
speedbar-fetch-dynamic-etags ad-verify-cache-id slime-define-keys \)
buffer-A buffer-B length1 with-simple-restart
Electric-command-history-redo-expression
jde-loaded-project-file-version plusminus on-region ...] commandp t
nil read-command-history nil)
read-command("M-x ")
execute-extended-command(nil)
call-interactively(execute-extended-command)


As far as I can tell it also contains an earlier interrupted M-x
action but I paste the full buffer here so not to be missing
something.

Unfortunately other than with my current Gnu Emacs case with setnu (as
described at [1] I find no way to reproduce the error. As soon as I
get a new case I will paste the backtrace.

As a side note: I'm only showing cases with JDE mode here, but that is
just because I happen to work with CVS controlled Java code
currently. I remember having that same problem a few years ago with
C++. I found a thread called "Better setnu mode?" from May 2003 where
I discussed this with Kyle.


best,
stefan


Footnotes:
[1] http://www.emacswiki.org/cgi-bin/wiki/LineNumbers

Stefan Kamphausen

unread,
Sep 13, 2006, 9:06:44 AM9/13/06
to
Hi,

got another backtrace, this time after an undo (see below).


regards,
stefan

Debugger entered--Lisp error: (quit)
setnu-before-change-function(3939 3940)
primitive-undo(1 ((3940 . 3948) 3939 (3939 . 3940) (t 17672 . 457)))
ad-Orig-undo-more(1)
(setq ad-return-value (ad-Orig-undo-more count))
(let ((undo-in-progress t)) (setq ad-return-value (ad-Orig-undo-more count)))
(let (ad-return-value) (let (...) (setq ad-return-value ...)) ad-return-value)
undo-more(1)
undo(1)
call-interactively(undo)

Reply all
Reply to author
Forward
0 new messages