Subject: bug#31921: closed (Re: bug#31921: 26.1.50; Add a convenient way to get flymake error at point)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 25 Jun 2018 11:34:03 +0000

Your bug report

#31921: 26.1.50; Add a convenient way to get flymake error at point

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31921: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31921
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#31921: 26.1.50; Add a convenient way to get flymake error at point
From: João Távora <[email-masked]>
To: Carlos Pita <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Mon, 25 Jun 2018 12:33:16 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Carlos Pita <[email-masked]> writes:

>>> So feel free to close this, but please add something wrt this in the
>>> docstring or the info manual.
>>
>> In that case, it's better not to close it.  I've already read this
>> complaint/request elsewhere.
>
> I don't know if `C-h .` was intended by design or is the result of
> serendipity but it feels like the right solution to me

Neither I think, it's a side effect of good design and following
conventions.

I pushed the docchange to master as 15f4cdd873.

>> So, if others are reading this, what do you think of making eldoc
>> display the diagnostic at point instead of (along with?) whatever it was
>> already displaying in the echo area?
>
> Many major modes already use eldoc to show information about the
> symbol at point and the echo area is rather disputed by eldoc,
> company, etc. I would avoid automatically messaging the error at point
> to prevent excessive message switching. But it could be a
> customization toggle.

Yeah, I'd go with Dmitry's suggestion in

   https://github.com/joaotavora/eglot/issues/8#issuecomment-399698728

where he demonstrates that you can customize this by using:

   (custom-set-variables
    '(help-at-pt-timer-delay 0.1)
    '(help-at-pt-display-when-idle '(flymake-diagnostic)))

Though, in my testing, this always defers to eldoc (which is probably
the intended behavior).

João

Subject: 26.1.50; Add a convenient way to get flymake error at point
From: Carlos Pita <[email-masked]>
To: [email-masked]
Date: Thu, 21 Jun 2018 02:45:58 -0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Currently flymake gives a visual hint of an error location but to get the
message of that error you need either to:

1. Move the mouse over the error location and wait for a tooltip to
appear.

2. Move the point before (after) the error location and use the commands
to get the next (previous) error.

Now 2 is clearly not ideal since it forces the user to locate the point in
non-intuitive positions (intuitive position = where the error
highlighting is) and to type long commands.

At first sight 1 seems to address this fact but, hey, the mouse?
A tooltip delay? It's nice to have it but a standard keybinding is
missing here IMO. Besides, it's not so easy to define a custom one since
there is no error-at-point function, one has to get the point location,
then the diagnostics for that location, then the text for those diagnostics.

---

In GNU Emacs 26.1.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
 of 2018-06-18 built on carlos
Repository revision: 0a8b7f365cbc8de02ddb4e806dd76b1bf6302565
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description:	Manjaro Linux

Recent messages:
Creating group entries...done
Creating customization items ...done
Resetting customization items...done
Creating customization setup...done
next-line: End of buffer
Quit
Eldoc mode disabled in current buffer
Mark set
Type C-x 1 to delete the help window.
Making completion list...
flymake-diagnostic-text: Wrong type argument: flymake--diag, 172
Configured using:
 'configure --prefix=/home/carlos/Local/stow/emacs-26
 --libexecdir=/home/carlos/Local/stow/emacs-26/lib --with-x-toolkit=gtk3
 --with-xft --with-modules'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS NOTIFY ACL GNUTLS
LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11
MODULES THREADS LIBSYSTEMD LCMS2

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

Major mode: Emacs-Lisp

Minor modes in effect:
  display-line-numbers-mode: t
  flymake-mode: t
  diff-auto-refine-mode: t
  pyvenv-mode: t
  shell-dirtrack-mode: t
  xclip-mode: t
  winner-mode: t
  show-paren-mode: t
  ido-ubiquitous-mode: t
  ido-everywhere: t
  global-company-mode: t
  company-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail two-column
iso-transl eieio-opt speedbar sb-image dframe semantic/wisent/python
semantic/db-mode semantic/decorate/include semantic/db-find
semantic/db-ref semantic/db eieio-base semantic/decorate/mode
semantic/decorate pulse semantic/format ezimage semantic/tag-ls
semantic/ctxt semantic/dep semantic/find semantic/wisent/python-wy
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet rx
allout-widgets allout all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons debug noutline outline jka-compr find-func pp cl-print
autoload lisp-mnt misearch multi-isearch display-line-numbers checkdoc
flymake-proc flymake warnings doom-themes-org vc-git cl-extra yasnippet
elec-pair highlight-indentation help-fns radix-tree help-mode elpy
find-file-in-project ivy delsel ivy-overlay ffap thingatpt windmove
diff-mode easy-mmode elpy-shell pyvenv esh-var esh-io esh-cmd esh-opt
esh-ext esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util
elpy-profile elpy-django elpy-refactor subr-x python tramp-sh tramp
tramp-compat tramp-loaddefs trampver ucs-normalize shell pcomplete
parse-time format-spec advice json map grep compile comint ansi-color
files-x company-oddmuse company-keywords company-etags etags xref
project company-gtags company-dabbrev-code company-dabbrev company-files
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-css company-nxml company-bbdb
doom-tomorrow-night-theme doom-themes doom-themes-common xclip winner
ring paren ido-completing-read+ memoize s cus-edit minibuf-eldef ido
gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
mail-utils mm-util mail-prsvr wid-edit company edmacro kmacro pcase
cus-start cus-load finder-inf info package easymenu epg-config
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib server time-date mule-util 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 menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame 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 minibuffer 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 dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 1931212 109955)
 (symbols 48 39622 1)
 (miscs 40 3436 609)
 (strings 32 115065 3324)
 (string-bytes 1 2950094)
 (vectors 16 79121)
 (vector-slots 8 1950064 121286)
 (floats 8 516 347)
 (intervals 56 8533 727)
 (buffers 992 43))