all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stephen Berman <stephen.berman@gmx.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 14838@debbugs.gnu.org
Subject: bug#14838: 24.3.50; repeating next-line or previous-line is broken
Date: Thu, 11 Jul 2013 12:04:07 +0200	[thread overview]
Message-ID: <8761whxvjc.fsf@rosalinde.fritz.box> (raw)
In-Reply-To: <83bo69vmev.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 11 Jul 2013 05:51:52 +0300")

On Thu, 11 Jul 2013 05:51:52 +0300 Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Stephen Berman <stephen.berman@gmx.net>
>> Date: Wed, 10 Jul 2013 23:29:12 +0200
>> 
>> Starting with revision 113314, I observe the following:
>> 
>> 0. emacs -Q
>> 1. C-h n to visit NEWS
>> 2. Type C-n and hold the keys down to repeatedly move point down one line.
>> 
>> At around line 250, the motion gets jerky and then appears to stop, and
>> the cursor disappears.  After releasing the keys (but with a delay of
>> maybe a second or longer, perhaps depending on how long they were held
>> down), the cursor reappears on a line further down (which one seems to
>> depend on how long the keys were held down).  Subsequently holding down
>> C-n or C-p makes the cursor vanish and motion stop almost immediately,
>> until the keys are released.  The same thing happens if, after step 1
>> above, I type M-> and then hold down C-p (the stop seems to happen a bit
>> later, maybe after moving up about 300 lines).
>> 
>> With the revision 113360 (this one), the misbehavior begins almost
>> immediately with C-n, though with C-p it appears to be the same as
>> above.
>> 
>> When the motion starts getting jerky, my CPU load starts shooting up,
>> and hits 90%+ when the cursor disappears and motion stops, and stays at
>> that load until the cursor reappears at the new location.
>> 
>> My processor is an AMD Sempron 3400+ (64bit) with a maximum speed of
>> 1.8GHz.  In addition to the following system information, my desktop
>> environment is KDE 4.9.5.  My default font with emacs -Q is 
>> xft:-unknown-DejaVu Sans Mono-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1
>
> Does using a different font change anything?

Yes.  First, I found out that the problems I observed do not happen when
I repeat exactly the above recipe after having removed my ~/.Xresources
file and logged in again.  That file contains this:

Emacs.FontBackend: xft
Emacs.Font: DejaVu Sans Mono-9

! ---------[ xft ] ---------
Xft*antialias:          true
Xft*autohint:           true

Without this, when I start Emacs with -Q, the font is still the one I
reported above, but now holding down C-n in NEWS works fine.  I don't
understand why, since I thought -Q means no X resources are read.

When I start Emacs with my init file but without the .Xresources file, I
also don't observe the problem with C-n.  In my initializations, I have
the font DejaVu Sans Mono-9 set as default in a custom theme loaded from
my init file (I've been using the .Xresources file since long before
creating the them, and didn't try removing till now).  So without the
.Xresources file, I have no problem using C-n with this font, but with
the above .Xresources, the problem occurs with this font.  

If I start Emacs with -q, the font used is now this:

x:-sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1

Also with this font I see no problem when holding down C-n.  Likewise
starting with my initializations but removing DejaVu from the custom
them, so with the -sony-fixed-medium-r-normal- font (which apparently
comes from /usr/share/X11/app-defaults/Emacs).

However, when I switch the default font (using the Options menu) to
Adobe Courier, which starting with -Q is this:

xft:-Adobe-Adobe Courier-normal-normal-normal-*-14-*-*-*-m-90-iso10646-1

and repeat the above recipe, now I do observe the problem.  This also
happens with -q and with my initializations, using Adobe Courier.

> To see which function takes most of the time, please use
> profiler-start, press C-n, then after you see CPU load for some time,
> invoke profiler-report.  It is best to do that after manually loading
> simple.el in source form.

I started Emacs like this:

emacs -Q -l ~/bzr/emacs/quickfixes/lisp/simple.el

switched the default font to Adobe Courier as described above and then
followed your instructions; here is the report:

+ call-interactively                                             6758  29%
+ next-line                                                      6059  26%
+ if                                                             5176  22%
+ line-move                                                      3875  16%
+ command-execute                                                 522   2%
  Automatic GC                                                    445   1%
+ let                                                              86   0%
+ redisplay_internal (C function)                                  35   0%
+ prog1                                                            26   0%
+ read-from-minibuffer                                             24   0%
+ find-file-noselect                                               19   0%
+ run-hooks                                                        18   0%
+ condition-case                                                   16   0%
+ cond                                                             12   0%
+ view-file                                                         8   0%
+ mapc                                                              4   0%
+ list                                                              4   0%
+ read-extended-command                                             4   0%
+ vc-mode-line                                                      3   0%
+ line-move-visual                                                  3   0%
+ file-truename                                                     2   0%
+ vc-find-file-hook                                                 2   0%
+ vc-backend                                                        2   0%
+ after-find-file                                                   2   0%
+ completing-read                                                   2   0%
+ let*                                                              1   0%
+ view-emacs-news                                                   1   0%
+ find-file-noselect-1                                              1   0%
+ vc-call-backend                                                   1   0%
  internal-timer-start-idle                                         1   0%
+ and                                                               1   0%


> Also, apply the patch I sent in
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14836#8 and post the
> contents of *Messages* after leaning on C-n for some time in this
> situation.

I did this, started Emacs -Q again as above, switched the default font
to Adobe Courier, and ran my recipe. *Message* consists of these lines:

For information about GNU Emacs and the GNU system, type C-h C-a.
bzr/emacs/quickfixes/lisp/simple.el: `with-wrapper-hook' is an obsolete macro (as of 24.4); use a <foo>-function variable modified by add-function.
View mode: type C-h for help, h for commands, q to quit.

followed by exactly 175 repetitions of these two lines (I used `M-x
occur' to make sure they were all identical):

vs 0 dlh 14 this nil rowh 13 rbot 1 py 0 vpos 32 last 31.0
2

and nothing else.

> I also asked to try reducing the keyboard auto-repeat rate, and see if
> that makes any difference.

The default rate in my setup is 25 repeats/s.  I lowered it to 15 and
repeated the above experiment, and the problem again occurs, but starts
later, around line 300.  Then I lowered the repeat rate to 10, which is
annoyingly slow, and here too the problem occurs, starting around line
500.

Steve Berman





  reply	other threads:[~2013-07-11 10:04 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-10 21:29 bug#14838: 24.3.50; repeating next-line or previous-line is broken Stephen Berman
2013-07-11  2:51 ` Eli Zaretskii
2013-07-11 10:04   ` Stephen Berman [this message]
2013-07-11 15:59     ` Eli Zaretskii
2013-07-11 18:51       ` Stephen Berman
2013-07-11 19:16         ` Eli Zaretskii
2013-07-11 20:04           ` Stephen Berman
2013-07-11 20:25             ` Eli Zaretskii
2013-07-12  9:48               ` Eli Zaretskii
2013-07-12 10:19                 ` Stephen Berman
2013-07-12 10:35                   ` Eli Zaretskii
2013-07-13  7:29                   ` Eli Zaretskii
2013-07-13 13:15                     ` Stephen Berman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8761whxvjc.fsf@rosalinde.fritz.box \
    --to=stephen.berman@gmx.net \
    --cc=14838@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.