GNU bug report logs - #1458
23.0.60; mouse-posn-property: Args out of range

Previous Next

Package: emacs;

Reported by: Stephen Berman <stephen.berman <at> gmx.net>

Date: Sat, 29 Nov 2008 20:40:05 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; mouse-posn-property: Args out of range
Date: Sat, 29 Nov 2008 21:31:10 +0100
1. emacs -Q

2. Eval this:

   (defun testme ()
     (save-selected-window
       (switch-to-buffer "testme")))

If `testme' is not a fresh buffer, see observation (a) below.

3. Eval (run-at-time 3 nil 'testme) and wait 3 seconds.

4. When the `testme' buffer appears, move the mouse cursor over the mode line;
as soon as it hits a position that has a help-echo property containing the
string "mouse-2", the following error is raised:

   mouse-posn-property: Args out of range: 719

The out of range number is (point) in step 3.

Backtrace:

Debugger entered--Lisp error: (args-out-of-range 719)
  get-char-property(719 follow-link #<window 220 on testme>)
  mouse-posn-property((#<window 220 on testme> mode-line (467 . 644) 0 (#("-%-" 0 3 ...) . 2) 719 (58 . 46) nil (2 . 4) (8 . 16)) follow-link)
  (or (mouse-posn-property pos (quote follow-link)) (key-binding [follow-link] nil t pos))
  (and (or (not ...) mouse-1-click-in-non-selected-windows (eq ... ...)) (or (mouse-posn-property pos ...) (key-binding [follow-link] nil t pos)))
  (let ((action ...)) (cond (... ...) (... ...) (t action)))
  mouse-on-link-p((#<window 220 on testme> mode-line (467 . 644) 0 (#("-%-" 0 3 ...) . 2) 719 (58 . 46) nil (2 . 4) (8 . 16)))
  mouse-fixup-help-message("mouse-1: Select (drag to resize)\nmouse-2: Make current window occupy the whole frame\nmouse-3: Remove current window from display")


Observations:

a. The error only occurs when (point) of the the buffer that is current when
   step 3 is carried out, is greater than (point-max) of the buffer `testme'.
b. The error only occurs when testme is called from a timer.
c. The error only occurs when the function called from the timer
   contains a call to save-selected-window.
d. The error only occurs with propertized text satisfying mouse-on-link-p in
   either the mode line or the header line, i.e., suitably propertized
   text inserted into the editing area of the buffer does not induce the
   error.


In GNU Emacs 23.0.60.17 (i686-pc-linux-gnu, GTK+ Version 2.12.9)
 of 2008-11-29 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
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: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t




This bug report was last modified 16 years and 170 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.