Subject: bug#17392: closed (Re: bug#17392: 24.3.90; cursor blinks faster and faster)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 18 May 2014 13:06:03 +0000

Your bug report

#17392: 24.3.90; cursor blinks faster and faster

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
17392: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17392
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#17392: 24.3.90; cursor blinks faster and faster
From: Stefan Monnier <[email-masked]>
To: Michael Heerdegen <[email-masked]>
Cc: [email-masked]
Date: Sun, 18 May 2014 09:05:27 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

> sometimes when I work with Emacs for a longer time, the cursor blinks
> with a very high frequency.  When I look at the value of
> `timer-idle-list', I see multiple incarnations of blinking timers, like
> here:

I think I fixed that one, now.  Thanks you.
It was indeed linked to the "timer run is not in timer-idle-list"
situation, and it was indeed an instance of the scenario where an
earlier timer cancels a later timer.

The trick is that the earlier timer is "code that runs sit-for", since
it means that this earlier timer also runs all other timers (via
sit-for).

And removing the copy of the timer list does help, but doesn't solve the
problem: even if we don't copy the list, while running timer A, we'll
keep a pointer to the rest of the (uncopied) list; and this pointer may
point to a cons cell that gets removed from the list by cancel-timer.

        Stefan

Subject: 24.3.90; cursor blinks faster and faster
From: Michael Heerdegen <[email-masked]>
To: [email-masked]
Date: Sat, 03 May 2014 03:44:18 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

sometimes when I work with Emacs for a longer time, the cursor blinks
with a very high frequency.  When I look at the value of
`timer-idle-list', I see multiple incarnations of blinking timers, like
here:

([t 0 0 125000 t show-paren-function nil idle 0]
 [t 0 0 500000 0.5 blink-cursor-start nil idle 0]
 [t 0 0 500000 0.5 blink-cursor-start nil idle 0]
 [t 0 0 500000 t
    #[0 "\205\301 \207"
        [eldoc-mode eldoc-print-current-symbol-info]
        1 "\n\n(fn)"]
    nil idle 0]
 [t 0 0 500000 t jit-lock-context-fontify nil idle 0]
 [t 0 0 500000 t which-func-update nil idle 0]
 [t 0 0 500000 0.5 blink-cursor-start nil idle 0]
 [t 0 0 500000 0.5 blink-cursor-start nil idle 0]
 [t 0 0 500000 0.5 blink-cursor-start nil idle 0])

The only related settings in my .gnu-emacs are

   (setq blink-cursor-blinks     0
         blink-cursor-interval .15)

I grepped through all my Emacs related files, including installed
packages, and found no more matches for "blink-cursor".

I have no idea what actions trigger the bug.

Reading the sources in frame.el, I don't see how having multiple idle
blink timers can happen at all.  Mysterious.

Hoping anybody has an idea or is seeing that too and can provide more
info.

Thanks,

Michael.

In GNU Emacs 24.3.90.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.12.0)
 of 2014-04-30 on drachen
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:	Debian GNU/Linux testing (jessie)

Important settings:
  value of $LC_ALL: de_DE.utf8
  value of $LC_COLLATE: C
  value of $LC_TIME: C
  value of $LANG: de_DE.utf8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  magit-auto-revert-mode: t
  rainbow-delimiters-mode: t
  pretty-lambda-mode: t
  paredit-mode: t
  orglink-mode: t
  on-screen-global-mode: t
  ml-scale-mode: t
  interaction-log-mode: t
  highlight-defined-mode: t
  helm-descbinds-mode: t
  helm-mode: t
  shell-dirtrack-mode: t
  helm-occur-match-plugin-mode: t
  helm-match-plugin-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  diff-auto-refine-mode: t
  recentf-mode: t
  outline-minor-mode: t
  eldoc-mode: t
  which-function-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  winner-mode: t
  show-paren-mode: t
  auto-image-file-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t