unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#4124: 23.1; mwheel in --daemon mode
@ 2009-08-11 15:47 ` John Prevost
  2009-08-11 17:27   ` Dan Nicolaescu
  2009-08-16  6:00   ` bug#4124: marked as done (23.1; mwheel in --daemon mode) Emacs bug Tracking System
  0 siblings, 2 replies; 8+ messages in thread
From: John Prevost @ 2009-08-11 15:47 UTC (permalink / raw)
  To: bug-gnu-emacs


Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

When emacs is started in --daemon mode, the window-system variable is
initially 'nil'.  In mwheel.el, mouse-wheel-down-event and
mouse-wheel-up-event are bound with defcustom declarations like the
following:

(defcustom mouse-wheel-down-event
  ;; In the latest versions of XEmacs, we could just use mouse-%s as well.
  (if (memq window-system '(w32 ns))
      'wheel-up
    (intern (format (if (featurep 'xemacs) "button%s" "mouse-%s")
		    mouse-wheel-down-button)))
  "Event used for scrolling down."
  :group 'mouse
  :type 'symbol
  :set 'mouse-wheel-change-button)

Since these run before any terminal is created in the --daemon case,
window-system may not be set to anything at all.

It is possible that this is a bug in mwheel, and that mwheel (and other
packages) should take care not to make use of the window-system variable
until startup.  (This may be particularly important if it's possible for
a single emacs binary to have support for multiple window systems.)

It is possible that a better solution to the problem that mwheel solves
above would be for either term/x-win.el to define-key mouse-4 and
mouse-5 to wheel-up and wheel-down, or for term/w32-win.el and
term/ns-win.el to define-key wheel-up and wheel-down to mouse-4 and
mouse-5, so that mwheel and other packages can use the same symbol on
all window systems.


Either way, the current state of the world is that --daemon results in a
non-functional mouse wheel on w32 and ns.


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/Users/prevost1/Documents/src/emacs-23.1/nextstep/Emacs.app/Contents/Resources/etc/DEBUG for instructions.


In GNU Emacs 23.1.1 (i386-apple-darwin9.7.0, NS apple-appkit-949.46)
 of 2009-08-07 on TELPERION.WV.CC.CMU.EDU
Windowing system distributor `Apple', version 10.3.949
configured using `configure  '--prefix=/opt/emacs-23.1' '--with-ns''

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:
  diff-auto-refine-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  global-auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> s-x r e p o r t M-x r e p o t <backspace> 
r t - e m <tab> <return>

Recent messages:
Loading /Users/prevost1/Documents/src/elisp/nxml-mode/rng-auto.el (source)...done
Loading /Users/prevost1/Documents/src/elisp/mercurial.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Terminal setup done
kill-region: The mark is not set now, so there is no region






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#4124: 23.1; mwheel in --daemon mode
  2009-08-11 15:47 ` bug#4124: 23.1; mwheel in --daemon mode John Prevost
@ 2009-08-11 17:27   ` Dan Nicolaescu
  2009-08-11 18:13     ` John Prevost
  2009-08-16  6:00   ` bug#4124: marked as done (23.1; mwheel in --daemon mode) Emacs bug Tracking System
  1 sibling, 1 reply; 8+ messages in thread
From: Dan Nicolaescu @ 2009-08-11 17:27 UTC (permalink / raw)
  To: John Prevost; +Cc: 4124

John Prevost <prevost1@cert.org> writes:

  > Please write in English if possible, because the Emacs maintainers
  > usually do not have translators to read other languages for them.
  > 
  > Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing list,
  > and to the gnu.emacs.bug news group.
  > 
  > Please describe exactly what actions triggered the bug
  > and the precise symptoms of the bug:
  > 
  > When emacs is started in --daemon mode, the window-system variable is
  > initially 'nil'.  In mwheel.el, mouse-wheel-down-event and
  > mouse-wheel-up-event are bound with defcustom declarations like the
  > following:
  > 
  > (defcustom mouse-wheel-down-event
  >   ;; In the latest versions of XEmacs, we could just use mouse-%s as well.
  >   (if (memq window-system '(w32 ns))

In emacs-23 uses of window-system to initialize variables are most of
the time bugs because window-system is not a constant anymore.  Its
value depends of the frame it is used in, and we can have TTY and GUI
frames in the same emacs sessions, so...


  >       'wheel-up
  >     (intern (format (if (featurep 'xemacs) "button%s" "mouse-%s")
  > 		    mouse-wheel-down-button)))
  >   "Event used for scrolling down."
  >   :group 'mouse
  >   :type 'symbol
  >   :set 'mouse-wheel-change-button)
  > 
  > Since these run before any terminal is created in the --daemon case,
  > window-system may not be set to anything at all.
  > 
  > It is possible that this is a bug in mwheel, and that mwheel (and other
  > packages) should take care not to make use of the window-system variable
  > until startup.  (This may be particularly important if it's possible for
  > a single emacs binary to have support for multiple window systems.)
  > 
  > It is possible that a better solution to the problem that mwheel solves
  > above would be for either term/x-win.el to define-key mouse-4 and
  > mouse-5 to wheel-up and wheel-down, or for term/w32-win.el and
  > term/ns-win.el to define-key wheel-up and wheel-down to mouse-4 and
  > mouse-5, so that mwheel and other packages can use the same symbol on
  > all window systems.
  > 
  > 
  > Either way, the current state of the world is that --daemon results in a
  > non-functional mouse wheel on w32 and ns.

w32 does not use the daemon mode, nor can it use TTY and w32 frames at
the same time, so it should not matter.

What happens on ns if you take the `ns' out of the memq test above, does
it make it work?  (I don't have a mouse with a wheel, nor ns ...)


  > If Emacs crashed, and you have the Emacs process in the gdb debugger,
  > please include the output from the following gdb commands:
  >     `bt full' and `xbacktrace'.
  > If you would like to further debug the crash, please read the file
  > /Users/prevost1/Documents/src/emacs-23.1/nextstep/Emacs.app/Contents/Resources/etc/DEBUG for instructions.
  > 
  > 
  > In GNU Emacs 23.1.1 (i386-apple-darwin9.7.0, NS apple-appkit-949.46)
  >  of 2009-08-07 on TELPERION.WV.CC.CMU.EDU
  > Windowing system distributor `Apple', version 10.3.949
  > configured using `configure  '--prefix=/opt/emacs-23.1' '--with-ns''
  > 
  > 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:
  >   diff-auto-refine-mode: t
  >   tooltip-mode: t
  >   tool-bar-mode: t
  >   mouse-wheel-mode: t
  >   menu-bar-mode: t
  >   file-name-shadow-mode: t
  >   global-font-lock-mode: t
  >   global-auto-composition-mode: t
  >   auto-encryption-mode: t
  >   auto-compression-mode: t
  >   line-number-mode: t
  >   transient-mark-mode: t
  > 
  > Recent input:
  > <help-echo> s-x r e p o r t M-x r e p o t <backspace> 
  > r t - e m <tab> <return>
  > 
  > Recent messages:
  > Loading /Users/prevost1/Documents/src/elisp/nxml-mode/rng-auto.el (source)...done
  > Loading /Users/prevost1/Documents/src/elisp/mercurial.el (source)...done
  > For information about GNU Emacs and the GNU system, type C-h C-a.
  > Terminal setup done
  > kill-region: The mark is not set now, so there is no region





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#4127: 23.1; mwheel in --daemon mode
@ 2009-08-11 17:34 ` John Prevost
  2009-08-16  6:00   ` bug#4127: marked as done (23.1; mwheel in --daemon mode) Emacs bug Tracking System
  0 siblings, 1 reply; 8+ messages in thread
From: John Prevost @ 2009-08-11 17:34 UTC (permalink / raw)
  To: bug-gnu-emacs


Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

When emacs is started in --daemon mode, the window-system variable is
initially 'nil'.  In mwheel.el, mouse-wheel-down-event and
mouse-wheel-up-event are bound with defcustom declarations like the
following:

(defcustom mouse-wheel-down-event
  ;; In the latest versions of XEmacs, we could just use mouse-%s as well.
  (if (memq window-system '(w32 ns))
      'wheel-up
    (intern (format (if (featurep 'xemacs) "button%s" "mouse-%s")
		    mouse-wheel-down-button)))
  "Event used for scrolling down."
  :group 'mouse
  :type 'symbol
  :set 'mouse-wheel-change-button)

Since these run before any terminal is created in the --daemon case,
window-system may not be set to anything at all.

It is possible that this is a bug in mwheel, and that mwheel (and other
packages) should take care not to make use of the window-system variable
until startup.  (This may be particularly important if it's possible for
a single emacs binary to have support for multiple window systems.)

It is possible that a better solution to the problem that mwheel solves
above would be for either term/x-win.el to define-key mouse-4 and
mouse-5 to wheel-up and wheel-down, or for term/w32-win.el and
term/ns-win.el to define-key wheel-up and wheel-down to mouse-4 and
mouse-5, so that mwheel and other packages can use the same symbol on
all window systems.


Either way, the current state of the world is that --daemon results in a
non-functional mouse wheel on w32 and ns.


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/Users/prevost1/Documents/src/emacs-23.1/nextstep/Emacs.app/Contents/Resources/etc/DEBUG for instructions.


In GNU Emacs 23.1.1 (i386-apple-darwin9.7.0, NS apple-appkit-949.46)
 of 2009-08-07 on TELPERION.WV.CC.CMU.EDU
Windowing system distributor `Apple', version 10.3.949
configured using `configure  '--prefix=/opt/emacs-23.1' '--with-ns''

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:
  diff-auto-refine-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  global-auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> s-x r e p o r t M-x r e p o t <backspace> 
r t - e m <tab> <return>

Recent messages:
Loading /Users/prevost1/Documents/src/elisp/nxml-mode/rng-auto.el (source)...done
Loading /Users/prevost1/Documents/src/elisp/mercurial.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Terminal setup done
kill-region: The mark is not set now, so there is no region






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#4124: 23.1; mwheel in --daemon mode
  2009-08-11 17:27   ` Dan Nicolaescu
@ 2009-08-11 18:13     ` John Prevost
  2009-08-11 18:22       ` Dan Nicolaescu
  2009-08-13 17:49       ` Stefan Monnier
  0 siblings, 2 replies; 8+ messages in thread
From: John Prevost @ 2009-08-11 18:13 UTC (permalink / raw)
  To: Dan Nicolaescu; +Cc: 4124@emacsbugs.donarmstrong.com

Dan Nicolaescu <dann@ics.uci.edu> writes:

> In emacs-23 uses of window-system to initialize variables are most of
> the time bugs because window-system is not a constant anymore.  Its
> value depends of the frame it is used in, and we can have TTY and GUI
> frames in the same emacs sessions, so...

That was my assumption, yup.

> w32 does not use the daemon mode, nor can it use TTY and w32 frames at
> the same time, so it should not matter.

Hmm.  Is it not possible to start emacs in --daemon mode and use
emacsclient to open a file in w32?  I thought I had tested this and that
it had worked.  I did note that it was impossible to create tty and w32
frames at the same time.

> What happens on ns if you take the `ns' out of the memq test above, does
> it make it work?  (I don't have a mouse with a wheel, nor ns ...)

No.  The essential problem is that in 'x', the mouse wheel events are
'mouse-4' and 'mouse-5', while in 'ns' and 'w32', the mouse wheel events
are 'wheel-up' and 'wheel-down'.  The defcustom sets the default for the
events it will expect for to 'mouse-4' and 'mouse-5' (i.e. X-style
bindings), unless the window-system is ns or w32, in which case it uses
'wheel-up' and 'wheel-down'.

In fact, ns does need 'wheel-up' and 'wheel-down', so removing it from
the memq would result it in never working at all (i.e. failing always,
rather than only failing when emacs is started with --daemon).

It is possible to set the value of the mouse-wheel-down-event and
mouse-wheel-up-event variables in the user startup file to work around
this problem.  The drawback here is that either the startup
file/customization is specialized to ns/w32 (and the same startup file
cannot be used on X), or the variable has to be set in the .emacs file
based on the operating system (which is a problem if the user has both X
and NS versions of emacs on Mac OS).

Hence my suggestion that a better long-term solution is to pick one or
the other representation of the mouse-wheel as "standard" (either
mouse-4 and mouse-5 as in X or wheel-up and wheel-down as in NS and W32)
and have the term init files set up the appropriate mapping from native
events to the standard events.



In any case, it's clear that this is a problem in mwheel, and I do have
a short-term workaround.

Thanks very much,

John.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#4124: 23.1; mwheel in --daemon mode
  2009-08-11 18:13     ` John Prevost
@ 2009-08-11 18:22       ` Dan Nicolaescu
  2009-08-13 17:49       ` Stefan Monnier
  1 sibling, 0 replies; 8+ messages in thread
From: Dan Nicolaescu @ 2009-08-11 18:22 UTC (permalink / raw)
  To: John Prevost; +Cc: 4124@emacsbugs.donarmstrong.com

John Prevost <prevost1@cert.org> writes:

  > Dan Nicolaescu <dann@ics.uci.edu> writes:
  > 
  > > In emacs-23 uses of window-system to initialize variables are most of
  > > the time bugs because window-system is not a constant anymore.  Its
  > > value depends of the frame it is used in, and we can have TTY and GUI
  > > frames in the same emacs sessions, so...
  > 
  > That was my assumption, yup.
  > 
  > > w32 does not use the daemon mode, nor can it use TTY and w32 frames at
  > > the same time, so it should not matter.
  > 
  > Hmm.  Is it not possible to start emacs in --daemon mode and use
  > emacsclient to open a file in w32?  I thought I had tested this and that
  > it had worked. 

No, it does not, from emacs/src/emacs.c:

#else /* DOS_NT */
      fprintf (stderr, "This platform does not support the -daemon  flag.\n");
      exit (1);
#endif /* DOS_NT */

  > In any case, it's clear that this is a problem in mwheel, and I do have
  > a short-term workaround.

It would be good if someone would look at mwheel.el and fix it
properly... 





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#4124: 23.1; mwheel in --daemon mode
  2009-08-11 18:13     ` John Prevost
  2009-08-11 18:22       ` Dan Nicolaescu
@ 2009-08-13 17:49       ` Stefan Monnier
  1 sibling, 0 replies; 8+ messages in thread
From: Stefan Monnier @ 2009-08-13 17:49 UTC (permalink / raw)
  To: John Prevost; +Cc: Dan Nicolaescu, 4124

> No.  The essential problem is that in 'x', the mouse wheel events are
> 'mouse-4' and 'mouse-5', while in 'ns' and 'w32', the mouse wheel events
> are 'wheel-up' and 'wheel-down'.  The defcustom sets the default for the

Indeed.  We should remap mouse-4/5 to wheel-up/down in term/x-win.el via
function-key-map.  The only reason why I haven't done that yet is that
it is also needed for C-mouse-4/5, M-mouse-4/5, C-M-mouse-4/5 and on and
on for all combinations of modifiers (2^5).  64 additional entries in
function-key-map is not that bad, but for those users whose mouse-4/5 is
not a wheel mouse, it can be a serious pain in the rear to remove them.

So basically, I'd like to extend the function-key-map facilities so that
you can have entries that remap a whole set of events, but it's still on
the todo list.


        Stefan





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#4124: marked as done (23.1; mwheel in --daemon mode)
  2009-08-11 15:47 ` bug#4124: 23.1; mwheel in --daemon mode John Prevost
  2009-08-11 17:27   ` Dan Nicolaescu
@ 2009-08-16  6:00   ` Emacs bug Tracking System
  1 sibling, 0 replies; 8+ messages in thread
From: Emacs bug Tracking System @ 2009-08-16  6:00 UTC (permalink / raw)
  To: Chong Yidong

[-- Attachment #1: Type: text/plain, Size: 854 bytes --]


Your message dated Sun, 16 Aug 2009 01:56:19 -0400
with message-id <87y6pk9u9o.fsf@cyd.mit.edu>
and subject line Re: bug#4124: 23.1; mwheel in --daemon mode
has caused the Emacs bug report #4124,
regarding 23.1; mwheel in --daemon mode
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com
immediately.)


-- 
4124: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4124
Emacs Bug Tracking System
Contact owner@emacsbugs.donarmstrong.com with problems

[-- Attachment #2: Type: message/rfc822, Size: 5653 bytes --]

From: John Prevost <prevost1@cert.org>
To: bug-gnu-emacs@gnu.org
Subject: 23.1; mwheel in --daemon mode
Date: Tue, 11 Aug 2009 11:47:55 -0400
Message-ID: <m263cul5ck.fsf@TELPERION.WV.CC.CMU.EDU>


Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

When emacs is started in --daemon mode, the window-system variable is
initially 'nil'.  In mwheel.el, mouse-wheel-down-event and
mouse-wheel-up-event are bound with defcustom declarations like the
following:

(defcustom mouse-wheel-down-event
  ;; In the latest versions of XEmacs, we could just use mouse-%s as well.
  (if (memq window-system '(w32 ns))
      'wheel-up
    (intern (format (if (featurep 'xemacs) "button%s" "mouse-%s")
		    mouse-wheel-down-button)))
  "Event used for scrolling down."
  :group 'mouse
  :type 'symbol
  :set 'mouse-wheel-change-button)

Since these run before any terminal is created in the --daemon case,
window-system may not be set to anything at all.

It is possible that this is a bug in mwheel, and that mwheel (and other
packages) should take care not to make use of the window-system variable
until startup.  (This may be particularly important if it's possible for
a single emacs binary to have support for multiple window systems.)

It is possible that a better solution to the problem that mwheel solves
above would be for either term/x-win.el to define-key mouse-4 and
mouse-5 to wheel-up and wheel-down, or for term/w32-win.el and
term/ns-win.el to define-key wheel-up and wheel-down to mouse-4 and
mouse-5, so that mwheel and other packages can use the same symbol on
all window systems.


Either way, the current state of the world is that --daemon results in a
non-functional mouse wheel on w32 and ns.


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/Users/prevost1/Documents/src/emacs-23.1/nextstep/Emacs.app/Contents/Resources/etc/DEBUG for instructions.


In GNU Emacs 23.1.1 (i386-apple-darwin9.7.0, NS apple-appkit-949.46)
 of 2009-08-07 on TELPERION.WV.CC.CMU.EDU
Windowing system distributor `Apple', version 10.3.949
configured using `configure  '--prefix=/opt/emacs-23.1' '--with-ns''

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:
  diff-auto-refine-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  global-auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> s-x r e p o r t M-x r e p o t <backspace> 
r t - e m <tab> <return>

Recent messages:
Loading /Users/prevost1/Documents/src/elisp/nxml-mode/rng-auto.el (source)...done
Loading /Users/prevost1/Documents/src/elisp/mercurial.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Terminal setup done
kill-region: The mark is not set now, so there is no region



[-- Attachment #3: Type: message/rfc822, Size: 1817 bytes --]

From: Chong Yidong <cyd@stupidchicken.com>
To: Stefan Monnier <monnier@IRO.UMontreal.CA>
Cc: John Prevost <prevost1@cert.org>, 4124-done@emacsbugs.donarmstrong.com, Dan Nicolaescu <dann@ics.uci.edu>
Subject: Re: bug#4124: 23.1; mwheel in --daemon mode
Date: Sun, 16 Aug 2009 01:56:19 -0400
Message-ID: <87y6pk9u9o.fsf@cyd.mit.edu>

> > No.  The essential problem is that in 'x', the mouse wheel events are
> > 'mouse-4' and 'mouse-5', while in 'ns' and 'w32', the mouse wheel
> > events are 'wheel-up' and 'wheel-down'. 
>
> Indeed.  We should remap mouse-4/5 to wheel-up/down in term/x-win.el
> via function-key-map... So basically, I'd like to extend the
> function-key-map facilities so that you can have entries that remap a
> whole set of events, but it's still on the todo list.

In the meantime, we can just test for the `ns-win' and `w32-win'
features (or, equivalently, the system-type variable, but I think the
former are more to the point).  I checked in a fix to mwheel.el along
these lines.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#4127: marked as done (23.1; mwheel in --daemon mode)
  2009-08-11 17:34 ` bug#4127: 23.1; mwheel in --daemon mode John Prevost
@ 2009-08-16  6:00   ` Emacs bug Tracking System
  0 siblings, 0 replies; 8+ messages in thread
From: Emacs bug Tracking System @ 2009-08-16  6:00 UTC (permalink / raw)
  To: Chong Yidong

[-- Attachment #1: Type: text/plain, Size: 854 bytes --]


Your message dated Sun, 16 Aug 2009 01:56:19 -0400
with message-id <87y6pk9u9o.fsf@cyd.mit.edu>
and subject line Re: bug#4124: 23.1; mwheel in --daemon mode
has caused the Emacs bug report #4124,
regarding 23.1; mwheel in --daemon mode
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com
immediately.)


-- 
4124: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4124
Emacs Bug Tracking System
Contact owner@emacsbugs.donarmstrong.com with problems

[-- Attachment #2: Type: message/rfc822, Size: 5356 bytes --]

From: John Prevost <prevost1@cert.org>
To: bug-gnu-emacs@gnu.org
Subject: 23.1; mwheel in --daemon mode
Date: Tue, 11 Aug 2009 13:34:08 -0400
Message-ID: <m24osel0fj.fsf@TELPERION.WV.CC.CMU.EDU>


Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

When emacs is started in --daemon mode, the window-system variable is
initially 'nil'.  In mwheel.el, mouse-wheel-down-event and
mouse-wheel-up-event are bound with defcustom declarations like the
following:

(defcustom mouse-wheel-down-event
  ;; In the latest versions of XEmacs, we could just use mouse-%s as well.
  (if (memq window-system '(w32 ns))
      'wheel-up
    (intern (format (if (featurep 'xemacs) "button%s" "mouse-%s")
		    mouse-wheel-down-button)))
  "Event used for scrolling down."
  :group 'mouse
  :type 'symbol
  :set 'mouse-wheel-change-button)

Since these run before any terminal is created in the --daemon case,
window-system may not be set to anything at all.

It is possible that this is a bug in mwheel, and that mwheel (and other
packages) should take care not to make use of the window-system variable
until startup.  (This may be particularly important if it's possible for
a single emacs binary to have support for multiple window systems.)

It is possible that a better solution to the problem that mwheel solves
above would be for either term/x-win.el to define-key mouse-4 and
mouse-5 to wheel-up and wheel-down, or for term/w32-win.el and
term/ns-win.el to define-key wheel-up and wheel-down to mouse-4 and
mouse-5, so that mwheel and other packages can use the same symbol on
all window systems.


Either way, the current state of the world is that --daemon results in a
non-functional mouse wheel on w32 and ns.


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/Users/prevost1/Documents/src/emacs-23.1/nextstep/Emacs.app/Contents/Resources/etc/DEBUG for instructions.


In GNU Emacs 23.1.1 (i386-apple-darwin9.7.0, NS apple-appkit-949.46)
 of 2009-08-07 on TELPERION.WV.CC.CMU.EDU
Windowing system distributor `Apple', version 10.3.949
configured using `configure  '--prefix=/opt/emacs-23.1' '--with-ns''

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:
  diff-auto-refine-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  global-auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> s-x r e p o r t M-x r e p o t <backspace> 
r t - e m <tab> <return>

Recent messages:
Loading /Users/prevost1/Documents/src/elisp/nxml-mode/rng-auto.el (source)...done
Loading /Users/prevost1/Documents/src/elisp/mercurial.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Terminal setup done
kill-region: The mark is not set now, so there is no region



[-- Attachment #3: Type: message/rfc822, Size: 1817 bytes --]

From: Chong Yidong <cyd@stupidchicken.com>
To: Stefan Monnier <monnier@IRO.UMontreal.CA>
Cc: John Prevost <prevost1@cert.org>, 4124-done@emacsbugs.donarmstrong.com, Dan Nicolaescu <dann@ics.uci.edu>
Subject: Re: bug#4124: 23.1; mwheel in --daemon mode
Date: Sun, 16 Aug 2009 01:56:19 -0400
Message-ID: <87y6pk9u9o.fsf@cyd.mit.edu>

> > No.  The essential problem is that in 'x', the mouse wheel events are
> > 'mouse-4' and 'mouse-5', while in 'ns' and 'w32', the mouse wheel
> > events are 'wheel-up' and 'wheel-down'. 
>
> Indeed.  We should remap mouse-4/5 to wheel-up/down in term/x-win.el
> via function-key-map... So basically, I'd like to extend the
> function-key-map facilities so that you can have entries that remap a
> whole set of events, but it's still on the todo list.

In the meantime, we can just test for the `ns-win' and `w32-win'
features (or, equivalently, the system-type variable, but I think the
former are more to the point).  I checked in a fix to mwheel.el along
these lines.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-08-16  6:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <87y6pk9u9o.fsf@cyd.mit.edu>
2009-08-11 15:47 ` bug#4124: 23.1; mwheel in --daemon mode John Prevost
2009-08-11 17:27   ` Dan Nicolaescu
2009-08-11 18:13     ` John Prevost
2009-08-11 18:22       ` Dan Nicolaescu
2009-08-13 17:49       ` Stefan Monnier
2009-08-16  6:00   ` bug#4124: marked as done (23.1; mwheel in --daemon mode) Emacs bug Tracking System
2009-08-11 17:34 ` bug#4127: 23.1; mwheel in --daemon mode John Prevost
2009-08-16  6:00   ` bug#4127: marked as done (23.1; mwheel in --daemon mode) Emacs bug Tracking System

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).