From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: joaotavora@gmail.com (=?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?=) Newsgroups: gmane.emacs.bugs Subject: bug#29201: 26.0.90; Flymake skips indicator when a backend reports a diagnostic at EOB Date: Fri, 10 Nov 2017 05:32:17 +0000 Message-ID: <87k1yyitr2.fsf@gmail.com> References: <38b19877-7ddf-673f-f9e0-de422e5251e6@yandex.ru> <87vaiji21a.fsf@gmail.com> <638b80d6-2772-7650-b4ac-f43c3146bfaf@yandex.ru> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1510291991 6205 195.159.176.226 (10 Nov 2017 05:33:11 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 10 Nov 2017 05:33:11 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) Cc: 29201@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Nov 10 06:33:06 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eD1w9-0001IO-Qc for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 Nov 2017 06:33:06 +0100 Original-Received: from localhost ([::1]:40220 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eD1wF-0005TV-5r for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 Nov 2017 00:33:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55246) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eD1w9-0005TM-BA for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 00:33:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eD1w6-0008Mg-67 for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 00:33:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:52609) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eD1w6-0008MU-2Q for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 00:33:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eD1w5-0004ao-N5 for bug-gnu-emacs@gnu.org; Fri, 10 Nov 2017 00:33:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: joaotavora@gmail.com (=?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 10 Nov 2017 05:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29201 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed Original-Received: via spool by 29201-submit@debbugs.gnu.org id=B29201.151029194817611 (code B ref 29201); Fri, 10 Nov 2017 05:33:01 +0000 Original-Received: (at 29201) by debbugs.gnu.org; 10 Nov 2017 05:32:28 +0000 Original-Received: from localhost ([127.0.0.1]:33057 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eD1vY-0004Zz-GR for submit@debbugs.gnu.org; Fri, 10 Nov 2017 00:32:28 -0500 Original-Received: from mail-wm0-f45.google.com ([74.125.82.45]:35639) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eD1vW-0004Zl-6k for 29201@debbugs.gnu.org; Fri, 10 Nov 2017 00:32:26 -0500 Original-Received: by mail-wm0-f45.google.com with SMTP id y80so339549wmd.0 for <29201@debbugs.gnu.org>; Thu, 09 Nov 2017 21:32:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:user-agent:date :message-id:mime-version:content-transfer-encoding; bh=pYOd4Mh+N6jkCw0JXdhJuDehnXa18JZ2bwbO9iapfFE=; b=N7TGJb5MNE1uuxSuUCcWAbzm1CCWsIhEfLhV56ewMaIWfakBWLUTMpPLCqe6fmVaNR xa0jr7IbewyamYhxLms/elT0hQAKj3kqPj3CJc2OKZcN107yHZFXpby7MT1L2NCQwacB S69WhuOvZ65u/8rGem3OqdtrTm092WudZcoGWI0Cnze2KmzxjkiU8PeNXTH9OsxkkNIj AtPY2E2tveDD7npKvggKoko7jAA1p39dHUktVv3hlPxJnd90s1c/2s6MQubkW8oJTWzZ nwpUcEpCgScflLjzqBODFz2YBG5Ge5XeYqjf8sPOuKyNMJECd74NW6t0lg68NXrnBkDk z5nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references :user-agent:date:message-id:mime-version:content-transfer-encoding; bh=pYOd4Mh+N6jkCw0JXdhJuDehnXa18JZ2bwbO9iapfFE=; b=djt5hKs4LwBxBiNH9A0d4KMImZX0uoxkHS3cgYX5vL4rwlfjLgqwLb6VzWNw0qyAMT e4qFjqu+XxPYgBTjuaczVzC1JgsHqD4E+s7LEk64jyVtyt8sNdyZsW7x3kUGAknggH13 +ZrXrxO6clpaWxg1geNaa04I9k1Q3o9t36XcTxYZAVggeVoe5n1sJwAUkkCSbFS1NXOB TopTj+obYWXSy/Yy0TQeficyNamHQA9iFzt5b2JR260SnXwJQeY7EQ6lJSZtPQ+OvWVY AFeshRJFsflS81Gn+3ZPc34NsbJ7hz4CJletV+3+l9N/2kTOB2OiIpLIIDq6PbaVKsnk D8QQ== X-Gm-Message-State: AJaThX6ihVWHUDCkDgnGHNl5WZSjRyLB18TdWI3scinR9dL7HbDvzBAC eBjUUFFs2E+xiT6kqll3dqV+aKLH X-Google-Smtp-Source: ABhQp+RDBunDoR7y39IcecwOOxkoyKrgJmsb3xYSGHuN4W7xM48+tEBXKw9qPlz/2Bi9I9FIX+N4pQ== X-Received: by 10.80.213.131 with SMTP id v3mr912080edi.256.1510291940165; Thu, 09 Nov 2017 21:32:20 -0800 (PST) Original-Received: from lolita.yourcompany.com (188.139.62.94.rev.vodafone.pt. [94.62.139.188]) by smtp.gmail.com with ESMTPSA id 3sm6629285edv.50.2017.11.09.21.32.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 09 Nov 2017 21:32:18 -0800 (PST) In-Reply-To: <638b80d6-2772-7650-b4ac-f43c3146bfaf@yandex.ru> (Dmitry Gutov's message of "Fri, 10 Nov 2017 02:02:04 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:139712 Archived-At: Dmitry Gutov writes: > So I think the important point is to skip the trailing whitespace > first. Maybe this calls for a test case or two. Indeed, the tests to flymake-diag-region should be 6-fold though. Two tests, with and without column indication, where eob is being pointed to, for each of these buffer fixtures w/o trailing newline -> highlight last line of visible chars with trailing newline -> highlight last line of visible chars with two trailing newlines -> highlight wide last line of whitespace ...but I'm too lazy at this time of night to do the tests, though I do have the patch I think should fix them :-) Thanks, Jo=C3=A3o diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index b4ab7f223f..241ea00d64 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el @@ -318,7 +318,11 @@ flymake-diag-region (goto-char (point-min)) (forward-line (1- line)) (cl-flet ((fallback-bol - () (progn (back-to-indentation) (point))) + () + (back-to-indentation) + (if (eobp) + (line-beginning-position 0) + (point))) (fallback-eol (beg) (progn @@ -335,11 +339,11 @@ flymake-diag-region (not (=3D sexp-end beg)) sexp-end) (and (< (goto-char (1+ beg)) (point-max)) - (point)))) - (safe-end (or end - (fallback-eol beg)))) - (cons (if end beg (fallback-bol)) - safe-end)) + (point))))) + (if end + (cons beg end) + (cons (setq beg (fallback-bol)) + (fallback-eol beg)))) (let* ((beg (fallback-bol)) (end (fallback-eol beg))) (cons beg end)))))))