From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Marcin Borkowski Newsgroups: gmane.emacs.help Subject: How to get the directory of a package? Date: Wed, 03 Feb 2021 05:50:12 +0100 Message-ID: <87sg6d7o1n.fsf@mbork.pl> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9081"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.1.0; emacs 28.0.50 To: Help Gnu Emacs mailing list Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Feb 03 05:51:13 2021 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l7A8H-0002Cp-8M for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 03 Feb 2021 05:51:13 +0100 Original-Received: from localhost ([::1]:59912 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l7A8G-0006mU-Aa for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 02 Feb 2021 23:51:12 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36554) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l7A7k-0006mH-Uv for help-gnu-emacs@gnu.org; Tue, 02 Feb 2021 23:50:40 -0500 Original-Received: from mail.mojserwer.eu ([195.110.48.8]:57046) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l7A7i-0004Ne-5V for help-gnu-emacs@gnu.org; Tue, 02 Feb 2021 23:50:40 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by mail.mojserwer.eu (Postfix) with ESMTP id DD1EEE6CC6 for ; Wed, 3 Feb 2021 05:50:23 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail.mojserwer.eu Original-Received: from mail.mojserwer.eu ([127.0.0.1]) by localhost (mail.mojserwer.eu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sWsVMQjUAclz for ; Wed, 3 Feb 2021 05:50:19 +0100 (CET) Original-Received: from localhost (178235147162.dynamic-3-poz-k-0-1-0.vectranet.pl [178.235.147.162]) by mail.mojserwer.eu (Postfix) with ESMTPSA id 979ADE63AA for ; Wed, 3 Feb 2021 05:50:18 +0100 (CET) Received-SPF: pass client-ip=195.110.48.8; envelope-from=mbork@mbork.pl; helo=mail.mojserwer.eu X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:127574 Archived-At: Hello, assume that I'm writing a package which wants to use a file from the same directory the .el (or .elc) file of the package is located in. How can the package know where in the filesystem it is located? Bonus points for a method which works not only with `require', but also with `load-file' and `eval-buffer' (in the last case, `default-directory' will probably work, but I skimmed through all variables and functions matching `directory$' and nothing seemed to be what I'm looking for). TIA, -- Marcin Borkowski http://mbork.pl