From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Vagn Johansen Newsgroups: gmane.emacs.help Subject: Re: Per-directory customizations? Date: Fri, 30 Apr 2004 19:13:02 +0200 Organization: TDC Totalloesninger Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1083346483 14100 80.91.224.253 (30 Apr 2004 17:34:43 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 30 Apr 2004 17:34:43 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Apr 30 19:34:32 2004 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BJbuB-0006d6-00 for ; Fri, 30 Apr 2004 19:34:32 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BJbcL-0007y3-Ux for geh-help-gnu-emacs@m.gmane.org; Fri, 30 Apr 2004 13:16:05 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.2 (windows-nt) Cancel-Lock: sha1:VUOZU2J/6xyJwIrmYsST89Y5YNI= Original-Lines: 43 Original-NNTP-Posting-Host: 80.196.132.34 Original-X-Trace: 1083345259 dread16.news.tele.dk 291 80.196.132.34:54851 Original-X-Complaints-To: abuse@post.tele.dk Original-Xref: shelby.stanford.edu gnu.emacs.help:122873 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.4 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.org@gnu.org Xref: main.gmane.org gmane.emacs.help:18160 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:18160 Roy Smith writes: > Is there any way to do customizations on a per-directory basis? > For example, I've got java project which lives in ~/dev/foo. Anytime I > run M-X compile anywhere inside the ~/dev/foo hierarchy, I want the > command run to be "cd ~/dev/foo; ant". I don't want to just set > compile-command in my .emacs file, because the right command varies > depending on which project (i.e. directory subtree) I'm in. > > Is there any way to do this? I'm running GNU Emacs 21.2.1. http://www.emacswiki.org/cgi-bin/wiki.pl/DirVarsPackage With the dirvars.el package you create a file called .emacs-dirvars in the root directory containing compile-command: "cd ~/dev/foo; ant" Then this setting is automatically used by the root directory and all subdirectories. I use the following to store the current compile-command in a .emacs-dirvars file. (defun vjo-create-dirvars-file (cmd) (interactive) (if (file-exists-p ".emacs-dirvars") (progn (find-file ".emacs-dirvars") (goto-char (point-max))) ;; else (progn (find-file ".emacs-dirvars") (insert ";; -*- emacs-lisp -*- \n") (insert ";; VJ\n") (insert (concat "compile-command: " cmd "\n")) (replace-string "\"" "\\\"" nil (previous-line 1) (point)) (replace-string "" "\"" nil (previous-line 1) (point)) (save-buffer)))) -- Vagn Johansen