From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Carlos Pita Newsgroups: gmane.emacs.bugs Subject: bug#19637: 25.0.50; ipython eldoc keep visible while typing parameters Date: Thu, 5 Feb 2015 16:21:03 -0300 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11c38892bae072050e5c353a X-Trace: ger.gmane.org 1423164132 22306 80.91.229.3 (5 Feb 2015 19:22:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 5 Feb 2015 19:22:12 +0000 (UTC) To: 19637@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Feb 05 20:22:12 2015 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 1YJS0B-0001r8-KL for geb-bug-gnu-emacs@m.gmane.org; Thu, 05 Feb 2015 20:22:11 +0100 Original-Received: from localhost ([::1]:44847 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YJS0A-0006Pm-S9 for geb-bug-gnu-emacs@m.gmane.org; Thu, 05 Feb 2015 14:22:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54924) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YJS07-0006O6-7n for bug-gnu-emacs@gnu.org; Thu, 05 Feb 2015 14:22:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YJS02-0003MP-8S for bug-gnu-emacs@gnu.org; Thu, 05 Feb 2015 14:22:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:43768) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YJS02-0003ML-5G for bug-gnu-emacs@gnu.org; Thu, 05 Feb 2015 14:22:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YJS01-0000xF-SC for bug-gnu-emacs@gnu.org; Thu, 05 Feb 2015 14:22:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Carlos Pita Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 05 Feb 2015 19:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19637 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 19637-submit@debbugs.gnu.org id=B19637.14231640933633 (code B ref 19637); Thu, 05 Feb 2015 19:22:01 +0000 Original-Received: (at 19637) by debbugs.gnu.org; 5 Feb 2015 19:21:33 +0000 Original-Received: from localhost ([127.0.0.1]:35008 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YJRzY-0000wX-L3 for submit@debbugs.gnu.org; Thu, 05 Feb 2015 14:21:32 -0500 Original-Received: from mail-lb0-f181.google.com ([209.85.217.181]:64527) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YJRzW-0000wH-Fm for 19637@debbugs.gnu.org; Thu, 05 Feb 2015 14:21:31 -0500 Original-Received: by mail-lb0-f181.google.com with SMTP id u14so4276050lbd.12 for <19637@debbugs.gnu.org>; Thu, 05 Feb 2015 11:21:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:cc:content-type; bh=qozwqCjN/04pdv1D+6vn+fs9hd1+nhiFC040NEO5EyQ=; b=Ye+79JZ1B+aCpY3tvO+wt8CHkI/b5vlT+12t+G+83TiL+KHmBMwOdJRdmOj4Z2zbrI WgOEerfz5kG0UWs63bdlExzZFSxLFAxf98fGA0unkIlbMaK37XHI0O9jMtuojdcLr9SI M5QTGmNIWVLZKuSln6Oj8HSVmj7MTEunVDXpQezq5/kI64FvRMfR5ZFG3wZsqj17+Gxt 5larHYNzInH5vNJyxL5qaBg4bPQ3ghqXqVsbJHai5pvKlOhNXfZer504bIQlWk5RrdB2 W9DGQaz2/0sdjP3fZ0Ifrk9pYdbztjQLzTsm/OfBooR8DYAgXRxtvayUs75kGMY825sP JOhA== X-Received: by 10.112.141.166 with SMTP id rp6mr2024914lbb.120.1423164084723; Thu, 05 Feb 2015 11:21:24 -0800 (PST) Original-Received: by 10.112.124.202 with HTTP; Thu, 5 Feb 2015 11:21:03 -0800 (PST) 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:99077 Archived-At: --001a11c38892bae072050e5c353a Content-Type: text/plain; charset=UTF-8 Here is a tentative patch. What it does is the following: 1) If point is in a paren context it escapes to the opening parenthesis 2) Now, if point is left (or was there from the very beginning) over an opening (, then the relevant symbol is the one to the left of the (, so whitespaces, newlines and backslashes are skipped backwards. Presumably the point is now over a symbol. 3) We call (python-info-current-symbol). If a symbol is indeed parsed, it's returned, if not, then the point position is restored and (python-info-current-symbol) is called as usual. Notice that the above allows for nested calls. But the exact behavior is as follows (say * marks the position of the point): a) m*ap(xx will return map b) map(xx* will return map c) map(open* will also return map d) map(open(xx* will return open I think this is almost always what you want. But a more complex sequence could be implemented for c that first checks if there is any documentation for 'open' and only in case there was no documentation for the symbol, it showed the documentation for 'map'. I don't think it's worth the extra complexity. Cheers -- Carlos --001a11c38892bae072050e5c353a Content-Type: text/x-patch; charset=US-ASCII; name="tooltip.patch" Content-Disposition: attachment; filename="tooltip.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i5sj4vh10 ZGlmZiAtLWdpdCBhLy5lbWFjcy5kL2xpc3AvcHl0aG9uLmVsIGIvLmVtYWNzLmQvbGlzcC9weXRo b24uZWwKaW5kZXggNGM4ZjRjNi4uM2ZlNjJlMCAxMDA2NDQKLS0tIGEvLmVtYWNzLmQvbGlzcC9w eXRob24uZWwKKysrIGIvLmVtYWNzLmQvbGlzcC9weXRob24uZWwKQEAgLTM5NDAsMTUgKzM5NDAs MjUgQEAgU2VlIGBweXRob24tY2hlY2stY29tbWFuZCcgZm9yIHRoZSBkZWZhdWx0LiIKICAgOnR5 cGUgJ3N0cmluZwogICA6Z3JvdXAgJ3B5dGhvbikKIAorKGRlZnVuIHB5dGhvbi1lbGRvYy0tZ2V0 LXN5bWJvbC1hdC1wb2ludCAoKQorICAob3IgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICh3aGVu IChsZXQgKChzdGFydCAocHl0aG9uLXN5bnRheC1jb250ZXh0ICdwYXJlbikpKQorICAgICAgICAg ICAgICAgICh3aGVuIHN0YXJ0CisgICAgICAgICAgICAgICAgICAoZ290by1jaGFyIHN0YXJ0KSkK KyAgICAgICAgICAgICAgICAoPSAoY2hhci1hZnRlcikgP1woKSkKKyAgICAgICAgICAoc2tpcC1j aGFycy1iYWNrd2FyZCAiIFx0XG5cXFxcIikKKyAgICAgICAgICAocHl0aG9uLWluZm8tY3VycmVu dC1zeW1ib2wpKSkKKyAgICAgIChweXRob24taW5mby1jdXJyZW50LXN5bWJvbCkpKQorCiAoZGVm dW4gcHl0aG9uLWVsZG9jLS1nZXQtZG9jLWF0LXBvaW50ICgmb3B0aW9uYWwgZm9yY2UtaW5wdXQg Zm9yY2UtcHJvY2VzcykKICAgIkludGVybmFsIGltcGxlbWVudGF0aW9uIHRvIGdldCBkb2N1bWVu dGF0aW9uIGF0IHBvaW50LgotSWYgbm90IEZPUkNFLUlOUFVUIGlzIHBhc3NlZCB0aGVuIHdoYXQg YHB5dGhvbi1pbmZvLWN1cnJlbnQtc3ltYm9sJworSWYgbm90IEZPUkNFLUlOUFVUIGlzIHBhc3Nl ZCB0aGVuIHdoYXQgYHB5dGhvbi1lbGRvYy0tZ2V0LXN5bWJvbC1hdC1wb2ludCcKIHJldHVybnMg d2lsbCBiZSB1c2VkLiAgSWYgbm90IEZPUkNFLVBST0NFU1MgaXMgcGFzc2VkIHdoYXQKIGBweXRo b24tc2hlbGwtZ2V0LXByb2Nlc3MnIHJldHVybnMgaXMgdXNlZC4iCiAgIChsZXQgKChwcm9jZXNz IChvciBmb3JjZS1wcm9jZXNzIChweXRob24tc2hlbGwtZ2V0LXByb2Nlc3MpKSkpCiAgICAgKHdo ZW4gcHJvY2VzcwogICAgICAgKGxldCAoKGlucHV0IChvciBmb3JjZS1pbnB1dAotICAgICAgICAg ICAgICAgICAgICAgICAocHl0aG9uLWluZm8tY3VycmVudC1zeW1ib2wgdCkpKSkKKyAgICAgICAg ICAgICAgICAgICAgICAgKHB5dGhvbi1lbGRvYy0tZ2V0LXN5bWJvbC1hdC1wb2ludCkpKSkKICAg ICAgICAgKGFuZCBpbnB1dAogICAgICAgICAgICAgIDs7IFByZXZlbnQgcmVzaXppbmcgdGhlIGVj aG8gYXJlYSB3aGVuIGlQeXRob24gaXMKICAgICAgICAgICAgICA7OyBlbmFibGVkLiAgQnVnIzE4 Nzk0Lgo= --001a11c38892bae072050e5c353a--