From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michal Nazarewicz Newsgroups: gmane.emacs.bugs Subject: bug#19338: [PATCH 1/3] eldoc: use default eldoc function if local one gives no results Date: Wed, 10 Dec 2014 22:46:21 +0100 Organization: http://mina86.com/ Message-ID: References: <1418232280-16915-1-git-send-email-mpn@google.com> <1418233785-18020-1-git-send-email-mpn@google.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1418248050 13588 80.91.229.3 (10 Dec 2014 21:47:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 10 Dec 2014 21:47:30 +0000 (UTC) Cc: 19338@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Dec 10 22:47:23 2014 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 1Xyp6Q-0006JF-6C for geb-bug-gnu-emacs@m.gmane.org; Wed, 10 Dec 2014 22:47:22 +0100 Original-Received: from localhost ([::1]:48148 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xyp6L-0004FX-7v for geb-bug-gnu-emacs@m.gmane.org; Wed, 10 Dec 2014 16:47:17 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36369) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xyp6E-0004FK-Ny for bug-gnu-emacs@gnu.org; Wed, 10 Dec 2014 16:47:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xyp66-0002EI-Mi for bug-gnu-emacs@gnu.org; Wed, 10 Dec 2014 16:47:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60938) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xyp66-0002EE-IS for bug-gnu-emacs@gnu.org; Wed, 10 Dec 2014 16:47:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Xyp66-0000yF-9d for bug-gnu-emacs@gnu.org; Wed, 10 Dec 2014 16:47:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Michal Nazarewicz Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 10 Dec 2014 21:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19338 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 19338-submit@debbugs.gnu.org id=B19338.14182479933693 (code B ref 19338); Wed, 10 Dec 2014 21:47:02 +0000 Original-Received: (at 19338) by debbugs.gnu.org; 10 Dec 2014 21:46:33 +0000 Original-Received: from localhost ([127.0.0.1]:42071 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xyp5d-0000xV-8V for submit@debbugs.gnu.org; Wed, 10 Dec 2014 16:46:33 -0500 Original-Received: from mail-wg0-f42.google.com ([74.125.82.42]:59551) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xyp5Z-0000xE-Rr for 19338@debbugs.gnu.org; Wed, 10 Dec 2014 16:46:30 -0500 Original-Received: by mail-wg0-f42.google.com with SMTP id z12so4852382wgg.29 for <19338@debbugs.gnu.org>; Wed, 10 Dec 2014 13:46:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:from:to:cc:subject:in-reply-to:organization:references :user-agent:face:date:message-id:mime-version:content-type :content-transfer-encoding; bh=j2EQ1m3bgm9yFbfu+0xbw4bKJp5kWTGJuWB7fRIhYBw=; b=NcqfIrMcp/PQN19Qzu0+Pxh/w9rFpI7/awHjarz7sX125QcTruigP5Q0s/okka6+Dw Ycpn+NC81L9J6JYc2/HhST+rGBCLKrrc7zBQyLdihpWMQTdciQTfDRmi+VSco4ZrT6pJ Ex9ewcFyw6oTAFng8gAvwrLCKiBAUZkqSc/Mx7127FPEOmTNU+SeCa620Ch+o0hFBC1/ XXrysdY+S36uLSmiVzRRHD1Es7qEYE0VOwDiSQhqODTNkQJLVE8YA00zn7XLzIblfM5C XMTHl6jzDObDCbBHUhhxVbzzjhOsU/yLluW8YShTHczf/A0e0gtanrvZWPodHa+X0JPw JaPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:in-reply-to :organization:references:user-agent:face:date:message-id :mime-version:content-type:content-transfer-encoding; bh=j2EQ1m3bgm9yFbfu+0xbw4bKJp5kWTGJuWB7fRIhYBw=; b=lHERAvkaydcu81/v0BqxTlF2a1sU+ZaukZV8VGmhw4rBLHNS21V1MEibbB4QZDVOKV UIPZStPdJwQAipthdw+ufkh+DOscW/Hx8EZV7uYUzJV9paSS8cb+D3qWt/25yBWmpAaN c0oIBrqP8kJ4Hdk7T0d7XV+h0JU9HxUGR73vCBlMh/LpWGHvfVN1nIFmvzYIe0m/Nhba xlLU1ZmxOgN+BbU1gorzEfBFcbwsSl05KimAjk5ftqRM/dsQeS6W4kSDEums+g0u/vgv hl+0QjsHSazOT32/Q8e2dvhbHDDSolMG2VgIWRBnlNMdRiCHbJufpgUvNncEyTcpIk2i wvIw== X-Gm-Message-State: ALoCoQltQvgn/jGOx8F/cg9fhce2jewzgOkYQWlaD/oNdkcTsRziJRNhM//vA08Q7Y0GGis8eGhO X-Received: by 10.194.79.226 with SMTP id m2mr10242688wjx.60.1418247984089; Wed, 10 Dec 2014 13:46:24 -0800 (PST) Original-Received: from mpn-glaptop.roam.corp.google.com ([2620:0:105f:310:381f:eb80:e0ce:71dc]) by mx.google.com with ESMTPSA id j2sm7430159wjs.28.2014.12.10.13.46.22 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 10 Dec 2014 13:46:23 -0800 (PST) In-Reply-To: User-Agent: Notmuch/0.19~rc1+1~g03aea4f (http://notmuchmail.org) Emacs/25.0.50.2 (x86_64-unknown-linux-gnu) X-Face: PbkBB1w#)bOqd`iCe"Ds{e+!C7`pkC9a|f)Qo^BMQvy\q5x3?vDQJeN(DS?|-^$uMti[3D*#^_Ts"pU$jBQLq~Ud6iNwAw_r_o_4]|JO?]}P_}Nc&"p#D(ZgUb4uCNPe7~a[DbPG0T~!&c.y$Ur,=N4RT>]dNpd; KFrfMCylc}gc??'U2j,!8%xdD Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEWbfGlUPDDHgE57V0jUupKjgIObY0PLrom9mH4dFRK4gmjPs41MxjOgAAACQElEQVQ4jW3TMWvbQBQHcBk1xE6WyALX1069oZBMlq+ouUwpEQQ6uRjttkWP4CmBgGM0BQLBdPFZYPsyFUo6uEtKDQ7oy/U96XR2Ux8ehH/89Z6enqxBcS7Lg81jmSuujrfCZcLI/TYYvbGj+jbgFpHJ/bqQAUISj8iLyu4LuFHJTosxsucO4jSDNE0Hq3hwK/ceQ5sx97b8LcUDsILfk+ovHkOIsMbBfg43VuQ5Ln9YAGCkUdKJoXR9EclFBhixy3EGVz1K6eEkhxCAkeMMnqoAhAKwhoUJkDrCqvbecaYINlFKSRS1i12VKH1XpUd4qxL876EkMcDvHj3s5RBajHHMlA5iK32e0C7VgG0RlzFPvoYHZLRmAC0BmNcBruhkE0KsMsbEc62ZwUJDxWUdMsMhVqovoT96i/DnX/ASvz/6hbCabELLk/6FF/8PNpPCGqcZTGFcBhhAaZZDbQPaAB3+KrWWy2XgbYDNIinkdWAFcCpraDE/knwe5DBqGmgzESl1p2E4MWAz0VUPgYYzmfWb9yS4vCvgsxJriNTHoIBz5YteBvg+VGISQWUqhMiByPIPpygeDBE6elD973xWwKkEiHZAHKjhuPsFnBuArrzxtakRcISv+XMIPl4aGBUJm8Emk7qBYU8IlgNEIpiJhk/No24jHwkKTFHDWfPniR 4iw5vJaw2nzSjfq2zffcE/GDjRC2dn0J0XwPAbDL84TvaFCJEU4Oml9pRyEUhR3Cl2t01AoEjRbs0sYugp14/4X5n4pU4EHHnMAAAAAElFTkSuQmCC X-PGP: 50751FF4 X-PGP-FP: AC1F 5F5C D418 88F8 CC84 5858 2060 4012 5075 1FF4 X-Hashcash: 1:20:141210:monnier@iro.umontreal.ca::LPzI2zhJBQdhNv7T:00000000000000000000000000000000000004dQm X-Hashcash: 1:20:141210:19338@debbugs.gnu.org::Thbjbm2D/rJk8/LS:00000000000000000000000000000000000000004cqx X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.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:97171 Archived-At: On Wed, Dec 10 2014, Stefan Monnier wrote: >> - (eldoc-message (funcall eldoc-documentation-function))))) >> + (eldoc-message >> + (or (funcall eldoc-documentation-function) >> + ;; If local documentation function did not return anythin= g, try >> + ;; global one. >> + (when (local-variable-p 'eldoc-documentation-function) >> + (let ((func (default-value 'eldoc-documentation-functio= n))) >> + (when func (funcall func))))))))) > > We don't need that: if the major-mode wants that to happen, it can do > that with an appropriate call to add-function, which will take care of > delegating to the global value if/when applicable. > > This works very much like the add-hook's `local' argument. So the point here is that I don't want major-mode to be aware of what I might have set the default value of `eldoc-documentation-function' to (and work even if I change it at any point). This is also why I made `eldoc-documentation-function' into a defcustom so user can customise the default value regardless of what major-mode is doing. I first tried doing it with `eldoc-mode' but the result didn't seem clean or working correctly when major mode had its own eldoc function set. --=20 Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=3D./ `o ..o | Computer Science, Micha=C5=82 =E2=80=9Cmina86=E2=80=9D Nazarewicz = (o o) ooo +------ooO--(_)--Ooo--