GNU bug report logs - #8316
23.3; python-find-function is broken

Previous Next

Package: emacs;

Reported by: Christophe Kalt <kalt <at> taranis.org>

Date: Tue, 22 Mar 2011 02:02:02 UTC

Severity: normal

Found in version 23.3

Fixed in version 24.2

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Glenn Morris <rgm <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#8316: closed (23.3; python-find-function is broken)
Date: Mon, 18 Jun 2012 23:39:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 18 Jun 2012 19:35:16 -0400
with message-id <eqr4tcfb2j.fsf <at> fencepost.gnu.org>
and subject line Re: bug#8316: 23.3; python-find-function is broken
has caused the debbugs.gnu.org bug report #8316,
regarding 23.3; python-find-function is broken
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
8316: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8316
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Christophe Kalt <kalt <at> taranis.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.3; python-find-function is broken
Date: Mon, 21 Mar 2011 21:32:42 -0400
python-find-function cannot work as the emacs.location_of function is
missing from etc/emacs[23].py
The following seems to work for Python 2.x

def location_of (name, imports):
    """Get location at which NAME is defined (or nil).
    Provides a pair (PATH, LINE), where LINE is the start of the definition
    in path name PATH.
    Exec IMPORTS first."""
    locls = {}
    if imports:
        try: exec (imports, locls)
        except: pass
    try:
        obj = eval (name, globals (), locls)
        # Bug: (in Python 2.5) `getsourcefile' only works with modules,
        # hence the `getmodule' here.
        srcfile = inspect.getsourcefile (inspect.getmodule (obj))
        _, line = inspect.getsourcelines (obj)
        print '_emacs_out ("%s" . %d)' % (srcfile.replace('\\', '/'), line)
    except:
        print "_emacs_out ()"


Couple comments:
- it isn't mine, was simply adapted from
http://www.loveshack.ukfsn.org/emacs/emacs.py
- .replace('\\', '/') seems necessary on Windows but feels like an ugly hack




In GNU Emacs 23.3.1 (i386-mingw-nt6.1.7600)
 of 2011-03-10 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 6.1.7600
configured using `configure --with-gcc (4.5) --no-opt --cflags
-Ic:/imagesupport/include'


[Message part 3 (message/rfc822, inline)]
From: Glenn Morris <rgm <at> gnu.org>
To: 8316-done <at> debbugs.gnu.org
Subject: Re: bug#8316: 23.3; python-find-function is broken
Date: Mon, 18 Jun 2012 19:35:16 -0400
Version: 24.2

Thanks for the report. The Emacs trunk has a new python.el, and it seems
your problem is fixed there. This should appear in Emacs 24.2.

python-find-function is replaced by python-nav-jump-to-defun.


This bug report was last modified 13 years and 16 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.