* compilation-highlight-duration @ 2004-05-01 5:29 Tak Ota 2004-05-01 17:51 ` compilation-highlight-duration Richard Stallman 0 siblings, 1 reply; 62+ messages in thread From: Tak Ota @ 2004-05-01 5:29 UTC (permalink / raw) New compile.el is very nice and I particularly like the highlight feature. However, the hard coded duration of 0.5 second could be too short or too long depending on the clock speed of the users' brain. May I suggest making it configurable? -Tak *** ../../pure/emacs-21.3.50/lisp/progmodes/compile.el Thu Apr 29 21:09:13 2004 --- progmodes/compile.el Fri Apr 30 22:10:51 2004 *************** *** 370,375 **** --- 370,379 ---- (defvar compilation-highlight-overlay nil "Overlay used to temporarily highlight compilation matches.") + (defvar compilation-highlight-duration 0.5 + "Duration in seconds for highlighting temporarily. + Highlighting continues for the specified time in seconds or until input is available.") + (defcustom compilation-error-screen-columns t "*If non-nil, column numbers in error messages are screen columns. Otherwise they are interpreted as character positions, with *************** *** 1545,1551 **** (goto-char (match-beginning 0)) (move-overlay compilation-highlight-overlay (match-beginning 0) (match-end 0))) (move-overlay compilation-highlight-overlay (point) end)) ! (sit-for 0.5) (delete-overlay compilation-highlight-overlay))))))) --- 1549,1555 ---- (goto-char (match-beginning 0)) (move-overlay compilation-highlight-overlay (match-beginning 0) (match-end 0))) (move-overlay compilation-highlight-overlay (point) end)) ! (sit-for compilation-highlight-duration) (delete-overlay compilation-highlight-overlay))))))) *** ../../pure/emacs-21.3.50/lisp/ChangeLog Fri Apr 30 21:20:12 2004 --- ChangeLog Fri Apr 30 22:21:23 2004 *************** *** 1,3 **** --- 1,9 ---- + 2004-04-30 Takaaki Ota <Takaaki.Ota@am.sony.com> + + * progmodes/compile.el (compilation-highlight-duration): New + variable. + (compilation-goto-locus): Use it to `sit-for'. + 2004-04-30 Juri Linkov <juri@jurta.org> * cus-edit.el (custom-mode-map): ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-01 5:29 compilation-highlight-duration Tak Ota @ 2004-05-01 17:51 ` Richard Stallman 2004-05-02 16:47 ` compilation-highlight-duration Tak Ota 0 siblings, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-05-01 17:51 UTC (permalink / raw) Cc: emacs-devel New compile.el is very nice and I particularly like the highlight feature. However, the hard coded duration of 0.5 second could be too short or too long depending on the clock speed of the users' brain. What exactly is that .5 second delay used for? The code doesn't have many comments and I am not sure what job it is doing. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-01 17:51 ` compilation-highlight-duration Richard Stallman @ 2004-05-02 16:47 ` Tak Ota 2004-05-03 14:03 ` compilation-highlight-duration Richard Stallman 0 siblings, 1 reply; 62+ messages in thread From: Tak Ota @ 2004-05-02 16:47 UTC (permalink / raw) Cc: emacs-devel Sat, 01 May 2004 13:51:05 -0400: Richard Stallman <rms@gnu.org> wrote: > New compile.el is very nice and I particularly like the highlight > feature. However, the hard coded duration of 0.5 second could be too > short or too long depending on the clock speed of the users' brain. > > What exactly is that .5 second delay used for? The code doesn't > have many comments and I am not sure what job it is doing. When `next-error' and `next-error-no-select' are executed the subject line is highlighted momentarily for 0.5 seconds. The grep mode uses `next-error-no-select' and this momentary highlighting plays important role to inform a user where the match exists. The doc string of `next-error-no-select' briefly touches upon the highlighting. -Tak ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-02 16:47 ` compilation-highlight-duration Tak Ota @ 2004-05-03 14:03 ` Richard Stallman 2004-05-03 14:13 ` compilation-highlight-duration Tak Ota 0 siblings, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-05-03 14:03 UTC (permalink / raw) Cc: emacs-devel When `next-error' and `next-error-no-select' are executed the subject line is highlighted momentarily for 0.5 seconds. I am not sure what "the subject line" means. Is that the error message or the source code? ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-03 14:03 ` compilation-highlight-duration Richard Stallman @ 2004-05-03 14:13 ` Tak Ota 2004-05-04 7:43 ` compilation-highlight-duration Richard Stallman 0 siblings, 1 reply; 62+ messages in thread From: Tak Ota @ 2004-05-03 14:13 UTC (permalink / raw) Cc: emacs-devel Mon, 03 May 2004 10:03:28 -0400: Richard Stallman <rms@gnu.org> wrote: > When `next-error' and `next-error-no-select' are executed the subject > line is highlighted momentarily for 0.5 seconds. > > I am not sure what "the subject line" means. Is that the error > message or the source code? It is the source code. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-03 14:13 ` compilation-highlight-duration Tak Ota @ 2004-05-04 7:43 ` Richard Stallman 2004-05-04 14:54 ` compilation-highlight-duration Tak Ota 0 siblings, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-05-04 7:43 UTC (permalink / raw) Cc: emacs-devel It is the source code. Why is that useful, given that the cursor will be in that line? ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-04 7:43 ` compilation-highlight-duration Richard Stallman @ 2004-05-04 14:54 ` Tak Ota 2004-05-04 16:55 ` compilation-highlight-duration Juri Linkov 2004-05-05 20:20 ` compilation-highlight-duration Richard Stallman 0 siblings, 2 replies; 62+ messages in thread From: Tak Ota @ 2004-05-04 14:54 UTC (permalink / raw) Cc: emacs-devel Tue, 04 May 2004 03:43:12 -0400: Richard Stallman <rms@gnu.org> wrote: > It is the source code. > > Why is that useful, given that the cursor will be in that line? Your question is understandable in case of `next-error' where cursor lands directly on the subject line. The suggested user control is useful in case of `next-error-no-select' which is used in Grep mode. When traveling through matched lines in *grep* buffer the highlighting happens in the source buffer where there is no indication is left after highlighting is gone. -Tak ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-04 14:54 ` compilation-highlight-duration Tak Ota @ 2004-05-04 16:55 ` Juri Linkov 2004-05-04 17:20 ` compilation-highlight-duration Kim F. Storm ` (2 more replies) 2004-05-05 20:20 ` compilation-highlight-duration Richard Stallman 1 sibling, 3 replies; 62+ messages in thread From: Juri Linkov @ 2004-05-04 16:55 UTC (permalink / raw) Cc: rms, emacs-devel Tak Ota <Takaaki.Ota@am.sony.com> writes: > Tue, 04 May 2004 03:43:12 -0400: Richard Stallman <rms@gnu.org> wrote: >> It is the source code. >> >> Why is that useful, given that the cursor will be in that line? > > Your question is understandable in case of `next-error' where cursor > lands directly on the subject line. The suggested user control is > useful in case of `next-error-no-select' which is used in Grep mode. > When traveling through matched lines in *grep* buffer the > highlighting happens in the source buffer where there is no > indication is left after highlighting is gone. Flashing the matching lines is very distracting. And even though there is a variable `compilation-highlight-regexp' to disable the highlighting, when it is disabled, there is no indication at all. So I think a better indication method is needed. For example, the same methods of the compilation buffer could be used: aligning the source file window on specified context lines (though this is not good for source buffers), or setting the fringe arrow. Another good indication method is persistent (i.e. non-flashing!) overlays highlighted with a special face on matching lines in compilation output buffer and source code buffer. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-04 16:55 ` compilation-highlight-duration Juri Linkov @ 2004-05-04 17:20 ` Kim F. Storm 2004-05-04 20:01 ` compilation-highlight-duration Juri Linkov 2004-05-04 20:32 ` compilation-highlight-duration Drew Adams 2004-05-04 19:15 ` compilation-highlight-duration Tak Ota 2004-05-04 21:35 ` compilation-highlight-duration Tak Ota 2 siblings, 2 replies; 62+ messages in thread From: Kim F. Storm @ 2004-05-04 17:20 UTC (permalink / raw) Cc: emacs-devel, Tak Ota, rms Juri Linkov <juri@jurta.org> writes: > Flashing the matching lines is very distracting. After all, you hit a command C-x ` and get feedback on where that error/match is -- I don't see how that is distracting. > And even though > there is a variable `compilation-highlight-regexp' to disable the > highlighting, when it is disabled, there is no indication at all. That's how it used to be -- the highlight is an improvement IMO. > > So I think a better indication method is needed. For example, > the same methods of the compilation buffer could be used: aligning > the source file window on specified context lines (though this is > not good for source buffers), or setting the fringe arrow. I don't think these options are any better -- > > Another good indication method is persistent (i.e. non-flashing!) > overlays highlighted with a special face on matching lines in > compilation output buffer and source code buffer. IMO it would be a lot more distracting if the highlight persisted (when should it go away?). ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-04 17:20 ` compilation-highlight-duration Kim F. Storm @ 2004-05-04 20:01 ` Juri Linkov 2004-05-04 21:30 ` compilation-highlight-duration Kim F. Storm 2004-05-04 20:32 ` compilation-highlight-duration Drew Adams 1 sibling, 1 reply; 62+ messages in thread From: Juri Linkov @ 2004-05-04 20:01 UTC (permalink / raw) Cc: Tak Ota, emacs-devel storm@cua.dk (Kim F. Storm) writes: > Juri Linkov <juri@jurta.org> writes: >> Flashing the matching lines is very distracting. > > After all, you hit a command C-x ` and get feedback on where > that error/match is -- I don't see how that is distracting. It is less noticeably when going through compilation results, because it flashes not too often. But during quick browsing of the grep results, its constant blinking is unbearable. >> And even though >> there is a variable `compilation-highlight-regexp' to disable the >> highlighting, when it is disabled, there is no indication at all. > > That's how it used to be -- the highlight is an improvement IMO. I agree, highlight is an improvement, but not in its current implementation. >> So I think a better indication method is needed. For example, >> the same methods of the compilation buffer could be used: aligning >> the source file window on specified context lines (though this is >> not good for source buffers), or setting the fringe arrow. > > I don't think these options are any better -- YOU don't like the fringe arrow?! ;-) >> Another good indication method is persistent (i.e. non-flashing!) >> overlays highlighted with a special face on matching lines in >> compilation output buffer and source code buffer. > > IMO it would be a lot more distracting if the highlight persisted > (when should it go away?). For example, after the key press. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-04 20:01 ` compilation-highlight-duration Juri Linkov @ 2004-05-04 21:30 ` Kim F. Storm 0 siblings, 0 replies; 62+ messages in thread From: Kim F. Storm @ 2004-05-04 21:30 UTC (permalink / raw) Cc: Tak Ota, emacs-devel Juri Linkov <juri@jurta.org> writes: > > YOU don't like the fringe arrow?! ;-) I don't like a persistent fringe arrow :-) > > IMO it would be a lot more distracting if the highlight persisted > > (when should it go away?). > > For example, after the key press. Ok, yes, that would be a possibility. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 62+ messages in thread
* RE: compilation-highlight-duration 2004-05-04 17:20 ` compilation-highlight-duration Kim F. Storm 2004-05-04 20:01 ` compilation-highlight-duration Juri Linkov @ 2004-05-04 20:32 ` Drew Adams 1 sibling, 0 replies; 62+ messages in thread From: Drew Adams @ 2004-05-04 20:32 UTC (permalink / raw) Cc: Tak Ota, emacs-devel Juri Linkov <juri@jurta.org> writes: > > Another good indication method is persistent (i.e. non-flashing!) > > overlays highlighted with a special face on matching lines in > > compilation output buffer and source code buffer. > > IMO it would be a lot more distracting if the highlight persisted > (when should it go away?). It should go away on user request. FYI - My Emacs-20 code highlighted grep regexps: - everywhere, in the compilation buffer - one by one, in source-code buffers, when next-error was called. Highlighting the source code this way helps a user keep track of where he's been. The highlighting was persistent. The compilation-buffer highlighting was done with font-lock. I did not provide a way for a user to remove just this regexp highlighting, but that might be useful as a toggle. I know I sometimes toggle search-page highlighting on/off when using the Google toolbar. The source-code regexp highlighting was not done with font-lock. A user could remove it (without affecting font-lock highlighting) in any of several ways: - font-lock-mode twice (easy, if it's bound to a key) - revert the buffer - use my command `highlight' (with negative prefix arg) on a region - ... Drew P.S. Similarly, to help users keep track of lines they've visited, I also highlighted visited line numbers in buffer *Occur*. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-04 16:55 ` compilation-highlight-duration Juri Linkov 2004-05-04 17:20 ` compilation-highlight-duration Kim F. Storm @ 2004-05-04 19:15 ` Tak Ota 2004-05-04 21:35 ` compilation-highlight-duration Tak Ota 2 siblings, 0 replies; 62+ messages in thread From: Tak Ota @ 2004-05-04 19:15 UTC (permalink / raw) Cc: rms, emacs-devel Tue, 04 May 2004 19:55:02 +0300: Juri Linkov <juri@jurta.org> wrote: > Tak Ota <Takaaki.Ota@am.sony.com> writes: > > Tue, 04 May 2004 03:43:12 -0400: Richard Stallman <rms@gnu.org> wrote: > >> It is the source code. > >> > >> Why is that useful, given that the cursor will be in that line? > > > > Your question is understandable in case of `next-error' where cursor > > lands directly on the subject line. The suggested user control is > > useful in case of `next-error-no-select' which is used in Grep mode. > > When traveling through matched lines in *grep* buffer the > > highlighting happens in the source buffer where there is no > > indication is left after highlighting is gone. > > Flashing the matching lines is very distracting. And even though > there is a variable `compilation-highlight-regexp' to disable the > highlighting, when it is disabled, there is no indication at all. > > So I think a better indication method is needed. For example, > the same methods of the compilation buffer could be used: aligning > the source file window on specified context lines (though this is > not good for source buffers), or setting the fringe arrow. > > Another good indication method is persistent (i.e. non-flashing!) > overlays highlighted with a special face on matching lines in > compilation output buffer and source code buffer. I actually came to the similar idea along this line when I was writing the previous reply. I'd like to withdraw my original proposal and would like to seek for better solution. -Tak ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-04 16:55 ` compilation-highlight-duration Juri Linkov 2004-05-04 17:20 ` compilation-highlight-duration Kim F. Storm 2004-05-04 19:15 ` compilation-highlight-duration Tak Ota @ 2004-05-04 21:35 ` Tak Ota 2004-05-05 17:33 ` compilation-highlight-duration Stefan Monnier 2 siblings, 1 reply; 62+ messages in thread From: Tak Ota @ 2004-05-04 21:35 UTC (permalink / raw) Cc: rms, emacs-devel Tue, 04 May 2004 19:55:02 +0300: Juri Linkov <juri@jurta.org> wrote: > So I think a better indication method is needed. For example, > the same methods of the compilation buffer could be used: aligning > the source file window on specified context lines (though this is > not good for source buffers), or setting the fringe arrow. > > Another good indication method is persistent (i.e. non-flashing!) > overlays highlighted with a special face on matching lines in > compilation output buffer and source code buffer. How about leaving the highlight until user takes an action so that it does not annoyingly persist? -Tak *** ../../../pure/emacs-21.3.50/lisp/progmodes/compile.el Mon May 3 07:59:11 2004 --- compile.el Tue May 4 14:27:16 2004 *************** *** 1564,1570 **** (goto-char (match-beginning 0)) (move-overlay compilation-highlight-overlay (match-beginning 0) (match-end 0))) (move-overlay compilation-highlight-overlay (point) end)) ! (sit-for 0.5) (delete-overlay compilation-highlight-overlay))))))) --- 1564,1570 ---- (goto-char (match-beginning 0)) (move-overlay compilation-highlight-overlay (match-beginning 0) (match-end 0))) (move-overlay compilation-highlight-overlay (point) end)) ! (sit-for 268435455) ;; eight and half years or until input is available (delete-overlay compilation-highlight-overlay))))))) ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-04 21:35 ` compilation-highlight-duration Tak Ota @ 2004-05-05 17:33 ` Stefan Monnier 2004-05-05 18:05 ` compilation-highlight-duration Tak Ota 0 siblings, 1 reply; 62+ messages in thread From: Stefan Monnier @ 2004-05-05 17:33 UTC (permalink / raw) Cc: juri, rms, emacs-devel > ! (sit-for 268435455) Yuck!! What's wrong with most-positive-fixnum? Stefan ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-05 17:33 ` compilation-highlight-duration Stefan Monnier @ 2004-05-05 18:05 ` Tak Ota 0 siblings, 0 replies; 62+ messages in thread From: Tak Ota @ 2004-05-05 18:05 UTC (permalink / raw) Cc: juri, rms, emacs-devel 05 May 2004 13:33:52 -0400: Stefan Monnier <monnier@iro.umontreal.ca> wrote: > > ! (sit-for 268435455) > > Yuck!! What's wrong with most-positive-fixnum? Sorry for being rude. I have no problem with most-positive-fixnum. -Tak ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-04 14:54 ` compilation-highlight-duration Tak Ota 2004-05-04 16:55 ` compilation-highlight-duration Juri Linkov @ 2004-05-05 20:20 ` Richard Stallman 2004-05-05 20:59 ` compilation-highlight-duration Tak Ota ` (2 more replies) 1 sibling, 3 replies; 62+ messages in thread From: Richard Stallman @ 2004-05-05 20:20 UTC (permalink / raw) Cc: emacs-devel Your question is understandable in case of `next-error' where cursor lands directly on the subject line. The suggested user control is useful in case of `next-error-no-select' which is used in Grep mode. Could you explain why and how you use next-error-no-select in Grep mode? I would have thought that is something useful only for programs to call. I don't see a use for next-error-no-select has, except as a subroutine to build other things on. So I tend to think that the caller of next-error-no-select should arrange to show the user the line in question. next-error-no-select should not do so itself. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-05 20:20 ` compilation-highlight-duration Richard Stallman @ 2004-05-05 20:59 ` Tak Ota 2004-05-05 22:47 ` compilation-highlight-duration Thien-Thi Nguyen 2004-05-05 21:22 ` compilation-highlight-duration Stefan Monnier 2004-05-06 5:58 ` compilation-highlight-duration Kim F. Storm 2 siblings, 1 reply; 62+ messages in thread From: Tak Ota @ 2004-05-05 20:59 UTC (permalink / raw) Cc: emacs-devel Wed, 05 May 2004 16:20:23 -0400: Richard Stallman <rms@gnu.org> wrote: > Your question is understandable in case of `next-error' where cursor > lands directly on the subject line. The suggested user control is > useful in case of `next-error-no-select' which is used in Grep mode. > > Could you explain why and how you use next-error-no-select in Grep > mode? I would have thought that is something useful only for programs > to call. I don't see a use for next-error-no-select has, except as a > subroutine to build other things on. It is not my choice. I use the functions by typing 'n' and 'p' in the *grep* buffer, defined in grep-mode-map. As long as the highlight does not disappear too quickly I feel comfortable with this user interface. > So I tend to think that the caller of next-error-no-select should > arrange to show the user the line in question. next-error-no-select > should not do so itself. I don't disagree with you how it should be fixed. I'm just suggesting that current momentary line flashing can be annoying to some people including myself. -Tak ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-05 20:59 ` compilation-highlight-duration Tak Ota @ 2004-05-05 22:47 ` Thien-Thi Nguyen 0 siblings, 0 replies; 62+ messages in thread From: Thien-Thi Nguyen @ 2004-05-05 22:47 UTC (permalink / raw) Cc: rms, emacs-devel Tak Ota <Takaaki.Ota@am.sony.com> writes: momentary line flashing can be annoying to some people including myself. perhaps for a duration value D: - (not D) => omit highlighting - (zerop D) => keep highlighted until user input - (< 0 D) => highlight for D seconds then unhighlight - (> 0 D) => like (zerop D) but wait -D seconds before starting i personally would set D to be -2 (or thereabouts) under this scheme. this way, stepping quickly through the hits would result in no visual distraction whatsoever, while pausing would clearly show the hit w/o danger of accidentally missing it (due to some other non-emacs-related distraction ;-), as possible w/ (< 0 D). we could get real fancy and define all keystrokes like they do on (musical synthesizer) keyboards: attack, decay, hold, release; but that wouldn't work on console, oh well... thi ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-05 20:20 ` compilation-highlight-duration Richard Stallman 2004-05-05 20:59 ` compilation-highlight-duration Tak Ota @ 2004-05-05 21:22 ` Stefan Monnier 2004-05-06 5:58 ` compilation-highlight-duration Kim F. Storm 2 siblings, 0 replies; 62+ messages in thread From: Stefan Monnier @ 2004-05-05 21:22 UTC (permalink / raw) Cc: Tak Ota, emacs-devel > Could you explain why and how you use next-error-no-select in Grep > mode? I would have thought that is something useful only for programs > to call. I don't see a use for next-error-no-select has, except as a > subroutine to build other things on. No, it's actually a command and I've never seen it used as a function. Stefan ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-05 20:20 ` compilation-highlight-duration Richard Stallman 2004-05-05 20:59 ` compilation-highlight-duration Tak Ota 2004-05-05 21:22 ` compilation-highlight-duration Stefan Monnier @ 2004-05-06 5:58 ` Kim F. Storm 2004-05-06 9:23 ` compilation-highlight-duration Juri Linkov 2 siblings, 1 reply; 62+ messages in thread From: Kim F. Storm @ 2004-05-06 5:58 UTC (permalink / raw) Cc: Tak Ota, emacs-devel Richard Stallman <rms@gnu.org> writes: > Your question is understandable in case of `next-error' where cursor > lands directly on the subject line. The suggested user control is > useful in case of `next-error-no-select' which is used in Grep mode. > > Could you explain why and how you use next-error-no-select in Grep > mode? I would have thought that is something useful only for programs > to call. I don't see a use for next-error-no-select has, except as a > subroutine to build other things on. next-error-no-select is a command, not a subroutine. It is useful in grep-mode as a way to browse the grep matches (using n and p keys) without leaving the *grep* buffer until you actually find some interesting match. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-06 5:58 ` compilation-highlight-duration Kim F. Storm @ 2004-05-06 9:23 ` Juri Linkov 2004-05-06 7:48 ` compilation-highlight-duration Kim F. Storm 0 siblings, 1 reply; 62+ messages in thread From: Juri Linkov @ 2004-05-06 9:23 UTC (permalink / raw) Cc: emacs-devel, rms, Tak Ota storm@cua.dk (Kim F. Storm) writes: > Richard Stallman <rms@gnu.org> writes: > >> Your question is understandable in case of `next-error' where cursor >> lands directly on the subject line. The suggested user control is >> useful in case of `next-error-no-select' which is used in Grep mode. >> >> Could you explain why and how you use next-error-no-select in Grep >> mode? I would have thought that is something useful only for programs >> to call. I don't see a use for next-error-no-select has, except as a >> subroutine to build other things on. > > next-error-no-select is a command, not a subroutine. > > It is useful in grep-mode as a way to browse the grep matches (using n > and p keys) without leaving the *grep* buffer until you actually find > some interesting match. I think that highlighting is useful *only* in grep-mode, when the cursor is not displayed in non-selected source window (i.e. cursor-in-non-selected-windows is nil). And highlighting is pretty useless in `next-error' which selects a source window, because in this case the location is indicated by the cursor. But currently it's not possible to highlight the source buffer only in `next-error-no-select'. Perhaps a new argument should be added to `next-error' and `compilation-next-error-function' indicating whether highlighting is desirable and in what fashion (overlay flashing delay duration, fringe arrow, etc.) -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-06 9:23 ` compilation-highlight-duration Juri Linkov @ 2004-05-06 7:48 ` Kim F. Storm 2004-05-06 10:34 ` compilation-highlight-duration David Kastrup 2004-05-07 0:29 ` compilation-highlight-duration Richard Stallman 0 siblings, 2 replies; 62+ messages in thread From: Kim F. Storm @ 2004-05-06 7:48 UTC (permalink / raw) Cc: emacs-devel Juri Linkov <juri@jurta.org> writes: > I think that highlighting is useful *only* in grep-mode, when > the cursor is not displayed in non-selected source window > (i.e. cursor-in-non-selected-windows is nil). And highlighting > is pretty useless in `next-error' which selects a source window, > because in this case the location is indicated by the cursor. I still think it is useful in the other contexts too. YMMV. > > But currently it's not possible to highlight the source buffer > only in `next-error-no-select'. Perhaps a new argument should be > added to `next-error' and `compilation-next-error-function' indicating > whether highlighting is desirable and in what fashion (overlay flashing > delay duration, fringe arrow, etc.) It is ok to make this more configurable, but for 21.4 (feature freeze!) we should limit this to a new compilation-highlight-duration variable that can be set to one of the following values: 0 => don't highlight N > 0 => highlight for N seconds (N may be float) Any other value also means don't highlight. The remaining question is whether the default should be 0 or 0.5 -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-06 7:48 ` compilation-highlight-duration Kim F. Storm @ 2004-05-06 10:34 ` David Kastrup 2004-05-06 10:22 ` compilation-highlight-duration Kim F. Storm 2004-05-07 0:29 ` compilation-highlight-duration Richard Stallman 2004-05-07 0:29 ` compilation-highlight-duration Richard Stallman 1 sibling, 2 replies; 62+ messages in thread From: David Kastrup @ 2004-05-06 10:34 UTC (permalink / raw) Cc: Juri Linkov, emacs-devel no-spam@cua.dk (Kim F. Storm) writes: > Juri Linkov <juri@jurta.org> writes: > > > But currently it's not possible to highlight the source buffer > > only in `next-error-no-select'. Perhaps a new argument should be > > added to `next-error' and `compilation-next-error-function' > > indicating whether highlighting is desirable and in what fashion > > (overlay flashing delay duration, fringe arrow, etc.) > > It is ok to make this more configurable, but for 21.4 (feature > freeze!) we should limit this to a new compilation-highlight-duration > variable that can be set to one of the following values: > > 0 => don't highlight > N > 0 => highlight for N seconds (N may be float) > > Any other value also means don't highlight. > > The remaining question is whether the default should be 0 or 0.5 The purpose of the feature freeze is not to release half-baked stuff. If we introduce this variable in 21.4, then it should remain with upwards-compatible semantics also in future versions. If we find that this feature is likely to be replaced by something different in future versions, we should leave it out completely for now. There is no point in introducing a feature that will only exist for a single release. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-06 10:34 ` compilation-highlight-duration David Kastrup @ 2004-05-06 10:22 ` Kim F. Storm 2004-05-07 0:29 ` compilation-highlight-duration Richard Stallman 1 sibling, 0 replies; 62+ messages in thread From: Kim F. Storm @ 2004-05-06 10:22 UTC (permalink / raw) Cc: Juri Linkov, emacs-devel David Kastrup <dak@gnu.org> writes: > The purpose of the feature freeze is not to release half-baked > stuff. If we introduce this variable in 21.4, then it should remain > with upwards-compatible semantics also in future versions. If we > find that this feature is likely to be replaced by something > different in future versions, we should leave it out completely for > now. > > There is no point in introducing a feature that will only exist for a > single release. My point is that the highlight is there now; some people don't like it, some people want a different duration -- we can achieve that easily with a new variable to tune the existing feature. I don't think the existing feature shall go away in future releases, but we may add different methods of highlighting, e.g. a new compilation-highlight-method variable, and we may add extended values for -duration (such as sticky overlay or whatever). Also the underlaying implementation may change. But in every case, the -duration variable in the proposed form will be (I believe) upwards compatible with such future extensions. Otherwise, I would not have suggested it. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-06 10:34 ` compilation-highlight-duration David Kastrup 2004-05-06 10:22 ` compilation-highlight-duration Kim F. Storm @ 2004-05-07 0:29 ` Richard Stallman 1 sibling, 0 replies; 62+ messages in thread From: Richard Stallman @ 2004-05-07 0:29 UTC (permalink / raw) Cc: juri, emacs-devel, no-spam There is no point in introducing a feature that will only exist for a single release. I completely agree. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-06 7:48 ` compilation-highlight-duration Kim F. Storm 2004-05-06 10:34 ` compilation-highlight-duration David Kastrup @ 2004-05-07 0:29 ` Richard Stallman 2004-05-09 1:03 ` compilation-highlight-duration Juri Linkov 1 sibling, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-05-07 0:29 UTC (permalink / raw) Cc: juri, emacs-devel > But currently it's not possible to highlight the source buffer > only in `next-error-no-select'. Perhaps a new argument should be > added to `next-error' and `compilation-next-error-function' indicating > whether highlighting is desirable and in what fashion (overlay flashing > delay duration, fringe arrow, etc.) I think we should make next-error and next-error-no-select use a common subroutine. Then next-error-no-select would do this highlighting. next-error would not do the highlighting. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-07 0:29 ` compilation-highlight-duration Richard Stallman @ 2004-05-09 1:03 ` Juri Linkov 2004-05-09 18:48 ` compilation-highlight-duration Richard Stallman 0 siblings, 1 reply; 62+ messages in thread From: Juri Linkov @ 2004-05-09 1:03 UTC (permalink / raw) Cc: emacs-devel, Kim F. Storm Richard Stallman <rms@gnu.org> writes: > > But currently it's not possible to highlight the source buffer > > only in `next-error-no-select'. Perhaps a new argument should be > > added to `next-error' and `compilation-next-error-function' indicating > > whether highlighting is desirable and in what fashion (overlay flashing > > delay duration, fringe arrow, etc.) > > I think we should make next-error and next-error-no-select use a common > subroutine. Then next-error-no-select would do this highlighting. > next-error would not do the highlighting. This is not possible with the current implementation because `next-error-no-select' calls the `next-error'. However, creating two similar user options and binding one of them in `next-error-no-select' will allow the user to specify preferred highlighting methods separately for selected and non-selected error visiting. (defcustom error-highlight nil :type '(choice (const :tag "Persistent overlay" t) (const :tag "No highlighting" nil) (const :tag "Fringe arrow" 'fringe-arrow) (integer :tag "Delay")) :group 'compilation :version "21.4") (defcustom error-highlight-no-select 0.5 :type '(choice (const :tag "Persistent overlay" t) (const :tag "No highlighting" nil) (const :tag "Fringe arrow" 'fringe-arrow) (integer :tag "Delay")) :group 'compilation :version "21.4") (defun next-error-no-select (n) (interactive "p") (let ((error-highlight error-highlight-no-select)) (next-error n)) (pop-to-buffer next-error-last-buffer)) And `compilation-goto-locus' will use the variable `error-highlight' to perform highlighting accordingly. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-09 1:03 ` compilation-highlight-duration Juri Linkov @ 2004-05-09 18:48 ` Richard Stallman 2004-05-09 19:12 ` compilation-highlight-duration Kim F. Storm 0 siblings, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-05-09 18:48 UTC (permalink / raw) Cc: emacs-devel, no-spam However, creating two similar user options and binding one of them in `next-error-no-select' will allow the user to specify preferred highlighting methods separately for selected and non-selected error visiting. Does anyone actually want the highlighting after using next-error? If we don't need that feature, I'd say just move the highlighting code into next-error-no-select. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-09 18:48 ` compilation-highlight-duration Richard Stallman @ 2004-05-09 19:12 ` Kim F. Storm 2004-05-10 7:17 ` compilation-highlight-duration Eli Zaretskii ` (2 more replies) 0 siblings, 3 replies; 62+ messages in thread From: Kim F. Storm @ 2004-05-09 19:12 UTC (permalink / raw) Cc: Juri Linkov, emacs-devel Richard Stallman <rms@gnu.org> writes: > However, creating two similar user options and binding one of them in > `next-error-no-select' will allow the user to specify preferred > highlighting methods separately for selected and non-selected > error visiting. > > Does anyone actually want the highlighting after using next-error? > If we don't need that feature, I'd say just move the highlighting > code into next-error-no-select. FWIW, I want it! Firstly, it is consistent behaviour. Secondly, I like the highlighting that instantly shows me the failing line, instead of having to look for the line containing the cursor -- blinking the whole line is faster (for me) that having to look for the cursor. Having two timers, one for next-error and one for -no-select would be the most flexible solution. Alternatively, there could be one timer which works for both if set to a number, or if set to a cons (NO-SELECT . SELECT) it specifies different timers for the two functions. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-09 19:12 ` compilation-highlight-duration Kim F. Storm @ 2004-05-10 7:17 ` Eli Zaretskii 2004-05-10 20:30 ` compilation-highlight-duration Stefan Daschek 2004-05-28 11:19 ` compilation-highlight-duration Juri Linkov 2 siblings, 0 replies; 62+ messages in thread From: Eli Zaretskii @ 2004-05-10 7:17 UTC (permalink / raw) Cc: emacs-devel > From: storm@cua.dk (Kim F. Storm) > Date: 09 May 2004 21:12:40 +0200 > > Secondly, I like the highlighting that instantly shows me the failing line, > instead of having to look for the line containing the cursor -- blinking > the whole line is faster (for me) that having to look for the cursor. Same here. I fell in love with this feature as soon as I first saw it at work. Finding the cursor could be particularly hard on a text terminal. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-09 19:12 ` compilation-highlight-duration Kim F. Storm 2004-05-10 7:17 ` compilation-highlight-duration Eli Zaretskii @ 2004-05-10 20:30 ` Stefan Daschek 2004-05-28 11:19 ` compilation-highlight-duration Juri Linkov 2 siblings, 0 replies; 62+ messages in thread From: Stefan Daschek @ 2004-05-10 20:30 UTC (permalink / raw) storm@cua.dk (Kim F. Storm) writes: >> Does anyone actually want the highlighting after using next-error? >> If we don't need that feature, I'd say just move the highlighting >> code into next-error-no-select. > > FWIW, I want it! Firstly, it is consistent behaviour. I like it very much, too. Only the use of region-face for highlight tends to be a bit confusing in the first moment. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-09 19:12 ` compilation-highlight-duration Kim F. Storm 2004-05-10 7:17 ` compilation-highlight-duration Eli Zaretskii 2004-05-10 20:30 ` compilation-highlight-duration Stefan Daschek @ 2004-05-28 11:19 ` Juri Linkov 2004-05-28 11:42 ` compilation-highlight-duration Kim F. Storm ` (2 more replies) 2 siblings, 3 replies; 62+ messages in thread From: Juri Linkov @ 2004-05-28 11:19 UTC (permalink / raw) Cc: tzz, rms, emacs-devel storm@cua.dk (Kim F. Storm) writes: > Richard Stallman <rms@gnu.org> writes: >> Does anyone actually want the highlighting after using next-error? >> If we don't need that feature, I'd say just move the highlighting >> code into next-error-no-select. > > FWIW, I want it! Firstly, it is consistent behaviour. > > Secondly, I like the highlighting that instantly shows me the failing line, > instead of having to look for the line containing the cursor -- blinking > the whole line is faster (for me) that having to look for the cursor. Adding `next-error-highlight' and `next-error-highlight-no-select' reveals one problem. When these user options are defined by `defcustom' it requires to specify a group name under which they should be placed. The current logic by using the `next-error-' prefix suggests the group name `next-error'. But it would be misleading for modes other than compile. For grep, diff and occur this name makes no sense. There are aliases `goto-next-locus' and `next-match' for `next-error' which suggest a better name. Perhaps something like `follow-locus' would be better? -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-28 11:19 ` compilation-highlight-duration Juri Linkov @ 2004-05-28 11:42 ` Kim F. Storm 2004-05-28 15:45 ` next-error refactoring (was: compilation-highlight-duration) Ted Zlatanov 2004-05-29 17:02 ` compilation-highlight-duration Richard Stallman 2 siblings, 0 replies; 62+ messages in thread From: Kim F. Storm @ 2004-05-28 11:42 UTC (permalink / raw) Cc: tzz, rms, emacs-devel Juri Linkov <juri@jurta.org> writes: > Adding `next-error-highlight' and `next-error-highlight-no-select' > reveals one problem. When these user options are defined by > `defcustom' it requires to specify a group name under which they > should be placed. The current logic by using the `next-error-' prefix > suggests the group name `next-error'. But it would be misleading for modes > other than compile. For grep, diff and occur this name makes no sense. > > There are aliases `goto-next-locus' and `next-match' for `next-error' > which suggest a better name. Perhaps something like `follow-locus' > would be better? I would NEVER think of that name as having anything to do with this... What about the group named "matching" (occur already uses that). -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 62+ messages in thread
* next-error refactoring (was: compilation-highlight-duration) 2004-05-28 11:19 ` compilation-highlight-duration Juri Linkov 2004-05-28 11:42 ` compilation-highlight-duration Kim F. Storm @ 2004-05-28 15:45 ` Ted Zlatanov 2004-05-28 18:14 ` next-error refactoring Juri Linkov 2004-05-29 17:03 ` next-error refactoring (was: compilation-highlight-duration) Richard Stallman 2004-05-29 17:02 ` compilation-highlight-duration Richard Stallman 2 siblings, 2 replies; 62+ messages in thread From: Ted Zlatanov @ 2004-05-28 15:45 UTC (permalink / raw) On Fri, 28 May 2004, juri@jurta.org wrote: > Adding `next-error-highlight' and `next-error-highlight-no-select' > reveals one problem. When these user options are defined by > `defcustom' it requires to specify a group name under which they > should be placed. The current logic by using the `next-error-' prefix > suggests the group name `next-error'. But it would be misleading for modes > other than compile. For grep, diff and occur this name makes no > sense. I think it makes sense to have a next-error group for other modes. Is it time to make next-error a minor mode with its own next-error.el file? It seems like a useful thing, instead of manually hooking it into all the user modes. The minor mode could provide hooks that would replace the current code; this would also facilitate adoption by other modes. Ted ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-05-28 15:45 ` next-error refactoring (was: compilation-highlight-duration) Ted Zlatanov @ 2004-05-28 18:14 ` Juri Linkov 2004-05-29 3:54 ` Ted Zlatanov 2004-05-29 17:03 ` next-error refactoring (was: compilation-highlight-duration) Richard Stallman 1 sibling, 1 reply; 62+ messages in thread From: Juri Linkov @ 2004-05-28 18:14 UTC (permalink / raw) Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > Is it time to make next-error a minor mode with its own next-error.el > file? It seems like a useful thing, instead of manually hooking it > into all the user modes. The minor mode could provide hooks that > would replace the current code; this would also facilitate adoption > by other modes. Yes, making it a minor mode with its own file would be a very useful thing! However, I think the name `next-error' is not right anymore when applied to non-`compile' modes like `grep', `diff', `occur', and possible future modes. Its name should clearly constitute its essence which is to visit the locations described in one buffer sequentially or in a user-defined order in other buffers. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-05-28 18:14 ` next-error refactoring Juri Linkov @ 2004-05-29 3:54 ` Ted Zlatanov 0 siblings, 0 replies; 62+ messages in thread From: Ted Zlatanov @ 2004-05-29 3:54 UTC (permalink / raw) On Fri, 28 May 2004, juri@jurta.org wrote: > Yes, making [next-error] a minor mode with its own file would be a > very useful thing! > > However, I think the name `next-error' is not right anymore when > applied to non-`compile' modes like `grep', `diff', `occur', and > possible future modes. This was already discussed, and the *-locus and *-match aliases were proposed. I have no preference regarding the function names, but the *minor mode* should be called next-dwim IMO. I can't think of any other names that would fit the mode, as opposed to the function. > Its name should clearly constitute its essence which is to visit the > locations described in one buffer sequentially or in a user-defined > order in other buffers. Feel free to make suggestions, everyone :) Ted ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring (was: compilation-highlight-duration) 2004-05-28 15:45 ` next-error refactoring (was: compilation-highlight-duration) Ted Zlatanov 2004-05-28 18:14 ` next-error refactoring Juri Linkov @ 2004-05-29 17:03 ` Richard Stallman 2004-06-01 17:55 ` next-error refactoring Ted Zlatanov 1 sibling, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-05-29 17:03 UTC (permalink / raw) Cc: emacs-devel Is it time to make next-error a minor mode with its own next-error.el file? We already have a minor mode for this: compilation-minor-mode. What code goes in what file is a completely separate question. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-05-29 17:03 ` next-error refactoring (was: compilation-highlight-duration) Richard Stallman @ 2004-06-01 17:55 ` Ted Zlatanov 2004-06-02 17:36 ` Richard Stallman 2004-06-02 17:36 ` Richard Stallman 0 siblings, 2 replies; 62+ messages in thread From: Ted Zlatanov @ 2004-06-01 17:55 UTC (permalink / raw) On Sat, 29 May 2004, rms@gnu.org wrote: > Is it time to make next-error a minor mode with its own next-error.el > file? > > We already have a minor mode for this: compilation-minor-mode. Yes, but the name "compilation-minor-mode" hardly addresses the DWIM nature of next-error as it stands now, and the compilation-minor-mode has other side effects (fontification, for instance). > What code goes in what file is a completely separate question. Yes, and I think maintenance will be easier if next-error functionality is in its own file. This is from my limited perspective on Emacs, of course. Ted ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-01 17:55 ` next-error refactoring Ted Zlatanov @ 2004-06-02 17:36 ` Richard Stallman 2004-06-03 15:23 ` Ted Zlatanov 2004-06-07 21:27 ` Juri Linkov 2004-06-02 17:36 ` Richard Stallman 1 sibling, 2 replies; 62+ messages in thread From: Richard Stallman @ 2004-06-02 17:36 UTC (permalink / raw) Cc: emacs-devel Yes, and I think maintenance will be easier if next-error functionality is in its own file. Why do you think it would matter? next-error and related functions are just 150 lines. I don't want to split things into new files which are so small. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-02 17:36 ` Richard Stallman @ 2004-06-03 15:23 ` Ted Zlatanov 2004-06-07 21:27 ` Juri Linkov 1 sibling, 0 replies; 62+ messages in thread From: Ted Zlatanov @ 2004-06-03 15:23 UTC (permalink / raw) On Wed, 02 Jun 2004, rms@gnu.org wrote: > Yes, and I think maintenance will be easier if next-error > functionality is in its own file. > > Why do you think it would matter? It's easier to maintain a file when it has a single purpose. simple.el gets modified a lot. It's not a big deal though. > next-error and related functions are just 150 lines. > I don't want to split things into new files which are so small. Understood, disregard my suggestion then. Ted ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-02 17:36 ` Richard Stallman 2004-06-03 15:23 ` Ted Zlatanov @ 2004-06-07 21:27 ` Juri Linkov 2004-06-09 19:52 ` Richard Stallman 1 sibling, 1 reply; 62+ messages in thread From: Juri Linkov @ 2004-06-07 21:27 UTC (permalink / raw) Cc: Ted Zlatanov, emacs-devel Richard Stallman <rms@gnu.org> writes: > Yes, and I think maintenance will be easier if next-error > functionality is in its own file. > > Why do you think it would matter? > > next-error and related functions are just 150 lines. > I don't want to split things into new files which are so small. It has a big potential to grow. I have about 40 lines uninstalled (next-error-highlight related code), because of unresolved issues regarding the right name of the whole framework. Plus Dan Nicolaescu proposed the code for next-error-follow-minor-mode (50 lines) which should go into the same file. So even without Ted's plans to extend it, this gives enough lines to split it into a new file. BTW, replace.el should be split too. All occur related functions should be moved from replace.el into a separate file occur.el, because they are already 460 lines. This is big enough to justify its refactoring. Moreover, occur absolutely don't fit into replace.el neither by its name nor by description which is according to the first line of replace.el is "replace.el --- replace commands for Emacs". -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-07 21:27 ` Juri Linkov @ 2004-06-09 19:52 ` Richard Stallman 0 siblings, 0 replies; 62+ messages in thread From: Richard Stallman @ 2004-06-09 19:52 UTC (permalink / raw) Cc: tzz, emacs-devel It has a big potential to grow. I have about 40 lines uninstalled (next-error-highlight related code), because of unresolved issues regarding the right name of the whole framework. Please assume that the name will not change. Plus Dan Nicolaescu proposed the code for next-error-follow-minor-mode (50 lines) which should go into the same file. So even without Ted's plans to extend it, this gives enough lines to split it into a new file. That is still way too small for a new file to be desirable. BTW, replace.el should be split too. All occur related functions should be moved from replace.el into a separate file occur.el, because they are already 460 lines. I see no reason to split them. Please assume the files will stay the same for now, and focus on issues of how to change the code. occur has been in replace.el since the file was first written, along with the commands how-many, keep-lines, and flush-lines, which it is traditionally grouped with. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-01 17:55 ` next-error refactoring Ted Zlatanov 2004-06-02 17:36 ` Richard Stallman @ 2004-06-02 17:36 ` Richard Stallman 2004-06-03 15:30 ` Ted Zlatanov 1 sibling, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-06-02 17:36 UTC (permalink / raw) Cc: emacs-devel > Is it time to make next-error a minor mode with its own next-error.el > file? > > We already have a minor mode for this: compilation-minor-mode. Yes, but the name "compilation-minor-mode" hardly addresses the DWIM nature of next-error as it stands now, and the compilation-minor-mode has other side effects (fontification, for instance). Those go together because they are used together. Introducing unnecessary levels of abstraction for small things creates clutter. We do not want a separate mode for next-error parsing alone, distinct from the rest of error handling. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-02 17:36 ` Richard Stallman @ 2004-06-03 15:30 ` Ted Zlatanov 2004-06-03 23:33 ` Juri Linkov 2004-06-04 2:03 ` Richard Stallman 0 siblings, 2 replies; 62+ messages in thread From: Ted Zlatanov @ 2004-06-03 15:30 UTC (permalink / raw) On Wed, 02 Jun 2004, rms@gnu.org wrote: >> Is it time to make next-error a minor mode with its own next-error.el > > file? > > > > We already have a minor mode for this: compilation-minor-mode. > > Yes, but the name "compilation-minor-mode" hardly addresses the DWIM > nature of next-error as it stands now, and the compilation-minor-mode > has other side effects (fontification, for instance). > > Those go together because they are used together. > > Introducing unnecessary levels of abstraction for small things > creates clutter. I'm trying to make next-error a universal "next DWIM" interface, and being tied to compilation-minor-mode will hamper that effort. For instance, it would look very strange if compilation-minor-mode was on in a mail article summary, even though next-error (or some sensibly named alias) could make sense for moving to the next article. It would be easier to name hooks for next-error, as well, if it had its own mode. I would like to create hooks that developers can easily use to register their next-error capability, instead of the current situation where next-error mode has to be enabled by magically setting a variable, and discovering next-error buffers is an error-prone algorithm. I'm thinking of next-error-register and next-error-unregister functions a developer would call in a buffer; to register a next-error-function has to be provided (plus other things, probably) and in return the buffer is registered as a next-error capable buffer. Also, users will be less confused if next-error has its own minor mode. > We do not want a separate mode for next-error parsing alone, > distinct from the rest of error handling. Understood. I would like to make next-error more than that. Ted ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-03 15:30 ` Ted Zlatanov @ 2004-06-03 23:33 ` Juri Linkov 2004-06-07 16:14 ` Ted Zlatanov 2004-06-04 2:03 ` Richard Stallman 1 sibling, 1 reply; 62+ messages in thread From: Juri Linkov @ 2004-06-03 23:33 UTC (permalink / raw) Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > I'm trying to make next-error a universal "next DWIM" interface, and I think "next DWIM" is not the right name. "Do What I Mean" is too general term and doesn't describe precisely the purpose of the mode which basically is extracting locations from the buffer contents and visiting them in other buffers. With all that said, I have a better suggestion: to extend the existing `master-mode' which has a similar purpose. It associates the current buffer (the master) with another buffer (the slave) and allows operating on the slave buffer from the master. When applied to compilation/grep/diff/occur, the master will mean the buffer with locations, and the slave will mean the source buffers where locations are visited. > It would be easier to name hooks for next-error, as well, if it had > its own mode. I would like to create hooks It would be very good if you will add more hooks. I already encountered many situations where more hooks are needed to make the whole framework more extensible. For example, to add a hook that will allow grep/diff to visit files in view mode, and will kill a read-only source buffer when another buffer is visited after subsequent invocation of `next-error'. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-03 23:33 ` Juri Linkov @ 2004-06-07 16:14 ` Ted Zlatanov 0 siblings, 0 replies; 62+ messages in thread From: Ted Zlatanov @ 2004-06-07 16:14 UTC (permalink / raw) On Fri, 04 Jun 2004, juri@jurta.org wrote: > Ted Zlatanov <tzz@lifelogs.com> writes: >> I'm trying to make next-error a universal "next DWIM" interface, and > > I think "next DWIM" is not the right name. "Do What I Mean" is too > general term and doesn't describe precisely the purpose of the mode > which basically is extracting locations from the buffer contents and > visiting them in other buffers. I would like "next DWIM," not just "next place I'm supposed to visit." I gave some examples in my reply to RMS's post. > With all that said, I have a better suggestion: to extend the existing > `master-mode' which has a similar purpose. It associates the current > buffer (the master) with another buffer (the slave) and allows > operating on the slave buffer from the master. When applied to > compilation/grep/diff/occur, the master will mean the buffer with > locations, and the slave will mean the source buffers where locations > are visited. This could be useful for specific cases, but I don't think necessarily in all the useful cases :) > It would be very good if you will add more hooks. I already > encountered many situations where more hooks are needed to make the > whole framework more extensible. For example, to add a hook that will > allow grep/diff to visit files in view mode, and will kill a read-only > source buffer when another buffer is visited after subsequent invocation > of `next-error'. I'll work on that when RMS (and others) reply to my proposal about the future of next-error mode. That will make a big difference in how I implement things. Ted ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-03 15:30 ` Ted Zlatanov 2004-06-03 23:33 ` Juri Linkov @ 2004-06-04 2:03 ` Richard Stallman 2004-06-07 16:11 ` Ted Zlatanov 1 sibling, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-06-04 2:03 UTC (permalink / raw) Cc: emacs-devel I'm trying to make next-error a universal "next DWIM" interface, I think it is better if we don't do that now; I am not sure it is a good idea. However, if you make a proposal and argue for it, I will think about it. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-04 2:03 ` Richard Stallman @ 2004-06-07 16:11 ` Ted Zlatanov 2004-06-07 17:01 ` Tak Ota ` (2 more replies) 0 siblings, 3 replies; 62+ messages in thread From: Ted Zlatanov @ 2004-06-07 16:11 UTC (permalink / raw) On Thu, 03 Jun 2004, rms@gnu.org wrote: > I'm trying to make next-error a universal "next DWIM" interface, > > I think it is better if we don't do that now; I am not sure it is > a good idea. > > However, if you make a proposal and argue for it, I will think about > it. I've made the case several times on this mailing list. There are two reasons: 1) There are many modes that can benefit from a next-error (or whatever it's called by then) approach. In code, for instance, next-error could move between functions. In dired, it could move to the next file. In W3 it could go back/forward in the history or between links. 2) Approaching next-error as we do now, in a haphazard fashion, implemented specifically in every mode that needs to use it, is painful for the developer. It's much easier to provide hooks, a keymap, and all the other niceties of a standalone minor mode. Users will certainly appreciate that too. Also, if and when next-error changes, developers won't have to change their code. Ted ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-07 16:11 ` Ted Zlatanov @ 2004-06-07 17:01 ` Tak Ota 2004-06-08 20:31 ` Richard Stallman 2004-06-09 9:53 ` Stefan Monnier 2 siblings, 0 replies; 62+ messages in thread From: Tak Ota @ 2004-06-07 17:01 UTC (permalink / raw) Cc: emacs-devel I agree. I'm often irritated the difference in user interface between compilation, grep and occur. -Tak Mon, 07 Jun 2004 12:11:47 -0400: Ted Zlatanov <tzz@lifelogs.com> wrote: > On Thu, 03 Jun 2004, rms@gnu.org wrote: > > > I'm trying to make next-error a universal "next DWIM" interface, > > > > I think it is better if we don't do that now; I am not sure it is > > a good idea. > > > > However, if you make a proposal and argue for it, I will think about > > it. > > I've made the case several times on this mailing list. There are two > reasons: > > 1) There are many modes that can benefit from a next-error (or > whatever it's called by then) approach. In code, for instance, > next-error could move between functions. In dired, it could move > to the next file. In W3 it could go back/forward in the history > or between links. > > 2) Approaching next-error as we do now, in a haphazard fashion, > implemented specifically in every mode that needs to use it, is > painful for the developer. It's much easier to provide hooks, a > keymap, and all the other niceties of a standalone minor mode. > Users will certainly appreciate that too. Also, if and when > next-error changes, developers won't have to change their code. > > Ted > > > > _______________________________________________ > Emacs-devel mailing list > Emacs-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-07 16:11 ` Ted Zlatanov 2004-06-07 17:01 ` Tak Ota @ 2004-06-08 20:31 ` Richard Stallman 2004-06-11 18:39 ` Ted Zlatanov 2004-06-09 9:53 ` Stefan Monnier 2 siblings, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-06-08 20:31 UTC (permalink / raw) Cc: emacs-devel 1) There are many modes that can benefit from a next-error (or whatever it's called by then) approach. In code, for instance, next-error could move between functions. There is already an easy way to move between functions: C-M-a and C-M-e. However, I see no resemblance between that and next-error. In dired, it could move to the next file. I do see the resemblance between that and next-error. However, it would probably be simpler to define the same keys (more or less) with parallel meanings but completely different code. In W3 it could go back/forward in the history or between links. I think that could perhaps be implemented using the existing next-error mechanism, if that is useful. 2) Approaching next-error as we do now, in a haphazard fashion, implemented specifically in every mode that needs to use it, is painful for the developer. It's much easier to provide hooks, a keymap, and all the other niceties of a standalone minor mode. To use a single set of key bindings, defined in just one place, would be desirable. I don't know whether it is possible. Making each of these modes have good key bindings is the first priority. If it turns out that a single set if bindings will work well for all of them, we could easily write a subroutine to make those bindings in whatever keymap. That would achieve the simplification you are looking for. The rest of the minor mode mechanism would be unnecessary, perhaps even counterproductive. We certainly do not want it to appear *to the user* as a separate minor mode. That would only be clutter, and suggest to the user that he might want to consider turning the minor mode off, which would always be a mistake. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-08 20:31 ` Richard Stallman @ 2004-06-11 18:39 ` Ted Zlatanov 2004-06-12 9:44 ` Richard Stallman 0 siblings, 1 reply; 62+ messages in thread From: Ted Zlatanov @ 2004-06-11 18:39 UTC (permalink / raw) On Tue, 08 Jun 2004, rms@gnu.org wrote: > To use a single set of key bindings, defined in just one place, would > be desirable. I don't know whether it is possible. Making each of > these modes have good key bindings is the first priority. If it turns > out that a single set if bindings will work well for all of them, we > could easily write a subroutine to make those bindings in whatever > keymap. That would achieve the simplification you are looking for. > > The rest of the minor mode mechanism would be unnecessary, perhaps > even counterproductive. We certainly do not want it to appear *to the > user* as a separate minor mode. That would only be clutter, and suggest > to the user that he might want to consider turning the minor mode off, > which would always be a mistake. I see. That makes sense. As long as we can achieve the two goals of 1) a unified user interface 2) a simple API for developers to use next-error I'm happy without a minor mode, especially considering the reasons you mention against it. Has this (API to install keybindings) been done for another package, so I don't start from scratch? Thanks Ted ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-11 18:39 ` Ted Zlatanov @ 2004-06-12 9:44 ` Richard Stallman 2004-06-30 18:42 ` Ted Zlatanov 0 siblings, 1 reply; 62+ messages in thread From: Richard Stallman @ 2004-06-12 9:44 UTC (permalink / raw) Cc: emacs-devel Has this (API to install keybindings) been done for another package, so I don't start from scratch? That part is trivial. The real job is to make a common set of bindings for these various modes. I suggest you focus on that task. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-12 9:44 ` Richard Stallman @ 2004-06-30 18:42 ` Ted Zlatanov 2004-07-01 5:47 ` Juri Linkov 0 siblings, 1 reply; 62+ messages in thread From: Ted Zlatanov @ 2004-06-30 18:42 UTC (permalink / raw) On Sat, 12 Jun 2004, rms@gnu.org wrote: > Has this (API to install keybindings) been done for another > package, so I don't start from scratch? > > That part is trivial. The real job is to make a common set of > bindings for these various modes. I suggest you focus on that task. Can I get a list of suggested modes that might benefit from next-error support? Everyone, please send me your suggestions. So far we have: compilation-mode grep (which uses compilation-mode) occur-mode Other possibilities: emerge diff-mode (please add your suggestions) When I have a list of modes I can look at the key binding problems between them all. Thanks Ted ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-30 18:42 ` Ted Zlatanov @ 2004-07-01 5:47 ` Juri Linkov 2004-09-13 18:56 ` Ted Zlatanov 0 siblings, 1 reply; 62+ messages in thread From: Juri Linkov @ 2004-07-01 5:47 UTC (permalink / raw) Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > Can I get a list of suggested modes that might benefit from next-error > support? Everyone, please send me your suggestions. > > So far we have: > > compilation-mode > grep (which uses compilation-mode) > occur-mode > > Other possibilities: > > emerge > diff-mode AFAICS, diff-mode belongs to the "what we have" category since it already supports `next-error'. > (please add your suggestions) I think existing modes are enough to create an unified set of key bindings. These modes are quite heterogeneous by their functionality, so you can get good coverage of needs for key bindings. If you want to add next-error support for more modes, you might consider etags, dired-do-search, find-grep-dired. > When I have a list of modes I can look at the key binding problems > between them all. Please take into account conclusions from the discussion started from http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg01452.html http://lists.gnu.org/archive/html/emacs-devel/2004-06/msg00023.html -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-07-01 5:47 ` Juri Linkov @ 2004-09-13 18:56 ` Ted Zlatanov 2004-09-14 10:28 ` Kim F. Storm 0 siblings, 1 reply; 62+ messages in thread From: Ted Zlatanov @ 2004-09-13 18:56 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 1009 bytes --] On Thu, 01 Jul 2004, juri@jurta.org wrote: > If you want to add next-error support for more modes, you might consider > etags, dired-do-search, find-grep-dired. I haven't looked at etags, but here's a patch for dired.el that will add next-error support. That will support find-grep-dired, dired-do-search, and all other dired-mode usages. There's two issues: 1) by default, most users will probably not want this next-error support so I added a variable dired-next-error-support that's nil by default. This is my conjecture so I may be wrong. 2) I am not sure of the right way to move negative distances in dired-mode, since not every line is a file. I reuse the dired-goto-next-nontrivial-file function for forward motion and ignore negative distances for now. I could write my own, but was wondering if something already existed for negative motion. Please comment and I hope this can make it in Emacs eventually (it's not ready as it is). I am attaching a context patch. Ted [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: dired-next-error.patch --] [-- Type: text/x-patch, Size: 2069 bytes --] *** /usr/src/emacs/lisp/dired.el Wed Jul 14 18:59:08 2004 --- /home/tzz/emacs/mine/dired.el Mon Sep 13 15:09:54 2004 *************** *** 215,220 **** --- 215,227 ---- :type '(alist :key-type regexp :value-type string) :version "21.4") + ;; should we use next-error support? + (defcustom dired-next-error-support nil + "Specifies whether Dired should support the next-error + framework." + :group 'dired + :type 'boolean) + ;; Internal variables (defvar dired-marker-char ?* ; the answer is 42 *************** *** 1397,1402 **** --- 1404,1411 ---- selective-display t ; for subdirectory hiding mode-line-buffer-identification (propertized-buffer-identification "%17b")) + (when dired-next-error-support + (setq next-error-function 'dired-next-error)) (set (make-local-variable 'revert-buffer-function) (function dired-revert)) (set (make-local-variable 'buffer-stale-function) *************** *** 1450,1455 **** --- 1459,1490 ---- (message "Change in Dired buffer undone. Actual changes in files cannot be undone by Emacs.")) + (defun dired-next-error (&optional argp reset) + "Move to the ARGP (default 1) next match in an Dired mode buffer. + When RESET is given, starts from the beginning. + Compatibility function for \\[next-error] invocations." + (interactive "p") + + (when reset + ;; go to beginning of buffer + (goto-char (point-min))) + + (dired-next-error-move-n-file-lines + (prefix-numeric-value argp)) + + ;; visit file if possible + (when (dired-get-filename nil t) + (dired-find-file))) + + (defun dired-next-error-move-n-file-lines (argp) + "Move ARGP file lines from the current line. + File lines are lines with a file listed in them. + ONLY SUPPORT POSITIVE MOTION FOR NOW" + (when (> argp 0) + (dotimes (n argp) + (forward-line 1) + (dired-goto-next-nontrivial-file)))) + (defun dired-next-line (arg) "Move down lines then position at filename. Optional prefix ARG says how many lines to move; default is one line." [-- Attachment #3: Type: text/plain, Size: 142 bytes --] _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-09-13 18:56 ` Ted Zlatanov @ 2004-09-14 10:28 ` Kim F. Storm 2004-09-15 18:08 ` Ted Zlatanov 0 siblings, 1 reply; 62+ messages in thread From: Kim F. Storm @ 2004-09-14 10:28 UTC (permalink / raw) Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > + ;; should we use next-error support? > + (defcustom dired-next-error-support nil > + "Specifies whether Dired should support the next-error > + framework." > + :group 'dired > + :type 'boolean) > + I think dired-use-next-error would be a better name. First line of doc string should be on one line. Here is an improved doc string. (defcustom dired-use-next-error nil "Non-nil means to enable `next-error' in dired buffers. You can then use \\[next-error] to visit the matches found by `grep-find-dired', `dired-do-search', etc." :group 'dired :type 'boolean) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-09-14 10:28 ` Kim F. Storm @ 2004-09-15 18:08 ` Ted Zlatanov 0 siblings, 0 replies; 62+ messages in thread From: Ted Zlatanov @ 2004-09-15 18:08 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 354 bytes --] On Tue, 14 Sep 2004, storm@cua.dk wrote: > I think dired-use-next-error would be a better name. > > First line of doc string should be on one line. Here's the corrected version of the patch. Thank you for the help. In case anyone is wondering, this is generally useful for visiting the next/previous file listed in dired (only next works now). Ted [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: dired-next-error.patch --] [-- Type: text/x-patch, Size: 2160 bytes --] *** /usr/src/emacs/lisp/dired.el Wed Jul 14 18:59:08 2004 --- /home/tzz/emacs/mine/dired.el Wed Sep 15 14:13:25 2004 *************** *** 215,220 **** --- 215,228 ---- :type '(alist :key-type regexp :value-type string) :version "21.4") + ;; should we use next-error support? + (defcustom dired-use-next-error nil + "Non-nil means to enable `next-error' in dired buffers. + You can then use \\[next-error] to visit the matches + found by `grep-find-dired', `dired-do-search', etc." + :group 'dired + :type 'boolean) + ;; Internal variables (defvar dired-marker-char ?* ; the answer is 42 *************** *** 1397,1402 **** --- 1405,1412 ---- selective-display t ; for subdirectory hiding mode-line-buffer-identification (propertized-buffer-identification "%17b")) + (when dired-next-error-support + (setq next-error-function 'dired-next-error)) (set (make-local-variable 'revert-buffer-function) (function dired-revert)) (set (make-local-variable 'buffer-stale-function) *************** *** 1450,1455 **** --- 1460,1491 ---- (message "Change in Dired buffer undone. Actual changes in files cannot be undone by Emacs.")) + (defun dired-next-error (&optional argp reset) + "Move to the ARGP (default 1) next match in an Dired mode buffer. + When RESET is given, starts from the beginning. + Compatibility function for \\[next-error] invocations." + (interactive "p") + + (when reset + ;; go to beginning of buffer + (goto-char (point-min))) + + (dired-next-error-move-n-file-lines + (prefix-numeric-value argp)) + + ;; visit file if possible + (when (dired-get-filename nil t) + (dired-find-file))) + + (defun dired-next-error-move-n-file-lines (argp) + "Move ARGP file lines from the current line. + File lines are lines with a file listed in them. + ONLY SUPPORT POSITIVE MOTION FOR NOW" + (when (> argp 0) + (dotimes (n argp) + (forward-line 1) + (dired-goto-next-nontrivial-file)))) + (defun dired-next-line (arg) "Move down lines then position at filename. Optional prefix ARG says how many lines to move; default is one line." [-- Attachment #3: Type: text/plain, Size: 142 bytes --] _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-07 16:11 ` Ted Zlatanov 2004-06-07 17:01 ` Tak Ota 2004-06-08 20:31 ` Richard Stallman @ 2004-06-09 9:53 ` Stefan Monnier 2004-06-09 20:19 ` Juri Linkov 2 siblings, 1 reply; 62+ messages in thread From: Stefan Monnier @ 2004-06-09 9:53 UTC (permalink / raw) Cc: emacs-devel > 1) There are many modes that can benefit from a next-error (or > whatever it's called by then) approach. In code, for instance, > next-error could move between functions. In dired, it could move > to the next file. In W3 it could go back/forward in the history > or between links. To me the concept of "next-error" refers to something that has the following properties: - every entry in the list of things to step through refers to a location in another buffer. - you want to step through the locations referred to rather than only stepping through the entries themselves. So I don´t see how it can usefully be applied to functions in a file. I see that it can be handy to C-x ` through a list of files in dired in some particular cases, tho. But we then need to design some way to distinguish between buffers where this is common and those where it is not, otherwise people will be annoyed that C-x ` is always captured by their dired buffer instead of compile, or things like that. We´ve already seen such problems with my adding C-x ` support to diff-mode. > 2) Approaching next-error as we do now, in a haphazard fashion, > implemented specifically in every mode that needs to use it, is > painful for the developer. It's much easier to provide hooks, a > keymap, and all the other niceties of a standalone minor mode. > Users will certainly appreciate that too. Also, if and when > next-error changes, developers won't have to change their code. I agree that more of the next-error code should be in the generic part of the code (all the window-management comes to mind), but I also think this is better done post-21.4. Especially since we still don´t have any sample code to try and we´re not sure what the new behavior should be. Stefan ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-09 9:53 ` Stefan Monnier @ 2004-06-09 20:19 ` Juri Linkov 2004-06-10 23:01 ` Richard Stallman 0 siblings, 1 reply; 62+ messages in thread From: Juri Linkov @ 2004-06-09 20:19 UTC (permalink / raw) Cc: Ted Zlatanov, emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > To me the concept of "next-error" refers to something that has the > following properties: > - every entry in the list of things to step through refers to a location > in another buffer. > - you want to step through the locations referred to rather than only > stepping through the entries themselves. I completely agree on the purpose of the "next-error" framework. > So I don´t see how it can usefully be applied to functions in a file. This can be applied to functions when their locations are listed in another buffer by commands that operate on function names, for example, `list-tags' (which is not "next-error" capable now), `list-imenu', `list-outlines' (there are no such functions yet, but they would be useful). > I see that it can be handy to C-x ` through a list of files in dired in > some particular cases, tho. But we then need to design some way to > distinguish between buffers where this is common and those where it is not, > otherwise people will be annoyed that C-x ` is always captured by their > dired buffer instead of compile, or things like that. I agree. This should be done only when requested specially by users in dired buffers or in buffers created by `find-dired' or `locate'. > I agree that more of the next-error code should be in the generic part of > the code (all the window-management comes to mind), but I also think this > is better done post-21.4. Especially since we still don´t have any sample > code to try and we´re not sure what the new behavior should be. I think it's better at least to establish the infrastructure before the next Emacs release than to release it in the current incomplete (though, usable) state, if possible. That means to continue its development at an unhurried pace, and include it if it will be completely ready before the next release. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: next-error refactoring 2004-06-09 20:19 ` Juri Linkov @ 2004-06-10 23:01 ` Richard Stallman 0 siblings, 0 replies; 62+ messages in thread From: Richard Stallman @ 2004-06-10 23:01 UTC (permalink / raw) Cc: tzz, monnier, emacs-devel This can be applied to functions when their locations are listed in another buffer by commands that operate on function names, for example, `list-tags' (which is not "next-error" capable now), That is a good idea. However, I don't see a need to change frameworks based on that. `list-imenu', `list-outlines' (there are no such functions yet, but they would be useful). I am not sure that a list-imenu command would make sense. But we can add connections to next-error in other places where that does make sense. ^ permalink raw reply [flat|nested] 62+ messages in thread
* Re: compilation-highlight-duration 2004-05-28 11:19 ` compilation-highlight-duration Juri Linkov 2004-05-28 11:42 ` compilation-highlight-duration Kim F. Storm 2004-05-28 15:45 ` next-error refactoring (was: compilation-highlight-duration) Ted Zlatanov @ 2004-05-29 17:02 ` Richard Stallman 2 siblings, 0 replies; 62+ messages in thread From: Richard Stallman @ 2004-05-29 17:02 UTC (permalink / raw) Cc: tzz, emacs-devel, storm There are aliases `goto-next-locus' and `next-match' for `next-error' which suggest a better name. Perhaps something like `follow-locus' would be better? I agree users would not find that name. Perhaps it would be useful to add a feature for aliases for custom groups, and use it here. ^ permalink raw reply [flat|nested] 62+ messages in thread
end of thread, other threads:[~2004-09-15 18:08 UTC | newest] Thread overview: 62+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-05-01 5:29 compilation-highlight-duration Tak Ota 2004-05-01 17:51 ` compilation-highlight-duration Richard Stallman 2004-05-02 16:47 ` compilation-highlight-duration Tak Ota 2004-05-03 14:03 ` compilation-highlight-duration Richard Stallman 2004-05-03 14:13 ` compilation-highlight-duration Tak Ota 2004-05-04 7:43 ` compilation-highlight-duration Richard Stallman 2004-05-04 14:54 ` compilation-highlight-duration Tak Ota 2004-05-04 16:55 ` compilation-highlight-duration Juri Linkov 2004-05-04 17:20 ` compilation-highlight-duration Kim F. Storm 2004-05-04 20:01 ` compilation-highlight-duration Juri Linkov 2004-05-04 21:30 ` compilation-highlight-duration Kim F. Storm 2004-05-04 20:32 ` compilation-highlight-duration Drew Adams 2004-05-04 19:15 ` compilation-highlight-duration Tak Ota 2004-05-04 21:35 ` compilation-highlight-duration Tak Ota 2004-05-05 17:33 ` compilation-highlight-duration Stefan Monnier 2004-05-05 18:05 ` compilation-highlight-duration Tak Ota 2004-05-05 20:20 ` compilation-highlight-duration Richard Stallman 2004-05-05 20:59 ` compilation-highlight-duration Tak Ota 2004-05-05 22:47 ` compilation-highlight-duration Thien-Thi Nguyen 2004-05-05 21:22 ` compilation-highlight-duration Stefan Monnier 2004-05-06 5:58 ` compilation-highlight-duration Kim F. Storm 2004-05-06 9:23 ` compilation-highlight-duration Juri Linkov 2004-05-06 7:48 ` compilation-highlight-duration Kim F. Storm 2004-05-06 10:34 ` compilation-highlight-duration David Kastrup 2004-05-06 10:22 ` compilation-highlight-duration Kim F. Storm 2004-05-07 0:29 ` compilation-highlight-duration Richard Stallman 2004-05-07 0:29 ` compilation-highlight-duration Richard Stallman 2004-05-09 1:03 ` compilation-highlight-duration Juri Linkov 2004-05-09 18:48 ` compilation-highlight-duration Richard Stallman 2004-05-09 19:12 ` compilation-highlight-duration Kim F. Storm 2004-05-10 7:17 ` compilation-highlight-duration Eli Zaretskii 2004-05-10 20:30 ` compilation-highlight-duration Stefan Daschek 2004-05-28 11:19 ` compilation-highlight-duration Juri Linkov 2004-05-28 11:42 ` compilation-highlight-duration Kim F. Storm 2004-05-28 15:45 ` next-error refactoring (was: compilation-highlight-duration) Ted Zlatanov 2004-05-28 18:14 ` next-error refactoring Juri Linkov 2004-05-29 3:54 ` Ted Zlatanov 2004-05-29 17:03 ` next-error refactoring (was: compilation-highlight-duration) Richard Stallman 2004-06-01 17:55 ` next-error refactoring Ted Zlatanov 2004-06-02 17:36 ` Richard Stallman 2004-06-03 15:23 ` Ted Zlatanov 2004-06-07 21:27 ` Juri Linkov 2004-06-09 19:52 ` Richard Stallman 2004-06-02 17:36 ` Richard Stallman 2004-06-03 15:30 ` Ted Zlatanov 2004-06-03 23:33 ` Juri Linkov 2004-06-07 16:14 ` Ted Zlatanov 2004-06-04 2:03 ` Richard Stallman 2004-06-07 16:11 ` Ted Zlatanov 2004-06-07 17:01 ` Tak Ota 2004-06-08 20:31 ` Richard Stallman 2004-06-11 18:39 ` Ted Zlatanov 2004-06-12 9:44 ` Richard Stallman 2004-06-30 18:42 ` Ted Zlatanov 2004-07-01 5:47 ` Juri Linkov 2004-09-13 18:56 ` Ted Zlatanov 2004-09-14 10:28 ` Kim F. Storm 2004-09-15 18:08 ` Ted Zlatanov 2004-06-09 9:53 ` Stefan Monnier 2004-06-09 20:19 ` Juri Linkov 2004-06-10 23:01 ` Richard Stallman 2004-05-29 17:02 ` compilation-highlight-duration Richard Stallman
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).