--- Begin Message ---
Subject: |
ns-face-at-pos incorrect |
Date: |
Mon, 9 Nov 2009 12:10:42 -0500 |
Package: ns
When I drag&drop a color from the NS color panel into a window, it
doesn't always determine the correct face, especially further down
(vertically) in the window.
There are several bugs in mouse-position in compute-motion, which I
have reported separately.
NS-specific:
1. ns-face-at-pos calls `compute-motion' using (- (window-width
window) 1) as width parameter. Should it be nil? I suspect (but
haven't tried) that this may cause less problems when using variable-
width fonts.
2. Calling compute-motion with the results of mouse-position in `ns-
face-at-pos' makes faulty assumptions when there is a header line.
As a consequence, we end up in the wrong spot. I don't see an easy
fix, since we can't make assumptions about the height of the header
line.
As for `ns-set-foreground-at-mouse'&co , would it be sensible to give
the ns-drag-color event (and friends) proper event parameters and then
use (mouse-posn-property (event-end event))? This seems cleaner to me.
[I hope these are sufficiently specific to understand and identify the
code, if not reproduce. Let me know if not, and I can file separate
bug reports.]
In GNU Emacs 23.1.50.1 (i386-apple-darwin10.0.0, NS apple-
appkit-1038.11)
of 2009-10-08 on scarlett.local
Windowing system distributor `Apple', version 10.3.1038
configured using `configure '--with-ns' '--without-x' 'CC=gcc -arch
i386''
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
value of $XMODIFIERS: nil
locale-coding-system: nil
default enable-multibyte-characters: t
Major mode: Fundamental
Minor modes in effect:
which-function-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
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
<help-echo> C-x 5 2 <help-echo> <switch-frame> <help-echo>
<help-echo> <escape> : ( m o u s e - p o s i t i o
n ) <return> <help-echo> <down-mouse-1> <help-echo>
<mouse-1> <help-echo> <down-mouse-1> <mouse-1> <help-echo>
<down-mouse-1> <mouse-1> <help-echo> <escape> : <up>
<return> <help-echo> <help-echo> <switch-frame> <help-echo>
<help-echo> <help-echo> <escape> : <up> <return> <help-echo>
<down-mouse-1> <help-echo> <mouse-1> <help-echo> <down-mouse-1>
<mouse-1> <help-echo> <down-mouse-1> <mouse-1> <escape>
: <up> <return> <help-echo> <down-mouse-1> <mouse-1>
s-n C-x k <return> s-v C-x C-e <switch-frame> C-x C-f
<backspace> <backspace> t e s t <return> <help-echo>
C-y <down-mouse-1> <mouse-1> <escape> x n s - s h o
w - c o l o <tab> <return> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> c o l o <tab> <return> <ns-drag-color>
<ns-drag-color> <down-mouse-1> <mouse-1> <down-mouse-1>
<mouse-1> <down-mouse-1> <mouse-1> <escape> x e n l
a r <tab> <tab> C-g <escape> x z o o m <tab> <tab>
C-g <escape> x g r o w <tab> <tab> C-g <menu-bar> <help-menu>
<send-emacs-bug-report>
Recent messages:
Mark set
#<frame /Users/dr/test 0x7d5900>
Auto-saving...
#<frame /Users/dr/test 0x7d5900>
Making completion list...
Quit [2 times]
Quit
Load-path shadows:
None found.
--- End Message ---