GNU bug report logs -
#1372
posn-at-x-y reports wrong window
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1372 in the body.
You can then email your comments to 1372 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1372
; Package
emacs
.
Full text and
rfc822 format available.
Acknowledgement sent to
David Reitter <david.reitter <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
[Message part 1 (text/plain, inline)]
I received the bug report below for our visual-line-mode in Aquamacs
Emacs, but I managed to reproduce the core issue on Emacs 23 (Nextstep
port) as follows:
(fringe-mode 0)
C-x 3 C-x 2 C-x o C-x o
(we're now in the large window on the right, with two small windows in
the left half of the frame).
Insert enough newlines to be vertically just above the horizontal
divider on the left.
M-: (posn-at-x-y 0 (cdr (posn-x-y (posn-at-point)))) RET
Insert newline, now we're next to the divider line.
M-: (posn-at-x-y 0 (cdr (posn-x-y (posn-at-point)))) RET
--> wrong window (the window in the upper left) is given in the
structure.
Instead of 0, the x value can be up to 6 ((frame-char-width) reports 7).
Begin forwarded message:
> From: Jin Choi <jsc <at> alum.mit.edu>
> Date: 18 November 2008 14:35:17 EST
> To: aquamacs-bugs <at> aquamacs.org
> Subject: [Aquamacs-bugs] visual-line-mode error with vertically
> split windows
>
> Please describe exactly what actions triggered the bug
> and the precise symptoms of the bug:
>
> THE SETUP: vertically split window with the left half split
> horizontally. This is commonly used in, say, ECB, perhaps other modes:
> ---------
> | 1 | 3 |
> | | |
> ----| |
> | 2 | |
> | | |
> ---------
>
>
> THE BUG: in the right hand window, attempting to move the cursor (in
> column 1) through the row adjacent to the mode line of the upper left
> hand window moves the cursor to the upper left window. Also, placing
> the cursor in column 0 of that row then typing C-n or C-p gives the
> error "Position not in text area of window."
>
>
>
> TO REPLICATE:
> C-x 3 C-x 2
>
> Hit return in the right side window (3) enough to get you past the
> divider
> on the left.
>
> Then C-p back past the divider. Cursor jumps to upper left window (1).
>
> Now click on the row in window 3 adjacent to the divider. Type C-n or
> C-p. Gives above error.
>
>
> WORKAROUND:
> (global-visual-line-mode 0)
>
>
>
> In GNU Emacs 22.3.2 (i386-apple-darwin9.5.0, Carbon Version 1.6.0)
> of 2008-09-21 on plume.sr.unh.edu - Aquamacs Distribution 1.5
> Windowing system distributor `Apple Inc.', version 10.5.5
> configured using `configure '--without-x' '--prefix=/usr/local''
>
> 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: nil
> locale-coding-system: iso-8859-1
> default-enable-multibyte-characters: t
>
> Major mode: Text
>
> Minor modes in effect:
> shell-dirtrack-mode: t
> savehist-mode: t
> aquamacs-styles-mode: t
> smart-frame-positioning-mode: t
> global-visual-line-mode: t
> visual-line-mode: t
> recentf-mode: t
> encoded-kbd-mode: t
> osx-key-mode: t
> show-paren-mode: t
> delete-selection-mode: t
> pc-selection-mode: t
> cua-mode: t
> tooltip-mode: t
> mouse-wheel-mode: t
> menu-bar-mode: t
> file-name-shadow-mode: t
> global-font-lock-mode: t
> font-lock-mode: t
> blink-cursor-mode: t
> unify-8859-on-encoding-mode: t
> utf-translate-cjk-mode: t
> auto-compression-mode: t
> column-number-mode: t
> transient-mark-mode: t
>
> Recent input:
> <menu-bar> <help-menu> <bug-diagnosis> <start-vanilla-aquamacs>
> <menu-bar> <help-menu> <bug-diagnosis> <send-emacs
> -bug-report>
>
> Recent messages:
> on One-Buffer-One-Frame-Mode (Display Buffers in Separate Frames)!
> Loading /Users/jsc/Library/Preferences/Aquamacs Emacs/
> customizations.el (source)...done
> Loading /Users/jsc/Library/Preferences/Aquamacs Emacs/Preferences.el
> (source)...done
> One-Buffer-One-Frame-Mode disabled.
> For best results, turn off Frame Appearance Styles now.
> Loading /Users/jsc/Library/Preferences/Aquamacs Emacs/frame-
> positions.el (source)...done
> Truncate long lines disabled
> Mark set
> Aquamacs is based on GNU Emacs 22, a part of the GNU/Linux system. It
> is Free Software: you can improve and redistribute it under the GNU
> General Public License, version 3 or later. Copyright (C) 2008 Free
> Software Foundation, Inc. (C) 2008 D. Reitter. No Warranty.
> Loading emacsbug...done
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere in
> the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> __
> https://lists.sourceforge.net/lists/listinfo/aquamacs-bugs
[smime.p7s (application/pkcs7-signature, attachment)]
Information forwarded to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1372
; Package
emacs
.
Full text and
rfc822 format available.
Acknowledgement sent to
martin rudalics <rudalics <at> gmx.at>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and
rfc822 format available.
Message #10 received at 1372 <at> emacsbugs.donarmstrong.com (full text, mbox):
[Message part 1 (text/plain, inline)]
> (fringe-mode 0)
> C-x 3 C-x 2 C-x o C-x o
> (we're now in the large window on the right, with two small windows in
> the left half of the frame).
>
> Insert enough newlines to be vertically just above the horizontal
> divider on the left.
>
> M-: (posn-at-x-y 0 (cdr (posn-x-y (posn-at-point)))) RET
>
> Insert newline, now we're next to the divider line.
>
> M-: (posn-at-x-y 0 (cdr (posn-x-y (posn-at-point)))) RET
>
> --> wrong window (the window in the upper left) is given in the structure.
> Instead of 0, the x value can be up to 6 ((frame-char-width) reports 7).
Can you try the attached patch?
martin
[1372.diff (text/plain, inline)]
*** window.c.~1.634.~ 2008-11-18 18:56:23.703125000 +0100
--- window.c 2008-11-19 16:04:02.078125000 +0100
***************
*** 774,780 ****
}
else
{
! if (eabs (*x - x1) < grabbable_width)
{
/* Convert X and Y to window relative coordinates.
Vertical border is at the right edge of window. */
--- 774,781 ----
}
else
{
! if ((WINDOW_RIGHTMOST_P (w) || *x < x1)
! && eabs (*x - x1) < grabbable_width)
{
/* Convert X and Y to window relative coordinates.
Vertical border is at the right edge of window. */
Information forwarded to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1372
; Package
emacs
.
Full text and
rfc822 format available.
Acknowledgement sent to
David Reitter <david.reitter <at> gmail.com>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and
rfc822 format available.
Message #15 received at 1372 <at> emacsbugs.donarmstrong.com (full text, mbox):
[Message part 1 (text/plain, inline)]
Thanks, this patch fixes the problem.
- David
On 19 Nov 2008, at 10:09, martin rudalics wrote:
> > (fringe-mode 0)
> > C-x 3 C-x 2 C-x o C-x o
> > (we're now in the large window on the right, with two small
> windows in
> > the left half of the frame).
> >
> > Insert enough newlines to be vertically just above the horizontal
> > divider on the left.
> >
> > M-: (posn-at-x-y 0 (cdr (posn-x-y (posn-at-point)))) RET
> >
> > Insert newline, now we're next to the divider line.
> >
> > M-: (posn-at-x-y 0 (cdr (posn-x-y (posn-at-point)))) RET
> >
> > --> wrong window (the window in the upper left) is given in the
> structure.
> > Instead of 0, the x value can be up to 6 ((frame-char-width)
> reports 7).
>
> Can you try the attached patch?
>
> martin
> *** window.c.~1.634.~ 2008-11-18 18:56:23.703125000 +0100
> --- window.c 2008-11-19 16:04:02.078125000 +0100
> ***************
> *** 774,780 ****
> }
> else
> {
> ! if (eabs (*x - x1) < grabbable_width)
> {
> /* Convert X and Y to window relative coordinates.
> Vertical border is at the right edge of window. */
> --- 774,781 ----
> }
> else
> {
> ! if ((WINDOW_RIGHTMOST_P (w) || *x < x1)
> ! && eabs (*x - x1) < grabbable_width)
> {
> /* Convert X and Y to window relative coordinates.
> Vertical border is at the right edge of window. */
[smime.p7s (application/pkcs7-signature, attachment)]
Reply sent to
martin rudalics <rudalics <at> gmx.at>
:
You have taken responsibility.
Full text and
rfc822 format available.
Notification sent to
David Reitter <david.reitter <at> gmail.com>
:
bug acknowledged by developer.
Full text and
rfc822 format available.
Message #20 received at 1372-done <at> emacsbugs.donarmstrong.com (full text, mbox):
Fixed as
2008-11-20 Martin Rudalics <rudalics <at> gmx.at>
* window.c (coordinates_in_window): Don't return
ON_VERTICAL_BORDER for the rightmost position of a mode/header
line when the window is not the rightmost one. (Bug#1372)
Thanks for the report, martin
bug archived.
Request was from
Debbugs Internal Request <don <at> donarmstrong.com>
to
internal_control <at> emacsbugs.donarmstrong.com
.
(Thu, 18 Dec 2008 15:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 16 years and 244 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.