GNU bug report logs - #39971
28.0.50; Behavior change in flymake-diagnostic-beg/end

Previous Next

Package: emacs;

Reported by: Philipp Stephani <p.stephani2 <at> gmail.com>

Date: Sat, 7 Mar 2020 12:30:02 UTC

Severity: normal

Tags: fixed

Found in version 28.0.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39971 in the body.
You can then email your comments to 39971 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#39971; Package emacs. (Sat, 07 Mar 2020 12:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Philipp Stephani <p.stephani2 <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 07 Mar 2020 12:30:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Philipp Stephani <p.stephani2 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.50; Behavior change in flymake-diagnostic-beg/end
Date: Sat, 07 Mar 2020 13:28:55 +0100
With Emacs 26:

$ emacs -Q -batch -l flymake --eval='(with-temp-buffer (let ((debug-on-error t) (diag (flymake-make-diagnostic (current-buffer) 1 1 (quote warning) "foo"))) (print (flymake-diagnostic-beg diag))))'

1

With the Emacs 27 pretest:

$ ./src/emacs -Q -batch -l flymake --eval='(with-temp-buffer (let ((debug-on-error t) (diag (flymake-make-diagnostic (current-buffer) 1 1 (quote warning) "foo"))) (print (flymake-diagnostic-beg diag))))'
Debugger entered--Lisp error: (wrong-type-argument overlayp nil)
  overlay-start(nil)
  flymake-diagnostic-beg(#s(flymake--diag :buffer #<buffer  *temp*> :beg 1 :end 1 :type warning :text "foo" :backend nil :data nil :overlay-properties nil :overlay nil))
[…]

This was introduced in commit 5b48dab412c61980bca63a67a5d548d07e56b404.
While the intention of that commit is good, I'm not sure we should make
such a breaking change.  Basically, the flymake-diagnostic type no
longer behaves like an ordinary struct.


In GNU Emacs 28.0.50 (build 10, x86_64-pc-linux-gnu, GTK+ Version 3.24.12, cairo version 1.16.0)
 of 2020-02-25
Repository revision: 03c07c88d90b5747456b9d286bace2dd4a713aac
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Debian GNU/Linux rodete

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --enable-gcc-warnings=warn-only
 --enable-gtk-deprecation-warnings --without-pop --with-mailutils
 --enable-checking --enable-check-lisp-object-type --with-modules
 'CFLAGS=-O0 -ggdb3''

Configured features:
XPM JPEG TIFF GIF PNG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY
LIBSELINUX GNUTLS FREETYPE HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS GTK3 X11
XDBE XIM MODULES THREADS PDUMPER GMP

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec epa epg epg-config gnus-util
rmail rmail-loaddefs text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils phst skeleton
derived edmacro kmacro pcase ffap thingatpt url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars
subr-x rx gnutls puny seq byte-opt gv bytecomp byte-compile cconv dbus
xml cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page
tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core term/tty-colors frame
minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite charscript charprop case-table epa-hook jka-cmpr-hook help
simple abbrev obarray cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 59428 8101)
 (symbols 48 8079 1)
 (strings 32 20894 1798)
 (string-bytes 1 679977)
 (vectors 16 12054)
 (vector-slots 8 164864 5040)
 (floats 8 26 33)
 (intervals 56 196 0)
 (buffers 1000 11))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39971; Package emacs. (Tue, 12 May 2020 19:01:01 GMT) Full text and rfc822 format available.

Message #8 received at 39971 <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Philipp Stephani <p.stephani2 <at> gmail.com>
Cc: 39971 <at> debbugs.gnu.org
Subject: Re: bug#39971: 28.0.50; Behavior change in flymake-diagnostic-beg/end
Date: Tue, 12 May 2020 20:00:41 +0100
Philipp Stephani <p.stephani2 <at> gmail.com> writes:

> This was introduced in commit 5b48dab412c61980bca63a67a5d548d07e56b404.
> While the intention of that commit is good, I'm not sure we should make
> such a breaking change.

Programs relying on that behaviour were broken anyway.  Do you have
non-synthetic example?

But even in Emacs 26.3, the new version of Flymake can be (and usually
is) upgradeable with M-x install-package.

> Basically, the flymake-diagnostic type no longer behaves like an
> ordinary struct.

It doesn't have to, and that's good.  It means we can hide the
implementation.  If you can come up with a simple enough doc fix that
expresses that flymake-diagnostic-beg/end can only be invoked on
diagnostics that have been reported to Flymake, I'll merge it.

Also, we can make the error message a bit friendlier to express that
fact, so maybe include that in your patch?

João






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39971; Package emacs. (Fri, 29 Jan 2021 06:17:01 GMT) Full text and rfc822 format available.

Message #11 received at 39971 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: João Távora <joaotavora <at> gmail.com>
Cc: Philipp Stephani <p.stephani2 <at> gmail.com>, 39971 <at> debbugs.gnu.org
Subject: Re: bug#39971: 28.0.50; Behavior change in flymake-diagnostic-beg/end
Date: Fri, 29 Jan 2021 07:15:55 +0100
João Távora <joaotavora <at> gmail.com> writes:

> It doesn't have to, and that's good.  It means we can hide the
> implementation.  If you can come up with a simple enough doc fix that
> expresses that flymake-diagnostic-beg/end can only be invoked on
> diagnostics that have been reported to Flymake, I'll merge it.
>
> Also, we can make the error message a bit friendlier to express that
> fact, so maybe include that in your patch?

I've now done so in Emacs 28.  Feel free to change.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 29 Jan 2021 06:17:01 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 39971 <at> debbugs.gnu.org and Philipp Stephani <p.stephani2 <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 29 Jan 2021 06:17:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 26 Feb 2021 12:24:15 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 60 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.