* Re: finger-pointer curser as default for mouse-face text [not found] <DNEMKBNJBGPAOPIJOOICAEKKCAAA.drew.adams@oracle.com> @ 2004-10-19 9:04 ` Kim F. Storm 2004-10-19 15:31 ` Lennart Borgman ` (3 more replies) 0 siblings, 4 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-19 9:04 UTC (permalink / raw) Cc: Richard Stallman, emacs-devel "Drew Adams" <drew.adams@oracle.com> writes: > I see what you're saying. You've made it possible to follow links (and click > buttons) using mouse-1 (in addition to using mouse-2). > > I really must not have made myself clear. RMS had the same misunderstanding > as you. Well, common user interface practice is that clicking mouse-1 on a link follows that link. > > My point was not that using mouse-2 is not good. I think mouse-2 should > remain the way to click links and buttons in Emacs, don't you? While I find this discussion of which pointer to use "amusing", IMO using mouse-2 is a serious flaw in the emacs user interface. For example, on my notebook, the touchpad doesn't have mouse-2, so I'm forced to click two mouse buttons which are really not designed to support that (it's scary EVERY time I need to do so). > We want to be > able to use mouse-1 to select text inside a link, without accidentally > clicking the link. Most other applications manage just fine to allow a user to use mouse-1 for both setting the point, marking a region, and following a link. My patch to mouse-drag-region-1 was a sample of how to do use mouse-1 in addition to mouse-2 to following links in emacs too. The only real problem is how to mark text in the middle of a link -- but IMO that's a much less frequent operation that following the link. And with my patch, you can actually still DRAG to mark, it's only the single click that doesn't just set the mark, but follows the link as well. I don't see ANY problem with that. At least, we could make it a user option: (defcustom mouse-1-click-follows-link nil "Non-nil means that clicking mouse-1 on a link follows the link. If value is `always', follow implicit links too (this means that mouse-2 has a specific binding in the current buffer). Otherwise, only follow links which have the mouse-face property. To set point in a link, either drag the mouse (which sets the region), or double-click in the link." :type '(choice ...)) [Of course, my patch need more work to do this, but it is still a proof of concept]. > > My point was that the pointer graphic is a hand with a pointing index finger > (finger-1), and that it would be good to change this default pointer > graphic. That's all. I see your point, but I disagree the hand pointer is a bad choice -- it clearly identifies the link as a link. > > I'd prefer to see a graphic that doesn't point with finger-1, because that > pointer is commonly used in Web browsers (and some other applications) where > you use mouse-1 to click links. The mental association between that pointer > and mouse-1 is pretty strong by now (at least for me): the pointer makes me > want to click mouse-1 (which is incorrect). Why is that incorrect? My point is that your perception is correct -- it is emacs that's too restrictive here. >> *** mouse.el 17 Oct 2004 00:11:15 +0200 1.250 >> --- mouse.el 18 Oct 2004 13:16:54 +0200 >> *************** >> *** 864,869 **** >> --- 864,874 ---- >> (or end-point >> (= (window-start start-window) >> start-window-start))) >> + (if (and (eq fun 'mouse-set-point) >> + (not end-point) >> + (consp event) >> + (get-char-property start-point 'mouse-face)) >> + (setcar event 'mouse-2)) >> (setq unread-command-events >> (cons event unread-command-events))))) >> (delete-overlay mouse-drag-overlay))))) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-19 9:04 ` finger-pointer curser as default for mouse-face text Kim F. Storm @ 2004-10-19 15:31 ` Lennart Borgman 2004-10-19 16:12 ` Drew Adams ` (2 subsequent siblings) 3 siblings, 0 replies; 173+ messages in thread From: Lennart Borgman @ 2004-10-19 15:31 UTC (permalink / raw) Cc: Richard Stallman, emacs-devel ----- Original Message ----- From: "Kim F. Storm" <storm@cua.dk> : Well, common user interface practice is that clicking mouse-1 on a : link follows that link. : : I see your point, but I disagree the hand pointer is a bad choice -- it clearly : identifies the link as a link. I support these points. Whether one likes it or not I think it is good to follow common user interface practice if it is not too hard. I believe that is one of the keys to success. - Lennart ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: finger-pointer curser as default for mouse-face text 2004-10-19 9:04 ` finger-pointer curser as default for mouse-face text Kim F. Storm 2004-10-19 15:31 ` Lennart Borgman @ 2004-10-19 16:12 ` Drew Adams 2004-10-21 13:56 ` Richard Stallman 2004-10-21 14:09 ` David Kastrup 3 siblings, 0 replies; 173+ messages in thread From: Drew Adams @ 2004-10-19 16:12 UTC (permalink / raw) Cc: Richard Stallman, emacs-devel Kim, you convinced me (at least). On mouse-face links, users can get by with other ways to select text, as you mention (drag, use keyboard etc.), so we could use mouse-1 for link & button clicks (as a user option). My only gripe was that the finger-1 pointer graphic didn't fit the mouse-2-click behavior, so if we changed to mouse-1, that would be fine. BTW, isn't the behavior you propose what we have already in Customize buffers? -----Original Message-----From: Kim F. Storm using mouse-2 is a serious flaw in the emacs user interface. For example, on my notebook, the touchpad doesn't have mouse-2, so I'm forced to click two mouse buttons Most other applications manage just fine to allow a user to use mouse-1 for both setting the point, marking a region, and following a link. My patch to mouse-drag-region-1 was a sample of how to do use mouse-1 in addition to mouse-2 to following links in emacs too. The only real problem is how to mark text in the middle of a link -- but IMO that's a much less frequent operation that following the link. And with my patch, you can actually still DRAG to mark, it's only the single click that doesn't just set the mark, but follows the link as well. I don't see ANY problem with that. At least, we could make it a user option ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-19 9:04 ` finger-pointer curser as default for mouse-face text Kim F. Storm 2004-10-19 15:31 ` Lennart Borgman 2004-10-19 16:12 ` Drew Adams @ 2004-10-21 13:56 ` Richard Stallman 2004-10-21 14:47 ` Kim F. Storm 2004-10-21 14:09 ` David Kastrup 3 siblings, 1 reply; 173+ messages in thread From: Richard Stallman @ 2004-10-21 13:56 UTC (permalink / raw) Cc: drew.adams, emacs-devel Most other applications manage just fine to allow a user to use mouse-1 for both setting the point, marking a region, and following a link. How do they do this? Could you describe the behavior pattern of Mouse-1 in those applications? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-21 13:56 ` Richard Stallman @ 2004-10-21 14:47 ` Kim F. Storm 2004-10-21 16:03 ` Lennart Borgman 2004-10-23 4:48 ` Richard Stallman 0 siblings, 2 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-21 14:47 UTC (permalink / raw) Cc: drew.adams, emacs-devel Richard Stallman <rms@gnu.org> writes: > Most other applications manage just fine to allow a user to use > mouse-1 for both setting the point, marking a region, and following a > link. > > How do they do this? Could you describe the behavior pattern > of Mouse-1 in those applications? If you click mouse-1 outside a link, it moves the cursor. If you click on a link, it follows the link. If you drag inside or over a link behaviour varies with the application, but my suggestion for emacs is that it highlights the text and sets point at the end of the drag. What you typically cannot do directly is set the mouse in the middle of a link. Typically you would use mouse-3 (right mouse) to get a context menu for the link, and then cancel the menu. Maybe in our case, if we enable this feature (as a user option) clicking mouse-2 on a link should just set point there? -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-21 14:47 ` Kim F. Storm @ 2004-10-21 16:03 ` Lennart Borgman 2004-10-23 4:48 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Lennart Borgman @ 2004-10-21 16:03 UTC (permalink / raw) Cc: drew.adams, emacs-devel ----- Original Message ----- From: "Kim F. Storm" <storm@cua.dk> : Richard Stallman <rms@gnu.org> writes: : : > Most other applications manage just fine to allow a user to use : > mouse-1 for both setting the point, marking a region, and following a : > link. : > : > How do they do this? Could you describe the behavior pattern : > of Mouse-1 in those applications? : : If you click mouse-1 outside a link, it moves the cursor. : : If you click on a link, it follows the link. : : If you drag inside or over a link behaviour varies with the : application, but my suggestion for emacs is that it highlights the : text and sets point at the end of the drag. This is the behaviour of the most common web browsers (like Firefox). I think most other applications have tried to mimic this behaviour and I believe that is good. Consistent behaviour across applications as far as possible without sacrificing too much is what most users seems to want. Firefox does not allow selecting by dragging inside a normal link (an a-tag), since this is preserved for dragging the link. In Emacs there is currently no need to drag a link as far as I know so Emacs could allow selecting by dragging inside a link too. Some further points about mouse use: I mostly use the keyboard and in Emacs I mostly found that I do not like the mouse behaviour or that it is inconsistent. Maybe it is because I am still using 21.3.1 or maybe it is because I am running Emacs on ms windows, I do not know? Here is how it works in Emacs Info for me: * For link at the top: If i click with left button it follows the link. If I click with right button nothing happens. I can't drag inside a top link. * For a link on the page: If I click with with left button point moves. If I click with right button region is selected selected and highlighted (even though I started with bin/emacs.exe -q --no-site-file??). I would be glad for more consistent behaviour both within Emacs and between Emacs and the most common applications. - Lennart ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-21 14:47 ` Kim F. Storm 2004-10-21 16:03 ` Lennart Borgman @ 2004-10-23 4:48 ` Richard Stallman 2004-10-24 12:42 ` Kim F. Storm 1 sibling, 1 reply; 173+ messages in thread From: Richard Stallman @ 2004-10-23 4:48 UTC (permalink / raw) Cc: drew.adams, emacs-devel What you typically cannot do directly is set the mouse in the middle of a link. Typically you would use mouse-3 (right mouse) to get a context menu for the link, and then cancel the menu. Mouse-3 in Emacs does not move point; if you cancel the menu, it won't do anything, so point won't move. Maybe it is good enough to be able to drag the mouse into the area and then release it and ignore the mark setting that it made. This is the sort of change for which we need to conduct a poll of the users. Maybe in our case, if we enable this feature (as a user option) clicking mouse-2 on a link should just set point there? That sounds rather strange and backwards. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-23 4:48 ` Richard Stallman @ 2004-10-24 12:42 ` Kim F. Storm 2004-10-24 12:59 ` Lennart Borgman ` (3 more replies) 0 siblings, 4 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-24 12:42 UTC (permalink / raw) Cc: drew.adams, emacs-devel Richard Stallman <rms@gnu.org> writes: > Maybe it is good enough to be able to drag the mouse into the area > and then release it and ignore the mark setting that it made. > > This is the sort of change for which we need to conduct a poll of the > users. I found a simpler solution which works really well, as it provides the fallback directly on mouse-1 itself: Measure the time between the mouse-1 down event and the up event, and if it less than 300 ms (configurable), follow the link, else do what mouse-1 normally does. So a "fast" click follows the link, a slightly slower click sets the point (or whatever mouse-1 does). Dragging the mouse also inhibits following the link. Here is a patch: Index: mouse.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/mouse.el,v retrieving revision 1.251 diff -c -r1.251 mouse.el *** mouse.el 18 Oct 2004 09:29:26 -0000 1.251 --- mouse.el 24 Oct 2004 12:38:38 -0000 *************** *** 48,53 **** --- 48,66 ---- :type 'boolean :group 'mouse) + (defcustom mouse-1-click-follows-link 300 + "Non-nil means that clicking mouse-1 on a link follows the link. + This is only done for links which have the mouse-face property. + + If value is an integer, it specifies the maximum duration in + milli-seconds of the mouse-1 click to be recognized as a mouse-2 click. + If the time between pressing and releasing the mouse button is + longer, the normal mouse-1 action, e.g. set point, is performed." + :version "21.4" + :type '(choice (const :tag "Disabled" nil) + (number :tag "Max. click time" :value 300) + (other :tag "Enabled" t))) + \f ;; Provide a mode-specific menu on a mouse button. *************** *** 877,882 **** --- 890,905 ---- (or end-point (= (window-start start-window) start-window-start))) + (if (and mouse-1-click-follows-link + (not end-point) + (consp event) + (get-char-property start-point 'mouse-face) + (or (not (integerp mouse-1-click-follows-link)) + (let ((t0 (posn-timestamp (event-start start-event))) + (t1 (posn-timestamp (event-end event)))) + (and (integerp t0) (integerp t1) + (<= (- t1 t0) mouse-1-click-follows-link))))) + (setcar event 'mouse-2)) (setq unread-command-events (cons event unread-command-events))))) (delete-overlay mouse-drag-overlay))))) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 12:42 ` Kim F. Storm @ 2004-10-24 12:59 ` Lennart Borgman 2004-10-24 19:40 ` Kim F. Storm 2004-10-25 13:13 ` Richard Stallman 2004-10-24 13:10 ` David Kastrup ` (2 subsequent siblings) 3 siblings, 2 replies; 173+ messages in thread From: Lennart Borgman @ 2004-10-24 12:59 UTC (permalink / raw) Cc: drew.adams, emacs-devel ----- Original Message ----- From: "Kim F. Storm" <storm@cua.dk> : Measure the time between the mouse-1 down event and the up event, and : if it less than 300 ms (configurable), follow the link, else do what : mouse-1 normally does. On ms windows this is again a setting in the registry. - Lennart ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 12:59 ` Lennart Borgman @ 2004-10-24 19:40 ` Kim F. Storm 2004-10-24 20:06 ` Lennart Borgman 2004-10-25 13:13 ` Richard Stallman 1 sibling, 1 reply; 173+ messages in thread From: Kim F. Storm @ 2004-10-24 19:40 UTC (permalink / raw) Cc: rms, drew.adams, emacs-devel "Lennart Borgman" <lennart.borgman.073@student.lu.se> writes: > ----- Original Message ----- > From: "Kim F. Storm" <storm@cua.dk> > > : Measure the time between the mouse-1 down event and the up event, and > : if it less than 300 ms (configurable), follow the link, else do what > : mouse-1 normally does. > > On ms windows this is again a setting in the registry. Which? What do you refer to by "again"? Do you say that on windoze, you have a similar function (mouse click behaviour depends on how how you hold down the mouse button)? -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 19:40 ` Kim F. Storm @ 2004-10-24 20:06 ` Lennart Borgman 0 siblings, 0 replies; 173+ messages in thread From: Lennart Borgman @ 2004-10-24 20:06 UTC (permalink / raw) Cc: rms, drew.adams, emacs-devel ----- Original Message ----- From: "Kim F. Storm" <storm@cua.dk> : "Lennart Borgman" <lennart.borgman.073@student.lu.se> writes: : : > ----- Original Message ----- : > From: "Kim F. Storm" <storm@cua.dk> : > : > : Measure the time between the mouse-1 down event and the up event, and : > : if it less than 300 ms (configurable), follow the link, else do what : > : mouse-1 normally does. : > : > On ms windows this is again a setting in the registry. : : Do you say that on windoze, you have a similar function (mouse click : behaviour depends on how how you hold down the mouse button)? (red face). No Sorry. I was thinking about double clicking. - Lennart ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 12:59 ` Lennart Borgman 2004-10-24 19:40 ` Kim F. Storm @ 2004-10-25 13:13 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-10-25 13:13 UTC (permalink / raw) Cc: emacs-devel, drew.adams, storm : Measure the time between the mouse-1 down event and the up event, and : if it less than 300 ms (configurable), follow the link, else do what : mouse-1 normally does. On ms windows this is again a setting in the registry. I am not quite sure what "this" refers to here. What is the setting in the registry, and what does its value normally mean? Does MS Windows have this feature? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 12:42 ` Kim F. Storm 2004-10-24 12:59 ` Lennart Borgman @ 2004-10-24 13:10 ` David Kastrup 2004-10-24 19:59 ` Kim F. Storm 2004-10-24 22:31 ` Stefan 2004-10-25 13:13 ` Richard Stallman 3 siblings, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-24 13:10 UTC (permalink / raw) Cc: rms, drew.adams, emacs-devel storm@cua.dk (Kim F. Storm) writes: > Richard Stallman <rms@gnu.org> writes: > >> Maybe it is good enough to be able to drag the mouse into the area >> and then release it and ignore the mark setting that it made. >> >> This is the sort of change for which we need to conduct a poll of the >> users. > > I found a simpler solution which works really well, as it provides the > fallback directly on mouse-1 itself: > > Measure the time between the mouse-1 down event and the up event, and > if it less than 300 ms (configurable), follow the link, else do what > mouse-1 normally does. > > So a "fast" click follows the link, a slightly slower click sets the > point (or whatever mouse-1 does). Dragging the mouse also inhibits > following the link. Actually, for me this is somewhat backward: I use a touchpad, and setting the cursor is naturally done by tapping (which is short), while following a link currently is done by pressing both mouse keys together (which by necessity is longer). Since setting the cursor is usually followed by typing ahead soon, one wants to continue fast (because you continue at the point at which you usually look). Whereas if you follow the link, you are waiting for something to happen. So I'd very much prefer making the long press follow the link, even though a long press is more likely to get interpreted as a drag instead. Perhaps the sign of that variable can be used for specifying whether the long or the short duration means following the link? Positive means longer than given duration, negative means shorter? -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 13:10 ` David Kastrup @ 2004-10-24 19:59 ` Kim F. Storm 2004-10-26 9:04 ` Richard Stallman 0 siblings, 1 reply; 173+ messages in thread From: Kim F. Storm @ 2004-10-24 19:59 UTC (permalink / raw) Cc: rms, drew.adams, emacs-devel David Kastrup <dak@gnu.org> writes: > storm@cua.dk (Kim F. Storm) writes: > >> So a "fast" click follows the link, a slightly slower click sets the >> point (or whatever mouse-1 does). Dragging the mouse also inhibits >> following the link. > > Actually, for me this is somewhat backward: I use a touchpad, and > setting the cursor is naturally done by tapping (which is short), > while following a link currently is done by pressing both mouse keys > together (which by necessity is longer). Since setting the cursor is > usually followed by typing ahead soon, one wants to continue fast > (because you continue at the point at which you usually look). > Whereas if you follow the link, you are waiting for something to > happen. Normally, I would not expect a user to type anything in the middle of a link, but YMMV. > So I'd very much prefer making the long press follow the link, even > though a long press is more likely to get interpreted as a drag > instead. > > Perhaps the sign of that variable can be used for specifying whether > the long or the short duration means following the link? Positive > means longer than given duration, negative means shorter? Like this: Index: mouse.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/mouse.el,v retrieving revision 1.251 diff -c -r1.251 mouse.el *** mouse.el 18 Oct 2004 09:29:26 -0000 1.251 --- mouse.el 24 Oct 2004 19:06:25 -0000 *************** *** 48,53 **** --- 48,72 ---- :type 'boolean :group 'mouse) + (defcustom mouse-1-click-follows-link 300 + "Non-nil means that clicking mouse-1 on a link follows the link. + This is only done for links which have the mouse-face property. + + If value is an positive integer, it specifies the maximum duration in + milli-seconds of the mouse-1 click to be recognized as a mouse-2 click. + If the time between pressing and releasing the mouse button is + longer, the normal mouse-1 action (typically set point) is performed. + + If value is an negative integer, its absolute value specifies the + minimum duration in milli-seconds of the mouse-1 click to be recognized + as a mouse-2 click. If the time between pressing and releasing the + mouse button is longer, the normal mouse-1 action is performed." + :version "21.4" + :type '(choice (const :tag "Disabled" nil) + (number :tag "Click time limit" :value 300) + (other :tag "Enabled" t)) + :group 'mouse) + \f ;; Provide a mode-specific menu on a mouse button. *************** *** 877,882 **** --- 896,914 ---- (or end-point (= (window-start start-window) start-window-start))) + (if (and mouse-1-click-follows-link + (not end-point) + (consp event) + (get-char-property start-point 'mouse-face) + (or (not (integerp mouse-1-click-follows-link)) + (let ((t0 (posn-timestamp (event-start start-event))) + (t1 (posn-timestamp (event-end event)))) + (and (integerp t0) (integerp t1) + (if (> mouse-1-click-follows-link 0) + (<= (- t1 t0) mouse-1-click-follows-link) + (< (- t0 t1) mouse-1-click-follows-link)))))) + + (setcar event 'mouse-2)) (setq unread-command-events (cons event unread-command-events))))) (delete-overlay mouse-drag-overlay))))) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 19:59 ` Kim F. Storm @ 2004-10-26 9:04 ` Richard Stallman 2004-10-26 17:05 ` Lennart Borgman 0 siblings, 1 reply; 173+ messages in thread From: Richard Stallman @ 2004-10-26 9:04 UTC (permalink / raw) Cc: drew.adams, emacs-devel > Perhaps the sign of that variable can be used for specifying whether > the long or the short duration means following the link? Positive > means longer than given duration, negative means shorter? Giving the user lots of options is no substitute for good design. The problem here is to make Emacs behave in a way that users expect without looking at documentation. Any solution that involves learning about an option and setting it is automatically a failure. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-26 9:04 ` Richard Stallman @ 2004-10-26 17:05 ` Lennart Borgman 0 siblings, 0 replies; 173+ messages in thread From: Lennart Borgman @ 2004-10-26 17:05 UTC (permalink / raw) Cc: drew.adams, emacs-devel ----- Original Message ----- From: "Richard Stallman" <rms@gnu.org> : Giving the user lots of options is no substitute for good design. : The problem here is to make Emacs behave in a way that users expect : without looking at documentation. Any solution that involves learning : about an option and setting it is automatically a failure. That is a very good point for UI design. This is also why the UI should behave the way users are acustomed to as far as possible. - Lennart ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 12:42 ` Kim F. Storm 2004-10-24 12:59 ` Lennart Borgman 2004-10-24 13:10 ` David Kastrup @ 2004-10-24 22:31 ` Stefan 2004-10-25 7:22 ` David Kastrup 2004-10-25 8:31 ` Kim F. Storm 2004-10-25 13:13 ` Richard Stallman 3 siblings, 2 replies; 173+ messages in thread From: Stefan @ 2004-10-24 22:31 UTC (permalink / raw) Cc: rms, drew.adams, emacs-devel > I found a simpler solution which works really well, as it provides the > fallback directly on mouse-1 itself: > Measure the time between the mouse-1 down event and the up event, and > if it less than 300 ms (configurable), follow the link, else do what > mouse-1 normally does. Sounds like a terrible idea to me. Working with X11-over-DSL means that timing is rather unreliable. Same thing with heavy-swapping (as happens when a I do `tla star-merge' :-( ). And even if the timing could be measured accurately, I don't find the "hold the mouse button longer" to be intuitive at all for "move point". I think we're trying to squeeze too much info in those events. I'm quite happy with the distinction between click and drag but I don't think we should go further than that. Stefan PS: David, could you explain exactly what's the problem with Kim's suggested patch and latex-preview? What is the behavior of latex-preview in the case of mouse-1 and in the case of mouse-2? Is mouse-face applied to the actual text or just to the (before|after)-string? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 22:31 ` Stefan @ 2004-10-25 7:22 ` David Kastrup 2004-10-25 11:47 ` Stefan 2004-10-26 9:05 ` Richard Stallman 2004-10-25 8:31 ` Kim F. Storm 1 sibling, 2 replies; 173+ messages in thread From: David Kastrup @ 2004-10-25 7:22 UTC (permalink / raw) Cc: emacs-devel, rms, drew.adams, Kim F. Storm Stefan <monnier@iro.umontreal.ca> writes: > PS: David, could you explain exactly what's the problem with Kim's suggested > patch and latex-preview? It's not like I hadn't done this already. > What is the behavior of latex-preview in the case of mouse-1 and in > the case of mouse-2? Is mouse-face applied to the actual text or > just to the (before|after)-string? The behavior of preview-latex when clicking with mouse-1 on a preview image is to simply set point on the image (i.e., the behavior is just the default, and preview-latex does not tamper with it). You will often need to do this to cut and paste the text passage that is hidden by the image, for example, it you are doing a mathematical derivation and start with the source text of the last equation in order to derive the next one. When clicking with mouse-2 on the image, the image is replaced by the underlying text. The image has a mouse-face that is visible indication that you can mouse-2 the image. Clicking outside the image and then using the cursor keys to get on the image is not feasible instead: it will uncover the image automatically with the default settings. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 7:22 ` David Kastrup @ 2004-10-25 11:47 ` Stefan 2004-10-25 12:51 ` David Kastrup 2004-10-26 9:05 ` Richard Stallman 1 sibling, 1 reply; 173+ messages in thread From: Stefan @ 2004-10-25 11:47 UTC (permalink / raw) Cc: emacs-devel, rms, drew.adams, Kim F. Storm >> What is the behavior of latex-preview in the case of mouse-1 and in >> the case of mouse-2? Is mouse-face applied to the actual text or >> just to the (before|after)-string? > The behavior of preview-latex when clicking with mouse-1 on a preview > image is to simply set point on the image (i.e., the behavior is just > the default, and preview-latex does not tamper with it). You will > often need to do this to cut and paste the text passage that is hidden > by the image, for example, it you are doing a mathematical derivation > and start with the source text of the last equation in order to derive > the next one. When clicking with mouse-2 on the image, the image is > replaced by the underlying text. The image has a mouse-face that is > visible indication that you can mouse-2 the image. So it's the image (which is placed on a before-string) which has the `mouse-face', not the buffer's text, right? So Kim's patch won't interfere since Kim's patch checks (get-char-property (point) 'mouse-face) which should return nil in your case. Have you tried his patch or were you just "running it in your head" (like I usually do myself)? Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 11:47 ` Stefan @ 2004-10-25 12:51 ` David Kastrup 2004-10-25 13:50 ` Stefan Monnier 0 siblings, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-25 12:51 UTC (permalink / raw) Cc: emacs-devel, rms, drew.adams, Kim F. Storm Stefan <monnier@iro.umontreal.ca> writes: >>> What is the behavior of latex-preview in the case of mouse-1 and in >>> the case of mouse-2? Is mouse-face applied to the actual text or >>> just to the (before|after)-string? > >> The behavior of preview-latex when clicking with mouse-1 on a preview >> image is to simply set point on the image (i.e., the behavior is just >> the default, and preview-latex does not tamper with it). You will >> often need to do this to cut and paste the text passage that is hidden >> by the image, for example, it you are doing a mathematical derivation >> and start with the source text of the last equation in order to derive >> the next one. When clicking with mouse-2 on the image, the image is >> replaced by the underlying text. The image has a mouse-face that is >> visible indication that you can mouse-2 the image. > > So it's the image (which is placed on a before-string) No insinuations, please. If the image were placed on a before-string, you could not move point to it in the first place. The image is placed in the display property of the text (actually, the display property of an overlay, and this overlay has the mouse-face). > which has the `mouse-face', not the buffer's text, right? Wrong. > So Kim's patch won't interfere since Kim's patch checks > (get-char-property (point) 'mouse-face) which should return nil in > your case. Shouldn't. > Have you tried his patch or were you just "running it in your head" > (like I usually do myself)? It does not actually matter since I merely cited preview-latex as one case that would appear not to fit the assumptions behind Kim's patch. Whether or not an inconsistency in behavior might perchance render the patch inoperative in this case by shere luck does not change the basic premise: we need a proper migration strategy to do something like that. preview-latex itself is not much of a problem: it is under my control and I can make it cope if it is the only application in the world that gets in trouble with such a change. But I have no reason to believe that. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 12:51 ` David Kastrup @ 2004-10-25 13:50 ` Stefan Monnier 2004-10-25 14:52 ` Ralf Angeli 0 siblings, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2004-10-25 13:50 UTC (permalink / raw) Cc: emacs-devel, rms, drew.adams, Kim F. Storm >>>> What is the behavior of latex-preview in the case of mouse-1 and in >>>> the case of mouse-2? Is mouse-face applied to the actual text or >>>> just to the (before|after)-string? [...] >> So it's the image (which is placed on a before-string) > No insinuations, please. I could only "insinuate" since you did not reply to my original question "Is mouse-face applied to the actual text or just to the (before|after)-string?" > The image is placed in the display property of the text (actually, the > display property of an overlay, and this overlay has the mouse-face). Thanks. > It does not actually matter since I merely cited preview-latex as one > case that would appear not to fit the assumptions behind Kim's patch. I quite understand this part. It's clear that Kim's patch can introduce undesired behavior. The question is how often such undesired behavior happens in practice. I suspect that the number of packages where moving point into a piece of text with the `mouse-face' property does anything more than move point (while left-clicking only moves point) is extremely small. `preview-latex' is very much unusual in this respect. So I think the migration path should be to apply Kim's patch and provide a way for a package maintainer to override it in those rare cases where it interferes (e.g. it could check some text property "dont-remap-mouse-1-to-mouse-2"). Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 13:50 ` Stefan Monnier @ 2004-10-25 14:52 ` Ralf Angeli 2004-10-25 15:08 ` Stefan Monnier 0 siblings, 1 reply; 173+ messages in thread From: Ralf Angeli @ 2004-10-25 14:52 UTC (permalink / raw) * Stefan Monnier (2004-10-25) writes: > I quite understand this part. > It's clear that Kim's patch can introduce undesired behavior. > The question is how often such undesired behavior happens in practice. > > I suspect that the number of packages where moving point into a piece of > text with the `mouse-face' property does anything more than move point With tex-fold.el (part of AUCTeX) there is another package which reveals text which is hidden by a display property if point is moved horizontally into the respective area. > (while left-clicking only moves point) In tex-fold.el left-clicking currently will reveal the folded text. (Similar to preview-latex there is an overlay on the text with 'mouse-face set.) The reactions to mouse clicks will be synchronized with preview-latex in the future. What actions will be triggered by mouse-1 and mouse-2 will be subject to discussion. > is extremely small. `preview-latex' > is very much unusual in this respect. Well, there is preview-latex and tex-fold.el. And Talcum (<URL:http://talcum.sarovar.org/>) reveals text on cursor movement as well. I didn't check how it behaves with regard to mouse clicks, though. -- Ralf ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 14:52 ` Ralf Angeli @ 2004-10-25 15:08 ` Stefan Monnier 2004-10-25 15:18 ` David Kastrup 0 siblings, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2004-10-25 15:08 UTC (permalink / raw) >> (while left-clicking only moves point) > In tex-fold.el left-clicking currently will reveal the folded text. So it's not the same problem as with preview-latex. The problem with preview-latex is that the mouse-1 click seems to be the only easy way to place the cursor on the image without "unfolding" it. tex-fold.el is more traditional in this respect and Kims' patch is just annoying (you have to use the keyboard to move point into the area), whereas for preview-latex using the keyboard is not really an option it seems. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 15:08 ` Stefan Monnier @ 2004-10-25 15:18 ` David Kastrup 2004-10-25 15:35 ` Stefan Monnier 0 siblings, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-25 15:18 UTC (permalink / raw) Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >>> (while left-clicking only moves point) >> In tex-fold.el left-clicking currently will reveal the folded text. > > So it's not the same problem as with preview-latex. The problem with > preview-latex is that the mouse-1 click seems to be the only easy way to > place the cursor on the image without "unfolding" it. > > tex-fold.el is more traditional in this respect and Kims' patch is > just annoying (you have to use the keyboard to move point into the > area), whereas for preview-latex using the keyboard is not really an > option it seems. preview-latex is a bit difficile: you can use the keyboard for moving onto the preview itself, _except_ for cursor left/right: that will trigger the autoreveal. Similarly, using isearch will trigger it. Basically there are movements where the guessed intent would be "uncover", and others where it isn't. The proposal of Kim (click to the side, then move to it) falls in the "isn't" category usually. When marking formulas and stuff, you usually will tend to use vertical motion commands if you are just using the keyboard, and those won't uncover things. It is, of course, an illogical interface to start with, but it happens to be convenient for normal usage patterns. And I don't like the "don't click on it if you just want to position the cursor" idea. If the time stamps for the clicks indeed come from the X server, then Kim's timed scheme would probably not be very susceptible to system load/traffic congestion effects. After all, we have the same problem with recognizing double-clicks. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 15:18 ` David Kastrup @ 2004-10-25 15:35 ` Stefan Monnier 2004-10-26 9:00 ` Kim F. Storm ` (2 more replies) 0 siblings, 3 replies; 173+ messages in thread From: Stefan Monnier @ 2004-10-25 15:35 UTC (permalink / raw) Cc: emacs-devel > If the time stamps for the clicks indeed come from the X server, then > Kim's timed scheme would probably not be very susceptible to system > load/traffic congestion effects. The problm with it is that it goes against what we're trying to do, which is to get Emacs's UI in line with "what non-Emacs users expect". I.e. such users will just do a simple click and expect it to follow the link. Adding a message saying "please keep the button pressed longer if you want to follow the link" is really not much better than adding a message that says "use mouse-2 if you want to follow the link". And if you add to the equation the extra code and conceptual complexity of using timing-dependent information, I find it ends up a loser. > After all, we have the same problem with recognizing double-clicks. Sure. But users have wanted double-clicks, so we gave it to them. Users's aren't asking for variable-duration clicks. OTOH users are quite used to not being able to move cursor into a link by just left-clicking on it. It may annoy them at times, but it seems to annoy them less than having to use mouse-2. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 15:35 ` Stefan Monnier @ 2004-10-26 9:00 ` Kim F. Storm 2004-10-26 9:25 ` David Kastrup 2004-10-27 10:49 ` Richard Stallman 2004-10-27 7:22 ` Kai Grossjohann 2004-10-27 10:47 ` Richard Stallman 2 siblings, 2 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-26 9:00 UTC (permalink / raw) Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> If the time stamps for the clicks indeed come from the X server, then >> Kim's timed scheme would probably not be very susceptible to system >> load/traffic congestion effects. > > The problm with it is that it goes against what we're trying to do, which is > to get Emacs's UI in line with "what non-Emacs users expect". > I.e. such users will just do a simple click and expect it to follow > the link. Yes, that's what we are trying to achieve -- the fundamental problem we discuss here is actually how to recognize when the stuff is a link and when it is something else which has a mouse-face property. In the examples given until now, the non-links have the mouse-face on an overlay -- so maybe to fix would be to only follow link which have the mouse-face as a text property in the buffer. If we can safely differentiate between links and non-links I think a short click should follow the link (double-clicks typically don't make sense there anyway) and a long click should set point Appended is a patch which uses get-text-property rather than get-char-property to ignore overlay mouse-face properties. The patch also allows you to double click on a link to get the normal double-click action in the buffer rather than following the link. To do that, I wait "double-click-time" milliseconds before following the link -- if any input arrives in that period, I don't follow the link. May feel a little "slow", but it's worth a try. > > Adding a message saying "please keep the button pressed longer if you want > to follow the link" is really not much better than adding a message that > says "use mouse-2 if you want to follow the link". > > And if you add to the equation the extra code and conceptual complexity of > using timing-dependent information, I find it ends up a loser. I don't really want to add any message there -- if we leave the feature disabled by default, the users who turn it on doesn't need to be told how to get the alternative behaviour. If we turn on the feature by default, there should at least be some way to disable that message. > >> After all, we have the same problem with recognizing double-clicks. > > Sure. But users have wanted double-clicks, so we gave it to them. > Users's aren't asking for variable-duration clicks. OTOH users are quite > used to not being able to move cursor into a link by just left-clicking on > it. It may annoy them at times, but it seems to annoy them less than having > to use mouse-2. Variable length clicks are a new user interface invention in emacs :-) Index: mouse.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/mouse.el,v retrieving revision 1.251 diff -c -r1.251 mouse.el *** mouse.el 18 Oct 2004 09:29:26 -0000 1.251 --- mouse.el 26 Oct 2004 08:56:24 -0000 *************** *** 48,53 **** --- 48,81 ---- :type 'boolean :group 'mouse) + (defcustom mouse-1-click-follows-link 300 + "Non-nil means that clicking mouse-1 on a link follows the link. + This is only done for links which have the mouse-face property. + + If value is an positive integer, it specifies the maximum + duration in milli-seconds of the mouse-1 click to be recognized + as a mouse-2 click. If the time between pressing and releasing + the mouse button is longer, the normal mouse-1 command (typically + set point) is performed. + + If value is an negative integer, its absolute value specifies the + minimum duration in milli-seconds of the mouse-1 click to be + recognized as a mouse-2 click. If the time between pressing and + releasing the mouse button is longer, the normal mouse-1 command + is performed. + + Otherwise, mouse-1 unconditionally follows the link, unless you + drag the mouse in the link to run the normal mouse-1 command." + :version "21.4" + :type '(choice (const :tag "Disabled" nil) + (number :tag "Click time limit" :value 300) + (other :tag "Enabled" t)) + :group 'mouse) + \f ;; Provide a mode-specific menu on a mouse button. *************** *** 877,882 **** --- 905,929 ---- (or end-point (= (window-start start-window) start-window-start))) + (if (and mouse-1-click-follows-link + (not end-point) + (consp event) + (= click-count 0) + (= (event-click-count event) 1) + (not (input-pending-p)) + ;; Don't want to look at overlays here + (get-text-property start-point 'mouse-face) + (or (not (integerp mouse-1-click-follows-link)) + (let ((t0 (posn-timestamp (event-start start-event))) + (t1 (posn-timestamp (event-end event)))) + (and (integerp t0) (integerp t1) + (if (> mouse-1-click-follows-link 0) + (<= (- t1 t0) mouse-1-click-follows-link) + (< (- t0 t1) mouse-1-click-follows-link))))) + (or (not double-click-time) + (sit-for 0 (if (integerp double-click-time) + double-click-time 500) t))) + (setcar event 'mouse-2)) (setq unread-command-events (cons event unread-command-events))))) (delete-overlay mouse-drag-overlay))))) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-26 9:00 ` Kim F. Storm @ 2004-10-26 9:25 ` David Kastrup 2004-10-26 12:23 ` Kim F. Storm 2004-10-27 10:49 ` Richard Stallman 1 sibling, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-26 9:25 UTC (permalink / raw) Cc: Stefan Monnier, emacs-devel storm@cua.dk (Kim F. Storm) writes: > Stefan Monnier <monnier@iro.umontreal.ca> writes: > >>> If the time stamps for the clicks indeed come from the X server, >>> then Kim's timed scheme would probably not be very susceptible to >>> system load/traffic congestion effects. >> >> The problm with it is that it goes against what we're trying to do, >> which is to get Emacs's UI in line with "what non-Emacs users >> expect". I.e. such users will just do a simple click and expect it >> to follow the link. > > Yes, that's what we are trying to achieve -- the fundamental problem > we discuss here is actually how to recognize when the stuff is a > link and when it is something else which has a mouse-face property. > > In the examples given until now, the non-links have the mouse-face > on an overlay -- so maybe to fix would be to only follow link which > have the mouse-face as a text property in the buffer. It does not make sense to introduce an arbitrary inconsistency because this would fix a problem with an arbitrary example that just happens to exist with that sort of implementation by chance instead of design. If we can come up with a useful strategy that has a reasonable chance of not breaking more than it fixes, then preview-latex will be the one that has to adapt. But just because preview-latex is an example where things will break does not mean that it is the only possible one. > If we can safely differentiate between links and non-links I think a > short click should follow the link (double-clicks typically don't > make sense there anyway) and a long click should set point Well, I happen to disagree, since following a link is the more time consuming action, anyway, and people might be tempted to press until the browser window appears. In any case, neither option is the behavior that a user would guess without being explicitly introduced to it. So we need to turn it off by default, or give an explanatory message of some kind by default. > Appended is a patch which uses get-text-property rather than > get-char-property to ignore overlay mouse-face properties. I firmly object to such a course. While we should not let ourselves be influenced too much by that, with XEmacs there is not even a distinction between overlays and text properties. The choice between the two when using Emacs should depend _exclusively_ on whether you need the association with the text or the buffer, and not on any chance side effects introduced to accidentally work with some package. >> And if you add to the equation the extra code and conceptual >> complexity of using timing-dependent information, I find it ends up >> a loser. > > I don't really want to add any message there -- if we leave the > feature disabled by default, the users who turn it on doesn't need > to be told how to get the alternative behaviour. > > If we turn on the feature by default, there should at least be some > way to disable that message. Sure. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-26 9:25 ` David Kastrup @ 2004-10-26 12:23 ` Kim F. Storm 2004-10-26 18:55 ` Drew Adams 2004-10-27 17:34 ` Richard Stallman 0 siblings, 2 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-26 12:23 UTC (permalink / raw) Cc: Stefan Monnier, emacs-devel David Kastrup <dak@gnu.org> writes: >> If we can safely differentiate between links and non-links I think a >> short click should follow the link (double-clicks typically don't >> make sense there anyway) and a long click should set point > > Well, I happen to disagree, since following a link is the more time > consuming action, anyway, and people might be tempted to press until > the browser window appears. If you keep the button pressed in emacs, the window NEVER appears (as it is the up-event which follows the link), so I doubt users do that. > In any case, neither option is the behavior that a user would guess > without being explicitly introduced to it. So we need to turn it off > by default, or give an explanatory message of some kind by default. Well, if the "normal" click follows the link (and I claim that the normal click is the short click), most users will never think there is a problem, as they don't usually have to set the mouse in the middle of a link. They will probably set it next to the link and move the cursor into the link (that's how it is often done in other applications). Now, the more advanced users will ask (or find out by themselves) that a longer click sets the mouse. That is no different from a lot of other functionality in emacs, where the defaults suit the majority, but can be tweaked by the rest). I really don't think a message is worth the extra code [but if that's a prerequisite to get this installed, I'll do it]. > >> Appended is a patch which uses get-text-property rather than >> get-char-property to ignore overlay mouse-face properties. > > I firmly object to such a course. While we should not let ourselves > be influenced too much by that, with XEmacs there is not even a > distinction between overlays and text properties. The choice between > the two when using Emacs should depend _exclusively_ on whether you > need the association with the text or the buffer, and not on any > chance side effects introduced to accidentally work with some package. True, so it's the wrong solution. What is the right solution? Below is a patch which checks if the "link" has a dont-follow-link property. That requires package authors to adapt their code if they don't want mouse-1 to follow links, but it is a trivial addition... Index: mouse.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/mouse.el,v retrieving revision 1.251 diff -c -r1.251 mouse.el *** mouse.el 18 Oct 2004 09:29:26 -0000 1.251 --- mouse.el 26 Oct 2004 12:25:34 -0000 *************** *** 48,53 **** --- 48,81 ---- :type 'boolean :group 'mouse) + (defcustom mouse-1-click-follows-link 300 + "Non-nil means that clicking mouse-1 on a link follows the link. + This is only done for links which have the mouse-face property. + + If value is an positive integer, it specifies the maximum + duration in milli-seconds of the mouse-1 click to be recognized + as a mouse-2 click. If the time between pressing and releasing + the mouse button is longer, the normal mouse-1 command (typically + set point) is performed. + + If value is an negative integer, its absolute value specifies the + minimum duration in milli-seconds of the mouse-1 click to be + recognized as a mouse-2 click. If the time between pressing and + releasing the mouse button is longer, the normal mouse-1 command + is performed. + + Otherwise, mouse-1 unconditionally follows the link, unless you + drag the mouse in the link to run the normal mouse-1 command." + :version "21.4" + :type '(choice (const :tag "Disabled" nil) + (number :tag "Click time limit" :value 300) + (other :tag "Enabled" t)) + :group 'mouse) + \f ;; Provide a mode-specific menu on a mouse button. *************** *** 877,882 **** --- 905,929 ---- (or end-point (= (window-start start-window) start-window-start))) + (if (and mouse-1-click-follows-link + (not end-point) + (consp event) + (= click-count 0) + (= (event-click-count event) 1) + (not (input-pending-p)) + (get-char-property start-point 'mouse-face) + (not (get-char-property start-point 'dont-follow-link)) + (or (not (integerp mouse-1-click-follows-link)) + (let ((t0 (posn-timestamp (event-start start-event))) + (t1 (posn-timestamp (event-end event)))) + (and (integerp t0) (integerp t1) + (if (> mouse-1-click-follows-link 0) + (<= (- t1 t0) mouse-1-click-follows-link) + (< (- t0 t1) mouse-1-click-follows-link))))) + (or (not double-click-time) + (sit-for 0 (if (integerp double-click-time) + double-click-time 500) t))) + (setcar event 'mouse-2)) (setq unread-command-events (cons event unread-command-events))))) (delete-overlay mouse-drag-overlay))))) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: finger-pointer curser as default for mouse-face text 2004-10-26 12:23 ` Kim F. Storm @ 2004-10-26 18:55 ` Drew Adams 2004-10-26 21:06 ` David Kastrup 2004-10-26 21:54 ` Kim F. Storm 2004-10-27 17:34 ` Richard Stallman 1 sibling, 2 replies; 173+ messages in thread From: Drew Adams @ 2004-10-26 18:55 UTC (permalink / raw) 1. We can no doubt find a good way to let click mouse-1 be used to follow links and push action buttons - and still let it be used as it is now (99.99%). We've discussed several possibilities, and we can discuss more and settle on a good design. Already, IMO, acceptable approaches have been discussed, but there is no reason not to scrutinize the issue more before we make a change. David is right that whatever design we choose should not be based only on how current code happens to be implemented; it should make sense as a design, not just as a coding workaround. 2. Default behavior - One of the main reasons to make this fairly major change to longstanding Emacs behavior is to bring Emacs behavior in line with what users experience elsewhere. [This is not an argument for aligning Emacs to every convention existing outside Emacs, but when a convention is reasonable and fairly compatible, then it can at least be _considered_ for possible adoption.] This conventional behavior is especially important for _new_ Emacs users. It makes sense, if we make this change to Emacs, to make the new behavior the _default_ behavior. Let experienced Emacs users turn it off, if they like, but let new Emacs users find it on by default. It would be silly to require new users to somehow discover how to achieve this conventional behavior. Emacs lovers often enjoy discovering not-so-obvious Emacs features, but the standard, simple stuff should be obvious for newbies. Sometimes we seem to be taking the view that if a candidate change is recognized as very useful but it isn't 100% pluggable or it interferes with current behavior or implementation a tiny bit, then the proper course of action is to add it to Emacs, but turn it off. IMO, whether a feature should be on or off by default should be determined first by whether or not it is useful to most users and it might not be discovered by them if off by default. An argument for 100% correctness in 100% of contexts is appropriate to consider, but as a secondary argument - it should generally not be the main criterion for whether something is on by default. If something is _very_ broken, then it probably shouldn't be added at all. If something is, say, 1/10 broken and cannot easily be fixed, then one could argue for adding it only as a non-default option, but if functionality and performance are close to 100%, then the main argument for defaulting should be in terms of usefulness. [Yes, there are also arguments for not turning on something that will interfere with minimal operation (e.g. -nw), and, yes, those arguments can trump the main argument about useful service to most users. But sometimes such minimal operation can be cantoned within, say, a command-line option, so that the default behavior can be different in this case.] 3. Time-delay - Without having tried the time-delay implementation, my guess is that it would be an acceptable solution. The longer delay should be used for the less common behavior in Emacs - and for the behavior that is less common (inexistant?) outside of Emacs. IOW, the normal, short click behavior of mouse-1 should be to follow a link (or to click a button); the longer "click" should set point or drag or whatever within the link text. As far as an action button (or an active image or image map) is concerned, I see little reason for this exceptional mouse-1 behavior there; such behavior should be reserved for links - which is one more reason that the long "click" should _not_ be the link-follow action. Again, we should be looking for the best design in the wider context of UI conventions that have grown up around us - not looking for ways to minimize impact on experienced Emacs users or on the current Emacs implementation. 4. Modifier-key - I still think that a keyboard modifier would be an acceptable alternative if, for some reason (or in some contexts), the time-delay approach had drawbacks. Someone argued that it would be hard to remember. In that case, that is a further argument that setting point & dragging within link text must be a rare activity: if it were common, you would have no problem remembering the key sequence. For instance, if you use M-mouse-1 often for secondary selection then you have no trouble remembering it; if you use it rarely, then you might forget it. Also (slightly off-topic), doesn't it make more sense to use modifier keys for operations that you might want to _repeat_ by just holding down the modifier key? What's the point of having, say, S-mouse-1 call up a font-selection dialog box (mouse-set-font)? There are a limited number of modifier keys - why would we "waste" them on operations that cannot be repeated? (Yes, that can be an argument against using a modifier with mouse-1 for selecting link text - so be it. The latter still makes more sense to me than calling up a dialog box.) 5. Alternatives - Since we have several alternative ways to achieve the current mouse-1 behavior within link text, I don't see a good argument for not moving forward with the change we're discussing. These alternatives might be slightly less convenient than just clicking mouse-1 for this relatively rare need (selecting text within a link), but so what? If you can accomplish this need in any of a number of ways, what's the big pb? So far, we've considered these acceptable alternatives, the first of which already exists: - use the keyboard (set mark; move point) - press mouse-1 a little longer - click mouse-1 with a modifier (e.g. C-S-mouse-1) Drew ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-26 18:55 ` Drew Adams @ 2004-10-26 21:06 ` David Kastrup 2004-10-26 21:54 ` Kim F. Storm 1 sibling, 0 replies; 173+ messages in thread From: David Kastrup @ 2004-10-26 21:06 UTC (permalink / raw) Cc: emacs-devel "Drew Adams" <drew.adams@oracle.com> writes: > 3. Time-delay - Without having tried the time-delay implementation, > my guess is that it would be an acceptable solution. The longer > delay should be used for the less common behavior in Emacs - and for > the behavior that is less common (inexistant?) outside of Emacs. > > IOW, the normal, short click behavior of mouse-1 should be to follow >a link (or to click a button); the longer "click" should set point or >drag or whatever within the link text. As far as an action button (or >an active image or image map) is concerned, I see little reason for >this exceptional mouse-1 behavior there; such behavior should be >reserved for links - which is one more reason that the long "click" >should _not_ be the link-follow action. I have given some reasons. Another is that if "nothing happens", people will click longer in order to get the "I really mean it!" message across. This "Damn it computer, do what I mean" approach that makes people figure out themselves how this is done does not work when the short click follows links. Some other programs offer you the possibility to stop some action from actually happening from a click or drag if you press ESC (or C-g?) before releasing the button. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-26 18:55 ` Drew Adams 2004-10-26 21:06 ` David Kastrup @ 2004-10-26 21:54 ` Kim F. Storm 2004-10-27 2:15 ` Luc Teirlinck 2004-10-27 17:35 ` Richard Stallman 1 sibling, 2 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-26 21:54 UTC (permalink / raw) Cc: emacs-devel Good points. I agree with all of your views. The default behaviour should be that a "normal" mouse-1 click follows a link. The problem is how to not break external packages like preview-latex or AUCTex. But CVS emacs is still far from being released, and I guess that if we make a clean interface how to inhibit the mapping for specific links, the package authors will have plenty of time to adapt their code for CVS emacs. > - use the keyboard (set mark; move point) Make that: click mouse-1 outside the link, move into the link with the keyboard > - press mouse-1 a little longer As my patch does, and it works nicely! and you forgot: - drag mouse-1 inside the link (you may drag it back to the character you clicked on, so you don't really mark a region). > - click mouse-1 with a modifier (e.g. C-S-mouse-1) I don't see a need for this. Better reserve such bindings for future enhancements. BTW, I agree that S-mouse-1 wastes a good mouse binding, as you can easily get the same function from the menu Options > Set font/fontset. I wish I could use S-mouse-1 to start marking a rectangle in CUA. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-26 21:54 ` Kim F. Storm @ 2004-10-27 2:15 ` Luc Teirlinck 2004-10-27 12:52 ` Kim F. Storm 2004-10-27 17:35 ` Richard Stallman 1 sibling, 1 reply; 173+ messages in thread From: Luc Teirlinck @ 2004-10-27 2:15 UTC (permalink / raw) Cc: drew.adams, emacs-devel Kim Storm wrote: But CVS emacs is still far from being released, If we keep going on like this, there _never_ will be another release. and I guess that if we make a clean interface how to inhibit the mapping for specific links, the package authors will have plenty of time to adapt their code for CVS emacs. It is also a matter of not only documenting the new behavior, but also changing references to the old behavior everywhere in all manuals, which may be spread all over the place. Realistically speaking, implementing the new behavior will introduce bugs that will need to be fixed. Everything combined, plenty of resources will be diverted from working on the release, assuming we still want to have one. I have not been following this discussion, as I have had no time to do so. I thought the purpose of a feature freeze was exactly that people would not have to divert time away from working on the release by worrying about substantive new features and their possible negative effects. Sincerely, Luc. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 2:15 ` Luc Teirlinck @ 2004-10-27 12:52 ` Kim F. Storm 2004-10-27 13:02 ` Luc Teirlinck ` (2 more replies) 0 siblings, 3 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-27 12:52 UTC (permalink / raw) Cc: drew.adams, emacs-devel Luc Teirlinck <teirllm@dms.auburn.edu> writes: > Kim Storm wrote: > > But CVS emacs is still far from being released, > > If we keep going on like this, there _never_ will be another release. I agree, but I think this is an important issue. > > and I guess that if we make a clean interface how to inhibit the > mapping for specific links, the package authors will have plenty > of time to adapt their code for CVS emacs. > > It is also a matter of not only documenting the new behavior, but also > changing references to the old behavior everywhere in all manuals, > which may be spread all over the place. This is a general - but user customizable - change in behaviour. As such, we should need to document the current "standard" behaviour, and then add a section at an appropriate place which says something like (need to be elaborated on a little bit): Whenever you can click with mouse-2 to follow a link, you may also be able to follow the link by a double click or a short click with mouse-1. The actual mouse-1 action that you need to follow a link is controlled by the user option mouse-1-click-follows-link. One problem is the tooltips which say "click mouse-2 to ...". To fix that requires that we change all places where the tooltips are created (unless there is some place we can put in a clever rewrite of the message). > Realistically speaking, > implementing the new behavior will introduce bugs that will need to be > fixed. Everything combined, plenty of resources will be diverted from > working on the release, assuming we still want to have one. I don't think there will be many bugs related to this -- some but not many. > I have not been following this discussion, as I have had no time to do > so. I thought the purpose of a feature freeze was exactly that people > would not have to divert time away from working on the release by > worrying about substantive new features and their possible negative effects. That's a problem of a feature freeze that's in place for more than 1 year. If you look at the change logs, new features still creap in over time. Global warming may also be a problem :-) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 12:52 ` Kim F. Storm @ 2004-10-27 13:02 ` Luc Teirlinck 2004-10-27 13:16 ` David Kastrup 2004-10-27 17:29 ` finger-pointer curser as default for mouse-face text Drew Adams 2 siblings, 0 replies; 173+ messages in thread From: Luc Teirlinck @ 2004-10-27 13:02 UTC (permalink / raw) Cc: drew.adams, emacs-devel Kim Storm wrote: As such, we should need to document the current "standard" behaviour, I thought that there was talk about changing the current standard behavior, in which case changes all over the manuals and tons of other places would be required. One problem is the tooltips which say "click mouse-2 to ...". To fix that requires that we change all places where the tooltips are created (unless there is some place we can put in a clever rewrite of the message). I guess you would need to make the message dependent on the value of the option. Sincerely, Luc. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 12:52 ` Kim F. Storm 2004-10-27 13:02 ` Luc Teirlinck @ 2004-10-27 13:16 ` David Kastrup 2004-10-27 14:51 ` feature freeze (was: finger-pointer curser as default for mouse-face text) Reiner Steib 2004-10-27 17:29 ` finger-pointer curser as default for mouse-face text Drew Adams 2 siblings, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-27 13:16 UTC (permalink / raw) Cc: Luc Teirlinck, drew.adams, emacs-devel storm@cua.dk (Kim F. Storm) writes: > That's a problem of a feature freeze that's in place for more than 1 > year. IIRC, it was more or less this August, give or take a month or two. Certainly not a year. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* feature freeze (was: finger-pointer curser as default for mouse-face text) 2004-10-27 13:16 ` David Kastrup @ 2004-10-27 14:51 ` Reiner Steib 2004-10-27 15:15 ` Kim F. Storm 2004-10-27 15:15 ` feature freeze David Kastrup 0 siblings, 2 replies; 173+ messages in thread From: Reiner Steib @ 2004-10-27 14:51 UTC (permalink / raw) On Wed, Oct 27 2004, David Kastrup wrote: > storm@cua.dk (Kim F. Storm) writes: > >> That's a problem of a feature freeze that's in place for more than 1 >> year. > > IIRC, it was more or less this August, give or take a month or two. > Certainly not a year. It was in May, see e.g. <URL:http://thread.gmane.org/x5wu3kn0nl.fsf@lola.goethe.zz> or <URL:http://thread.gmane.org/gmane.emacs.devel/21327>. Bye, Reiner. -- ,,, (o o) ---ooO-(_)-Ooo--- | PGP key available | http://rsteib.home.pages.de/ ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: feature freeze (was: finger-pointer curser as default for mouse-face text) 2004-10-27 14:51 ` feature freeze (was: finger-pointer curser as default for mouse-face text) Reiner Steib @ 2004-10-27 15:15 ` Kim F. Storm 2004-10-27 15:15 ` feature freeze David Kastrup 1 sibling, 0 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-27 15:15 UTC (permalink / raw) Reiner Steib <reinersteib+gmane@imap.cc> writes: > On Wed, Oct 27 2004, David Kastrup wrote: > >> storm@cua.dk (Kim F. Storm) writes: >> >>> That's a problem of a feature freeze that's in place for more than 1 >>> year. >> >> IIRC, it was more or less this August, give or take a month or two. >> Certainly not a year. > > It was in May, see e.g. > <URL:http://thread.gmane.org/x5wu3kn0nl.fsf@lola.goethe.zz> or > <URL:http://thread.gmane.org/gmane.emacs.devel/21327>. So with an expected release around May next year, it's 1 year... -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: feature freeze 2004-10-27 14:51 ` feature freeze (was: finger-pointer curser as default for mouse-face text) Reiner Steib 2004-10-27 15:15 ` Kim F. Storm @ 2004-10-27 15:15 ` David Kastrup 1 sibling, 0 replies; 173+ messages in thread From: David Kastrup @ 2004-10-27 15:15 UTC (permalink / raw) Reiner Steib <reinersteib+gmane@imap.cc> writes: > On Wed, Oct 27 2004, David Kastrup wrote: > >> storm@cua.dk (Kim F. Storm) writes: >> >>> That's a problem of a feature freeze that's in place for more than 1 >>> year. >> >> IIRC, it was more or less this August, give or take a month or two. >> Certainly not a year. > > It was in May, see e.g. > <URL:http://thread.gmane.org/x5wu3kn0nl.fsf@lola.goethe.zz> or > <URL:http://thread.gmane.org/gmane.emacs.devel/21327>. Still quite a short year. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: finger-pointer curser as default for mouse-face text 2004-10-27 12:52 ` Kim F. Storm 2004-10-27 13:02 ` Luc Teirlinck 2004-10-27 13:16 ` David Kastrup @ 2004-10-27 17:29 ` Drew Adams 2004-10-28 14:05 ` Kim F. Storm 2 siblings, 1 reply; 173+ messages in thread From: Drew Adams @ 2004-10-27 17:29 UTC (permalink / raw) Cc: Kim F. Storm -----Original Message-----From: Kim F. Storm document the current "standard" behaviour, and then add a section at an appropriate place which says something like: Whenever you can click with mouse-2 to follow a link, you may also be able to follow the link by a double click or a short click with mouse-1. The actual mouse-1 action that you need to follow a link is controlled by the user option mouse-1-click-follows-link. mouse-1 click to follow links or click action buttons, if available, should become the _standard_ behavior. Instead of introducing mouse-2 as the standard behavior, and then saying that mouse-1 "may also be" usable as an alternative in many contexts, we should just introduce mouse-1 clicking (or not bother to introduce it at all! - the closer Emacs behavior is to what users are used to, the less explanation we need). We should not mention mouse-2 in this context. What about mouse-2? If mouse-1 clicking follows links, there is no reason for mouse-2 to duplicate this behavior. I think Kim has (for now) left mouse-2 as an alternative to mouse-1 in his patch: both do the same thing wrt links. I would prefer that we adopt mouse-1 and drop mouse-2 (except as an optional replacement for mouse-1 -- one or the other; not both). Let users (or future Emacs versions) use mouse-2 for something else in this context - by default, it should probably be `mouse-yank-at-click' in most contexts. Any other, optional (customizable) behavior besides mouse-1-click-to-follow-a-link should be described in a way that does not confuse new users into thinking that they need to wrestle with such customization. IOW, we need to make it clear when we're documenting customization (optional behavior). For the (new) standard mouse-1 behavior, we should just speak of "click", not "short click". Documentation of any "long click" behavior needs to be separated, so users see clearly that they don't _need_ to understand it just to be able to "point and shoot". IOW, let's separate out the esoteric stuff from the main message: click mouse-1 to follow a link or use an action button. One problem is the tooltips which say "click mouse-2 to ...". To fix that requires that we change all places where the tooltips are created (unless there is some place we can put in a clever rewrite of the message). Such messages should ideally be constructed based on dynamic key bindings, so that they would automatically reflect the appropriate behavior. Isn't it possible to use, say, `substitute-command-keys' here? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 17:29 ` finger-pointer curser as default for mouse-face text Drew Adams @ 2004-10-28 14:05 ` Kim F. Storm 0 siblings, 0 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-28 14:05 UTC (permalink / raw) Cc: emacs-devel [For the busy reader -- see patch to tooltip code at the end. ++kfs] "Drew Adams" <drew.adams@oracle.com> writes: > -----Original Message-----From: Kim F. Storm > document the current "standard" behaviour, > and then add a section at an appropriate place which says something like: > > Whenever you can click with mouse-2 to follow a link, you may also be > able to follow the link by a double click or a short click with > mouse-1. The actual mouse-1 action that you need to follow a link is > controlled by the user option mouse-1-click-follows-link. > > mouse-1 click to follow links or click action buttons, if available, should > become the _standard_ behavior. Instead of introducing mouse-2 as the > standard behavior, and then saying that mouse-1 "may also be" usable as an > alternative in many contexts, we should just introduce mouse-1 clicking (or > not bother to introduce it at all! - the closer Emacs behavior is to what > users are used to, the less explanation we need). We should not mention > mouse-2 in this context. Mouse-2 IS the standard behaviour -- Lisp code binds mouse-2, not mouse-1. Changing that is a HUGE change. In comparison, the proposed change is a tiny change which adds a convenient mapping of mouse-1 to mouse-2 in this specific case. The text could be rephrased to say: With the default settings, click mouse-1 to follow a highlighted link. If you want to set the point rather than follow the link, just keep the mouse-1 button pressed a little longer (at least 0.35 seconds). This behaviour is a major change from traditional emacs mouse behaviour where you use mouse-2 to follow links, while mouse-1 (typically) would set point in the link. The mouse-2 binding is still the standard binding for following a link, while the mouse-1 behaviour is customized via the variable mouse-1-click-follows-link. For example, you can control the length of the click, or you can make only a mouse-1 double-click follow links, while keeping the traditional mouse-1 behaviour. > > What about mouse-2? If mouse-1 clicking follows links, there is no reason > for mouse-2 to duplicate this behavior. I think Kim has (for now) left > mouse-2 as an alternative to mouse-1 in his patch: both do the same thing > wrt links. I would prefer that we adopt mouse-1 and drop mouse-2 (except as > an optional replacement for mouse-1 -- one or the other; not both). Let > users (or future Emacs versions) use mouse-2 for something else in this > context - by default, it should probably be `mouse-yank-at-click' in most > contexts. I don't think we shall do anything about mouse-2 clicks -- that's the traditional binding, and the binding you make at the Lisp level. > One problem is the tooltips which say "click mouse-2 to ...". > To fix that requires that we change all places where the tooltips > are created (unless there is some place we can put in a clever > rewrite of the message). > > Such messages should ideally be constructed based on dynamic key bindings, > so that they would automatically reflect the appropriate behavior. Isn't it > possible to use, say, `substitute-command-keys' here? Here is a patch to the tooltip code to change mouse-2 to mouse-1 on the fly: *** tooltip.el 01 Sep 2003 17:45:17 +0200 1.34 --- tooltip.el 28 Oct 2004 13:31:16 +0200 *************** *** 480,486 **** (defun tooltip-show-help-function (msg) "Function installed as `show-help-function'. MSG is either a help string to display, or nil to cancel the display." ! (let ((previous-help tooltip-help-message)) (setq tooltip-help-message msg) (cond ((null msg) ;; Cancel display. This also cancels a delayed tip, if --- 480,502 ---- (defun tooltip-show-help-function (msg) "Function installed as `show-help-function'. MSG is either a help string to display, or nil to cancel the display." ! (let ((previous-help tooltip-help-message) ! mp pos) ! (if (and mouse-1-click-follows-link ! (stringp msg) ! (save-match-data ! (string-match "^mouse-2" msg)) ! (setq mp (mouse-pixel-position)) ! (consp (setq pos (cdr mp))) ! (setq pos (posn-at-x-y (car pos) (cdr pos) (car mp))) ! (windowp (posn-window pos))) ! (with-current-buffer (window-buffer (posn-window pos)) ! (setq lttt (list msg mp pos)) ! (if (mouse-on-link-p (posn-point pos)) ! (setq msg (concat ! (if (eq mouse-1-click-follows-link 'double) ! "double-" "") ! "mouse-1" (substring msg 7)))))) (setq tooltip-help-message msg) (cond ((null msg) ;; Cancel display. This also cancels a delayed tip, if -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-26 21:54 ` Kim F. Storm 2004-10-27 2:15 ` Luc Teirlinck @ 2004-10-27 17:35 ` Richard Stallman 2004-11-01 14:40 ` Karl Eichwalder 1 sibling, 1 reply; 173+ messages in thread From: Richard Stallman @ 2004-10-27 17:35 UTC (permalink / raw) Cc: drew.adams, emacs-devel BTW, I agree that S-mouse-1 wastes a good mouse binding, as you can easily get the same function from the menu Options > Set font/fontset. It is probably not used all that much, so if it is not important for compatibility, we could get rid of it. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 17:35 ` Richard Stallman @ 2004-11-01 14:40 ` Karl Eichwalder 2004-11-01 15:44 ` Stefan 2004-11-02 14:08 ` Richard Stallman 0 siblings, 2 replies; 173+ messages in thread From: Karl Eichwalder @ 2004-11-01 14:40 UTC (permalink / raw) Richard Stallman <rms@gnu.org> writes: > BTW, I agree that S-mouse-1 wastes a good mouse binding, as you can > easily get the same function from the menu Options > Set font/fontset. > > It is probably not used all that much, so if it is not important > for compatibility, we could get rid of it. For what's worth, I often use it. It is somehow important to me because I run Emacs with teh menu-bar disabled most ot the time. -- http://www.gnu.franken.de/ke/ | ,__o | _-\_<, | (*)/'(*) Key fingerprint = F138 B28F B7ED E0AC 1AB4 AA7F C90A 35C3 E9D0 5D1C ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-01 14:40 ` Karl Eichwalder @ 2004-11-01 15:44 ` Stefan 2004-11-02 14:08 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Stefan @ 2004-11-01 15:44 UTC (permalink / raw) Cc: emacs-devel > For what's worth, I often use it. It is somehow important to me because > I run Emacs with teh menu-bar disabled most ot the time. Try C-mouse-3 one of these days ;-) Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-01 14:40 ` Karl Eichwalder 2004-11-01 15:44 ` Stefan @ 2004-11-02 14:08 ` Richard Stallman 2004-11-02 18:08 ` Karl Eichwalder 1 sibling, 1 reply; 173+ messages in thread From: Richard Stallman @ 2004-11-02 14:08 UTC (permalink / raw) Cc: emacs-devel It is interesting to find a user who often specifies faces. Can you tell us the circumstances where you do that? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-02 14:08 ` Richard Stallman @ 2004-11-02 18:08 ` Karl Eichwalder 2004-11-02 21:51 ` Miles Bader ` (2 more replies) 0 siblings, 3 replies; 173+ messages in thread From: Karl Eichwalder @ 2004-11-02 18:08 UTC (permalink / raw) Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > It is interesting to find a user who often specifies faces. > Can you tell us the circumstances where you do that? >From time to time it is necessary to increase the font size: When I want to demonstrate something to somebody watching my screen, or when I want to check some accented or foreign characters more closely. -- http://www.gnu.franken.de/ke/ | ,__o | _-\_<, | (*)/'(*) Key fingerprint = F138 B28F B7ED E0AC 1AB4 AA7F C90A 35C3 E9D0 5D1C ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-02 18:08 ` Karl Eichwalder @ 2004-11-02 21:51 ` Miles Bader 2004-11-02 23:41 ` Drew Adams 2004-11-03 17:04 ` Richard Stallman 2004-11-03 9:11 ` Kim F. Storm 2004-11-03 17:03 ` Richard Stallman 2 siblings, 2 replies; 173+ messages in thread From: Miles Bader @ 2004-11-02 21:51 UTC (permalink / raw) Cc: rms, emacs-devel On Tue, Nov 02, 2004 at 07:08:34PM +0100, Karl Eichwalder wrote: > > It is interesting to find a user who often specifies faces. > > Can you tell us the circumstances where you do that? > > >From time to time it is necessary to increase the font size: When I want > to demonstrate something to somebody watching my screen, or when I want > to check some accented or foreign characters more closely. Something like the following elisp code might be more useful for this. It implements the C-+ and C-- (that's control-minus :-) bindings many modern GUI programs use to grow/shrink the default face. The main problem with these commands -- and so why I haven't pursued adding them to the official sources[*] -- is that they don't interact well with a default face which has been set using customize-face (because the Emacs face-customization machinery sucks). However the traditional font-setting menu _also_ doesn't work if you've customized the `default' face, so I'm assuming you haven't done that... :-) [*] Perhaps the benefits of these commands outweigh their drawbacks however and they _should_ be added to CVS; after all the traditional "set font" menu has the same problem. Of course the real solution is to overhaul the face-setting mechanism to not have the horrible looping problems it has. -Miles ;;; default-grow.el (defun increase-default-face-height (&optional steps) "Increase the height of the default face by STEPS steps. Each step multiplies the height by 1.2; a negative number of steps decreases the height by the same amount." (interactive (list (cond ((eq current-prefix-arg '-) -1) ((numberp current-prefix-arg) current-prefix-arg) ((consp current-prefix-arg) -1) (t 1)))) (let ((frame (selected-frame))) (set-face-attribute 'default frame :height (floor (* (face-attribute 'default :height frame) (expt 1.3 steps)))))) (defun decrease-default-face-height (&optional steps) "Decrease the height of the default face by STEPS steps. Each step divides the height by 1.2; a negative number of steps increases the height by the same amount." (interactive (list (cond ((eq current-prefix-arg '-) -1) ((numberp current-prefix-arg) current-prefix-arg) ((consp current-prefix-arg) -1) (t 1)))) (increase-default-face-height (- steps))) (global-set-key [(control =)] 'increase-default-face-height) (global-set-key [(control +)] 'increase-default-face-height) (global-set-key [(control -)] 'decrease-default-face-height) -- "Unless there are slaves to do the ugly, horrible, uninteresting work, culture and contemplation become almost impossible. Human slavery is wrong, insecure, and demoralizing. On mechanical slavery, on the slavery of the machine, the future of the world depends." -Oscar Wilde, "The Soul of Man Under Socialism" ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: finger-pointer curser as default for mouse-face text 2004-11-02 21:51 ` Miles Bader @ 2004-11-02 23:41 ` Drew Adams 2004-11-02 23:53 ` Stefan 2004-11-03 17:04 ` Richard Stallman 1 sibling, 1 reply; 173+ messages in thread From: Drew Adams @ 2004-11-02 23:41 UTC (permalink / raw) Cc: Miles Bader, rms, emacs-devel [I don't know if this is pertinant to this discussion or not - ignore if not. (CC'ing the list because this is related to Miles's message -- this is _not_ a request to consider this feature for inclusion in Emacs.)] Karl, I too wrote a command (`doremi-grow-font') that increases or decreases the font size of the frame by an increment. You could bind it to, say, C-+ (and bind to C-- a lambda that calls `doremi-grow-font' after flipping the sign of the increment). Like Miles's code, this lets you, in effect, _zoom_ the Emacs page (buffer) in and out easily. However, I also wrote another command, `doremi-font-size', that uses `doremi-grow-font' to let you increase or decrease the font size incrementally using the arrow keys or the mouse wheel (like IE browser-text zooming with the mouse wheel). Command `doremi-font-size' uses a very general function, `doremi', which you can use to do almost anything incrementally using the arrow keys or mouse wheel. See, for discussion, code, and documentation, http://www.emacswiki.org/cgi-bin/wiki/DoReMi (the font-size changing code is in library http://www.emacswiki.org/elisp/doremi-frm.el; the general `doremi' function is in library http://www.emacswiki.org/elisp/doremi.el). Without going into the details of the rest, here is the code of `doremi-grow-font', to give you an idea: (defun doremi-grow-font (&optional increment frame) "Increase size of font in FRAME by INCREMENT. Interactively, INCREMENT is given by the prefix argument. Optional FRAME parameter defaults to current frame." (interactive "p") (setq frame (or frame (selected-frame))) (let ((fontname (cdr (assq 'font (frame-parameters frame))))) (when (query-fontset fontname) (setq fontname (nth 2 (assq 'ascii (aref (fontset-info fontname frame) 2))))) (let ((xlfd-fields (x-decompose-font-name fontname)) new-font-name) (unless xlfd-fields (error "Cannot decompose font name")) (aset xlfd-fields xlfd-regexp-pixelsize-subnum (number-to-string (+ (string-to-number (aref xlfd-fields xlfd-regexp-pixelsize-subnum)) increment))) ;; Must set point size and width to "*", so frame width will adjust to new font size (aset xlfd-fields xlfd-regexp-pointsize-subnum "*") (aset xlfd-fields xlfd-regexp-avgwidth-subnum "*") (setq new-font-name (x-compose-font-name xlfd-fields)) (modify-frame-parameters frame (list (cons 'font new-font-name))) ;; Update faces that want a bold or italic version of the default font. (frame-update-faces frame)))) Miles's code looks much simpler, and seems to work just as well. I don't know what other functional differences there might be. HTH, Drew -----Original Message-----From: Miles Bader On Tue, Nov 02, 2004 at 07:08:34PM +0100, Karl Eichwalder wrote: > From time to time it is necessary to increase the font size: When I want > to demonstrate something to somebody watching my screen, or when I want > to check some accented or foreign characters more closely. Something like the following elisp code might be more useful for this. It implements the C-+ and C-- (that's control-minus :-) bindings many modern GUI programs use to grow/shrink the default face. ... default-grow.el <snip> ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-02 23:41 ` Drew Adams @ 2004-11-02 23:53 ` Stefan 2004-11-03 1:27 ` incrementor-decrementor commands and bindings (was: finger-pointer curser as default for mouse-face text) Drew Adams ` (2 more replies) 0 siblings, 3 replies; 173+ messages in thread From: Stefan @ 2004-11-02 23:53 UTC (permalink / raw) Cc: Martin Blais, Miles Bader, emacs-devel, rms, Karl Eichwalder > I too wrote a command (`doremi-grow-font') that increases or decreases the > font size of the frame by an increment. You could bind it to, say, C-+ (and > bind to C-- a lambda that calls `doremi-grow-font' after flipping the sign > of the increment). Like Miles's code, this lets you, in effect, _zoom_ the > Emacs page (buffer) in and out easily. BTW, C-+ is OK because it's currently unused, but C-- is already bound and I've been known to use it, so otherpeople might use it as well. Stefan > -----Original Message-----From: Miles Bader > On Tue, Nov 02, 2004 at 07:08:34PM +0100, Karl Eichwalder wrote: >> From time to time it is necessary to increase the font size: When I want >> to demonstrate something to somebody watching my screen, or when I want >> to check some accented or foreign characters more closely. > Something like the following elisp code might be more useful for this. It > implements the C-+ and C-- (that's control-minus :-) bindings many modern > GUI > programs use to grow/shrink the default face. > ... default-grow.el > <snip> > _______________________________________________ > Emacs-devel mailing list > Emacs-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 173+ messages in thread
* incrementor-decrementor commands and bindings (was: finger-pointer curser as default for mouse-face text) 2004-11-02 23:53 ` Stefan @ 2004-11-03 1:27 ` Drew Adams 2004-11-03 7:51 ` incrementor-decrementor commands and bindings (was: finger-pointercurser " Stephan Stahl 2004-11-03 1:34 ` finger-pointer curser as default for mouse-face text Miles Bader 2004-11-03 9:26 ` Kim F. Storm 2 siblings, 1 reply; 173+ messages in thread From: Drew Adams @ 2004-11-03 1:27 UTC (permalink / raw) Cc: Martin Blais, Miles Bader, rms, Stefan, Karl Eichwalder This is starting to veer off-topic, but FWIW, this follows Stefan's last point. This was a main motivation behind my creating function `doremi': I wanted to have several different incrementing/decrementing commands bound to "repeatable" key sequences -- that is, chords (e.g. with modifiers) that can be held down to repeat an action. The number of such chord combinations is limited, however, and many combinations (e.g. the self-inserting chars, the arrows) are already taken, so I looked for another approach. I decided to use just the four arrow keys (and/or the mouse-wheel) for _all_ such commands - easy to use and remember. To do that, I have a non-chord binding for each incrementor-decrementor command to "start it up"; then the command itself reads the arrow keys and the mouse-wheel to do its job. For instance, I have these command bindings: C-x t c doremi-bg-rgb - change frame background color incrementally C-x t z doremi-font-size - zoom: change frame font size incrementally C-x t w doremi-frame-width - change frame width incrementally C-x t h doremi-frame-height - change frame height incrementally C-x t x doremi-frame-horizontally - move frame left/right incrementally C-x t y doremi-frame-vertically - move frame up/down incrementally C-x t b doremi-buffers - successively cycle among existing buffers C-x t m doremi-bookmarks - successively cycle among bookmarks C-x t t doremi-color-themes - successively cycle among color themes C-x t f doremi-font - successively cycle among fonts, choosing by name C-x t u doremi-frame-configs - undo: cycle among recorded frame configs C-x t . save-frame-config - add current frame config to the cycle for `C-x t u' [ Actually only one of the `C-x t' bindings `w' and `h' is needed. Likewise, only one of `x' and `y' really needs to be bound. Each of these commands lets you use all _four_ arrow keys and/or the mouse-wheel to move the frame in any direction or change any of its dimensions. So, for instance, a single binding lets you increment and decrement the frame width and frame height. It's like having 4 (+2 for the wheel) bindings in one. ] These particular incrementor-decrementor commands might not seem that interesting, but you might be able to imagine others that you would find useful. The point is that if each such command had to use a different pair of key bindings that let you continually hold the keys pressed, you would soon run out of chord combinations, and you would in any case have difficulty remembering them all. Eventually, BTW, I'd like to see users be able (as an option) to use such incrementor-decrementor commands to change appropriate settings on Customize pages (you see the change as its made; you can undo it if you like). This is not appropriate for all settings, by any means, but for some kinds of settings it could be useful. An example might be changing the default frame background color a la `doremi-bg-rgb'. The idea is to move more toward direct manipulation in the UI. - Drew -----Original Message-----From: Stefan BTW, C-+ is OK because it's currently unused, but C-- is already bound and I've been known to use it, so otherpeople might use it as well. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: incrementor-decrementor commands and bindings (was: finger-pointercurser as default for mouse-face text) 2004-11-03 1:27 ` incrementor-decrementor commands and bindings (was: finger-pointer curser as default for mouse-face text) Drew Adams @ 2004-11-03 7:51 ` Stephan Stahl 2004-11-03 15:26 ` Drew Adams 0 siblings, 1 reply; 173+ messages in thread From: Stephan Stahl @ 2004-11-03 7:51 UTC (permalink / raw) Cc: rms, emacs-devel, Stefan, Karl Eichwalder, Martin Blais, Miles Bader Hi. Drew Adams said: > I decided to use just the four arrow keys (and/or the mouse-wheel) for _all_ > such commands - easy to use and remember. To do that, I have a non-chord > binding for each incrementor-decrementor command to "start it up"; then the > command itself reads the arrow keys and the mouse-wheel to do its job. I really like this idea. However i think the use of the arrowkeys / mousewheel should be extended to maybe M-p, M-n. Those keys should be availible while not in minibuffer-mode and there they mirror the behaviour of arrowkeys up / down. I find it annoying to move the hand off of the homerow. Guess that's why i do not use things like C-x <left> / <right> or <S-up>, <S-down>, <S-left>, <S-right> .... My two cent :). Stephan -- Stephan Stahl ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: incrementor-decrementor commands and bindings (was: finger-pointercurser as default for mouse-face text) 2004-11-03 7:51 ` incrementor-decrementor commands and bindings (was: finger-pointercurser " Stephan Stahl @ 2004-11-03 15:26 ` Drew Adams 2004-11-04 9:51 ` Richard Stallman 0 siblings, 1 reply; 173+ messages in thread From: Drew Adams @ 2004-11-03 15:26 UTC (permalink / raw) Cc: rms, emacs-devel, Stefan, Karl Eichwalder, Martin Blais, Miles Bader Good suggestion. And trivial to add, of course. FYI, two details I didn't mention - 1. Using the Meta modifier with the arrow keys and/or the mouse wheel boosts the incrementation (step size), so change is faster. 2. There are four variables representing (by default) the up & down arrow keys and their Meta versions. You can change these variables to use, say, keys `C-n' and `C-p' instead of up & down. Also, for a command (like `doremi-frame-horizontally') to use the left & right arrows instead of up & down, it can just bind the up & down variables to the left & right arrow keys before calling `doremi'. -----Original Message-----From: Stephan Stahl > I decided to use just the four arrow keys (and/or the mouse-wheel) for _all_ > such commands - easy to use and remember. To do that, I have a non-chord > binding for each incrementor-decrementor command to "start it up"; then the > command itself reads the arrow keys and the mouse-wheel to do its job. I really like this idea. However i think the use of the arrowkeys / mousewheel should be extended to maybe M-p, M-n. Those keys should be availible while not in minibuffer-mode and there they mirror the behaviour of arrowkeys up / down. I find it annoying to move the hand off of the homerow. Guess that's why i do not use things like C-x <left> / <right> or <S-up>, <S-down>, <S-left>, <S-right> .... ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: incrementor-decrementor commands and bindings (was: finger-pointercurser as default for mouse-face text) 2004-11-03 15:26 ` Drew Adams @ 2004-11-04 9:51 ` Richard Stallman 0 siblings, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-11-04 9:51 UTC (permalink / raw) Cc: martin.blais, monnier, ke, stahl, emacs-devel, miles Please let's focus on fixing bugs and getting a release ready, not on discussing plans for new features. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-02 23:53 ` Stefan 2004-11-03 1:27 ` incrementor-decrementor commands and bindings (was: finger-pointer curser as default for mouse-face text) Drew Adams @ 2004-11-03 1:34 ` Miles Bader 2004-11-03 9:31 ` Kim F. Storm 2004-11-03 9:26 ` Kim F. Storm 2 siblings, 1 reply; 173+ messages in thread From: Miles Bader @ 2004-11-03 1:34 UTC (permalink / raw) Cc: rms, emacs-devel, Karl Eichwalder, Martin Blais, Drew Adams, Miles Bader On Tue, Nov 02, 2004 at 06:53:21PM -0500, Stefan wrote: > BTW, C-+ is OK because it's currently unused, but C-- is already bound and > I've been known to use it, so otherpeople might use it as well. The current Emacs binding for `C--' (negatie-argument) seems pretty redundant, as there are many other ways of getting the same thing (`M--', `C-u -', both of which I suspect are more commonly used). Since a "reduce font size" binding of `C--' is rather common in other GUI programs (gtk/gnome, mozilla), I'd say it easily trumps the current Emacs binding. -Miles -- We are all lying in the gutter, but some of us are looking at the stars. -Oscar Wilde ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-03 1:34 ` finger-pointer curser as default for mouse-face text Miles Bader @ 2004-11-03 9:31 ` Kim F. Storm 0 siblings, 0 replies; 173+ messages in thread From: Kim F. Storm @ 2004-11-03 9:31 UTC (permalink / raw) Cc: rms, emacs-devel, Stefan, Karl Eichwalder, Martin Blais, Drew Adams Miles Bader <miles@gnu.org> writes: > On Tue, Nov 02, 2004 at 06:53:21PM -0500, Stefan wrote: >> BTW, C-+ is OK because it's currently unused, but C-- is already bound and >> I've been known to use it, so otherpeople might use it as well. > > The current Emacs binding for `C--' (negatie-argument) seems pretty > redundant, as there are many other ways of getting the same thing (`M--', > `C-u -', both of which I suspect are more commonly used). Since a "reduce > font size" binding of `C--' is rather common in other GUI programs > (gtk/gnome, mozilla), I'd say it easily trumps the current Emacs binding. And current C-- users will quickly learn to keep away their fingers :-). -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-02 23:53 ` Stefan 2004-11-03 1:27 ` incrementor-decrementor commands and bindings (was: finger-pointer curser as default for mouse-face text) Drew Adams 2004-11-03 1:34 ` finger-pointer curser as default for mouse-face text Miles Bader @ 2004-11-03 9:26 ` Kim F. Storm 2004-11-03 10:20 ` David Kastrup 2 siblings, 1 reply; 173+ messages in thread From: Kim F. Storm @ 2004-11-03 9:26 UTC (permalink / raw) Cc: rms, emacs-devel, Karl Eichwalder, Martin Blais, Drew Adams, Miles Bader Stefan <monnier@iro.umontreal.ca> writes: >> I too wrote a command (`doremi-grow-font') that increases or decreases the >> font size of the frame by an increment. You could bind it to, say, C-+ (and >> bind to C-- a lambda that calls `doremi-grow-font' after flipping the sign >> of the increment). Like Miles's code, this lets you, in effect, _zoom_ the >> Emacs page (buffer) in and out easily. > > BTW, C-+ is OK because it's currently unused, but C-- is already bound and > I've been known to use it, so otherpeople might use it as well. Perhaps C-M-+ and C-M-- ? C-M-- is bound to the same command as C-- and M--, so I think we can steal that binding. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-03 9:26 ` Kim F. Storm @ 2004-11-03 10:20 ` David Kastrup 0 siblings, 0 replies; 173+ messages in thread From: David Kastrup @ 2004-11-03 10:20 UTC (permalink / raw) Cc: rms, emacs-devel, Stefan, Karl Eichwalder, Martin Blais, Drew Adams, Miles Bader storm@cua.dk (Kim F. Storm) writes: > Stefan <monnier@iro.umontreal.ca> writes: > >>> I too wrote a command (`doremi-grow-font') that increases or decreases the >>> font size of the frame by an increment. You could bind it to, say, C-+ (and >>> bind to C-- a lambda that calls `doremi-grow-font' after flipping the sign >>> of the increment). Like Miles's code, this lets you, in effect, _zoom_ the >>> Emacs page (buffer) in and out easily. >> >> BTW, C-+ is OK because it's currently unused, but C-- is already bound and >> I've been known to use it, so otherpeople might use it as well. > > Perhaps C-M-+ and C-M-- ? > > C-M-- is bound to the same command as C-- and M--, so I think > we can steal that binding. More often than not, this will switch screen resolutions in the X server. While one can circumvent this with ESC C--, this pretty much defeats the purpose of having a keybinding easy to find. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-02 21:51 ` Miles Bader 2004-11-02 23:41 ` Drew Adams @ 2004-11-03 17:04 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-11-03 17:04 UTC (permalink / raw) Cc: emacs-devel, ke The main problem with these commands -- and so why I haven't pursued adding them to the official sources[*] -- is that they don't interact well with a default face which has been set using customize-face (because the Emacs face-customization machinery sucks). Could you please describe the problem in a clearer, more constructivne way? BTW, C-+ is OK because it's currently unused, but C-- is already bound and I've been known to use it, so otherpeople might use it as well. If someday we make faces more useful than now, it might be worth redefining C-- this way. The commands could apply to the region when transient-mark-mode is non-nil. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-02 18:08 ` Karl Eichwalder 2004-11-02 21:51 ` Miles Bader @ 2004-11-03 9:11 ` Kim F. Storm 2004-11-03 17:03 ` Richard Stallman 2 siblings, 0 replies; 173+ messages in thread From: Kim F. Storm @ 2004-11-03 9:11 UTC (permalink / raw) Cc: rms, emacs-devel Karl Eichwalder <ke@gnu.franken.de> writes: > Richard Stallman <rms@gnu.org> writes: > >> It is interesting to find a user who often specifies faces. >> Can you tell us the circumstances where you do that? > >>From time to time it is necessary to increase the font size: When I want > to demonstrate something to somebody watching my screen, or when I want > to check some accented or foreign characters more closely. Perhaps we could restrict the current S-mouse-1 binding to only work on the modeline for example. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-11-02 18:08 ` Karl Eichwalder 2004-11-02 21:51 ` Miles Bader 2004-11-03 9:11 ` Kim F. Storm @ 2004-11-03 17:03 ` Richard Stallman 2 siblings, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-11-03 17:03 UTC (permalink / raw) Cc: emacs-devel >From time to time it is necessary to increase the font size: When I want to demonstrate something to somebody watching my screen, or when I want to check some accented or foreign characters more closely. The question is how common it is for users to use this feature. Perhaps we should ask them. However, if we don't have any specific thing we want to do using S-mouse-1, we may as well leave it alone anyway. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-26 12:23 ` Kim F. Storm 2004-10-26 18:55 ` Drew Adams @ 2004-10-27 17:34 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-10-27 17:34 UTC (permalink / raw) Cc: monnier, emacs-devel Well, if the "normal" click follows the link (and I claim that the normal click is the short click), most users will never think there is a problem, as they don't usually have to set the mouse in the middle of a link. They will probably set it next to the link and move the cursor into the link (that's how it is often done in other applications). That seems pretty convincing, so I guess it is ok to make this change. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-26 9:00 ` Kim F. Storm 2004-10-26 9:25 ` David Kastrup @ 2004-10-27 10:49 ` Richard Stallman 2004-10-27 12:24 ` Kim F. Storm 2004-10-28 2:27 ` Miles Bader 1 sibling, 2 replies; 173+ messages in thread From: Richard Stallman @ 2004-10-27 10:49 UTC (permalink / raw) Cc: monnier, emacs-devel I don't really want to add any message there -- if we leave the feature disabled by default, the users who turn it on doesn't need to be told how to get the alternative behaviour. What's the point of adding it if it will be disabled by default? Only for people with two-button mice? These are not common with GNU/Linux are they? I thought the whole point was that beginning users would not know about Mouse-2 and find Emacs harder to use as a result. The only way the feature can address this is if it is on by default. We're looking for ways to make the default Emacs behavior better; any options are a secondary matter. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 10:49 ` Richard Stallman @ 2004-10-27 12:24 ` Kim F. Storm 2004-10-27 13:03 ` Stefan Monnier 2004-10-27 13:18 ` David Kastrup 2004-10-28 2:27 ` Miles Bader 1 sibling, 2 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-27 12:24 UTC (permalink / raw) Cc: monnier, emacs-devel Richard Stallman <rms@gnu.org> writes: > I don't really want to add any message there -- if we leave the feature > disabled by default, the users who turn it on doesn't need to be told > how to get the alternative behaviour. > > What's the point of adding it if it will be disabled by default? Personally, I think it should be enabled by default, but I felt some general resistance towards this feature building up, so I was just being defensive :-) > Only for people with two-button mice? These are not common with > GNU/Linux are they? They are common on laptops (installing GNU/Linux on it didn't seem to add the missing button :-) > > I thought the whole point was that beginning users would not know > about Mouse-2 and find Emacs harder to use as a result. The only > way the feature can address this is if it is on by default. Agree. > We're looking for ways to make the default Emacs behavior better; > any options are a secondary matter. The problem is to agree on what the behaviour should be... -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 12:24 ` Kim F. Storm @ 2004-10-27 13:03 ` Stefan Monnier 2004-10-27 13:18 ` David Kastrup 1 sibling, 0 replies; 173+ messages in thread From: Stefan Monnier @ 2004-10-27 13:03 UTC (permalink / raw) Cc: rms, emacs-devel > (installing GNU/Linux on it didn't seem to add the missing button :-) It's because you didn't try hard(ware) enough! Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 12:24 ` Kim F. Storm 2004-10-27 13:03 ` Stefan Monnier @ 2004-10-27 13:18 ` David Kastrup 1 sibling, 0 replies; 173+ messages in thread From: David Kastrup @ 2004-10-27 13:18 UTC (permalink / raw) Cc: emacs-devel, rms, monnier storm@cua.dk (Kim F. Storm) writes: > Richard Stallman <rms@gnu.org> writes: > >> Only for people with two-button mice? These are not common with >> GNU/Linux are they? > > They are common on laptops (installing GNU/Linux on it didn't seem > to add the missing button :-) Emulate-3-buttons is offered by X servers as well as gpm and pretty much required on such systems, not just for Emacs. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 10:49 ` Richard Stallman 2004-10-27 12:24 ` Kim F. Storm @ 2004-10-28 2:27 ` Miles Bader 1 sibling, 0 replies; 173+ messages in thread From: Miles Bader @ 2004-10-28 2:27 UTC (permalink / raw) Cc: emacs-devel, monnier, Kim F. Storm Richard Stallman <rms@gnu.org> writes: > Only for people with two-button mice? These are not common with > GNU/Linux are they? That's what Microsoft uses, so for a while they were _very_ common on the sort of commodity hardware most people use. The middle button seems to have come back recently in the form of a clickable scroll wheel, which most mice seem to have these days. -Miles -- We live, as we dream -- alone.... ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 15:35 ` Stefan Monnier 2004-10-26 9:00 ` Kim F. Storm @ 2004-10-27 7:22 ` Kai Grossjohann 2004-10-27 7:35 ` David Kastrup 2004-10-27 10:47 ` Richard Stallman 2 siblings, 1 reply; 173+ messages in thread From: Kai Grossjohann @ 2004-10-27 7:22 UTC (permalink / raw) Stefan Monnier <monnier@iro.umontreal.ca> writes: > Adding a message saying "please keep the button pressed longer if you want > to follow the link" is really not much better than adding a message that > says "use mouse-2 if you want to follow the link". Both Microsoft Windows and Apple MacOS (including X, I guess) allow you to keep the button pressed a little longer to rename, instead of select, a file. So the "keep it pressed longer" action is a known one. Keeping the button pressed longer to edit the text where the link is seems natural. I like this idea. Kai ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 7:22 ` Kai Grossjohann @ 2004-10-27 7:35 ` David Kastrup 2004-10-27 12:32 ` Kim F. Storm 2004-10-28 6:24 ` Richard Stallman 0 siblings, 2 replies; 173+ messages in thread From: David Kastrup @ 2004-10-27 7:35 UTC (permalink / raw) Cc: emacs-devel Kai Grossjohann <kai@emptydomain.de> writes: > Stefan Monnier <monnier@iro.umontreal.ca> writes: > >> Adding a message saying "please keep the button pressed longer if you want >> to follow the link" is really not much better than adding a message that >> says "use mouse-2 if you want to follow the link". > > Both Microsoft Windows and Apple MacOS (including X, I guess) allow > you to keep the button pressed a little longer to rename, instead of > select, a file. > > So the "keep it pressed longer" action is a known one. > > Keeping the button pressed longer to edit the text where the link is > seems natural. I like this idea. It would appear that the shorter duration click here is the one that does the "simpler" action, namely selection, whereas the longer click does the action with more effect. Also the shorter click does the action that does not need to be undone if you don't like it. Anyway: if we really try modelling ourselves after other systems: in file managers and the like, one usually selects a single item (and placed point) by a single click, and executes it by a double click. I think that nobody will complain if a double click on a link will cause it to execute instead of marking a word or line. It is indeed rare that you need to mark a work from inside a link; and if you do, you can do it by normal dragging marking without much additional hassle. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 7:35 ` David Kastrup @ 2004-10-27 12:32 ` Kim F. Storm 2004-10-28 6:24 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-27 12:32 UTC (permalink / raw) Cc: Kai Grossjohann, emacs-devel David Kastrup <dak@gnu.org> writes: > I think that nobody will complain if a double click on a link will > cause it to execute instead of marking a word or line. It is indeed > rare that you need to mark a work from inside a link; and if you do, > you can do it by normal dragging marking without much additional > hassle. It was a little more complex to implement than the previous methods, but here is a patch which adds 'double click' support as a user option: Index: mouse.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/mouse.el,v retrieving revision 1.251 diff -c -r1.251 mouse.el *** mouse.el 18 Oct 2004 09:29:26 -0000 1.251 --- mouse.el 27 Oct 2004 12:29:31 -0000 *************** *** 48,53 **** --- 48,77 ---- :type 'boolean :group 'mouse) + (defcustom mouse-1-click-follows-link 'double + "Non-nil means that clicking mouse-1 on a link follows the link. + This is only done for links which have the mouse-face property. + + If value is the symbol double, a double click follows the link. + + If value is an integer, the time between pressing and releasing + the mouse button determines whether to follow the link or perform + the normal mouse-1 action (typically set point). The absolute + numeric value specifices the maximum duration of a \"short click\" + in milli-seconds. A positive value means that a short click + follows the link, and a longer click performs the normal action. + A negative value specifies the opposite behaviour. + + Otherwise, a single mouse-1 click unconditionally follows the link. + + Note that dragging the mouse never follows the link." + :version "21.4" + :type '(choice (const :tag "Disabled" nil) + (const :tag "Double click" double) + (number :tag "Single click time limit" :value 300) + (other :tag "Single click" t)) + :group 'mouse) + \f ;; Provide a mode-specific menu on a mouse button. *************** *** 731,736 **** --- 755,764 ---- (run-hooks 'mouse-leave-buffer-hook) (mouse-drag-region-1 start-event)))) + (defun mouse-on-link-p (pos) + (and (get-char-property pos 'mouse-face) + (not (get-char-property pos 'dont-follow-link)))) + (defun mouse-drag-region-1 (start-event) (mouse-minibuffer-check start-event) (let* ((echo-keystrokes 0) *************** *** 746,751 **** --- 774,780 ---- (nth 3 bounds) ;; Don't count the mode line. (1- (nth 3 bounds)))) + on-link remap-double-click (click-count (1- (event-click-count start-event)))) (setq mouse-selection-click-count click-count) (setq mouse-selection-click-count-buffer (current-buffer)) *************** *** 755,760 **** --- 784,796 ---- (if (< (point) start-point) (goto-char start-point)) (setq start-point (point)) + (setq on-link (and mouse-1-click-follows-link + (mouse-on-link-p start-point))) + (setq remap-double-click (and on-link + (eq mouse-1-click-follows-link 'double) + (= click-count 1))) + (if remap-double-click ;; Don't expand mouse overlay in links + (setq click-count 0)) (let ((range (mouse-start-end start-point start-point click-count))) (move-overlay mouse-drag-overlay (car range) (nth 1 range) (window-buffer start-window)) *************** *** 877,882 **** --- 913,938 ---- (or end-point (= (window-start start-window) start-window-start))) + (if (and on-link + (not end-point) + (consp event) + (or remap-double-click + (and + (not (eq mouse-1-click-follows-link 'double)) + (= click-count 0) + (= (event-click-count event) 1) + (not (input-pending-p)) + (or (not (integerp mouse-1-click-follows-link)) + (let ((t0 (posn-timestamp (event-start start-event))) + (t1 (posn-timestamp (event-end event)))) + (and (integerp t0) (integerp t1) + (if (> mouse-1-click-follows-link 0) + (<= (- t1 t0) mouse-1-click-follows-link) + (< (- t0 t1) mouse-1-click-follows-link))))) + (or (not double-click-time) + (sit-for 0 (if (integerp double-click-time) + double-click-time 500) t))))) + (setcar event 'mouse-2)) (setq unread-command-events (cons event unread-command-events))))) (delete-overlay mouse-drag-overlay))))) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-27 7:35 ` David Kastrup 2004-10-27 12:32 ` Kim F. Storm @ 2004-10-28 6:24 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-10-28 6:24 UTC (permalink / raw) Cc: kai, emacs-devel Anyway: if we really try modelling ourselves after other systems: in file managers and the like, one usually selects a single item (and placed point) by a single click, and executes it by a double click. File managers and browsers represent two different UI traditions, so they provide different models to follow. Some things in Emacs are clearly links; it makes no sense for them to act like file managers. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 15:35 ` Stefan Monnier 2004-10-26 9:00 ` Kim F. Storm 2004-10-27 7:22 ` Kai Grossjohann @ 2004-10-27 10:47 ` Richard Stallman 2 siblings, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-10-27 10:47 UTC (permalink / raw) Cc: emacs-devel > After all, we have the same problem with recognizing double-clicks. Sure. But users have wanted double-clicks, so we gave it to them. Users's aren't asking for variable-duration clicks. This may be the best way to give various different users the different things they want, more or less. It is impossible to satisfy all the constraints here. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 7:22 ` David Kastrup 2004-10-25 11:47 ` Stefan @ 2004-10-26 9:05 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-10-26 9:05 UTC (permalink / raw) Cc: emacs-devel, monnier, drew.adams, storm The behavior of preview-latex when clicking with mouse-1 on a preview image is to simply set point on the image (i.e., the behavior is just the default, and preview-latex does not tamper with it). It would be easy enough to make preview-latex a special case. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 22:31 ` Stefan 2004-10-25 7:22 ` David Kastrup @ 2004-10-25 8:31 ` Kim F. Storm 2004-10-25 10:01 ` David Kastrup 2004-10-26 9:05 ` Richard Stallman 1 sibling, 2 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-25 8:31 UTC (permalink / raw) Cc: rms, drew.adams, emacs-devel Stefan <monnier@iro.umontreal.ca> writes: >> I found a simpler solution which works really well, as it provides the >> fallback directly on mouse-1 itself: > >> Measure the time between the mouse-1 down event and the up event, and >> if it less than 300 ms (configurable), follow the link, else do what >> mouse-1 normally does. > > Sounds like a terrible idea to me. Working with X11-over-DSL means that > timing is rather unreliable. Same thing with heavy-swapping (as happens > when a I do `tla star-merge' :-( ). True, but the worst thing that can happen (if you use a positive value) is that the click sets the point rather than follows the link -- so if things are slow, just click again (and hope for the best) or use mouse-2. I don't think that's terrible at all. And you can always set the variable to t, meaning that you will need to drag to set point. And on a local system, it works really well!!! > > And even if the timing could be measured accurately, I don't find the "hold > the mouse button longer" to be intuitive at all for "move point". Press harder to make the glue stick :-) Personally I find "drag to set point" much less intuitive which is why I'm looking for a better solution. > I think we're trying to squeeze too much info in those events. I'm quite > happy with the distinction between click and drag but I don't think we > should go further than that. We are trying to find a simple(!) way to let mouse-1 do its normal thing in the rare situation (except for David :-) where the user wants to set point in the middle of a link. Providing the "long click" as a user option is trivial (it is 3 lines of code and it is already done), and personally, I find it quite intuitive. Whether we want to turn it on by default (with or without timeout) is another matter. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 8:31 ` Kim F. Storm @ 2004-10-25 10:01 ` David Kastrup 2004-10-25 12:32 ` Kim F. Storm 2004-10-26 9:05 ` Richard Stallman 1 sibling, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-25 10:01 UTC (permalink / raw) Cc: emacs-devel, Stefan, drew.adams, rms storm@cua.dk (Kim F. Storm) writes: > Stefan <monnier@iro.umontreal.ca> writes: > >>> I found a simpler solution which works really well, as it provides the >>> fallback directly on mouse-1 itself: >> >>> Measure the time between the mouse-1 down event and the up event, and >>> if it less than 300 ms (configurable), follow the link, else do what >>> mouse-1 normally does. >> >> Sounds like a terrible idea to me. Working with X11-over-DSL means that >> timing is rather unreliable. Same thing with heavy-swapping (as happens >> when a I do `tla star-merge' :-( ). > > True, but the worst thing that can happen (if you use a positive > value) is that the click sets the point rather than follows the link > -- so if things are slow, just click again (and hope for the best) > or use mouse-2. Whether the system load delays the click or the release event more can't be guessed in advance, regardless of the settings. In either case, you can get the two confused either way. Which can mean that the link gets followed where the intent was to set point. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 10:01 ` David Kastrup @ 2004-10-25 12:32 ` Kim F. Storm 0 siblings, 0 replies; 173+ messages in thread From: Kim F. Storm @ 2004-10-25 12:32 UTC (permalink / raw) Cc: emacs-devel, Stefan, drew.adams, rms David Kastrup <dak@gnu.org> writes: > storm@cua.dk (Kim F. Storm) writes: > >> True, but the worst thing that can happen (if you use a positive >> value) is that the click sets the point rather than follows the link >> -- so if things are slow, just click again (and hope for the best) >> or use mouse-2. > > Whether the system load delays the click or the release event more > can't be guessed in advance, regardless of the settings. In either > case, you can get the two confused either way. Which can mean that > the link gets followed where the intent was to set point. Hm, true, but at least on X, the timestamps are recorded by the X server, so it's not depending on emacs getting any cycles to process the clicks. I still believe that it will work _satisfactory_ in practice. But the doc string could mention the potential problem. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-25 8:31 ` Kim F. Storm 2004-10-25 10:01 ` David Kastrup @ 2004-10-26 9:05 ` Richard Stallman 1 sibling, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-10-26 9:05 UTC (permalink / raw) Cc: monnier, drew.adams, emacs-devel > Sounds like a terrible idea to me. Working with X11-over-DSL means that > timing is rather unreliable. Same thing with heavy-swapping (as happens > when a I do `tla star-merge' :-( ). True, but the worst thing that can happen (if you use a positive value) is that the click sets the point rather than follows the link If the timing can be distorted, it can be distorted in either direction. However, we don't see a lot of complaints that double click doesn't work, so maybe it is not a serious problem. Hm, true, but at least on X, the timestamps are recorded by the X server, so it's not depending on emacs getting any cycles to process the clicks. That seems to imply there is no real problem of this kind. It was useful to consider the question, though. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-24 12:42 ` Kim F. Storm ` (2 preceding siblings ...) 2004-10-24 22:31 ` Stefan @ 2004-10-25 13:13 ` Richard Stallman 3 siblings, 0 replies; 173+ messages in thread From: Richard Stallman @ 2004-10-25 13:13 UTC (permalink / raw) Cc: drew.adams, emacs-devel Measure the time between the mouse-1 down event and the up event, and if it less than 300 ms (configurable), follow the link, else do what mouse-1 normally does. That could be a very good solution. If the user gets distracted and holds the button down too long, nothing bad happens, so he can easily try again. I like it! However, what about double-clicking? I think that won't be easy to do. The user will have to hold the first click longer, then quickly click again. We could solve this problem by waiting for double-click-time before following the link. Could you give that a try and see if the behavior is still ok? So I'd very much prefer making the long press follow the link, even though a long press is more likely to get interpreted as a drag instead. That seems more convenient, since it does not get in the way of double clicks, and it follows the principle that you do more to get a bigger action. However, it has the drawback that beginners just clicking around won't know to try it. They might try an ordinary click, see it doesn't follow the link, and give up. So maybe the short click, on a link, should display a message saying "Hold the button down for .3 seconds to follow the link". ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-19 9:04 ` finger-pointer curser as default for mouse-face text Kim F. Storm ` (2 preceding siblings ...) 2004-10-21 13:56 ` Richard Stallman @ 2004-10-21 14:09 ` David Kastrup 2004-10-21 14:42 ` Kim F. Storm 3 siblings, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-21 14:09 UTC (permalink / raw) Cc: Richard Stallman, Drew Adams, emacs-devel storm@cua.dk (Kim F. Storm) writes: > "Drew Adams" <drew.adams@oracle.com> writes: > >> I see what you're saying. You've made it possible to follow links (and click >> buttons) using mouse-1 (in addition to using mouse-2). >> >> I really must not have made myself clear. RMS had the same misunderstanding >> as you. > > Well, common user interface practice is that clicking mouse-1 on a > link follows that link. > >> >> My point was not that using mouse-2 is not good. I think mouse-2 should >> remain the way to click links and buttons in Emacs, don't you? > > While I find this discussion of which pointer to use "amusing", IMO > using mouse-2 is a serious flaw in the emacs user interface. In Gnus, I get buttons displayed like [attachment image.jpg] I can click with the middle button to execute a default operation. What I do more frequently is click with the left button, then press a key like "o" to indicate the action. Most (but I don't think all) actions can be selected with a context menu on the right mouse button, but that also means that I have to use a mouse-based file dialog, which is far more inconvenient. It is also much faster for me to type a single letter than to drag the mouse cursor to the right menu entry. If clicking mouse-1 on the button would launch the default action, this would be far more inconvenient for me. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-21 14:09 ` David Kastrup @ 2004-10-21 14:42 ` Kim F. Storm 2004-10-21 15:21 ` David Kastrup 0 siblings, 1 reply; 173+ messages in thread From: Kim F. Storm @ 2004-10-21 14:42 UTC (permalink / raw) Cc: Richard Stallman, Drew Adams, emacs-devel David Kastrup <dak@gnu.org> writes: > In Gnus, I get buttons displayed like > [attachment image.jpg] > > I can click with the middle button to execute a default operation. > What I do more frequently is click with the left button, then press a > key like "o" to indicate the action. Most (but I don't think all) > actions can be selected with a context menu on the right mouse button, > but that also means that I have to use a mouse-based file dialog, > which is far more inconvenient. It is also much faster for me to type > a single letter than to drag the mouse cursor to the right menu entry. > > If clicking mouse-1 on the button would launch the default action, > this would be far more inconvenient for me. I see the problem. Maybe mouse-2 could set the point ? Anyways, nobody would force you to use the mouse-1-follows-link feature. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-21 14:42 ` Kim F. Storm @ 2004-10-21 15:21 ` David Kastrup 2004-10-21 19:55 ` Kim F. Storm 0 siblings, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-21 15:21 UTC (permalink / raw) Cc: Richard Stallman, Drew Adams, emacs-devel storm@cua.dk (Kim F. Storm) writes: > David Kastrup <dak@gnu.org> writes: > >> In Gnus, I get buttons displayed like >> [attachment image.jpg] >> >> I can click with the middle button to execute a default operation. >> What I do more frequently is click with the left button, then press a >> key like "o" to indicate the action. Most (but I don't think all) >> actions can be selected with a context menu on the right mouse button, >> but that also means that I have to use a mouse-based file dialog, >> which is far more inconvenient. It is also much faster for me to type >> a single letter than to drag the mouse cursor to the right menu entry. >> >> If clicking mouse-1 on the button would launch the default action, >> this would be far more inconvenient for me. > > I see the problem. Maybe mouse-2 could set the point ? Basically you propose that we interchange button-1 and button-2 on active text areas. If I take packages like preview-latex, we can click on formula images in it. Mouse button 2 gets you the source text, but you can also just mark it by dragging mouse-1, or by clicking mouse-1 on the image, and mouse-3 behind it. Your proposal would mean that I have to click mouse-2 and mouse-3 around the area for marking, or drag mouse-1. > Anyways, nobody would force you to use the mouse-1-follows-link > feature. That's never a good argument. If we want to introduce a new feature, we want to make it as good as possible instead of claiming it is the user's fault anyway if he chooses to activate it. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-21 15:21 ` David Kastrup @ 2004-10-21 19:55 ` Kim F. Storm 2004-10-21 20:09 ` Drew Adams 0 siblings, 1 reply; 173+ messages in thread From: Kim F. Storm @ 2004-10-21 19:55 UTC (permalink / raw) Cc: Richard Stallman, Drew Adams, emacs-devel David Kastrup <dak@gnu.org> writes: > storm@cua.dk (Kim F. Storm) writes: > >> David Kastrup <dak@gnu.org> writes: >> >>> In Gnus, I get buttons displayed like >>> [attachment image.jpg] >>> >>> I can click with the middle button to execute a default operation. >>> What I do more frequently is click with the left button, then press a >>> key like "o" to indicate the action. Most (but I don't think all) >>> actions can be selected with a context menu on the right mouse button, >>> but that also means that I have to use a mouse-based file dialog, >>> which is far more inconvenient. It is also much faster for me to type >>> a single letter than to drag the mouse cursor to the right menu entry. >>> >>> If clicking mouse-1 on the button would launch the default action, >>> this would be far more inconvenient for me. >> In the case of gnus attachments, you can click mouse-1 to THE RIGHT of the button and still be able to use the key bindings. Alternatively, you can drag mouse-1 in the link to set point there. >> I see the problem. Maybe mouse-2 could set the point ? I generally want to avoid messing with mouse-2 or mouse-3 -- as the major deviation from common GUI standards only affects mouse-1. The major problem with mouse-2 is when you only have a two-button mouse (can you even get a laptop with three mouse buttons). Sure, I also have a three-button mouse -- but the middle button is on a mouse wheel which is also awkward to click. I have been using my little hack for a few days now, and I absolutely love it. No more messing with clicking both mouse-buttons or mouse wheel to follow a link. I still have to find > > Basically you propose that we interchange button-1 and button-2 on > active text areas. I didn't propose it -- it was just an idea... It's obviously not a good idea in general. >> Anyways, nobody would force you to use the mouse-1-follows-link >> feature. > > That's never a good argument. If we want to introduce a new feature, > we want to make it as good as possible instead of claiming it is the > user's fault anyway if he chooses to activate it. Sure. We need to find a way to DTRT in cases where mouse-1 is needed. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* RE: finger-pointer curser as default for mouse-face text 2004-10-21 19:55 ` Kim F. Storm @ 2004-10-21 20:09 ` Drew Adams 2004-10-21 21:45 ` Stefan Monnier 0 siblings, 1 reply; 173+ messages in thread From: Drew Adams @ 2004-10-21 20:09 UTC (permalink / raw) Cc: Richard Stallman, emacs-devel What about using keyboard modifiers with mouse-1 on an active area (link, button) to do what mouse-1 would normally do on an inactive area (e.g. mouse-drag-region)? The following are not defined by default, at least in most Emacs modes: C-M-mouse-1, C-S-mouse-1, M-S-mouse-1. -----Original Message-----From: Kim F. Storm In the case of gnus attachments, you can click mouse-1 to THE RIGHT of the button and still be able to use the key bindings. Alternatively, you can drag mouse-1 in the link to set point there. I generally want to avoid messing with mouse-2 or mouse-3 -- as the major deviation from common GUI standards only affects mouse-1. The major problem with mouse-2 is when you only have a two-button mouse... Sure. We need to find a way to DTRT in cases where mouse-1 is needed. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-21 20:09 ` Drew Adams @ 2004-10-21 21:45 ` Stefan Monnier 2004-10-21 22:09 ` David Kastrup 0 siblings, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2004-10-21 21:45 UTC (permalink / raw) Cc: emacs-devel, Richard Stallman, Kim F. Storm > What about using keyboard modifiers with mouse-1 on an active area (link, > button) to do what mouse-1 would normally do on an inactive area (e.g. > mouse-drag-region)? > The following are not defined by default, at least in most Emacs modes: > C-M-mouse-1, C-S-mouse-1, M-S-mouse-1. I think the effort required to remember such bindings, coupled with the fact that they'd only be used on relatively rare occasions, makes me think it's a bad idea. Especially since in all likely hood, after setting point in the middle of a button, you're going to do something with the keyboard rather than with the mouse, which makes me think that using the keyboard to move to that spot would work just as well. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-21 21:45 ` Stefan Monnier @ 2004-10-21 22:09 ` David Kastrup 2004-10-22 9:10 ` Kim F. Storm 0 siblings, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-21 22:09 UTC (permalink / raw) Cc: emacs-devel, Richard Stallman, Drew Adams, Kim F. Storm Stefan Monnier <monnier@iro.umontreal.ca> writes: >> What about using keyboard modifiers with mouse-1 on an active area (link, >> button) to do what mouse-1 would normally do on an inactive area (e.g. >> mouse-drag-region)? > >> The following are not defined by default, at least in most Emacs modes: >> C-M-mouse-1, C-S-mouse-1, M-S-mouse-1. > > I think the effort required to remember such bindings, coupled with the fact > that they'd only be used on relatively rare occasions, makes me think it's > a bad idea. > Especially since in all likely hood, after setting point in the middle of > a button, you're going to do something with the keyboard rather than with > the mouse, which makes me think that using the keyboard to move to that spot > would work just as well. Ah, but if you use cursor-left or cursor-right to move onto a preview, the preview opens up into normal text (some sort of special auto-reveal action). So in the particular case of preview-latex, it is not an alternative to click just before or after a preview and then move onto it using forward-char or backward-char. I am not claiming that this is the ultimate reason or whatever, I am just pointing out that in this case it would be problematic. In addition, we have to be aware that clickable fields are usually implemented with keymaps. And that means that there is no way to magically change all buttons in all applications: it is a convention rather than an API. If we want to change to a different convention, we first need to define an API where the current convention is accessible to outside packages, then wait for a few releases with the old convention in place, and then try changing the default and weather the inconsistency storm from packages that have not yet adhered to the API telling it what mouse buttons to use. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-21 22:09 ` David Kastrup @ 2004-10-22 9:10 ` Kim F. Storm 2004-10-22 12:45 ` David Kastrup 0 siblings, 1 reply; 173+ messages in thread From: Kim F. Storm @ 2004-10-22 9:10 UTC (permalink / raw) Cc: emacs-devel, Stefan Monnier, Drew Adams, Richard Stallman David Kastrup <dak@gnu.org> writes: > I am not claiming that this is the ultimate reason or whatever, I am > just pointing out that in this case it would be problematic. My mouse-1 patch only sets in with links that have mouse-face. Why do preview-latex images need to have mouse-face property ? Images can have mouse-2 bindings even without that. > > In addition, we have to be aware that clickable fields are usually > implemented with keymaps. And that means that there is no way to > magically change all buttons in all applications: it is a convention > rather than an API. If we want to change to a different convention, > we first need to define an API where the current convention is > accessible to outside packages, then wait for a few releases with the > old convention in place, and then try changing the default and weather > the inconsistency storm from packages that have not yet adhered to the > API telling it what mouse buttons to use. If mouse-1 has a non-standard binding on a link, my patch obeys that binding. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-22 9:10 ` Kim F. Storm @ 2004-10-22 12:45 ` David Kastrup 2004-10-22 15:03 ` Kim F. Storm 0 siblings, 1 reply; 173+ messages in thread From: David Kastrup @ 2004-10-22 12:45 UTC (permalink / raw) Cc: emacs-devel, Stefan Monnier, Drew Adams, Richard Stallman storm@cua.dk (Kim F. Storm) writes: > David Kastrup <dak@gnu.org> writes: > >> I am not claiming that this is the ultimate reason or whatever, I am >> just pointing out that in this case it would be problematic. > > My mouse-1 patch only sets in with links that have mouse-face. > > Why do preview-latex images need to have mouse-face property ? > Images can have mouse-2 bindings even without that. But the mouse-face property is the normal way to indicate that using mouse-2 will do something different from pasting. >> In addition, we have to be aware that clickable fields are usually >> implemented with keymaps. And that means that there is no way to >> magically change all buttons in all applications: it is a >> convention rather than an API. If we want to change to a different >> convention, we first need to define an API where the current >> convention is accessible to outside packages, then wait for a few >> releases with the old convention in place, and then try changing >> the default and weather the inconsistency storm from packages that >> have not yet adhered to the API telling it what mouse buttons to >> use. > > If mouse-1 has a non-standard binding on a link, my patch obeys that > binding. So what? preview-latex images don't have a non-standard binding for mouse-1. So I am citing it as an example that will cause trouble and requires a migration plan instead of a sudden change. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-22 12:45 ` David Kastrup @ 2004-10-22 15:03 ` Kim F. Storm 2004-10-22 15:56 ` David Kastrup 0 siblings, 1 reply; 173+ messages in thread From: Kim F. Storm @ 2004-10-22 15:03 UTC (permalink / raw) Cc: emacs-devel, Stefan Monnier, Drew Adams, Richard Stallman David Kastrup <dak@gnu.org> writes: >> Why do preview-latex images need to have mouse-face property ? >> Images can have mouse-2 bindings even without that. > > But the mouse-face property is the normal way to indicate that using > mouse-2 will do something different from pasting. What visible effect do you get for an image when moving the mouse over it? You can also change the mouse pointer shape. > >>> In addition, we have to be aware that clickable fields are usually >>> implemented with keymaps. And that means that there is no way to >>> magically change all buttons in all applications: it is a >>> convention rather than an API. If we want to change to a different >>> convention, we first need to define an API where the current >>> convention is accessible to outside packages, then wait for a few >>> releases with the old convention in place, and then try changing >>> the default and weather the inconsistency storm from packages that >>> have not yet adhered to the API telling it what mouse buttons to >>> use. >> >> If mouse-1 has a non-standard binding on a link, my patch obeys that >> binding. > > So what? preview-latex images don't have a non-standard binding for > mouse-1. So I am citing it as an example that will cause trouble and > requires a migration plan instead of a sudden change. It was one way to avoid the mouse-1 remapping (by trivial code rewrite). I have little hope of finding a perfect solution (i.e. one which works for everything without anything having to adapt to some kind of method to fine-tune the behaviour in specific cases). Maybe it's ok if it works in 95% of all cases (and the remaning 5% must be tweaked a little to work). Link on images may be special anyway -- so perhaps I shouldn't remap over an image. Maybe it should be mode specific, i.e. only do this if buffer is in some known major mode (e.g. info, help, gnus summary, custom). e.g. (put 'help-mode 'map-links t) (put 'info-mode 'map-links t) could later be enhanced to support: (put 'preview-latex-mode 'map-links 'text-only) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: finger-pointer curser as default for mouse-face text 2004-10-22 15:03 ` Kim F. Storm @ 2004-10-22 15:56 ` David Kastrup 0 siblings, 0 replies; 173+ messages in thread From: David Kastrup @ 2004-10-22 15:56 UTC (permalink / raw) Cc: emacs-devel, Stefan Monnier, Drew Adams, Richard Stallman storm@cua.dk (Kim F. Storm) writes: > David Kastrup <dak@gnu.org> writes: > >>> Why do preview-latex images need to have mouse-face property ? >>> Images can have mouse-2 bindings even without that. >> >> But the mouse-face property is the normal way to indicate that using >> mouse-2 will do something different from pasting. > > What visible effect do you get for an image when moving the mouse > over it? Transparent areas of the image turn green (or whatever your highlight color is). preview-latex explicitly places a transparent border around images to achieve that effect. Even if the image is not transparent, some part of the line spacing usually turns green. > You can also change the mouse pointer shape. But that's not the "traditional way" since it was not available for as long. And it's beside the point, anyway, since it does not provide any better idea about when to interchange mouse-1 and mouse-2. >> So what? preview-latex images don't have a non-standard binding >> for mouse-1. So I am citing it as an example that will cause >> trouble and requires a migration plan instead of a sudden change. > > It was one way to avoid the mouse-1 remapping (by trivial code > rewrite). > > I have little hope of finding a perfect solution (i.e. one which > works for everything without anything having to adapt to some kind > of method to fine-tune the behaviour in specific cases). Maybe it's > ok if it works in 95% of all cases (and the remaning 5% must be > tweaked a little to work). Sure. That's why I say we need a migration plan. Providing an option, and then at some time making that option a default is not a migration plan. We need to define what an application needs to do in order to get consistent behavior both with and without that option, and we need to get the message out. And then, at one time, people can hope to turn this option on and off according to their preferences without expecting to get something completely inconsistent. And when we arrive at that stage, it might make sense switching the default of the option. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 173+ messages in thread
* Feature Freeze @ 2006-08-02 22:45 Nick Roberts 2006-08-03 0:40 ` Chong Yidong 0 siblings, 1 reply; 173+ messages in thread From: Nick Roberts @ 2006-08-02 22:45 UTC (permalink / raw) The last three bugs that I've seen are due to changes made in the last few days. I don't know what problems they solved and clearly the bugs they've introduced is more apparent than the ones they've fixed. If the intention really is to make a release how about introducing a freeze where *all* developers must get approval before making *any* changes? Or alternatively let's forget the freeze and allow any changes. This intermediate state is a nonsense. -- Nick http://www.inet.net.nz/~nickrob ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature Freeze 2006-08-02 22:45 Feature Freeze Nick Roberts @ 2006-08-03 0:40 ` Chong Yidong 2006-08-03 2:47 ` Nick Roberts 0 siblings, 1 reply; 173+ messages in thread From: Chong Yidong @ 2006-08-03 0:40 UTC (permalink / raw) Cc: emacs-devel > If the intention really is to make a release how about introducing a > freeze where *all* developers must get approval before making *any* > changes? The changes to sit-for were discussed at length on this list. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature Freeze 2006-08-03 0:40 ` Chong Yidong @ 2006-08-03 2:47 ` Nick Roberts 0 siblings, 0 replies; 173+ messages in thread From: Nick Roberts @ 2006-08-03 2:47 UTC (permalink / raw) Cc: emacs-devel Chong Yidong writes: > > If the intention really is to make a release how about introducing a > > freeze where *all* developers must get approval before making *any* > > changes? > > The changes to sit-for were discussed at length on this list. I'm talking generally. Fixing a bug introduced into Emacs three years ago seems like progress. Fixing a bug introduced three days ago doesn't. -- Nick http://www.inet.net.nz/~nickrob ^ permalink raw reply [flat|nested] 173+ messages in thread
* Feature freeze @ 2008-07-31 4:55 Chong Yidong 2008-08-01 1:42 ` Kenichi Handa 0 siblings, 1 reply; 173+ messages in thread From: Chong Yidong @ 2008-07-31 4:55 UTC (permalink / raw) To: emacs-devel Hi people, It's time to begin the feature freeze. A couple of people still have small non-bugfix patches scheduled to go into CVS; please check these in over the 24 hours, or email me if you have problems. Otherwise, don't commit any more new features. If in doubt, email emacs-devel for discussion. Two exceptions: we'll allow the proced.el and rmail-mbox changes. There currently isn't any detailed schedule for the release. My hope (and I think Stefan concurs) is to have 23.1 out in about six months from now. Maybe this is optimistic; we'll see. My rough plan is to go through the bug list and finish those pertinent to both Emacs 22 and Emacs 23 first. About 2 weeks from now, I'll start the Emacs 22.3 pretest, which hopefully won't take much effort and can be completed in a month or two. Once 22.3 is released, we'll take another look at the bug count and see how soon afterwards we can start the 23.1 pretest. There are 180+ outstanding bugs, which can be browsed at the bugtracker here: http://emacsbugs.donarmstrong.com/cgi-bin/pkgreport.cgi?which=pkg&data=emacs&archive=no&version=&dist=unstable Let's get to work on these. If you need help using the bug tracker, please email me. Thanks! ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2008-07-31 4:55 Feature freeze Chong Yidong @ 2008-08-01 1:42 ` Kenichi Handa 0 siblings, 0 replies; 173+ messages in thread From: Kenichi Handa @ 2008-08-01 1:42 UTC (permalink / raw) To: Chong Yidong; +Cc: emacs-devel In article <87tze6mz3c.fsf@stupidchicken.com>, Chong Yidong <cyd@stupidchicken.com> writes: > Hi people, > It's time to begin the feature freeze. > A couple of people still have small non-bugfix patches scheduled to go > into CVS; please check these in over the 24 hours, or email me if you > have problems. Otherwise, don't commit any more new features. If in > doubt, email emacs-devel for discussion. > Two exceptions: we'll allow the proced.el and rmail-mbox changes. > There currently isn't any detailed schedule for the release. My hope > (and I think Stefan concurs) is to have 23.1 out in about six months > from now. Maybe this is optimistic; we'll see. > My rough plan is to go through the bug list and finish those pertinent > to both Emacs 22 and Emacs 23 first. About 2 weeks from now, I'll start > the Emacs 22.3 pretest, which hopefully won't take much effort and can > be completed in a month or two. Once 22.3 is released, we'll take > another look at the bug count and see how soon afterwards we can start > the 23.1 pretest. As I wrote before, I'm now working on the new implementation of automatic-character-composition that doesn't use text property. The work is not for a new feature, but I realized that an element in composition-function-table must be changed slightly, and a few new Lisp functions must be added (in a broad sense, it's a new feature). Please let me check-in the necessary changes for that work even after the feature freeze. --- Kenichi Handa handa@ni.aist.go.jp ^ permalink raw reply [flat|nested] 173+ messages in thread
[parent not found: <4E17F5F8.7060200@cs.ucla.edu>]
[parent not found: <4E1936D7.4030302@cs.ucla.edu>]
[parent not found: <CAAeL0SSAmYPugdLEvch5-J9T17BWf9W+xgXdFxvpC_qWWq-DLg@mail.gmail.com>]
[parent not found: <jwvmxglrnmj.fsf-monnier+emacs@gnu.org>]
[parent not found: <4E1B3224.5050804@cs.ucla.edu>]
[parent not found: <jwvpqlg9kjo.fsf-monnier+emacs@gnu.org>]
[parent not found: <CAAeL0SREPJvq7Hq5xfMisSPY2dr4V0hMRiLxVfjOpq6kWA_6Lw@mail.gmail.com>]
* Feature freeze [not found] ` <CAAeL0SREPJvq7Hq5xfMisSPY2dr4V0hMRiLxVfjOpq6kWA_6Lw@mail.gmail.com> @ 2011-07-13 4:03 ` Stefan Monnier 0 siblings, 0 replies; 173+ messages in thread From: Stefan Monnier @ 2011-07-13 4:03 UTC (permalink / raw) To: emacs-devel > But... a formal announcemente about which state are we just now and > when do we <em>expect</em> to release the first pretest tarball would > be welcome. OK, so to clarify: - We started the feature freeze on July 1. - The freeze is somewhat progressive/soft and we hope to harden it by end of July. - The first pretest will come out as soon as we don't have enough bugs open to keep us busy (more or less). How long that will take after the hard feature freeze is not yet determined. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Feature freeze @ 2013-12-15 13:35 Stefan Monnier 2013-12-16 14:02 ` Jambunathan K 2013-12-18 12:48 ` Bozhidar Batsov 0 siblings, 2 replies; 173+ messages in thread From: Stefan Monnier @ 2013-12-15 13:35 UTC (permalink / raw) To: emacs-devel If you want to install some new features in Emacs's trunk, do it now, because the trunk will be feature-frozen starting next week-end. Stefan "who wouldn't want Santa to come and install some undiscussed new feature while we sleep" ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-15 13:35 Stefan Monnier @ 2013-12-16 14:02 ` Jambunathan K 2013-12-16 15:14 ` Stefan Monnier 2013-12-16 20:35 ` Michael Albinus 2013-12-18 12:48 ` Bozhidar Batsov 1 sibling, 2 replies; 173+ messages in thread From: Jambunathan K @ 2013-12-16 14:02 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan I would like to merge my pending changes to ox-odt.el directly to the Emacs trunk. A recent change in LibreOffice 4.1 is causing the documents produced by the ODT exporter to be "un-openable". See http://lists.gnu.org/archive/html/emacs-orgmode/2013-12/msg00047.html If you are interested you can send me the instruction off the list. NOTE: In principle, I will not commit my changes to Org-mode repo. The rest can be negotiated. Jambunathan K. Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > If you want to install some new features in Emacs's trunk, do it now, > because the trunk will be feature-frozen starting next week-end. > > > Stefan "who wouldn't want Santa to come and install some > undiscussed new feature while we sleep" ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 14:02 ` Jambunathan K @ 2013-12-16 15:14 ` Stefan Monnier 2013-12-16 16:32 ` Jambunathan K ` (2 more replies) 2013-12-16 20:35 ` Michael Albinus 1 sibling, 3 replies; 173+ messages in thread From: Stefan Monnier @ 2013-12-16 15:14 UTC (permalink / raw) To: Jambunathan K; +Cc: emacs-devel > I would like to merge my pending changes to ox-odt.el directly to the > Emacs trunk. AFAIK, currently, you haven't signed the necessary copyright paperwork, so we can't accept your changes. If you want to contribute patches to Emacs, please address this first. As for changes to Org, you can send them via M-x report-emacs-bug or send them to Org maintainers directly. The Org code will be sync'd back to Emacs (they got a special "feature freeze exemption"), so it will work as well. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 15:14 ` Stefan Monnier @ 2013-12-16 16:32 ` Jambunathan K 2013-12-16 17:14 ` Glenn Morris 2013-12-18 7:28 ` Jambunathan K 2 siblings, 0 replies; 173+ messages in thread From: Jambunathan K @ 2013-12-16 16:32 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: >> I would like to merge my pending changes to ox-odt.el directly to the >> Emacs trunk. > If you want to contribute patches to Emacs, please address this first. Will do (See "Conditions Apply" below). > As for changes to Org, you can send them via M-x report-emacs-bug or > send them to Org maintainers directly. The Org code will be sync'd back > to Emacs (they got a special "feature freeze exemption"), so it will > work as well. As the original author of ox-odt.el, I would like to manage the changes directly in Emacs trunk. I don't want to deal with any intermediaries committing changes on my behalf. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 15:14 ` Stefan Monnier 2013-12-16 16:32 ` Jambunathan K @ 2013-12-16 17:14 ` Glenn Morris 2013-12-16 18:49 ` Stefan Monnier 2013-12-18 7:28 ` Jambunathan K 2 siblings, 1 reply; 173+ messages in thread From: Glenn Morris @ 2013-12-16 17:14 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier wrote: > The Org code will be sync'd back to Emacs (they got a special "feature > freeze exemption") Any special reason for this exception? Is it just "lives in an external repo and is big"? Because there were large non-bugfix Org mode changes late during the 24.3 cycle, which were so big they were basically impossible to check, and they caused some problems: http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00108.html So personally I'm disappointed to see the same thing on the cards again. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 17:14 ` Glenn Morris @ 2013-12-16 18:49 ` Stefan Monnier 2013-12-16 19:34 ` Eli Zaretskii 0 siblings, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2013-12-16 18:49 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel > Any special reason for this exception? > Is it just "lives in an external repo and is big"? Pretty much, yes. > Because there were large non-bugfix Org mode changes late during > the 24.3 cycle, which were so big they were basically impossible to > check, and they caused some problems: > http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00108.html > So personally I'm disappointed to see the same thing on the cards again. This "feature freeze exemption" isn't meant to imply "commit any time you like". Basically, what it means for me is that if/when they have code ready to merge into Emacs, we may accept it even after the freeze, as long as there's still enough time before the release. E.g. installing a new version in January should be fine, February, probably, and after that, less likely, tho it depends on how well the release process is going. Does that sound good enough for you? Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 18:49 ` Stefan Monnier @ 2013-12-16 19:34 ` Eli Zaretskii 2013-12-17 1:59 ` Stefan Monnier 0 siblings, 1 reply; 173+ messages in thread From: Eli Zaretskii @ 2013-12-16 19:34 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@IRO.UMontreal.CA> > Date: Mon, 16 Dec 2013 13:49:25 -0500 > Cc: emacs-devel@gnu.org > > This "feature freeze exemption" isn't meant to imply "commit any time > you like". Basically, what it means for me is that if/when they have > code ready to merge into Emacs, we may accept it even after the freeze, > as long as there's still enough time before the release. How is this different from what I might have in my local feature branch? ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 19:34 ` Eli Zaretskii @ 2013-12-17 1:59 ` Stefan Monnier 0 siblings, 0 replies; 173+ messages in thread From: Stefan Monnier @ 2013-12-17 1:59 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel >> This "feature freeze exemption" isn't meant to imply "commit any time >> you like". Basically, what it means for me is that if/when they have >> code ready to merge into Emacs, we may accept it even after the freeze, >> as long as there's still enough time before the release. > How is this different from what I might have in my local feature > branch? The code coming in from Org's repository has generally gone through some reasonable beta-testing (and normally, the rest of Emacs doesn't/shouldn't depend on Org's code, so a problem in Org mode shouldn't affect the rest of the release too significantly). Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 15:14 ` Stefan Monnier 2013-12-16 16:32 ` Jambunathan K 2013-12-16 17:14 ` Glenn Morris @ 2013-12-18 7:28 ` Jambunathan K 2 siblings, 0 replies; 173+ messages in thread From: Jambunathan K @ 2013-12-18 7:28 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Stefan Monnier <monnier@IRO.UMontreal.CA> writes: >> I would like to merge my pending changes to ox-odt.el directly to the >> Emacs trunk. > > AFAIK, currently, you haven't signed the necessary copyright paperwork, > so we can't accept your changes. If you want to contribute patches to > Emacs, please address this first. My offer stands. Don't hesitate to write to me if there is a felt need for having my patches in Emacs. I will oblige in no time. Jambunathan K ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 14:02 ` Jambunathan K 2013-12-16 15:14 ` Stefan Monnier @ 2013-12-16 20:35 ` Michael Albinus 2013-12-16 20:49 ` Jambunathan K 1 sibling, 1 reply; 173+ messages in thread From: Michael Albinus @ 2013-12-16 20:35 UTC (permalink / raw) To: Jambunathan K; +Cc: Stefan Monnier, emacs-devel Jambunathan K <kjambunathan@gmail.com> writes: > I would like to merge my pending changes to ox-odt.el directly to the > Emacs trunk. [...] > NOTE: In principle, I will not commit my changes to Org-mode repo. The > rest can be negotiated. IIRC, you have vetoed applying any of your patches to the org-mode project. Do you have changed your mind? If not, I believe your patches are not applicable to Emacs proper as well. > Jambunathan K. Best regards, Michael. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 20:35 ` Michael Albinus @ 2013-12-16 20:49 ` Jambunathan K 2013-12-16 21:38 ` Michael Albinus 0 siblings, 1 reply; 173+ messages in thread From: Jambunathan K @ 2013-12-16 20:49 UTC (permalink / raw) To: Michael Albinus; +Cc: Stefan Monnier, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: >> NOTE: In principle, I will not commit my changes to Org-mode repo. The >> rest can be negotiated. > > IIRC, you have vetoed applying any of your patches to the org-mode > project. There is no such veto. I will not personally commit to Orgmode repo. If the code gets merged from Emacs repo back to Orgmode repo (by someone else) I have nothing against it. > Do you have changed your mind? I have never changed my mind. ODT exporter was created as a "donation" to Emacs. It will remain so. I still answer questions on the mailing list and accumulate patches in a private repo. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 20:49 ` Jambunathan K @ 2013-12-16 21:38 ` Michael Albinus 2013-12-16 21:53 ` Jambunathan K 2013-12-16 21:58 ` Jambunathan K 0 siblings, 2 replies; 173+ messages in thread From: Michael Albinus @ 2013-12-16 21:38 UTC (permalink / raw) To: Jambunathan K; +Cc: Stefan Monnier, emacs-devel Jambunathan K <kjambunathan@gmail.com> writes: > Michael Albinus <michael.albinus@gmx.de> writes: > >>> NOTE: In principle, I will not commit my changes to Org-mode repo. The >>> rest can be negotiated. >> >> IIRC, you have vetoed applying any of your patches to the org-mode >> project. > > There is no such veto. > > I will not personally commit to Orgmode repo. If the code gets merged > from Emacs repo back to Orgmode repo (by someone else) I have nothing > against it. > >> Do you have changed your mind? > > I have never changed my mind. Then I must have misunderstood you: "ox-odt.el/ox-freemind.el: Please remove it from Org core and don't distribute these files with Org." <http://thread.gmane.org/gmane.emacs.orgmode/68127> "I would like to remove ox-html.el from Org distribution." <http://thread.gmane.org/gmane.emacs.orgmode/68128> Best regards, Michael. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 21:38 ` Michael Albinus @ 2013-12-16 21:53 ` Jambunathan K 2013-12-16 21:58 ` Jambunathan K 1 sibling, 0 replies; 173+ messages in thread From: Jambunathan K @ 2013-12-16 21:53 UTC (permalink / raw) To: Michael Albinus; +Cc: Stefan Monnier, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > Then I must have misunderstood you: Yes. But you are not alone in that camp... ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 21:38 ` Michael Albinus 2013-12-16 21:53 ` Jambunathan K @ 2013-12-16 21:58 ` Jambunathan K 2013-12-17 6:52 ` Michael Albinus 1 sibling, 1 reply; 173+ messages in thread From: Jambunathan K @ 2013-12-16 21:58 UTC (permalink / raw) To: Michael Albinus; +Cc: Stefan Monnier, emacs-devel > "ox-odt.el/ox-freemind.el: Please remove it from Org core and don't > distribute these files with Org." > > <http://thread.gmane.org/gmane.emacs.orgmode/68127> > > "I would like to remove ox-html.el from Org distribution." > > <http://thread.gmane.org/gmane.emacs.orgmode/68128> Irrelevant. The code is part of Org-mode repo and it is part of Emacs. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-16 21:58 ` Jambunathan K @ 2013-12-17 6:52 ` Michael Albinus 2013-12-17 9:51 ` Jambunathan K 2013-12-17 12:26 ` Juanma Barranquero 0 siblings, 2 replies; 173+ messages in thread From: Michael Albinus @ 2013-12-17 6:52 UTC (permalink / raw) To: Jambunathan K; +Cc: Stefan Monnier, emacs-devel Jambunathan K <kjambunathan@gmail.com> writes: >> "ox-odt.el/ox-freemind.el: Please remove it from Org core and don't >> distribute these files with Org." >> >> <http://thread.gmane.org/gmane.emacs.orgmode/68127> >> >> "I would like to remove ox-html.el from Org distribution." >> >> <http://thread.gmane.org/gmane.emacs.orgmode/68128> > > Irrelevant. The code is part of Org-mode repo and it is part of Emacs. I remember you did a lot of people busy with this kind of requests. It would be annoying to see such messages from you again, that's why I have asked for your today's position. Until you claim that those games are over now from your side, I would recommend not to accept patches from you. But of course, I'm neither the Emacs nor the Org-mode maintainer. Best regards, Michael. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-17 6:52 ` Michael Albinus @ 2013-12-17 9:51 ` Jambunathan K 2013-12-17 12:26 ` Juanma Barranquero 1 sibling, 0 replies; 173+ messages in thread From: Jambunathan K @ 2013-12-17 9:51 UTC (permalink / raw) To: Michael Albinus; +Cc: Stefan Monnier, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > But of course, I'm neither the Emacs nor the Org-mode maintainer. Yes. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-17 6:52 ` Michael Albinus 2013-12-17 9:51 ` Jambunathan K @ 2013-12-17 12:26 ` Juanma Barranquero 2013-12-18 5:36 ` Jambunathan K 1 sibling, 1 reply; 173+ messages in thread From: Juanma Barranquero @ 2013-12-17 12:26 UTC (permalink / raw) To: Michael Albinus; +Cc: Emacs developers, Jambunathan K, Stefan Monnier On Tue, Dec 17, 2013 at 7:52 AM, Michael Albinus <michael.albinus@gmx.de> wrote: > Until you claim that those games are over now from your side, I would > recommend not to accept patches from you. +1 ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-17 12:26 ` Juanma Barranquero @ 2013-12-18 5:36 ` Jambunathan K 2013-12-18 6:13 ` Jay Belanger 2013-12-18 12:25 ` Stefan Monnier 0 siblings, 2 replies; 173+ messages in thread From: Jambunathan K @ 2013-12-18 5:36 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Michael Albinus, Stefan Monnier, Emacs developers Juanma Barranquero <lekktu@gmail.com> writes: > On Tue, Dec 17, 2013 at 7:52 AM, Michael Albinus <michael.albinus@gmx.de> wrote: > >> Until you claim that those games are over now from your side, I would >> recommend not to accept patches from you. > > +1 What sort of absurdity is this. You take CA or Disclaimer, you put the patch in Emacs and forget about it. Hint: Jambunathan K is a GIGO machine. Next time you talk to me, try putting in something other than Garbage. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-18 5:36 ` Jambunathan K @ 2013-12-18 6:13 ` Jay Belanger 2013-12-18 6:18 ` Jambunathan K 2013-12-18 7:07 ` Glenn Morris 2013-12-18 12:25 ` Stefan Monnier 1 sibling, 2 replies; 173+ messages in thread From: Jay Belanger @ 2013-12-18 6:13 UTC (permalink / raw) To: Emacs developers; +Cc: jay.p.belanger Jambunathan K <kjambunathan@gmail.com> writes: > Juanma Barranquero <lekktu@gmail.com> writes: > >> On Tue, Dec 17, 2013 at 7:52 AM, Michael Albinus <michael.albinus@gmx.de> wrote: >> >>> Until you claim that those games are over now from your side, I would >>> recommend not to accept patches from you. >> >> +1 > > What sort of absurdity is this. The sort that is based on your previous behavior. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-18 6:13 ` Jay Belanger @ 2013-12-18 6:18 ` Jambunathan K 2013-12-18 6:52 ` Jay Belanger 2013-12-18 7:07 ` Glenn Morris 1 sibling, 1 reply; 173+ messages in thread From: Jambunathan K @ 2013-12-18 6:18 UTC (permalink / raw) To: Jay Belanger; +Cc: Emacs developers Jay Belanger <jay.p.belanger@gmail.com> writes: > The sort that is based on your previous behavior. What was that previous behaviour based on? Could you summarize in your own words why I cancelled my assignment in first place? Let me see how much of a context you can provide. Jambunathan K. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-18 6:18 ` Jambunathan K @ 2013-12-18 6:52 ` Jay Belanger 2013-12-18 6:57 ` Jambunathan K 0 siblings, 1 reply; 173+ messages in thread From: Jay Belanger @ 2013-12-18 6:52 UTC (permalink / raw) To: Emacs developers; +Cc: jay.p.belanger > What was that previous behaviour based on? Your immaturity, I would assume. Since you refuse to say that your games are over now, I take it you leave open the possibility that they might continue. > Could you summarize in your own words why I cancelled my assignment in > first place? It was the hissy fit and your stated desire to cause problems that bothered people, which were not acceptable behavior under any circumstances. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-18 6:52 ` Jay Belanger @ 2013-12-18 6:57 ` Jambunathan K 2013-12-18 7:08 ` Jay Belanger 0 siblings, 1 reply; 173+ messages in thread From: Jambunathan K @ 2013-12-18 6:57 UTC (permalink / raw) To: Jay Belanger; +Cc: Emacs developers Jay Don't take covers. Answer my question or leave the room. Jambunathan K. Jay Belanger <jay.p.belanger@gmail.com> writes: >> What was that previous behaviour based on? > > Your immaturity, I would assume. > Since you refuse to say that your games are over now, I take it you > leave open the possibility that they might continue. > >> Could you summarize in your own words why I cancelled my assignment in >> first place? > > It was the hissy fit and your stated desire to cause problems that > bothered people, which were not acceptable behavior under any > circumstances. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-18 6:57 ` Jambunathan K @ 2013-12-18 7:08 ` Jay Belanger 2013-12-18 7:11 ` Jambunathan K 0 siblings, 1 reply; 173+ messages in thread From: Jay Belanger @ 2013-12-18 7:08 UTC (permalink / raw) To: Emacs developers; +Cc: jay.p.belanger Jambunathan K <kjambunathan@gmail.com> writes: > Answer my question or leave the room. The only worthwhile question that you asked was why people were agreeing with the statement: >>> Until you claim that those games are over now from your side, I would >>> recommend not to accept patches from you. I explained why people have a problem with your behavior, but you seem to be ignoring that, and as before, you are behaving poorly. You seem intent on throwing another hissy fit, and the concern that you might again purposely try to cause problems is real. I'll let others worry about that; as for you: *plonk* ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-18 7:08 ` Jay Belanger @ 2013-12-18 7:11 ` Jambunathan K 0 siblings, 0 replies; 173+ messages in thread From: Jambunathan K @ 2013-12-18 7:11 UTC (permalink / raw) To: Jay Belanger; +Cc: Emacs developers Jay Belanger <jay.p.belanger@gmail.com> writes: > I'll let others worry about that "Better done than said" ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-18 6:13 ` Jay Belanger 2013-12-18 6:18 ` Jambunathan K @ 2013-12-18 7:07 ` Glenn Morris 2013-12-18 7:32 ` Jambunathan K 1 sibling, 1 reply; 173+ messages in thread From: Glenn Morris @ 2013-12-18 7:07 UTC (permalink / raw) To: Emacs developers People, please stop rising to the bait. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-18 7:07 ` Glenn Morris @ 2013-12-18 7:32 ` Jambunathan K 0 siblings, 0 replies; 173+ messages in thread From: Jambunathan K @ 2013-12-18 7:32 UTC (permalink / raw) To: Glenn Morris; +Cc: Emacs developers Glenn Morris <rgm@gnu.org> writes: > People, please stop rising to the bait. Knee-jerk reaction from one and all, save from some quarters. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-18 5:36 ` Jambunathan K 2013-12-18 6:13 ` Jay Belanger @ 2013-12-18 12:25 ` Stefan Monnier 1 sibling, 0 replies; 173+ messages in thread From: Stefan Monnier @ 2013-12-18 12:25 UTC (permalink / raw) To: Jambunathan K; +Cc: Juanma Barranquero, Michael Albinus, Emacs developers People, can we please move on to other things than bashing each other? Thank you, Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-15 13:35 Stefan Monnier 2013-12-16 14:02 ` Jambunathan K @ 2013-12-18 12:48 ` Bozhidar Batsov 1 sibling, 0 replies; 173+ messages in thread From: Bozhidar Batsov @ 2013-12-18 12:48 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 726 bytes --] Doesn’t it make more sense to have the feature freeze in the beginning of January? Many people will take some time off work around Christmas and will probably have a bit of extra time to work on things they want to include in Emacs 24.4. I was planning to integrate ruby-tools in ruby-mode, but I’m not sure I’ll be able to do it by the end of the week. -- Cheers, Bozhidar On Sunday, December 15, 2013 at 3:35 PM, Stefan Monnier wrote: > If you want to install some new features in Emacs's trunk, do it now, > because the trunk will be feature-frozen starting next week-end. > > > Stefan "who wouldn't want Santa to come and install some > undiscussed new feature while we sleep" > > [-- Attachment #2: Type: text/html, Size: 1413 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Feature freeze @ 2013-12-24 3:48 Stefan Monnier 2013-12-24 4:49 ` Dmitry Gutov ` (3 more replies) 0 siblings, 4 replies; 173+ messages in thread From: Stefan Monnier @ 2013-12-24 3:48 UTC (permalink / raw) To: emacs-devel The trunk is now officially "frozen for new features". IOW, feel free to keep installing bug-fixes, manual updates, and things like that, but refrain from installing changes that introduce new features. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 3:48 Stefan Monnier @ 2013-12-24 4:49 ` Dmitry Gutov 2013-12-24 6:08 ` Leo Liu 2013-12-24 14:02 ` Stefan Monnier 2013-12-24 14:05 ` David Engster ` (2 subsequent siblings) 3 siblings, 2 replies; 173+ messages in thread From: Dmitry Gutov @ 2013-12-24 4:49 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > The trunk is now officially "frozen for new features". > IOW, feel free to keep installing bug-fixes, manual updates, and things > like that, but refrain from installing changes that introduce new > features. Is it too late to install the "make electric-pair-mode smarter/more useful" patch? It's been discussed for some time. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 4:49 ` Dmitry Gutov @ 2013-12-24 6:08 ` Leo Liu 2013-12-24 7:37 ` Bozhidar Batsov 2013-12-24 14:02 ` Stefan Monnier 1 sibling, 1 reply; 173+ messages in thread From: Leo Liu @ 2013-12-24 6:08 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Stefan Monnier, emacs-devel On 2013-12-24 12:49 +0800, Dmitry Gutov wrote: > Is it too late to install the "make electric-pair-mode smarter/more > useful" patch? It's been discussed for some time. I also wish it applied. Leo ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 6:08 ` Leo Liu @ 2013-12-24 7:37 ` Bozhidar Batsov 0 siblings, 0 replies; 173+ messages in thread From: Bozhidar Batsov @ 2013-12-24 7:37 UTC (permalink / raw) To: Leo Liu; +Cc: emacs-devel, Stefan Monnier, Dmitry Gutov [-- Attachment #1: Type: text/plain, Size: 463 bytes --] I'm also in favour of installing the electric-pair-mode patch. It will be a big improvement for newcomers who are unlikely to use a third-party alternative (at least not from day 1). On 24 December 2013 08:08, Leo Liu <sdl.web@gmail.com> wrote: > On 2013-12-24 12:49 +0800, Dmitry Gutov wrote: > > Is it too late to install the "make electric-pair-mode smarter/more > > useful" patch? It's been discussed for some time. > > I also wish it applied. > > Leo > > [-- Attachment #2: Type: text/html, Size: 890 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 4:49 ` Dmitry Gutov 2013-12-24 6:08 ` Leo Liu @ 2013-12-24 14:02 ` Stefan Monnier 2013-12-24 14:50 ` João Távora 1 sibling, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2013-12-24 14:02 UTC (permalink / raw) To: Dmitry Gutov; +Cc: emacs-devel >> The trunk is now officially "frozen for new features". >> IOW, feel free to keep installing bug-fixes, manual updates, and things >> like that, but refrain from installing changes that introduce new >> features. > Is it too late to install the "make electric-pair-mode smarter/more > useful" patch? It's been discussed for some time. No, this one is "already accepted", so it can be installed. Stfean ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 14:02 ` Stefan Monnier @ 2013-12-24 14:50 ` João Távora 2013-12-24 15:16 ` Stefan Monnier 0 siblings, 1 reply; 173+ messages in thread From: João Távora @ 2013-12-24 14:50 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel, Dmitry Gutov Stefan Monnier <monnier@IRO.UMontreal.CA> writes: >>> The trunk is now officially "frozen for new features". >>> IOW, feel free to keep installing bug-fixes, manual updates, and things >>> like that, but refrain from installing changes that introduce new >>> features. >> Is it too late to install the "make electric-pair-mode smarter/more >> useful" patch? It's been discussed for some time. > > No, this one is "already accepted", so it can be installed. I can do it myself if someone grants me write permission on Savannah. BTW that could also help with the (unrelated) synch'ing of yasnippet's upstream and GNU ELPA's. João ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 14:50 ` João Távora @ 2013-12-24 15:16 ` Stefan Monnier 2013-12-26 22:16 ` João Távora 0 siblings, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2013-12-24 15:16 UTC (permalink / raw) To: João Távora; +Cc: emacs-devel, Dmitry Gutov > I can do it myself if someone grants me write permission on Savannah. Good idea. Please request membership in the "emacs" group from your savannah account, Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 15:16 ` Stefan Monnier @ 2013-12-26 22:16 ` João Távora 2013-12-26 23:46 ` João Távora 2013-12-27 3:48 ` Dmitry Gutov 0 siblings, 2 replies; 173+ messages in thread From: João Távora @ 2013-12-26 22:16 UTC (permalink / raw) To: Stefan Monnier; +Cc: Dmitry Gutov, João Távora, emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: >> I can do it myself if someone grants me write permission on Savannah. > > Good idea. Please request membership in the "emacs" group from your > savannah account, So I did and I commited the new features in revno: 115759. Have a look and tell me how much I messed up :-) Not much I hope... João ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-26 22:16 ` João Távora @ 2013-12-26 23:46 ` João Távora 2013-12-27 7:54 ` Eli Zaretskii 2013-12-27 3:48 ` Dmitry Gutov 1 sibling, 1 reply; 173+ messages in thread From: João Távora @ 2013-12-26 23:46 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel, João Távora, Dmitry Gutov >>> I can do it myself if someone grants me write permission on Savannah. >> Good idea. Please request membership in the "emacs" group from your >> savannah account, > So I did and I commited the new features in revno: 115759. Have a look > and tell me how much I messed up :-) Not much I hope... Two things: * Somehow my patch didn't make it to emacs-diffs, but bzr log reports it. However, and curiously, I can see it parenting a revision pushed shortly thereafter, http://thread.gmane.org/gmane.emacs.diffs/123754. Did anything funny happen? I followed the instructions at http://www.emacswiki.org/emacs/BzrForEmacsDevs#toc11. * I noticed only now that the new tests for the "autowrapping" functionality in test/automated/electric-tests.el (i.e. the ones that use `region-active-p') are broken, but only when run from "make check", a target that I became aware of just now. Should these be skipped in that situation? João ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-26 23:46 ` João Távora @ 2013-12-27 7:54 ` Eli Zaretskii 0 siblings, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2013-12-27 7:54 UTC (permalink / raw) To: João Távora; +Cc: dgutov, monnier, joaot, emacs-devel > From: joaotavora@gmail.com (João Távora) > Date: Thu, 26 Dec 2013 23:46:01 +0000 > Cc: emacs-devel@gnu.org, João Távora <joaot@siscog.pt>, > Dmitry Gutov <dgutov@yandex.ru> > > * Somehow my patch didn't make it to emacs-diffs, but bzr log reports > it. emacs-diffs is a moderated list, so messages by non-members get held until approved by the moderator (who is a human, and needs to sleep from time to time). > However, and curiously, I can see it parenting a revision pushed shortly > thereafter, http://thread.gmane.org/gmane.emacs.diffs/123754. > > Did anything funny happen? I followed the instructions at > http://www.emacswiki.org/emacs/BzrForEmacsDevs#toc11. Nothing funny, thank you. Your commit was delivered to the repository as expected, but the email message to emacs-diffs, generated by bzr on your behalf, was held (until a few minutes ago). ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-26 22:16 ` João Távora 2013-12-26 23:46 ` João Távora @ 2013-12-27 3:48 ` Dmitry Gutov 1 sibling, 0 replies; 173+ messages in thread From: Dmitry Gutov @ 2013-12-27 3:48 UTC (permalink / raw) To: João Távora, Stefan Monnier; +Cc: emacs-devel On 27.12.2013 00:16, João Távora wrote: > So I did and I commited the new features in revno: 115759. Have a look > and tell me how much I messed up :-) Not much I hope... Works quite well so far, thank you. The commit not showing up in emacs-diffs is weird, though. I've seen my commits appear out of order, but they did show up eventually. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 3:48 Stefan Monnier 2013-12-24 4:49 ` Dmitry Gutov @ 2013-12-24 14:05 ` David Engster 2013-12-24 15:18 ` Stefan Monnier 2013-12-26 13:50 ` Stefan Monnier 2013-12-27 16:26 ` Michael Albinus 3 siblings, 1 reply; 173+ messages in thread From: David Engster @ 2013-12-24 14:05 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier writes: > The trunk is now officially "frozen for new features". > IOW, feel free to keep installing bug-fixes, manual updates, and things > like that, but refrain from installing changes that introduce new > features. I would very much like to get the better help support for EIEIO methods and classes in the next release. We discussed it here in February: http://thread.gmane.org/gmane.emacs.devel/156807 I got sidetracked at that time, but I'm currently working it. The essential functionality won't change, though: the main work is done in eieio.el and eieio-opt.el. The only things that get's added to help-fns.el is the new `help-fns-describe-function-functions' hook. Would it be OK to apply it in the coming days? Also, I'd like to do another sync from CEDET upstream, but AFAICS that's only bugfixes. -David ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 14:05 ` David Engster @ 2013-12-24 15:18 ` Stefan Monnier 2014-01-06 21:47 ` David Engster 0 siblings, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2013-12-24 15:18 UTC (permalink / raw) To: emacs-devel > I got sidetracked at that time, but I'm currently working it. The > essential functionality won't change, though: the main work is done in > eieio.el and eieio-opt.el. The only things that get's added to > help-fns.el is the new `help-fns-describe-function-functions' hook. > Would it be OK to apply it in the coming days? I remember discussions around that, yes. Send us the patch and we'll see if that can be installed. > Also, I'd like to do another sync from CEDET upstream, but AFAICS that's > only bugfixes. If it's only bug-fixes then it's fine, yes. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 15:18 ` Stefan Monnier @ 2014-01-06 21:47 ` David Engster 2014-01-07 0:19 ` Stefan Monnier 2014-01-11 20:41 ` Nix 0 siblings, 2 replies; 173+ messages in thread From: David Engster @ 2014-01-06 21:47 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 811 bytes --] Stefan Monnier writes: >> I got sidetracked at that time, but I'm currently working it. The >> essential functionality won't change, though: the main work is done in >> eieio.el and eieio-opt.el. The only things that get's added to >> help-fns.el is the new `help-fns-describe-function-functions' hook. >> Would it be OK to apply it in the coming days? > > I remember discussions around that, yes. Send us the patch and we'll > see if that can be installed. Much to my surprise I didn't get much done over the holidays, but anyway, here it is. The patch looks large, but as you can see, most of the stuff is just for displaying the class/constructor/slot descriptions. The real core of the patch is, as I've written above, the new hook in help-fns.el. Is it OK to install, or will it have to wait? -David [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: eieio-help-fns-patch.diff --] [-- Type: text/x-diff, Size: 16935 bytes --] === modified file 'lisp/emacs-lisp/eieio-opt.el' --- lisp/emacs-lisp/eieio-opt.el 2014-01-01 07:43:34 +0000 +++ lisp/emacs-lisp/eieio-opt.el 2014-01-06 21:32:16 +0000 @@ -77,101 +77,76 @@ ;;;###autoload(defalias 'describe-class 'eieio-describe-class) ;;;###autoload -(defun eieio-describe-class (class &optional headerfcn) +(defun eieio-describe-class (class) "Describe a CLASS defined by a string or symbol. -If CLASS is actually an object, then also display current values of that object. -Optional HEADERFCN should be called to insert a few bits of info first." - (interactive (list (eieio-read-class "Class: "))) - (with-output-to-temp-buffer (help-buffer) ;"*Help*" - (help-setup-xref (list #'eieio-describe-class class headerfcn) - (called-interactively-p 'interactive)) - - (when headerfcn (funcall headerfcn)) - (prin1 class) - (princ " is a") - (if (class-option class :abstract) - (princ "n abstract")) - (princ " class") - ;; Print file location - (when (get class 'class-location) - (princ " in `") - (princ (file-name-nondirectory (get class 'class-location))) - (princ "'")) - (terpri) - ;; Inheritance tree information - (let ((pl (eieio-class-parents class))) - (when pl - (princ " Inherits from ") - (while pl - (princ "`") (prin1 (car pl)) (princ "'") - (setq pl (cdr pl)) - (if pl (princ ", "))) - (terpri))) - (let ((ch (eieio-class-children class))) - (when ch - (princ " Children ") - (while ch - (princ "`") (prin1 (car ch)) (princ "'") - (setq ch (cdr ch)) - (if ch (princ ", "))) - (terpri))) - (terpri) - ;; System documentation - (let ((doc (documentation-property class 'variable-documentation))) - (when doc - (princ "Documentation:") - (terpri) - (princ doc) - (terpri) - (terpri))) - ;; Describe all the slots in this class - (eieio-describe-class-slots class) - ;; Describe all the methods specific to this class. - (let ((methods (eieio-all-generic-functions class)) - (doc nil)) - (if (not methods) nil - (princ "Specialized Methods:") - (terpri) - (terpri) - (while methods - (setq doc (eieio-method-documentation (car methods) class)) - (princ "`") - (prin1 (car methods)) - (princ "'") - (if (not doc) - (princ " Undocumented") - (if (car doc) - (progn - (princ " :STATIC ") - (prin1 (car (car doc))) - (terpri) - (princ (cdr (car doc))))) - (setq doc (cdr doc)) - (if (car doc) - (progn - (princ " :BEFORE ") - (prin1 (car (car doc))) - (terpri) - (princ (cdr (car doc))))) - (setq doc (cdr doc)) - (if (car doc) - (progn - (princ " :PRIMARY ") - (prin1 (car (car doc))) - (terpri) - (princ (cdr (car doc))))) - (setq doc (cdr doc)) - (if (car doc) - (progn - (princ " :AFTER ") - (prin1 (car (car doc))) - (terpri) - (princ (cdr (car doc))))) - (terpri) - (terpri)) - (setq methods (cdr methods)))))) - (with-current-buffer (help-buffer) - (buffer-string))) +If CLASS is actually an object, then also display current values of that object." + ;; Header line + (prin1 class) + (insert " is a" + (if (class-option class :abstract) + "n abstract" + "") + " class") + (let ((location (get class 'class-location))) + (when location + (insert " in `") + (help-insert-xref-button + (file-name-nondirectory location) + 'eieio-class-def class location) + (insert "'"))) + (insert ".\n") + ;; Parents + (let ((pl (eieio-class-parents class)) + cur) + (when pl + (insert " Inherits from ") + (while (setq cur (pop pl)) + (insert "`") + (help-insert-xref-button (symbol-name cur) + 'help-function cur) + (insert (if pl "', " "'"))) + (insert ".\n"))) + ;; Children + (let ((ch (eieio-class-children class)) + cur) + (when ch + (insert " Children ") + (while (setq cur (pop ch)) + (insert "`") + (help-insert-xref-button (symbol-name cur) + 'help-function cur) + (insert (if ch "', " "'"))) + (insert ".\n"))) + ;; System documentation + (let ((doc (documentation-property class 'variable-documentation))) + (when doc + (insert "\n" doc "\n\n"))) + ;; Describe all the slots in this class + (eieio-describe-class-slots class) + ;; Describe all the methods specific to this class. + (let ((methods (eieio-all-generic-functions class)) + (type [":STATIC" ":BEFORE" ":PRIMARY" ":AFTER"]) + counter doc argshl dochl) + (when methods + (insert (propertize "Specialized Methods:\n\n" 'face 'bold)) + (while methods + (setq doc (eieio-method-documentation (car methods) class)) + (insert "`") + (help-insert-xref-button (symbol-name (car methods)) + 'help-function (car methods)) + (insert "'") + (if (not doc) + (insert " Undocumented") + (setq counter 0) + (dolist (cur doc) + (when cur + (insert " " (aref type counter) " " + (prin1-to-string (car cur) (current-buffer)) + "\n" + (cdr cur))) + (setq counter (1+ counter)))) + (insert "\n\n") + (setq methods (cdr methods)))))) (defun eieio-describe-class-slots (class) "Describe the slots in CLASS. @@ -185,28 +160,27 @@ (i 0) (prot (eieio--class-protection cv)) ) - (princ "Instance Allocated Slots:") - (terpri) - (terpri) + (insert (propertize "Instance Allocated Slots:\n\n" + 'face 'bold)) (while names - (if (car prot) (princ "Private ")) - (princ "Slot: ") - (prin1 (car names)) - (when (not (eq (aref types i) t)) - (princ " type = ") - (prin1 (aref types i))) - (unless (eq (car deflt) eieio-unbound) - (princ " default = ") - (prin1 (car deflt))) - (when (car publp) - (princ " printer = ") - (prin1 (car publp))) - (when (car docs) - (terpri) - (princ " ") - (princ (car docs)) - (terpri)) - (terpri) + (insert + (concat + (when (car prot) + (propertize "Private " 'face 'bold)) + (propertize "Slot: " 'face 'bold) + (prin1-to-string (car names)) + (unless (eq (aref types i) t) + (concat " type = " + (prin1-to-string (aref types i)))) + (unless (eq (car deflt) eieio-unbound) + (concat " default = " + (prin1-to-string (car deflt)))) + (when (car publp) + (concat " printer = " + (prin1-to-string (car publp)))) + (when (car docs) + (concat "\n " (car docs) "\n")) + "\n")) (setq names (cdr names) docs (cdr docs) deflt (cdr deflt) @@ -219,61 +193,30 @@ i 0 prot (eieio--class-class-allocation-protection cv)) (when names - (terpri) - (princ "Class Allocated Slots:")) - (terpri) - (terpri) + (insert (propertize "\nClass Allocated Slots:\n\n" 'face 'bold))) (while names - (when (car prot) - (princ "Private ")) - (princ "Slot: ") - (prin1 (car names)) - (unless (eq (aref types i) t) - (princ " type = ") - (prin1 (aref types i))) - (condition-case nil - (let ((value (eieio-oref class (car names)))) - (princ " value = ") - (prin1 value)) + (insert + (concat + (when (car prot) + "Private ") + "Slot: " + (prin1-to-string (car names)) + (unless (eq (aref types i) t) + (concat " type = " + (prin1-to-string (aref types i)))) + (condition-case nil + (let ((value (eieio-oref class (car names)))) + (concat " value = " + (prin1-to-string value))) (error nil)) - (when (car docs) - (terpri) - (princ " ") - (princ (car docs)) - (terpri)) - (terpri) + (when (car docs) + (concat "\n\n " (car docs) "\n")) + "\n")) (setq names (cdr names) docs (cdr docs) prot (cdr prot) i (1+ i))))) -;;;###autoload -(defun eieio-describe-constructor (fcn) - "Describe the constructor function FCN. -Uses `eieio-describe-class' to describe the class being constructed." - (interactive - ;; Use eieio-read-class since all constructors have the same name as - ;; the class they create. - (list (eieio-read-class "Class: "))) - (eieio-describe-class - fcn (lambda () - ;; Describe the constructor part. - (prin1 fcn) - (princ " is an object constructor function") - ;; Print file location - (when (get fcn 'class-location) - (princ " in `") - (princ (file-name-nondirectory (get fcn 'class-location))) - (princ "'")) - (terpri) - (princ "Creates an object of class ") - (prin1 fcn) - (princ ".") - (terpri) - (terpri) - )) - ) - (defun eieio-build-class-list (class) "Return a list of all classes that inherit from CLASS." (if (class-p class) @@ -330,87 +273,99 @@ ;;;###autoload(defalias 'describe-generic 'eieio-describe-generic) (defalias 'eieio-describe-method 'eieio-describe-generic) -;;;###autoload -(defun eieio-describe-generic (generic) - "Describe the generic function GENERIC. -Also extracts information about all methods specific to this generic." - (interactive (list (eieio-read-generic "Generic Method: "))) - (eieio--check-type generic-p generic) - (with-output-to-temp-buffer (help-buffer) ; "*Help*" - (help-setup-xref (list #'eieio-describe-generic generic) - (called-interactively-p 'interactive)) - - (prin1 generic) - (princ " is a generic function") - (when (generic-primary-only-p generic) - (princ " with only ") - (when (generic-primary-only-one-p generic) - (princ "one ")) - (princ "primary method") - (when (not (generic-primary-only-one-p generic)) - (princ "s")) - ) - (princ ".") - (terpri) - (terpri) - (let ((d (documentation generic))) - (if (not d) - (princ "The generic is not documented.\n") - (princ "Documentation:") - (terpri) - (princ d) - (terpri) - (terpri))) - (princ "Implementations:") - (terpri) - (terpri) - (let ((i 4) - (prefix [ ":STATIC" ":BEFORE" ":PRIMARY" ":AFTER" ] )) - ;; Loop over fanciful generics - (while (< i 7) - (let ((gm (aref (get generic 'eieio-method-tree) i))) - (when gm - (princ "Generic ") - (princ (aref prefix (- i 3))) - (terpri) - (princ (or (nth 2 gm) "Undocumented")) - (terpri) - (terpri))) - (setq i (1+ i))) - (setq i 0) - ;; Loop over defined class-specific methods - (while (< i 4) - (let ((gm (reverse (aref (get generic 'eieio-method-tree) i))) - location) - (while gm - (princ "`") - (prin1 (car (car gm))) - (princ "'") - ;; prefix type - (princ " ") - (princ (aref prefix i)) - (princ " ") - ;; argument list - (let* ((func (cdr (car gm))) - (arglst (eieio-lambda-arglist func))) - (prin1 arglst)) - (terpri) - ;; 3 because of cdr - (princ (or (documentation (cdr (car gm))) - "Undocumented")) - ;; Print file location if available - (when (and (setq location (get generic 'method-locations)) - (setq location (assoc (caar gm) location))) - (setq location (cadr location)) - (princ "\n\nDefined in `") - (princ (file-name-nondirectory location)) - (princ "'\n")) - (setq gm (cdr gm)) - (terpri) - (terpri))) - (setq i (1+ i))))) - (with-current-buffer (help-buffer) - (buffer-string))) +(define-button-type 'eieio-method-def + :supertype 'help-xref + 'help-function (lambda (class method file) + (eieio-help-find-method-definition class method file)) + 'help-echo (purecopy "mouse-2, RET: find method's definition")) + +(define-button-type 'eieio-class-def + :supertype 'help-xref + 'help-function (lambda (class file) + (eieio-help-find-class-definition class file)) + 'help-echo (purecopy "mouse-2, RET: find class definition")) + +;;;###autoload +(defun eieio-help-constructor (ctr) + "Describe CTR if it is a class constructor." + (when (class-p ctr) + (let ((location (get ctr 'class-location))) + (goto-char (point-min)) + (delete-region (point) (point-at-eol)) + (prin1 ctr) + (insert " is an object constructor function in `") + (help-insert-xref-button + (file-name-nondirectory location) + 'eieio-class-def ctr location) + (insert "'.\nCreates an object of class " (symbol-name ctr) ".") + (goto-char (point-max)) + (save-excursion + (insert (propertize "\n\nClass description:\n" 'face 'bold)) + (eieio-describe-class ctr)) + ))) + + +;;;###autoload +(defun eieio-help-generic (generic) + "Describe GENERIC if it is a generic function." + (when (generic-p generic) + (save-excursion + (goto-char (point-min)) + (when (re-search-forward " in `.+'.$" nil t) + (replace-match "."))) + (save-excursion + (insert "\n\nThis is a generic function" + (cond + ((and (generic-primary-only-p generic) + (generic-primary-only-one-p generic)) + " with only one primary method") + ((generic-primary-only-p generic) + " with only primary methods") + (t "")) + ".\n\n") + (insert (propertize "Implementations:\n\n" 'face 'bold)) + (let ((i 4) + (prefix [ ":STATIC" ":BEFORE" ":PRIMARY" ":AFTER" ] )) + ;; Loop over fanciful generics + (while (< i 7) + (let ((gm (aref (get generic 'eieio-method-tree) i))) + (when gm + (insert "Generic " + (aref prefix (- i 3)) + "\n" + (or (nth 2 gm) "Undocumented") + "\n\n"))) + (setq i (1+ i))) + (setq i 0) + ;; Loop over defined class-specific methods + (while (< i 4) + (let* ((gm (reverse (aref (get generic 'eieio-method-tree) i))) + cname location) + (while gm + (setq cname (caar gm)) + (insert "`") + (help-insert-xref-button (symbol-name cname) + 'help-variable cname) + (insert "' " (aref prefix i) " ") + ;; argument list + (let* ((func (cdr (car gm))) + (arglst (eieio-lambda-arglist func))) + (prin1 arglst (current-buffer))) + (insert "\n" + (or (documentation (cdr (car gm))) + "Undocumented")) + ;; Print file location if available + (when (and (setq location (get generic 'method-locations)) + (setq location (assoc cname location))) + (setq location (cadr location)) + (insert "\n\nDefined in `") + (help-insert-xref-button + (file-name-nondirectory location) + 'eieio-method-def cname generic location) + (insert "'\n")) + (setq gm (cdr gm)) + (insert "\n"))) + (setq i (1+ i))))))) (defun eieio-lambda-arglist (func) "Return the argument list of FUNC, a function body." @@ -584,21 +539,13 @@ ;;; HELP AUGMENTATION ;; -(define-button-type 'eieio-method-def - :supertype 'help-xref - 'help-function (lambda (class method file) - (eieio-help-find-method-definition class method file)) - 'help-echo (purecopy "mouse-2, RET: find method's definition")) - -(define-button-type 'eieio-class-def - :supertype 'help-xref - 'help-function (lambda (class file) - (eieio-help-find-class-definition class file)) - 'help-echo (purecopy "mouse-2, RET: find class definition")) - (defun eieio-help-find-method-definition (class method file) (let ((filename (find-library-name file)) location buf) + (when (symbolp class) + (setq class (symbol-name class))) + (when (symbolp method) + (setq method (symbol-name method))) (when (null filename) (error "Cannot find library %s" file)) (setq buf (find-file-noselect filename)) @@ -622,6 +569,8 @@ (beginning-of-line)))) (defun eieio-help-find-class-definition (class file) + (when (symbolp class) + (setq class (symbol-name class))) (let ((filename (find-library-name file)) location buf) (when (null filename) === modified file 'lisp/emacs-lisp/eieio.el' --- lisp/emacs-lisp/eieio.el 2014-01-01 07:43:34 +0000 +++ lisp/emacs-lisp/eieio.el 2014-01-04 09:04:08 +0000 @@ -865,6 +865,10 @@ of `eq'." (error "EIEIO: `change-class' is unimplemented")) +;; Hook ourselves into help system for describing classes and methods. +(add-hook 'help-fns-describe-function-functions 'eieio-help-generic) +(add-hook 'help-fns-describe-function-functions 'eieio-help-constructor) + ;;; Interfacing with edebug ;; (defun eieio-edebug-prin1-to-string (object &optional noescape) === modified file 'lisp/help-fns.el' --- lisp/help-fns.el 2014-01-01 07:43:34 +0000 +++ lisp/help-fns.el 2014-01-04 09:04:08 +0000 @@ -32,6 +32,12 @@ ;;; Code: +(defvar help-fns-describe-function-functions nil + "List of functions to run in help buffer in `describe-function'. +Those functions will be run after the header line and argument +list was inserted, and before the documentation will be inserted. +The functions will receive the function name as argument.") + ;; Functions ;;;###autoload @@ -653,7 +659,7 @@ (help-fns--compiler-macro function) (help-fns--parent-mode function) (help-fns--obsolete function) - + (run-hook-with-args 'help-fns-describe-function-functions function) (insert "\n" (or doc "Not documented."))))))) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-06 21:47 ` David Engster @ 2014-01-07 0:19 ` Stefan Monnier 2014-01-07 21:30 ` David Engster 2014-01-11 20:41 ` Nix 1 sibling, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2014-01-07 0:19 UTC (permalink / raw) To: emacs-devel > Is it OK to install, or will it have to wait? Looks OK. Please install, tho see nitpicks below. > + ;; Describe all the slots in this class Please punctuate the comments (IIUC you didn't actually change this comment, but while you're there, you might as well do it ;-). > +(defvar help-fns-describe-function-functions nil > + "List of functions to run in help buffer in `describe-function'. > +Those functions will be run after the header line and argument > +list was inserted, and before the documentation will be inserted. > +The functions will receive the function name as argument.") > + > ;; Functions > > ;;;###autoload > @@ -653,7 +659,7 @@ > (help-fns--compiler-macro function) > (help-fns--parent-mode function) > (help-fns--obsolete function) > - > + (run-hook-with-args 'help-fns-describe-function-functions function) Looks good, but please move help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete to help-fns-describe-function-functions while you're there. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-07 0:19 ` Stefan Monnier @ 2014-01-07 21:30 ` David Engster 2014-01-08 3:20 ` Stefan Monnier 0 siblings, 1 reply; 173+ messages in thread From: David Engster @ 2014-01-07 21:30 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier writes: >> ;;;###autoload >> @@ -653,7 +659,7 @@ >> (help-fns--compiler-macro function) >> (help-fns--parent-mode function) >> (help-fns--obsolete function) >> - >> + (run-hook-with-args 'help-fns-describe-function-functions function) > > Looks good, but please move help-fns--compiler-macro, > help-fns--parent-mode, help-fns--obsolete to > help-fns-describe-function-functions while you're there. Yes, will do. One more question which I forgot to ask: I did rename `eieio-describe-constructor' and `eieio-describe-generic' to `eieio-help-constructor' and `eieio-help-generic', since they are not interactive anymore but augment an existing help buffer. Those two however had aliases `describe-constructor' and `describe-generic', which I'd like to remove. Would that be OK? I don't think anyone was using those, and calling the normal `describe-function' on a constructor or generic will now give the same information. If you'd like to keep them, I'd simply re-implement them as small wrappers for `describe-function'. -David ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-07 21:30 ` David Engster @ 2014-01-08 3:20 ` Stefan Monnier 2014-01-08 22:04 ` David Engster 0 siblings, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2014-01-08 3:20 UTC (permalink / raw) To: emacs-devel > interactive anymore but augment an existing help buffer. Those two > however had aliases `describe-constructor' and `describe-generic', which > I'd like to remove. Would that be OK? Yes, thanks, Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-08 3:20 ` Stefan Monnier @ 2014-01-08 22:04 ` David Engster 2014-01-08 22:31 ` Glenn Morris 0 siblings, 1 reply; 173+ messages in thread From: David Engster @ 2014-01-08 22:04 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier writes: >> interactive anymore but augment an existing help buffer. Those two >> however had aliases `describe-constructor' and `describe-generic', which >> I'd like to remove. Would that be OK? > > Yes, thanks, Pushed. I will update NEWS tomorrow. What I didn't find out is how to update the extracted autoloads at the end of lisp/emacs-lisp/eieio.el, so those are still wrong. 'make autoloads' doesn't do the trick. Any hints? -David ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-08 22:04 ` David Engster @ 2014-01-08 22:31 ` Glenn Morris 2014-01-08 22:37 ` Glenn Morris 0 siblings, 1 reply; 173+ messages in thread From: Glenn Morris @ 2014-01-08 22:31 UTC (permalink / raw) To: emacs-devel David Engster wrote: > What I didn't find out is how to update the extracted autoloads at the > end of lisp/emacs-lisp/eieio.el, so those are still wrong. 'make > autoloads' doesn't do the trick. Any hints? There's something weird there. How did those autoloads get into eieio.el in the first place, when it is not the value of any other file's generated-autoload-file setting? (They are also in loaddefs.el, which is where `make autoloads' will update them.) Maybe there was such a setting at some point in the past, but it was removed? Or were those autoloads added to eieio.el by hand? I suggest you fix it up by hand. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-08 22:31 ` Glenn Morris @ 2014-01-08 22:37 ` Glenn Morris 2014-01-09 6:29 ` Eli Zaretskii 2014-01-09 7:21 ` David Engster 0 siblings, 2 replies; 173+ messages in thread From: Glenn Morris @ 2014-01-08 22:37 UTC (permalink / raw) To: emacs-devel Glenn Morris wrote: > Maybe there was such a setting at some point in the past, but it was > removed? Yes: I intentionally added it in r103332. It was removed it r110325 "Update CEDET from upstream". I guess that was unintentional. I suggest you check that revision and make any necessary fixes. In a way, this is an autoloads bug: If a file foo.el used to contain a file-local generated-autoload-file: bar.el setting, but then it gets removed, the autoloads will not be removed from bar.el. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-08 22:37 ` Glenn Morris @ 2014-01-09 6:29 ` Eli Zaretskii 2014-01-09 7:21 ` David Engster 1 sibling, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2014-01-09 6:29 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel > From: Glenn Morris <rgm@gnu.org> > Date: Wed, 08 Jan 2014 17:37:31 -0500 > > In a way, this is an autoloads bug: > If a file foo.el used to contain a file-local generated-autoload-file: bar.el > setting, but then it gets removed, the autoloads will not be removed > from bar.el. Perhaps we should fix this, either in the Makefile or maybe via some file-local variables wizardry. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-08 22:37 ` Glenn Morris 2014-01-09 6:29 ` Eli Zaretskii @ 2014-01-09 7:21 ` David Engster 2014-01-09 17:05 ` Glenn Morris 1 sibling, 1 reply; 173+ messages in thread From: David Engster @ 2014-01-09 7:21 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel Glenn Morris writes: > Glenn Morris wrote: > >> Maybe there was such a setting at some point in the past, but it was >> removed? > > Yes: I intentionally added it in r103332. > It was removed it r110325 "Update CEDET from upstream". > I guess that was unintentional. Yes, that was my fault. Thanks for looking into this. > I suggest you check that revision and make any necessary fixes. But I guess there must be some reason why you used 'eieio.el' as generated autoload file instead of using loaddefs.el? Is it OK to just remove the autoloads from eieio.el and fix AUTOGEN_VCS in Makefile.in, or should I restore it to the way it was? -David ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-09 7:21 ` David Engster @ 2014-01-09 17:05 ` Glenn Morris 2014-01-09 21:21 ` David Engster 0 siblings, 1 reply; 173+ messages in thread From: Glenn Morris @ 2014-01-09 17:05 UTC (permalink / raw) To: emacs-devel David Engster wrote: > But I guess there must be some reason why you used 'eieio.el' as > generated autoload file instead of using loaddefs.el? I did that because those autoloads were already in eieio.el, but hand-written rather than auto-generated. You know better than I where those autoloads need to be. Do they only make sense after eieio is loaded, or are they external access points. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-09 17:05 ` Glenn Morris @ 2014-01-09 21:21 ` David Engster 0 siblings, 0 replies; 173+ messages in thread From: David Engster @ 2014-01-09 21:21 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel Glenn Morris writes: > David Engster wrote: >> But I guess there must be some reason why you used 'eieio.el' as >> generated autoload file instead of using loaddefs.el? > > I did that because those autoloads were already in eieio.el, but > hand-written rather than auto-generated. Ah yes, I now dimly remember writing those... > You know better than I where those autoloads need to be. > Do they only make sense after eieio is loaded, or are they external > access points. They really only make sense when EIEIO is already loaded, so I restored the old behavior. -David ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2014-01-06 21:47 ` David Engster 2014-01-07 0:19 ` Stefan Monnier @ 2014-01-11 20:41 ` Nix 1 sibling, 0 replies; 173+ messages in thread From: Nix @ 2014-01-11 20:41 UTC (permalink / raw) To: David Engster; +Cc: emacs-devel On 6 Jan 2014, David Engster outgrape: > Much to my surprise I didn't get much done over the holidays, but > anyway, here it is. As an eieio user long frustrated by the opacity caused by its poor help integration: Best patch so far this year! Thank you thank you! (not that that's really saying *that* much, what with freeze and New Year and all. But still.) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 3:48 Stefan Monnier 2013-12-24 4:49 ` Dmitry Gutov 2013-12-24 14:05 ` David Engster @ 2013-12-26 13:50 ` Stefan Monnier 2013-12-27 16:26 ` Michael Albinus 3 siblings, 0 replies; 173+ messages in thread From: Stefan Monnier @ 2013-12-26 13:50 UTC (permalink / raw) To: emacs-devel > The trunk is now officially "frozen for new features". BTW, the plan is to keep it frozen for a month or so, after which we'll make a release branch and open up the trunk for changes again. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-24 3:48 Stefan Monnier ` (2 preceding siblings ...) 2013-12-26 13:50 ` Stefan Monnier @ 2013-12-27 16:26 ` Michael Albinus 2013-12-27 21:37 ` Stefan Monnier 3 siblings, 1 reply; 173+ messages in thread From: Michael Albinus @ 2013-12-27 16:26 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > The trunk is now officially "frozen for new features". > IOW, feel free to keep installing bug-fixes, manual updates, and things > like that, but refrain from installing changes that introduce new > features. Do we have a list of bug numbers, which shall be fixed before the release? Preferred as (user) tags in debbugs or alike, that the list can be kept up-to-date. > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-27 16:26 ` Michael Albinus @ 2013-12-27 21:37 ` Stefan Monnier 2013-12-28 12:34 ` Michael Albinus 0 siblings, 1 reply; 173+ messages in thread From: Stefan Monnier @ 2013-12-27 21:37 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel >> The trunk is now officially "frozen for new features". >> IOW, feel free to keep installing bug-fixes, manual updates, and things >> like that, but refrain from installing changes that introduce new >> features. > Do we have a list of bug numbers, which shall be fixed before the > release? Preferred as (user) tags in debbugs or alike, that the list can > be kept up-to-date. No, but I encourage everyone to tag as "important" any bug that they think should be fixed. Of course, that should be someone else's bug. If you think your own bug-report is important, send me an email. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2013-12-27 21:37 ` Stefan Monnier @ 2013-12-28 12:34 ` Michael Albinus 0 siblings, 0 replies; 173+ messages in thread From: Michael Albinus @ 2013-12-28 12:34 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > No, but I encourage everyone to tag as "important" any bug that they > think should be fixed. Of course, that should be someone else's bug. > If you think your own bug-report is important, send me an email. That will work fine if the bug is related to Emacs only. When it is assigned to several packages in parallel, like Emacs and Gnus, it is not obvious whether it must be fixed in the next Emacs release or the next Gnus release. But let's start with this. Conflicts in intended release versionss the bug shall be fixed could be solved when they happen. With the debbugs package from GNU ELPA, we get the list of bugs: (debbugs-gnu '("serious" "important") '("emacs") nil t) Admittedly, the last one has been submitted by me. Maybe somebody else could check, whether the severity is proper. It is a security flaw, so I believe it shall be fixed soon. If one prefers the bug list as TODO items of org-mode, one could apply (debbugs-org '("serious" "important") '("emacs") nil) > Stefan Best regards, Michael. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Feature freeze @ 2015-09-21 19:39 Stefan Monnier 2015-09-21 21:19 ` Kaushal Modi ` (15 more replies) 0 siblings, 16 replies; 173+ messages in thread From: Stefan Monnier @ 2015-09-21 19:39 UTC (permalink / raw) To: emacs-devel Time is up! I think it's about time we freeze the features for Emacs-25. There are a few things I hope can still make it into this new release, (such as the xwidget branch (long overdue) and the dynload/modules, for example), so the exact schedule and details are still up for discussion. But I'll leave these decisions to someone else, because I also take this opportunity to step down as head maintainer. It's time for me to move on, and it's time for new blood to take the lead. I'm not about to disappear, but I won't be reading emacs-devel (nor bug-gnu-emacs) at least for a while, so if you need something from me, put me explicitly in the Cc. Thank you all for bearing with me as head maintainer, it's been a great ride, I hope you enjoyed it as much as I did. Stefan ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier @ 2015-09-21 21:19 ` Kaushal Modi 2015-09-21 21:30 ` John Yates ` (14 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: Kaushal Modi @ 2015-09-21 21:19 UTC (permalink / raw) To: Stefan Monnier; +Cc: Emacs developers [-- Attachment #1: Type: text/plain, Size: 1184 bytes --] Hey Stefan, Wishing you success with your next venture too. It was great to have discussions and learn from you on this list. You will be missed. Looking forward to what new ideas are being put into the pipeline with the help and support of the next head maintainer. Kaushal On Sep 21, 2015 4:43 PM, "Stefan Monnier" <monnier@iro.umontreal.ca> wrote: > Time is up! > > I think it's about time we freeze the features for Emacs-25. There are > a few things I hope can still make it into this new release, (such as > the xwidget branch (long overdue) and the dynload/modules, for example), > so the exact schedule and details are still up for discussion. > > But I'll leave these decisions to someone else, because I also take this > opportunity to step down as head maintainer. > > It's time for me to move on, and it's time for new blood to take > the lead. I'm not about to disappear, but I won't be reading > emacs-devel (nor bug-gnu-emacs) at least for a while, so if you need > something from me, put me explicitly in the Cc. > > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. > > > Stefan > > [-- Attachment #2: Type: text/html, Size: 1590 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier 2015-09-21 21:19 ` Kaushal Modi @ 2015-09-21 21:30 ` John Yates 2015-09-21 21:39 ` Rasmus ` (13 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: John Yates @ 2015-09-21 21:30 UTC (permalink / raw) To: Stefan Monnier; +Cc: Emacs developers [-- Attachment #1: Type: text/plain, Size: 263 bytes --] I regularly describe to fellow programmers how vibrant the emacs project has become. You deserve the lion's share of the credit. May we be blessed with a new head maintainer as competent, creative, courteous and visionary as you have been Best of luck, /john [-- Attachment #2: Type: text/html, Size: 374 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier 2015-09-21 21:19 ` Kaushal Modi 2015-09-21 21:30 ` John Yates @ 2015-09-21 21:39 ` Rasmus 2015-09-22 0:52 ` Xue Fuqiao ` (12 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: Rasmus @ 2015-09-21 21:39 UTC (permalink / raw) To: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > Time is up! Cool! > But I'll leave these decisions to someone else, because I also take this > opportunity to step down as head maintainer. > > It's time for me to move on, and it's time for new blood to take > the lead. I'm not about to disappear, but I won't be reading > emacs-devel (nor bug-gnu-emacs) at least for a while, so if you need > something from me, put me explicitly in the Cc. > > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. Damn, I hate Mondays... Well, best of luck! And thanks a lot for all of your contributions thus far and also future contributions. Rasmus -- Dobbelt-A ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (2 preceding siblings ...) 2015-09-21 21:39 ` Rasmus @ 2015-09-22 0:52 ` Xue Fuqiao 2015-09-22 6:35 ` Eli Zaretskii ` (11 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: Xue Fuqiao @ 2015-09-22 0:52 UTC (permalink / raw) To: Stefan Monnier; +Cc: Emacs-devel Hi Stefan, Thanks for your great 7 years of being an elite technical leader, and pulling Emacs forward for 10+ years! Especially thanks for your contributions to vc-svn, Emacs server, PCL-CVS (just like Magit for Git!), smerge-mode and diff-mode, mpc, smie, pcase, cl-lib (CL at runtime!), gv, nadvice (which is really easy to use) and countless contributions to GNU ELPA, *.texi and doc strings, Unicode support, CEDET, plus many other places all over Emacs. Personally, I'd like to express my gratitude for your guidance and patience, which makes me more proficient in Emacs development. Wish you success with your next venture! ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (3 preceding siblings ...) 2015-09-22 0:52 ` Xue Fuqiao @ 2015-09-22 6:35 ` Eli Zaretskii 2015-09-22 6:39 ` martin rudalics ` (10 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: Eli Zaretskii @ 2015-09-22 6:35 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@IRO.UMontreal.CA> > Date: Mon, 21 Sep 2015 15:39:55 -0400 > > It's time for me to move on, and it's time for new blood to take > the lead. I'm not about to disappear, but I won't be reading > emacs-devel (nor bug-gnu-emacs) at least for a while, so if you need > something from me, put me explicitly in the Cc. > > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. We did enjoy that ride, and you _will_ be missed. Thank you for those wonderful years, and I hope your "infrequent" appearances here will be more frequent. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (4 preceding siblings ...) 2015-09-22 6:35 ` Eli Zaretskii @ 2015-09-22 6:39 ` martin rudalics 2015-09-22 8:19 ` Zack Piper ` (9 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: martin rudalics @ 2015-09-22 6:39 UTC (permalink / raw) To: emacs-devel > I also take this opportunity to step down as head maintainer. I was afraid this would happen. Thanks for bearing with us, martin ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (5 preceding siblings ...) 2015-09-22 6:39 ` martin rudalics @ 2015-09-22 8:19 ` Zack Piper 2015-09-22 8:53 ` Aurélien Aptel ` (8 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: Zack Piper @ 2015-09-22 8:19 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel On Mon, 21 Sep 2015 21:39:55 +0200, Stefan Monnier wrote: > > Time is up! > > I think it's about time we freeze the features for Emacs-25. There are > a few things I hope can still make it into this new release, (such as > the xwidget branch (long overdue) and the dynload/modules, for example), > so the exact schedule and details are still up for discussion. I'm looking forward to these features. > > But I'll leave these decisions to someone else, because I also take this > opportunity to step down as head maintainer. Thank you for your hard work, and good luck in your future endeavors. > > It's time for me to move on, and it's time for new blood to take > the lead. I'm not about to disappear, but I won't be reading > emacs-devel (nor bug-gnu-emacs) at least for a while, so if you need > something from me, put me explicitly in the Cc. > > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. > > > Stefan > ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (6 preceding siblings ...) 2015-09-22 8:19 ` Zack Piper @ 2015-09-22 8:53 ` Aurélien Aptel 2015-09-22 9:14 ` Artur Malabarba 2015-09-22 9:14 ` Eric Abrahamsen 2015-09-22 10:37 ` Alan Mackenzie ` (7 subsequent siblings) 15 siblings, 2 replies; 173+ messages in thread From: Aurélien Aptel @ 2015-09-22 8:53 UTC (permalink / raw) To: Stefan Monnier; +Cc: Emacs development discussions On Mon, Sep 21, 2015 at 9:39 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote: > I think it's about time we freeze the features for Emacs-25. There are > a few things I hope can still make it into this new release, (such as > the xwidget branch (long overdue) and the dynload/modules, for example), > so the exact schedule and details are still up for discussion. Yeah I would also like to have the modules in too! I'll update the relevant thread. > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. Aww :( You will be missed. You always took time to explain stuff when I asked dumb questions, really appreciated that :D ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-22 8:53 ` Aurélien Aptel @ 2015-09-22 9:14 ` Artur Malabarba 2015-09-22 11:41 ` Tassilo Horn 2015-09-22 9:14 ` Eric Abrahamsen 1 sibling, 1 reply; 173+ messages in thread From: Artur Malabarba @ 2015-09-22 9:14 UTC (permalink / raw) Cc: Stefan Monnier, emacs-devel [-- Attachment #1: Type: text/plain, Size: 144 bytes --] Thanks for all your work and time, Stefan. You've done a brilliant job. And thanks for dragging me onto this mess as well. Best of luck, Artur [-- Attachment #2: Type: text/html, Size: 187 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-22 9:14 ` Artur Malabarba @ 2015-09-22 11:41 ` Tassilo Horn 0 siblings, 0 replies; 173+ messages in thread From: Tassilo Horn @ 2015-09-22 11:41 UTC (permalink / raw) To: Artur Malabarba; +Cc: Stefan Monnier, emacs-devel Artur Malabarba <bruce.connor.am@gmail.com> writes: > Thanks for all your work and time, Stefan. You've done a brilliant > job. I second this. You've been a fantastic maintainer! > And thanks for dragging me onto this mess as well. Oh, yes. Thanks also for dragging Artur into this mess! :-) Bye, Tassilo ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-22 8:53 ` Aurélien Aptel 2015-09-22 9:14 ` Artur Malabarba @ 2015-09-22 9:14 ` Eric Abrahamsen 1 sibling, 0 replies; 173+ messages in thread From: Eric Abrahamsen @ 2015-09-22 9:14 UTC (permalink / raw) To: emacs-devel Aurélien Aptel <aurelien.aptel+emacs@gmail.com> writes: > On Mon, Sep 21, 2015 at 9:39 PM, Stefan Monnier > <monnier@iro.umontreal.ca> wrote: >> I think it's about time we freeze the features for Emacs-25. There are >> a few things I hope can still make it into this new release, (such as >> the xwidget branch (long overdue) and the dynload/modules, for example), >> so the exact schedule and details are still up for discussion. > > Yeah I would also like to have the modules in too! I'll update the > relevant thread. > >> Thank you all for bearing with me as head maintainer, it's been a great >> ride, I hope you enjoyed it as much as I did. > > Aww :( You will be missed. > You always took time to explain stuff when I asked dumb questions, > really appreciated that :D Amen to this. I got a lot of assistance and encouragement, and that made the process of contributing to (and using) Emacs really pleasurable. Thanks, and stick around. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (7 preceding siblings ...) 2015-09-22 8:53 ` Aurélien Aptel @ 2015-09-22 10:37 ` Alan Mackenzie 2015-09-22 11:50 ` Oleh Krehel ` (6 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: Alan Mackenzie @ 2015-09-22 10:37 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Hello, Stefan. On Mon, Sep 21, 2015 at 03:39:55PM -0400, Stefan Monnier wrote: > Time is up! > I think it's about time we freeze the features for Emacs-25. There are > a few things I hope can still make it into this new release, (such as > the xwidget branch (long overdue) and the dynload/modules, for example), > so the exact schedule and details are still up for discussion. > But I'll leave these decisions to someone else, because I also take this > opportunity to step down as head maintainer. > It's time for me to move on, and it's time for new blood to take > the lead. I'm not about to disappear, but I won't be reading > emacs-devel (nor bug-gnu-emacs) at least for a while, so if you need > something from me, put me explicitly in the Cc. > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. Yes, all good things come to an end. Thanks for all the hard work over the years (and decades), and wishing you a more relaxed and less stressful future. We're going to miss you! > Stefan -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (8 preceding siblings ...) 2015-09-22 10:37 ` Alan Mackenzie @ 2015-09-22 11:50 ` Oleh Krehel 2015-09-22 13:03 ` Dmitry Gutov ` (5 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: Oleh Krehel @ 2015-09-22 11:50 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. You were a great maintainer, thanks for all your work. And best of luck in your new projects. Oleh ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (9 preceding siblings ...) 2015-09-22 11:50 ` Oleh Krehel @ 2015-09-22 13:03 ` Dmitry Gutov 2015-09-22 20:18 ` Paul Eggert ` (4 subsequent siblings) 15 siblings, 0 replies; 173+ messages in thread From: Dmitry Gutov @ 2015-09-22 13:03 UTC (permalink / raw) To: Stefan Monnier, emacs-devel Hello Stefan, On 09/21/2015 10:39 PM, Stefan Monnier wrote: > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. Thank you very much for your work, patience and fruitful discussions over the years (as well as the less fruitful ones, all of those are surely my fault). It's hard for me to imagine Emacs development without your guiding hand, but I hope we'll manage somehow. Best of luck in all your endeavors. Come back to govern anytime. ;) ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (10 preceding siblings ...) 2015-09-22 13:03 ` Dmitry Gutov @ 2015-09-22 20:18 ` Paul Eggert 2015-09-30 7:31 ` Bastien 2015-09-28 20:40 ` Nicolas Petton ` (3 subsequent siblings) 15 siblings, 1 reply; 173+ messages in thread From: Paul Eggert @ 2015-09-22 20:18 UTC (permalink / raw) To: Stefan Monnier, emacs-devel On 09/21/2015 12:39 PM, Stefan Monnier wrote: > Thank you all for bearing with me as head maintainer It was more the other way round: you were bearing us, and doing it so well that we all got a little spoiled. Thanks for the ride, and please don't be a stranger. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-22 20:18 ` Paul Eggert @ 2015-09-30 7:31 ` Bastien 0 siblings, 0 replies; 173+ messages in thread From: Bastien @ 2015-09-30 7:31 UTC (permalink / raw) To: Paul Eggert; +Cc: Stefan Monnier, emacs-devel Paul Eggert <eggert@cs.ucla.edu> writes: > On 09/21/2015 12:39 PM, Stefan Monnier wrote: >> Thank you all for bearing with me as head maintainer > > It was more the other way round: you were bearing us, and doing it so > well that we all got a little spoiled.* Exactly my feelings. *Thanks* Stefan! -- Bastien ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (11 preceding siblings ...) 2015-09-22 20:18 ` Paul Eggert @ 2015-09-28 20:40 ` Nicolas Petton 2015-09-29 14:25 ` Richard Stallman 2015-10-01 1:08 ` Leo Liu ` (2 subsequent siblings) 15 siblings, 1 reply; 173+ messages in thread From: Nicolas Petton @ 2015-09-28 20:40 UTC (permalink / raw) To: Stefan Monnier, emacs-devel [-- Attachment #1: Type: text/plain, Size: 383 bytes --] Stefan Monnier <monnier@IRO.UMontreal.CA> writes: Hi Stefan, > I'll leave these decisions to someone else, because I also take this > opportunity to step down as head maintainer. I'm wondering how it will work from there. Will you look for a new head maintainer, or is this task up to somebody else? Or maybe we already have a new head maintainer and I missed it? Cheers, Nico [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 512 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-28 20:40 ` Nicolas Petton @ 2015-09-29 14:25 ` Richard Stallman 0 siblings, 0 replies; 173+ messages in thread From: Richard Stallman @ 2015-09-29 14:25 UTC (permalink / raw) To: Nicolas Petton; +Cc: monnier, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] We need a new Emacs maintainer (better, two). I have asked Stefan to help recruit the new maintainers and work with them in a transition. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (12 preceding siblings ...) 2015-09-28 20:40 ` Nicolas Petton @ 2015-10-01 1:08 ` Leo Liu 2015-10-02 2:21 ` Daniel Colascione 2015-10-13 20:49 ` joakim 15 siblings, 0 replies; 173+ messages in thread From: Leo Liu @ 2015-10-01 1:08 UTC (permalink / raw) To: emacs-devel On 2015-09-22 03:39 +0800, Stefan Monnier wrote: > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. Stefan, thanks for the generous contribution to emacs which has become my favourite development environment. Thanks also for teaching me many things emacs ;) Leo ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (13 preceding siblings ...) 2015-10-01 1:08 ` Leo Liu @ 2015-10-02 2:21 ` Daniel Colascione 2015-10-02 3:47 ` John Wiegley 2015-10-13 20:49 ` joakim 15 siblings, 1 reply; 173+ messages in thread From: Daniel Colascione @ 2015-10-02 2:21 UTC (permalink / raw) To: Stefan Monnier, emacs-devel [-- Attachment #1: Type: text/plain, Size: 266 bytes --] On 09/21/2015 12:39 PM, Stefan Monnier wrote: > But I'll leave these decisions to someone else, because I also take this > opportunity to step down as head maintainer. Thanks for your hard work and numerous improvements to Emacs. Good luck with everything! [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-10-02 2:21 ` Daniel Colascione @ 2015-10-02 3:47 ` John Wiegley 0 siblings, 0 replies; 173+ messages in thread From: John Wiegley @ 2015-10-02 3:47 UTC (permalink / raw) To: emacs-devel >>>>> Daniel Colascione <dancol@dancol.org> writes: > On 09/21/2015 12:39 PM, Stefan Monnier wrote: >> But I'll leave these decisions to someone else, because I also take this >> opportunity to step down as head maintainer. > Thanks for your hard work and numerous improvements to Emacs. Good luck with > everything! Indeed, Stefan, I can't thank you enough. Emacs is the center of my electronic life! John ^ permalink raw reply [flat|nested] 173+ messages in thread
* Re: Feature freeze 2015-09-21 19:39 Stefan Monnier ` (14 preceding siblings ...) 2015-10-02 2:21 ` Daniel Colascione @ 2015-10-13 20:49 ` joakim 15 siblings, 0 replies; 173+ messages in thread From: joakim @ 2015-10-13 20:49 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > Time is up! > > I think it's about time we freeze the features for Emacs-25. There are > a few things I hope can still make it into this new release, (such as > the xwidget branch (long overdue) and the dynload/modules, for example), > so the exact schedule and details are still up for discussion. It would be pretty nice to finally merge the Xwidget branch. I'm not sure how to proceed though. I'm pretty swamped with work at the moment, and I would likely need some assistance. > But I'll leave these decisions to someone else, because I also take this > opportunity to step down as head maintainer. > > It's time for me to move on, and it's time for new blood to take > the lead. I'm not about to disappear, but I won't be reading > emacs-devel (nor bug-gnu-emacs) at least for a while, so if you need > something from me, put me explicitly in the Cc. > > Thank you all for bearing with me as head maintainer, it's been a great > ride, I hope you enjoyed it as much as I did. > > > Stefan > -- Joakim Verona ^ permalink raw reply [flat|nested] 173+ messages in thread
end of thread, other threads:[~2015-10-13 20:49 UTC | newest] Thread overview: 173+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <DNEMKBNJBGPAOPIJOOICAEKKCAAA.drew.adams@oracle.com> 2004-10-19 9:04 ` finger-pointer curser as default for mouse-face text Kim F. Storm 2004-10-19 15:31 ` Lennart Borgman 2004-10-19 16:12 ` Drew Adams 2004-10-21 13:56 ` Richard Stallman 2004-10-21 14:47 ` Kim F. Storm 2004-10-21 16:03 ` Lennart Borgman 2004-10-23 4:48 ` Richard Stallman 2004-10-24 12:42 ` Kim F. Storm 2004-10-24 12:59 ` Lennart Borgman 2004-10-24 19:40 ` Kim F. Storm 2004-10-24 20:06 ` Lennart Borgman 2004-10-25 13:13 ` Richard Stallman 2004-10-24 13:10 ` David Kastrup 2004-10-24 19:59 ` Kim F. Storm 2004-10-26 9:04 ` Richard Stallman 2004-10-26 17:05 ` Lennart Borgman 2004-10-24 22:31 ` Stefan 2004-10-25 7:22 ` David Kastrup 2004-10-25 11:47 ` Stefan 2004-10-25 12:51 ` David Kastrup 2004-10-25 13:50 ` Stefan Monnier 2004-10-25 14:52 ` Ralf Angeli 2004-10-25 15:08 ` Stefan Monnier 2004-10-25 15:18 ` David Kastrup 2004-10-25 15:35 ` Stefan Monnier 2004-10-26 9:00 ` Kim F. Storm 2004-10-26 9:25 ` David Kastrup 2004-10-26 12:23 ` Kim F. Storm 2004-10-26 18:55 ` Drew Adams 2004-10-26 21:06 ` David Kastrup 2004-10-26 21:54 ` Kim F. Storm 2004-10-27 2:15 ` Luc Teirlinck 2004-10-27 12:52 ` Kim F. Storm 2004-10-27 13:02 ` Luc Teirlinck 2004-10-27 13:16 ` David Kastrup 2004-10-27 14:51 ` feature freeze (was: finger-pointer curser as default for mouse-face text) Reiner Steib 2004-10-27 15:15 ` Kim F. Storm 2004-10-27 15:15 ` feature freeze David Kastrup 2004-10-27 17:29 ` finger-pointer curser as default for mouse-face text Drew Adams 2004-10-28 14:05 ` Kim F. Storm 2004-10-27 17:35 ` Richard Stallman 2004-11-01 14:40 ` Karl Eichwalder 2004-11-01 15:44 ` Stefan 2004-11-02 14:08 ` Richard Stallman 2004-11-02 18:08 ` Karl Eichwalder 2004-11-02 21:51 ` Miles Bader 2004-11-02 23:41 ` Drew Adams 2004-11-02 23:53 ` Stefan 2004-11-03 1:27 ` incrementor-decrementor commands and bindings (was: finger-pointer curser as default for mouse-face text) Drew Adams 2004-11-03 7:51 ` incrementor-decrementor commands and bindings (was: finger-pointercurser " Stephan Stahl 2004-11-03 15:26 ` Drew Adams 2004-11-04 9:51 ` Richard Stallman 2004-11-03 1:34 ` finger-pointer curser as default for mouse-face text Miles Bader 2004-11-03 9:31 ` Kim F. Storm 2004-11-03 9:26 ` Kim F. Storm 2004-11-03 10:20 ` David Kastrup 2004-11-03 17:04 ` Richard Stallman 2004-11-03 9:11 ` Kim F. Storm 2004-11-03 17:03 ` Richard Stallman 2004-10-27 17:34 ` Richard Stallman 2004-10-27 10:49 ` Richard Stallman 2004-10-27 12:24 ` Kim F. Storm 2004-10-27 13:03 ` Stefan Monnier 2004-10-27 13:18 ` David Kastrup 2004-10-28 2:27 ` Miles Bader 2004-10-27 7:22 ` Kai Grossjohann 2004-10-27 7:35 ` David Kastrup 2004-10-27 12:32 ` Kim F. Storm 2004-10-28 6:24 ` Richard Stallman 2004-10-27 10:47 ` Richard Stallman 2004-10-26 9:05 ` Richard Stallman 2004-10-25 8:31 ` Kim F. Storm 2004-10-25 10:01 ` David Kastrup 2004-10-25 12:32 ` Kim F. Storm 2004-10-26 9:05 ` Richard Stallman 2004-10-25 13:13 ` Richard Stallman 2004-10-21 14:09 ` David Kastrup 2004-10-21 14:42 ` Kim F. Storm 2004-10-21 15:21 ` David Kastrup 2004-10-21 19:55 ` Kim F. Storm 2004-10-21 20:09 ` Drew Adams 2004-10-21 21:45 ` Stefan Monnier 2004-10-21 22:09 ` David Kastrup 2004-10-22 9:10 ` Kim F. Storm 2004-10-22 12:45 ` David Kastrup 2004-10-22 15:03 ` Kim F. Storm 2004-10-22 15:56 ` David Kastrup 2006-08-02 22:45 Feature Freeze Nick Roberts 2006-08-03 0:40 ` Chong Yidong 2006-08-03 2:47 ` Nick Roberts -- strict thread matches above, loose matches on Subject: below -- 2008-07-31 4:55 Feature freeze Chong Yidong 2008-08-01 1:42 ` Kenichi Handa [not found] <4E17F5F8.7060200@cs.ucla.edu> [not found] ` <4E1936D7.4030302@cs.ucla.edu> [not found] ` <CAAeL0SSAmYPugdLEvch5-J9T17BWf9W+xgXdFxvpC_qWWq-DLg@mail.gmail.com> [not found] ` <jwvmxglrnmj.fsf-monnier+emacs@gnu.org> [not found] ` <4E1B3224.5050804@cs.ucla.edu> [not found] ` <jwvpqlg9kjo.fsf-monnier+emacs@gnu.org> [not found] ` <CAAeL0SREPJvq7Hq5xfMisSPY2dr4V0hMRiLxVfjOpq6kWA_6Lw@mail.gmail.com> 2011-07-13 4:03 ` Stefan Monnier 2013-12-15 13:35 Stefan Monnier 2013-12-16 14:02 ` Jambunathan K 2013-12-16 15:14 ` Stefan Monnier 2013-12-16 16:32 ` Jambunathan K 2013-12-16 17:14 ` Glenn Morris 2013-12-16 18:49 ` Stefan Monnier 2013-12-16 19:34 ` Eli Zaretskii 2013-12-17 1:59 ` Stefan Monnier 2013-12-18 7:28 ` Jambunathan K 2013-12-16 20:35 ` Michael Albinus 2013-12-16 20:49 ` Jambunathan K 2013-12-16 21:38 ` Michael Albinus 2013-12-16 21:53 ` Jambunathan K 2013-12-16 21:58 ` Jambunathan K 2013-12-17 6:52 ` Michael Albinus 2013-12-17 9:51 ` Jambunathan K 2013-12-17 12:26 ` Juanma Barranquero 2013-12-18 5:36 ` Jambunathan K 2013-12-18 6:13 ` Jay Belanger 2013-12-18 6:18 ` Jambunathan K 2013-12-18 6:52 ` Jay Belanger 2013-12-18 6:57 ` Jambunathan K 2013-12-18 7:08 ` Jay Belanger 2013-12-18 7:11 ` Jambunathan K 2013-12-18 7:07 ` Glenn Morris 2013-12-18 7:32 ` Jambunathan K 2013-12-18 12:25 ` Stefan Monnier 2013-12-18 12:48 ` Bozhidar Batsov 2013-12-24 3:48 Stefan Monnier 2013-12-24 4:49 ` Dmitry Gutov 2013-12-24 6:08 ` Leo Liu 2013-12-24 7:37 ` Bozhidar Batsov 2013-12-24 14:02 ` Stefan Monnier 2013-12-24 14:50 ` João Távora 2013-12-24 15:16 ` Stefan Monnier 2013-12-26 22:16 ` João Távora 2013-12-26 23:46 ` João Távora 2013-12-27 7:54 ` Eli Zaretskii 2013-12-27 3:48 ` Dmitry Gutov 2013-12-24 14:05 ` David Engster 2013-12-24 15:18 ` Stefan Monnier 2014-01-06 21:47 ` David Engster 2014-01-07 0:19 ` Stefan Monnier 2014-01-07 21:30 ` David Engster 2014-01-08 3:20 ` Stefan Monnier 2014-01-08 22:04 ` David Engster 2014-01-08 22:31 ` Glenn Morris 2014-01-08 22:37 ` Glenn Morris 2014-01-09 6:29 ` Eli Zaretskii 2014-01-09 7:21 ` David Engster 2014-01-09 17:05 ` Glenn Morris 2014-01-09 21:21 ` David Engster 2014-01-11 20:41 ` Nix 2013-12-26 13:50 ` Stefan Monnier 2013-12-27 16:26 ` Michael Albinus 2013-12-27 21:37 ` Stefan Monnier 2013-12-28 12:34 ` Michael Albinus 2015-09-21 19:39 Stefan Monnier 2015-09-21 21:19 ` Kaushal Modi 2015-09-21 21:30 ` John Yates 2015-09-21 21:39 ` Rasmus 2015-09-22 0:52 ` Xue Fuqiao 2015-09-22 6:35 ` Eli Zaretskii 2015-09-22 6:39 ` martin rudalics 2015-09-22 8:19 ` Zack Piper 2015-09-22 8:53 ` Aurélien Aptel 2015-09-22 9:14 ` Artur Malabarba 2015-09-22 11:41 ` Tassilo Horn 2015-09-22 9:14 ` Eric Abrahamsen 2015-09-22 10:37 ` Alan Mackenzie 2015-09-22 11:50 ` Oleh Krehel 2015-09-22 13:03 ` Dmitry Gutov 2015-09-22 20:18 ` Paul Eggert 2015-09-30 7:31 ` Bastien 2015-09-28 20:40 ` Nicolas Petton 2015-09-29 14:25 ` Richard Stallman 2015-10-01 1:08 ` Leo Liu 2015-10-02 2:21 ` Daniel Colascione 2015-10-02 3:47 ` John Wiegley 2015-10-13 20:49 ` joakim
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).