unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27202: 26.0.50; Eldoc mode is broken
@ 2017-06-02 19:53 Stephen Berman
  2017-06-02 21:18 ` Dmitry Gutov
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Berman @ 2017-06-02 19:53 UTC (permalink / raw)
  To: 27202

0. emacs -Q
1. M-: (car SPC
=> No function signature in the mode line, whereas before the breakage
   the mode line would display this:
   car: (LIST)

Git bisect says:

2349f1df1b11381c421287670ffd0f84725d7818 is the first bad commit
commit 2349f1df1b11381c421287670ffd0f84725d7818
Author: Dmitry Gutov <dgutov@yandex.ru>
Date:   Tue May 30 02:55:28 2017 +0300

    Turn global-eldoc-mode into a globalized minor mode
    
    * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
    Turn into globalized mode (bug#19853).
    (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
    (eldoc-mode): Only show the message when called interactively.


In GNU Emacs 26.0.50 (build 36, x86_64-pc-linux-gnu, GTK+ Version 3.22.8)
 of 2017-06-01 built on rosalinde
Repository revision: 5dc0129c299f6cc7a0bdfbf7edc92a85bb3a0597
Windowing system distributor 'The X.Org Foundation', version 11.0.11901000

Configured using:
 'configure 'CFLAGS=-Og -g3''

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

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





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-02 19:53 bug#27202: 26.0.50; Eldoc mode is broken Stephen Berman
@ 2017-06-02 21:18 ` Dmitry Gutov
  2017-06-02 22:16   ` Stephen Berman
  0 siblings, 1 reply; 11+ messages in thread
From: Dmitry Gutov @ 2017-06-02 21:18 UTC (permalink / raw)
  To: Stephen Berman, 27202

On 6/2/17 10:53 PM, Stephen Berman wrote:
> 0. emacs -Q
> 1. M-: (car SPC
> => No function signature in the mode line, whereas before the breakage
>     the mode line would display this:
>     car: (LIST)

Please try 'make bootstrap'. It also stopped working on my machine until 
I've done that.

Maybe because of ':initialize 'custom-initialize-delay'.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-02 21:18 ` Dmitry Gutov
@ 2017-06-02 22:16   ` Stephen Berman
  2017-06-02 22:47     ` Stephen Berman
  2017-06-02 23:08     ` Dmitry Gutov
  0 siblings, 2 replies; 11+ messages in thread
From: Stephen Berman @ 2017-06-02 22:16 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 27202

On Sat, 3 Jun 2017 00:18:33 +0300 Dmitry Gutov <dgutov@yandex.ru> wrote:

> On 6/2/17 10:53 PM, Stephen Berman wrote:
>> 0. emacs -Q
>> 1. M-: (car SPC
>> => No function signature in the mode line, whereas before the breakage
>>     the mode line would display this:
>>     car: (LIST)
>
> Please try 'make bootstrap'. It also stopped working on my machine until I've
> done that.

Boostrapping latest master didn't fix it here.

Steve Berman





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-02 22:16   ` Stephen Berman
@ 2017-06-02 22:47     ` Stephen Berman
  2017-06-02 23:05       ` Dmitry Gutov
  2017-06-02 23:08     ` Dmitry Gutov
  1 sibling, 1 reply; 11+ messages in thread
From: Stephen Berman @ 2017-06-02 22:47 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 27202

On Sat, 03 Jun 2017 00:16:25 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:

> On Sat, 3 Jun 2017 00:18:33 +0300 Dmitry Gutov <dgutov@yandex.ru> wrote:
>
>> On 6/2/17 10:53 PM, Stephen Berman wrote:
>>> 0. emacs -Q
>>> 1. M-: (car SPC
>>> => No function signature in the mode line, whereas before the breakage
>>>     the mode line would display this:
>>>     car: (LIST)
>>
>> Please try 'make bootstrap'. It also stopped working on my machine until I've
>> done that.
>
> Boostrapping latest master didn't fix it here.

I manually reverted this part of 2349f1df1b:

-(define-minor-mode global-eldoc-mode
-  "Toggle Global Eldoc mode on or off.
-With a prefix argument ARG, enable Global Eldoc mode if ARG is
-positive, and disable it otherwise.  If called from Lisp, enable
-the mode if ARG is omitted or nil, and toggle it if ARG is ‘toggle’.
-
-If Global Eldoc mode is on, `eldoc-mode' will be enabled in all
-buffers where it's applicable.  These are buffers that have modes
-that have enabled eldoc support.  See `eldoc-documentation-function'."
+(define-globalized-minor-mode global-eldoc-mode eldoc-mode turn-on-eldoc-mode
   :group 'eldoc
-  :global t
   :initialize 'custom-initialize-delay
-  :init-value t
-  (setq eldoc-last-message nil)
-  (if global-eldoc-mode
-      (progn
-	(add-hook 'post-command-hook #'eldoc-schedule-timer)
-	(add-hook 'pre-command-hook #'eldoc-pre-command-refresh-echo-area))
-    (remove-hook 'post-command-hook #'eldoc-schedule-timer)
-    (remove-hook 'pre-command-hook #'eldoc-pre-command-refresh-echo-area)))
+  :init-value t)

then rebuilt Emacs (just make, not bootstrap), and now Eldoc in the
modeline works here again.

Steve Berman





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-02 22:47     ` Stephen Berman
@ 2017-06-02 23:05       ` Dmitry Gutov
  2017-06-02 23:21         ` Stephen Berman
  0 siblings, 1 reply; 11+ messages in thread
From: Dmitry Gutov @ 2017-06-02 23:05 UTC (permalink / raw)
  To: Stephen Berman; +Cc: 27202

On 6/3/17 1:47 AM, Stephen Berman wrote:

>> Boostrapping latest master didn't fix it here.
> 
> I manually reverted this part of 2349f1df1b:

So basically all of it.

> -(define-minor-mode global-eldoc-mode
> -  "Toggle Global Eldoc mode on or off.
> -With a prefix argument ARG, enable Global Eldoc mode if ARG is
> -positive, and disable it otherwise.  If called from Lisp, enable
> -the mode if ARG is omitted or nil, and toggle it if ARG is ‘toggle’.
> -
> -If Global Eldoc mode is on, `eldoc-mode' will be enabled in all
> -buffers where it's applicable.  These are buffers that have modes
> -that have enabled eldoc support.  See `eldoc-documentation-function'."
> +(define-globalized-minor-mode global-eldoc-mode eldoc-mode turn-on-eldoc-mode
>     :group 'eldoc
> -  :global t
>     :initialize 'custom-initialize-delay
> -  :init-value t
> -  (setq eldoc-last-message nil)
> -  (if global-eldoc-mode
> -      (progn
> -	(add-hook 'post-command-hook #'eldoc-schedule-timer)
> -	(add-hook 'pre-command-hook #'eldoc-pre-command-refresh-echo-area))
> -    (remove-hook 'post-command-hook #'eldoc-schedule-timer)
> -    (remove-hook 'pre-command-hook #'eldoc-pre-command-refresh-echo-area)))
> +  :init-value t)
> 
> then rebuilt Emacs (just make, not bootstrap), and now Eldoc in the
> modeline works here again.

Do you have an explanation why one version of the code works, and 
another doesn't?





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-02 22:16   ` Stephen Berman
  2017-06-02 22:47     ` Stephen Berman
@ 2017-06-02 23:08     ` Dmitry Gutov
  2017-06-02 23:20       ` Stephen Berman
  1 sibling, 1 reply; 11+ messages in thread
From: Dmitry Gutov @ 2017-06-02 23:08 UTC (permalink / raw)
  To: Stephen Berman; +Cc: 27202

>> On 6/2/17 10:53 PM, Stephen Berman wrote:
>>> 0. emacs -Q
>>> 1. M-: (car SPC
>>> => No function signature in the mode line, whereas before the breakage
>>>      the mode line would display this:
>>>      car: (LIST)

> Boostrapping latest master didn't fix it here.

All right, I see this. So it's specifically broken in the minibuffer? 
Not everywhere?





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-02 23:08     ` Dmitry Gutov
@ 2017-06-02 23:20       ` Stephen Berman
  2017-06-02 23:53         ` Dmitry Gutov
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Berman @ 2017-06-02 23:20 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 27202

On Sat, 3 Jun 2017 02:08:15 +0300 Dmitry Gutov <dgutov@yandex.ru> wrote:

>>> On 6/2/17 10:53 PM, Stephen Berman wrote:
>>>> 0. emacs -Q
>>>> 1. M-: (car SPC
>>>> => No function signature in the mode line, whereas before the breakage
>>>>      the mode line would display this:
>>>>      car: (LIST)
>
>> Boostrapping latest master didn't fix it here.
>
> All right, I see this. So it's specifically broken in the minibuffer? Not
> everywhere?

Right, with M-: there's no Eldoc message in the modeline; in an .el file
or *scratch*, the Eldoc message does appear in the echo area.  Sorry for
not be clear about that in my OP.

Steve Berman





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-02 23:05       ` Dmitry Gutov
@ 2017-06-02 23:21         ` Stephen Berman
  0 siblings, 0 replies; 11+ messages in thread
From: Stephen Berman @ 2017-06-02 23:21 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 27202

On Sat, 3 Jun 2017 02:05:49 +0300 Dmitry Gutov <dgutov@yandex.ru> wrote:

> On 6/3/17 1:47 AM, Stephen Berman wrote:
>
>>> Boostrapping latest master didn't fix it here.
>>
>> I manually reverted this part of 2349f1df1b:
>
> So basically all of it.
>
>> -(define-minor-mode global-eldoc-mode
>> -  "Toggle Global Eldoc mode on or off.
>> -With a prefix argument ARG, enable Global Eldoc mode if ARG is
>> -positive, and disable it otherwise.  If called from Lisp, enable
>> -the mode if ARG is omitted or nil, and toggle it if ARG is ‘toggle’.
>> -
>> -If Global Eldoc mode is on, `eldoc-mode' will be enabled in all
>> -buffers where it's applicable.  These are buffers that have modes
>> -that have enabled eldoc support.  See `eldoc-documentation-function'."
>> +(define-globalized-minor-mode global-eldoc-mode eldoc-mode turn-on-eldoc-mode
>>     :group 'eldoc
>> -  :global t
>>     :initialize 'custom-initialize-delay
>> -  :init-value t
>> -  (setq eldoc-last-message nil)
>> -  (if global-eldoc-mode
>> -      (progn
>> -	(add-hook 'post-command-hook #'eldoc-schedule-timer)
>> -	(add-hook 'pre-command-hook #'eldoc-pre-command-refresh-echo-area))
>> -    (remove-hook 'post-command-hook #'eldoc-schedule-timer)
>> -    (remove-hook 'pre-command-hook #'eldoc-pre-command-refresh-echo-area)))
>> +  :init-value t)
>>
>> then rebuilt Emacs (just make, not bootstrap), and now Eldoc in the
>> modeline works here again.
>
> Do you have an explanation why one version of the code works, and another
> doesn't?

No, I don't really know anything about how define-globalized-minor-mode
works, or Eldoc either, for that matter.

Steve Berman





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-02 23:20       ` Stephen Berman
@ 2017-06-02 23:53         ` Dmitry Gutov
  2017-06-03  8:59           ` Stephen Berman
  0 siblings, 1 reply; 11+ messages in thread
From: Dmitry Gutov @ 2017-06-02 23:53 UTC (permalink / raw)
  To: Stephen Berman; +Cc: 27202, Stefan Monnier

On 6/3/17 2:20 AM, Stephen Berman wrote:

>> All right, I see this. So it's specifically broken in the minibuffer? Not
>> everywhere?
> 
> Right, with M-: there's no Eldoc message in the modeline; in an .el file
> or *scratch*, the Eldoc message does appear in the echo area.  Sorry for
> not be clear about that in my OP.

Thanks.

The patch below seems to fix it.

Also Ccing Stefan: should we do it this way?

diff --git a/lisp/simple.el b/lisp/simple.el
index ea3a495..df664fc 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1484,6 +1484,7 @@ read--expression
            ;; FIXME: call emacs-lisp-mode?
            (add-function :before-until (local 
'eldoc-documentation-function)
                          #'elisp-eldoc-documentation-function)
+          (eldoc-mode 1)
            (add-hook 'completion-at-point-functions
                      #'elisp-completion-at-point nil t)
            (run-hooks 'eval-expression-minibuffer-setup-hook))







^ permalink raw reply related	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-02 23:53         ` Dmitry Gutov
@ 2017-06-03  8:59           ` Stephen Berman
  2017-06-05 22:05             ` Dmitry Gutov
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Berman @ 2017-06-03  8:59 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 27202

On Sat, 3 Jun 2017 02:53:17 +0300 Dmitry Gutov <dgutov@yandex.ru> wrote:

> On 6/3/17 2:20 AM, Stephen Berman wrote:
>
>>> All right, I see this. So it's specifically broken in the minibuffer? Not
>>> everywhere?
>>
>> Right, with M-: there's no Eldoc message in the modeline; in an .el file
>> or *scratch*, the Eldoc message does appear in the echo area.  Sorry for
>> not be clear about that in my OP.
>
> Thanks.
>
> The patch below seems to fix it.

That works for me here, too; thanks.

Steve Berman





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#27202: 26.0.50; Eldoc mode is broken
  2017-06-03  8:59           ` Stephen Berman
@ 2017-06-05 22:05             ` Dmitry Gutov
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry Gutov @ 2017-06-05 22:05 UTC (permalink / raw)
  To: Stephen Berman; +Cc: 27202-done

On 6/3/17 11:59 AM, Stephen Berman wrote:

> That works for me here, too; thanks.

Thanks for testing.

Installed, since there were no objections from anyone.






^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-06-05 22:05 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-02 19:53 bug#27202: 26.0.50; Eldoc mode is broken Stephen Berman
2017-06-02 21:18 ` Dmitry Gutov
2017-06-02 22:16   ` Stephen Berman
2017-06-02 22:47     ` Stephen Berman
2017-06-02 23:05       ` Dmitry Gutov
2017-06-02 23:21         ` Stephen Berman
2017-06-02 23:08     ` Dmitry Gutov
2017-06-02 23:20       ` Stephen Berman
2017-06-02 23:53         ` Dmitry Gutov
2017-06-03  8:59           ` Stephen Berman
2017-06-05 22:05             ` Dmitry Gutov

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).