GNU bug report logs -
#12742
24.2; [PATCH] flymake cannot goto errors correctly in narrowed buffers
Previous Next
Reported by: Leo <sdl.web <at> gmail.com>
Date: Sat, 27 Oct 2012 09:29:02 UTC
Severity: wishlist
Tags: patch
Found in version 24.2
Fixed in version 24.4
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Thu, 13 Feb 2014 18:54:17 -0500
with message-id <fy61oi8t7a.fsf <at> fencepost.gnu.org>
and subject line Re: bug#12742
has caused the debbugs.gnu.org bug report #12742,
regarding 24.2; [PATCH] flymake cannot goto errors correctly in narrowed buffers
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
12742: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12742
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
In a narrowed buffer, both flymake-goto-next-error and
flymake-goto-prev-error stop working correctly. Any objection to install
the attached fix in the emacs-24 branch?
(ChangeLog change omitted for now).
Leo
[0001-Fix-flymake-error-navigation-in-narrowed-buffers.patch (text/x-patch, attachment)]
[Message part 5 (message/rfc822, inline)]
Version: 24.4
Daniel Colascione wrote:
> ------------------------------------------------------------
> revno: 116436
> revision-id: dancol <at> dancol.org-20140213223729-66wcs7wdtxjgbuu3
> parent: eliz <at> gnu.org-20140213205407-wn5kv46oq3hw5sv8
> committer: Daniel Colascione <dancol <at> dancol.org>
> branch nick: trunk
> timestamp: Thu 2014-02-13 14:37:29 -0800
> message:
> Fix flymake in narrowed buffers
> modified:
> lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
> lisp/progmodes/flymake.el flymake.el-20091113204419-o5vbwnq5f7feedwu-3065
>
> === modified file 'lisp/ChangeLog'
> --- a/lisp/ChangeLog 2014-02-13 18:23:36 +0000
> +++ b/lisp/ChangeLog 2014-02-13 22:37:29 +0000
> @@ -1,3 +1,9 @@
> +2014-02-13 Daniel Colascione <dancol <at> dancol.org>
> +
> + * progmodes/flymake.el (flymake-post-syntax-check): Widen buffer
> + when adding overlays so that line numbers from compiler match line
> + numbers we use.
> +
> 2014-02-13 Glenn Morris <rgm <at> gnu.org>
>
> * mail/rmail.el (rmail-probe): Be less strict. (Bug#16743)
>
> === modified file 'lisp/progmodes/flymake.el'
> --- a/lisp/progmodes/flymake.el 2014-01-25 19:15:42 +0000
> +++ b/lisp/progmodes/flymake.el 2014-02-13 22:37:29 +0000
> @@ -555,29 +555,31 @@
> (setq flymake-is-running nil))))))))
>
> (defun flymake-post-syntax-check (exit-status command)
> - (setq flymake-err-info flymake-new-err-info)
> - (setq flymake-new-err-info nil)
> - (setq flymake-err-info
> - (flymake-fix-line-numbers
> - flymake-err-info 1 (count-lines (point-min) (point-max))))
> - (flymake-delete-own-overlays)
> - (flymake-highlight-err-lines flymake-err-info)
> - (let (err-count warn-count)
> - (setq err-count (flymake-get-err-count flymake-err-info "e"))
> - (setq warn-count (flymake-get-err-count flymake-err-info "w"))
> - (flymake-log 2 "%s: %d error(s), %d warning(s) in %.2f second(s)"
> - (buffer-name) err-count warn-count
> - (- (float-time) flymake-check-start-time))
> - (setq flymake-check-start-time nil)
> + (save-restriction
> + (widen)
> + (setq flymake-err-info flymake-new-err-info)
> + (setq flymake-new-err-info nil)
> + (setq flymake-err-info
> + (flymake-fix-line-numbers
> + flymake-err-info 1 (count-lines (point-min) (point-max))))
> + (flymake-delete-own-overlays)
> + (flymake-highlight-err-lines flymake-err-info)
> + (let (err-count warn-count)
> + (setq err-count (flymake-get-err-count flymake-err-info "e"))
> + (setq warn-count (flymake-get-err-count flymake-err-info "w"))
> + (flymake-log 2 "%s: %d error(s), %d warning(s) in %.2f second(s)"
> + (buffer-name) err-count warn-count
> + (- (float-time) flymake-check-start-time))
> + (setq flymake-check-start-time nil)
>
> - (if (and (equal 0 err-count) (equal 0 warn-count))
> - (if (equal 0 exit-status)
> - (flymake-report-status "" "") ; PASSED
> - (if (not flymake-check-was-interrupted)
> - (flymake-report-fatal-status "CFGERR"
> - (format "Configuration error has occurred while running %s" command))
> - (flymake-report-status nil ""))) ; "STOPPED"
> - (flymake-report-status (format "%d/%d" err-count warn-count) ""))))
> + (if (and (equal 0 err-count) (equal 0 warn-count))
> + (if (equal 0 exit-status)
> + (flymake-report-status "" "") ; PASSED
> + (if (not flymake-check-was-interrupted)
> + (flymake-report-fatal-status "CFGERR"
> + (format "Configuration error has occurred while running %s" command))
> + (flymake-report-status nil ""))) ; "STOPPED"
> + (flymake-report-status (format "%d/%d" err-count warn-count) "")))))
>
> (defun flymake-parse-output-and-residual (output)
> "Split OUTPUT into lines, merge in residual if necessary."
This bug report was last modified 11 years and 97 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.