From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juanma Barranquero Newsgroups: gmane.emacs.bugs Subject: bug#10424: list-dynamic-libraries: show absolute filename of loaded libraries Date: Tue, 3 Jan 2012 00:56:25 +0100 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: dough.gmane.org 1325548678 5392 80.91.229.12 (2 Jan 2012 23:57:58 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 2 Jan 2012 23:57:58 +0000 (UTC) To: Emacs Bug Tracker Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jan 03 00:57:52 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RhrlH-0004PW-D7 for geb-bug-gnu-emacs@m.gmane.org; Tue, 03 Jan 2012 00:57:51 +0100 Original-Received: from localhost ([::1]:38717 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RhrlG-0001CC-QG for geb-bug-gnu-emacs@m.gmane.org; Mon, 02 Jan 2012 18:57:50 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:51476) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RhrlE-0001C7-Km for bug-gnu-emacs@gnu.org; Mon, 02 Jan 2012 18:57:49 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RhrlD-0002H6-K0 for bug-gnu-emacs@gnu.org; Mon, 02 Jan 2012 18:57:48 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:34024) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RhrlD-0002H2-H3 for bug-gnu-emacs@gnu.org; Mon, 02 Jan 2012 18:57:47 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1RhroM-00028y-2l for bug-gnu-emacs@gnu.org; Mon, 02 Jan 2012 19:01:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Juanma Barranquero Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 03 Jan 2012 00:01:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 10424 X-GNU-PR-Package: emacs,w32 X-GNU-PR-Keywords: patch Original-Received: via spool by submit@debbugs.gnu.org id=B.13255488248194 (code B ref -1); Tue, 03 Jan 2012 00:01:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 3 Jan 2012 00:00:24 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Rhrnk-000287-Iy for submit@debbugs.gnu.org; Mon, 02 Jan 2012 19:00:24 -0500 Original-Received: from mail-pz0-f50.google.com ([209.85.210.50]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Rhrni-00027z-PF for submit@emacsbugs.donarmstrong.com; Mon, 02 Jan 2012 19:00:23 -0500 Original-Received: by dang27 with SMTP id g27so13183374dan.37 for ; Mon, 02 Jan 2012 15:57:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; bh=wDpOcf+hWp0QnVChIXN3DHS1iFsWz3u79hpbrt3MbMM=; b=CbqovT0do62ninHG7RNwgTWQDkYgIMChGXK3sgMwBG2EihKhL4oSdr2Xu2MQ8ZMNZv 2nPpW2Wfs6LBxShjLbFOvm8uAlaOhVxp3wmLKzbI/QAaxGvVeLz0nLi1E24tei4q4qxi cprgLO4zIOVk8dq0yreWRLYMHo/aPxX0oukT0= Original-Received: by 10.68.72.198 with SMTP id f6mr125249063pbv.6.1325548626192; Mon, 02 Jan 2012 15:57:06 -0800 (PST) Original-Received: by 10.142.247.28 with HTTP; Mon, 2 Jan 2012 15:56:25 -0800 (PST) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Mon, 02 Jan 2012 19:01:02 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) 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:55375 Archived-At: Package: emacs,w32 Severity: wishlist Version: 24.2 Tags: patch A patch to make w32_delayed_load to record the absolute filename of the library loaded, and list-dynamic-libraries to display it. 2012-01-02 Juanma Barranquero * misc.el (list-dynamic-libraries): Display absolute filename. Suggested by Eli Zaretskii . (list-dynamic-libraries--loaded): New function. (list-dynamic-libraries--refresh): Use it. 2012-01-02 Juanma Barranquero * w32.c (w32_delayed_load): Record also the full path of the library being loaded. === modified file 'lisp/misc.el' --- lisp/misc.el 2011-06-21 10:04:28 +0000 +++ lisp/misc.el 2012-01-02 23:02:50 +0000 @@ -138,6 +138,19 @@ (defvar list-dynamic-libraries--loaded-only-p) (make-variable-buffer-local 'list-dynamic-libraries--loaded-only-p) +(defun list-dynamic-libraries--loaded (from) + "Compute the \"Loaded from\" column. +Internal use only." + (if from + (let ((name (car from)) + (path (or (cdr from) ""))) + ;; This is a roundabout way to change the tooltip without + ;; having to replace the default printer function + (propertize name + 'display (propertize name + 'help-echo (concat "Loaded from: " path)))) + "")) + (defun list-dynamic-libraries--refresh () "Recompute the list of dynamic libraries. Internal use only." @@ -159,7 +172,7 @@ (when (or from (not list-dynamic-libraries--loaded-only-p)) (push (list id (vector (symbol-name id) - (or from "") + (list-dynamic-libraries--loaded from) (mapconcat 'identity (cdr lib) ", "))) tabulated-list-entries))))) === modified file 'src/w32.c' --- src/w32.c 2011-12-07 23:14:13 +0000 +++ src/w32.c 2012-01-02 23:02:47 +0000 @@ -5783,7 +5783,15 @@ CHECK_STRING_CAR (dlls); if ((library_dll = LoadLibrary (SDATA (XCAR (dlls))))) { - found = XCAR (dlls); + char name[MAX_PATH]; + DWORD len; + + len = GetModuleFileNameA (library_dll, name, sizeof (name)); + found = Fcons (XCAR (dlls), + (len > 0) + /* Possibly truncated */ + ? make_specified_string (name, -1, len, 1) + : Qnil); break; } }