From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#13978: 24.3; New minor mode eldoc-post-insert-mode Date: Sat, 16 Mar 2013 17:55:21 -0400 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1363470954 15945 80.91.229.3 (16 Mar 2013 21:55:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 16 Mar 2013 21:55:54 +0000 (UTC) Cc: 13978@debbugs.gnu.org To: Leo Liu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Mar 16 22:56:19 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UGz5K-0005tz-B6 for geb-bug-gnu-emacs@m.gmane.org; Sat, 16 Mar 2013 22:56:14 +0100 Original-Received: from localhost ([::1]:47291 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGz4x-0006x9-H6 for geb-bug-gnu-emacs@m.gmane.org; Sat, 16 Mar 2013 17:55:51 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:41247) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGz4p-0006we-C5 for bug-gnu-emacs@gnu.org; Sat, 16 Mar 2013 17:55:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UGz4m-00041F-CY for bug-gnu-emacs@gnu.org; Sat, 16 Mar 2013 17:55:43 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:54075) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGz4m-000415-8Q for bug-gnu-emacs@gnu.org; Sat, 16 Mar 2013 17:55:40 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1UGz66-0001pm-M2 for bug-gnu-emacs@gnu.org; Sat, 16 Mar 2013 17:57:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Mar 2013 21:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13978 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 13978-submit@debbugs.gnu.org id=B13978.13634710157037 (code B ref 13978); Sat, 16 Mar 2013 21:57:02 +0000 Original-Received: (at 13978) by debbugs.gnu.org; 16 Mar 2013 21:56:55 +0000 Original-Received: from localhost ([127.0.0.1]:58184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UGz5z-0001pS-8t for submit@debbugs.gnu.org; Sat, 16 Mar 2013 17:56:55 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.182]:38039) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UGz5w-0001pF-FW for 13978@debbugs.gnu.org; Sat, 16 Mar 2013 17:56:53 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFFFxIIq/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtkQoDpHqBXoMT X-IPAS-Result: Av4EABK/CFFFxIIq/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLDiYSFBgNJIgeBsEtkQoDpHqBXoMT X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="5070905" Original-Received: from 69-196-130-42.dsl.teksavvy.com (HELO pastel.home) ([69.196.130.42]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 16 Mar 2013 17:55:20 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 3507367A2A; Sat, 16 Mar 2013 17:55:21 -0400 (EDT) In-Reply-To: (Leo Liu's message of "Sun, 17 Mar 2013 03:23:49 +0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:72602 Archived-At: > The attached patch adds a new minor mode eldoc-post-insert-mode to > eldoc.el; the new mode can also be used by eval-expression (screenshot > attached). The feature supersedes eldoc-eval in GNU ELPA. It's looking fairly good. Questions and comments inline below. > +(defvar eval-expression-minibuffer-hook nil > + "Hook run by `eval-expression' when entering the minibuffer.") I'd call it eval-expression-minibuffer-setup-hook or maybe I'd just call an emacs-lisp-minibuffer-mode (which might need to not be an actual major-mode for technical reasons, but could try to be close to one). I'd like to move towards using major modes in the minibuffer, so we might as well plan for that future. > +(defvar eldoc-message-function nil > + "The function used by `eldoc-message' to display messages. > +It should receive the same arguments as `message'. If this is > +nil, `eldoc-minibuffer-message' is used.") Please give it `eldoc-minibuffer-message' as default value rather than nil. Better yet give it `message' as default value and set it to a different value for in-minibuffer use. > +(define-minor-mode eldoc-post-insert-mode nil > + :group 'eldoc :lighter "" > + (setq eldoc-last-message nil) > + (let ((prn-info (lambda () > + (unless eldoc-mode > + (eldoc-print-current-symbol-info-1))))) > + (if eldoc-post-insert-mode > + (add-hook 'post-self-insert-hook prn-info nil t) > + (remove-hook 'post-self-insert-hook prn-info t)))) Shouldn't that be called `eldoc-minibuffer-mode'? And why not just use eldoc-mode? > -(defun eldoc-print-current-symbol-info () > +(defun eldoc-print-current-symbol-info-1 () [...] > +(defun eldoc-print-current-symbol-info () > + (and (eldoc-display-message-p) (eldoc-print-current-symbol-info-1))) I removed (not (eq (selected-window) (minibuffer-window)) and (not cursor-in-echo-area) from my eldoc-display-message-no-interference-p and haven't noticed any downside, so maybe we can just do that and avoid creating eldoc-print-current-symbol-info-1 and eldoc-minibuffer-mode. Stefan