Package: emacs;
Reported by: Samuel Bronson <naesten <at> gmail.com>
Date: Sat, 5 Jul 2014 21:14:02 UTC
Severity: wishlist
Tags: wontfix
Found in version 24.3
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Samuel Bronson <naesten <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 24.3; .dir-locals.el needs a way to construct paths relative to its own location Date: Sat, 05 Jul 2014 17:12:46 -0400
Sometimes, I want to use .dir-locals.el to set a variable to refer to a specific file within the tree in question, independantly of how deep in that tree the file in question actually is. Unfortunately, judging by <http://stackoverflow.com/q/4012321/294313> and the manual, there is *no mechanism* to do this. (Unless you count the `eval' "variable". Which I don't.) Perhaps using a form something like: ,(expand-file-name "etc/foo.bar" dir-locals-directory) ? In GNU Emacs 24.3.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2014-06-06 on babin, modified by Debian Windowing system distributor `Colin Harrison', version 11.0.60900031 System Description: Debian GNU/Linux testing (jessie) Configured using: `configure '--build' 'i486-linux-gnu' '--build' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp' '--with-crt-dir=/usr/lib/i386-linux-gnu' '--with-x=yes' '--with-x-toolkit=lucid' '--with-toolkit-scroll-bars' '--without-gconf' '--without-gsettings' 'build_alias=i486-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'' Important settings: value of $LC_COLLATE: C value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: CPerl Minor modes in effect: shell-dirtrack-mode: t diff-auto-refine-mode: t xterm-mouse-mode: t show-paren-mode: t recentf-mode: t tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t line-number-mode: t transient-mark-mode: t Recent input: <backspace> SPC i n SPC t h e SPC u s u a SPC l SPC <backspace> <backspace> <backspace> l SPC ` n o r m a l SPC <backspace> - m o d e - <backspace> ' SPC t e s t <C-left> <C-left> <C-left> <C-left> <C-left> <C-left> <C-left> <C-left> <C-right> <C-S-right> <C-S-right> <C-S-right> <S-delete> SPC p a s s i n g <end> <C-left> <C-left> <C-left> <C-left> t h e SPC <end> , SPC b e c a u s e SPC f o r SPC s o m e SPC r e a s o n SPC <C-S-left> <C-S-left> <C-S-left> <delete> c p e r l - m o <C-left> <C-left> ` <end> d e ' SPC w a s SPC f a i l i n g SPC t o SPC r e s e t SPC t h e SPC s t y l e SPC d u r i n g SPC r e i n i t i i <backspace> z <backspace> a i l <backspace> <backspace> l i z a t i o n SPC <backspace> SPC <backspace> <home> <C-right> <C-right> <C-right> SPC s o m e h o w <end> M-q . ) M-q <down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1> <down-mouse-1> <mouse-1> <up> <up> <up> <end> <down> <down> <down> <up> <C-left> <C-left> <C-left> <C-left> <C-left> <C-left> <C-left> <C-S-right> <delete> <delete> <end> M-q <down> <down> <up> <up> <end> <down> <down> <up> <up> <end> <down> <down> <up> <up> <end> <down> <down> <up> <up> <next> <prior> <C-home> C-c C-c y e s <return> <Scroll_Lock> <Scroll_Lock> <Scroll_Lock> <switch-frame> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <Scroll_Lock> <Scroll_Lock> <switch-frame> <Scroll_Lock> <switch-frame> <Scroll_Lock> <switch-frame> <help-echo> <down-mouse-1> <mouse-movement> <mouse-1> <down-mouse-1> <mouse-1> M-x <up> <up> <return> Recent messages: Auto-saving...done Mark set Auto-saving...done Mark set [3 times] Auto-saving...done Mark set [2 times] Sending... Mark set [2 times] Sending via mail... Sending...done Load-path shadows: /home/naesten/system/emacs/dist/elpa/w3-4.0.49/ssl hides /usr/share/emacs24/site-lisp/wl/ssl /usr/share/emacs24/site-lisp/css-mode/css-mode hides /usr/share/emacs/site-lisp/css-mode/css-mode /usr/share/emacs/site-lisp/autoconf/autotest-mode hides /usr/share/emacs/site-lisp/autotest-mode /usr/share/emacs/24.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup /usr/share/emacs24/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /usr/share/emacs24/site-lisp/flim/md4 hides /usr/share/emacs/24.3/lisp/md4 /home/naesten/system/emacs/dist/elisp/loaddefs hides /usr/share/emacs/24.3/lisp/loaddefs /usr/share/emacs24/site-lisp/flim/hex-util hides /usr/share/emacs/24.3/lisp/hex-util /home/naesten/system/emacs/dist/elpa/json-1.2/json hides /usr/share/emacs/24.3/lisp/json /home/naesten/system/emacs/dist/elisp/t-mouse hides /usr/share/emacs/24.3/lisp/t-mouse /usr/share/emacs24/site-lisp/html-helper-mode/tempo hides /usr/share/emacs/24.3/lisp/tempo /usr/share/emacs24/site-lisp/css-mode/css-mode hides /usr/share/emacs/24.3/lisp/textmodes/css-mode /usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.3/lisp/textmodes/rst /usr/share/emacs24/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.3/lisp/textmodes/ispell /usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.3/lisp/textmodes/flyspell /usr/share/emacs24/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.3/lisp/net/sasl-digest /usr/share/emacs24/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.3/lisp/net/sasl-cram /usr/share/emacs24/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.3/lisp/net/hmac-md5 /usr/share/emacs24/site-lisp/flim/hmac-def hides /usr/share/emacs/24.3/lisp/net/hmac-def /usr/share/emacs24/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.3/lisp/net/sasl-ntlm /usr/share/emacs24/site-lisp/flim/ntlm hides /usr/share/emacs/24.3/lisp/net/ntlm /usr/share/emacs24/site-lisp/flim/sasl hides /usr/share/emacs/24.3/lisp/net/sasl /usr/share/emacs24/site-lisp/wl/rfc2368 hides /usr/share/emacs/24.3/lisp/mail/rfc2368 /home/naesten/system/emacs/dist/elisp/package hides /usr/share/emacs/24.3/lisp/emacs-lisp/package /home/naesten/system/emacs/dist/elpa/tabulated-list-0/tabulated-list hides /usr/share/emacs/24.3/lisp/emacs-lisp/tabulated-list /usr/share/emacs24/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x /usr/share/emacs24/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style /usr/share/emacs24/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar /usr/share/emacs24/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold /usr/share/emacs24/site-lisp/auctex/preview hides /usr/share/emacs/site-lisp/auctex/preview /usr/share/emacs24/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context /usr/share/emacs24/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl /usr/share/emacs24/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs /usr/share/emacs24/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en /usr/share/emacs24/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp /usr/share/emacs24/site-lisp/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex /usr/share/emacs24/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite /usr/share/emacs24/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font /usr/share/emacs24/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik /usr/share/emacs24/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex /usr/share/emacs24/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp /usr/share/emacs24/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info /usr/share/emacs24/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex /usr/share/emacs24/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt /usr/share/emacs24/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex /usr/share/emacs24/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf /usr/share/emacs24/site-lisp/html-helper-mode/hhm-config hides /usr/share/emacs/site-lisp/html-helper-mode/hhm-config /usr/share/emacs24/site-lisp/html-helper-mode/visual-basic-mode hides /usr/share/emacs/site-lisp/html-helper-mode/visual-basic-mode /usr/share/emacs24/site-lisp/html-helper-mode/tempo hides /usr/share/emacs/site-lisp/html-helper-mode/tempo /usr/share/emacs24/site-lisp/html-helper-mode/html-helper-mode hides /usr/share/emacs/site-lisp/html-helper-mode/html-helper-mode /usr/share/emacs24/site-lisp/mailcrypt/mc-toplev hides /usr/share/emacs/site-lisp/mailcrypt/mc-toplev /usr/share/emacs24/site-lisp/mailcrypt/mc-remail hides /usr/share/emacs/site-lisp/mailcrypt/mc-remail /usr/share/emacs24/site-lisp/mailcrypt/mc-pgp6 hides /usr/share/emacs/site-lisp/mailcrypt/mc-pgp6 /usr/share/emacs24/site-lisp/mailcrypt/mc-pgp5 hides /usr/share/emacs/site-lisp/mailcrypt/mc-pgp5 /usr/share/emacs24/site-lisp/mailcrypt/mc-pgp hides /usr/share/emacs/site-lisp/mailcrypt/mc-pgp /usr/share/emacs24/site-lisp/mailcrypt/mc-gpg hides /usr/share/emacs/site-lisp/mailcrypt/mc-gpg /usr/share/emacs24/site-lisp/mailcrypt/mailcrypt hides /usr/share/emacs/site-lisp/mailcrypt/mailcrypt /usr/share/emacs24/site-lisp/mailcrypt/expect hides /usr/share/emacs/site-lisp/mailcrypt/expect /usr/share/emacs24/site-lisp/mailcrypt/mc-setversion hides /usr/share/emacs/site-lisp/mailcrypt/mc-setversion /usr/share/emacs24/site-lisp/psgml/psgml-edit hides /usr/share/emacs/site-lisp/psgml/psgml-edit /usr/share/emacs24/site-lisp/psgml/psgml-charent hides /usr/share/emacs/site-lisp/psgml/psgml-charent /usr/share/emacs24/site-lisp/psgml/psgml hides /usr/share/emacs/site-lisp/psgml/psgml /usr/share/emacs24/site-lisp/psgml/psgml-other hides /usr/share/emacs/site-lisp/psgml/psgml-other /usr/share/emacs24/site-lisp/psgml/psgml-api hides /usr/share/emacs/site-lisp/psgml/psgml-api /usr/share/emacs24/site-lisp/psgml/psgml-sysdep hides /usr/share/emacs/site-lisp/psgml/psgml-sysdep /usr/share/emacs24/site-lisp/psgml/psgml-init hides /usr/share/emacs/site-lisp/psgml/psgml-init /usr/share/emacs24/site-lisp/psgml/psgml-parse hides /usr/share/emacs/site-lisp/psgml/psgml-parse /usr/share/emacs24/site-lisp/psgml/psgml-info hides /usr/share/emacs/site-lisp/psgml/psgml-info /usr/share/emacs24/site-lisp/psgml/psgml-ids hides /usr/share/emacs/site-lisp/psgml/psgml-ids /usr/share/emacs24/site-lisp/psgml/psgml-dtd hides /usr/share/emacs/site-lisp/psgml/psgml-dtd /usr/share/emacs/24.3/lisp/gnus/.dir-locals hides /home/naesten/system/emacs/dist/elisp/magit/.dir-locals /usr/share/emacs/site-lisp/emacs-goodies-el/markdown-mode hides /home/naesten/system/emacs/dist/elisp/markdown-mode/markdown-mode Features: (shadow emacsbug descr-text shr nroff-mode two-column iso-transl dabbrev tabify nneething perlcritic loadhist vhdl-mode hippie-exp verilog-mode vera-mode tcl simula sieve sieve-mode sieve-manage sgml-mode ruby-mode python prolog pascal octave-mod rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok modula2 meta-mode m4-mode ld-script js json info-look idlwave idlwave-help idlw-help icon hideshow fortran f90 delphi dcl-mode css-mode cfengine cfengine3 antlr-mode ada-mode which-func align find-file sql ps-mode pde-util etags tabbar re-builder gud perldoc imenu-tree pde-project help-dwim template-simple tempo-x pde-vars windata tree-mode woman man pde-autoloads autoload tar-mode files-x debug info vc-rcs url-handlers nnweb nnregistry spam-report apropos bbdb-hooks flow-fill mm-archive gnus-html browse-url xml mm-url sort smiley gnus-cite gnus-async gnus-bcklg qp gnus-ml mailcrypt disp-table gnus-topic nndoc nndraft nnmh netrc gnutls nnfolder bbdb-gnus bbdb-snarf mail-extr nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache gnus-registry registry eieio-base spam spam-stat gnus-uu yenc gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime dig gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range message rfc822 mml mml-sec mm-decode mm-bodies mm-encode gmm-utils mailheader gnus-win gnus gnus-ems nnheader gitignore-mode perl-mode filladapt basic basic-mode cperl-mode jka-compr lisp-mnt mule-util network-stream starttls url-http tls mail-parse rfc2231 url-gw url-cache url-auth finder-inf wdired ls-lisp find-dired sh-script smie executable xmtn-dvc dvc-status xmtn-conflicts xmtn-ids xmtn-match xmtn-automate xmtn-compat parse-time xmtn-run xmtn-basic-io xmtn-base conf-mode tramp-cmds noutline outline tramp-cache tramp-sh rx tramp tramp-compat tramp-loaddefs shell pcomplete format-spec view magit-bisect magit-key-mode magit debian-copyright bbdb-com mailabbrev misearch multi-isearch dired-aux debian-bug debian-changelog-mode imenu cc-langs make-mode debian-control-mode dpkg-dev-el dpkg-dev-el-loaddefs thingatpt help-mode tla smerge-mode dvc-state dvc-config diff sendmail rfc2047 rfc2045 ietf-drums mail-utils tla-gnus dvc-gnus dvc-cmenu dvc-about dvc-version vc-git xgit-dvc xgit cus-edit xgit-annotate rect dvc-annotate xgit-log dvc-revlist dvc-diff uniquify dvc-fileinfo bzr-core tla-core pp tla-autoconf tla-defs dvc-log dvc-unified dvc-tips dired-x dired ffap commit-patch-buffer log-edit pcvs-util add-log vc vc-dispatcher diff-mode easy-mmode ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult ediff-init ediff xdarcs-core xgit-core xhg-core xmtn-minimal server derived xcscope arc-mode archive-mode asm-mode my-asm slime-autoloads dvc-autoloads dvc-core dvc-lisp dvc-buffers dvc-ui dvc-register dvc-utils dvc-emacs ewoc dvc-defs dvc-site cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs elisp-depend ps-print-bg-fixup bbdb timezone wgrep grep compile comint ansi-color ring edebug warnings trace xt-mouse paren recentf tree-widget wid-edit cus-start cus-load eldoc-eval-autoloads elisp-cache-autoloads erc-hl-nicks-autoloads fill-column-indicator-autoloads find-file-in-git-repo-autoloads gitconfig-mode-autoloads gitignore-mode-autoloads mo-git-blame-autoloads occur-x-autoloads smartparens-autoloads dash-autoloads synonyms-autoloads tabulated-list-autoloads w3-autoloads wgrep-autoloads yagist-autoloads json-autoloads yasnippet-bundle-autoloads yasnippet-bundle dropdown-list advice help-fns advice-preload yasnippet easymenu assoc package find-func cl-macs gv w3m-load psgml-init proof-site proof-autoloads pg-vars mmm-auto mmm-vars mmm-compat cl cl-lib mailcrypt-init haskell-mode-autoloads edmacro kmacro tempo url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source eieio byte-opt bytecomp byte-compile cconv gnus-util time-date mm-util mail-prsvr password-cache url-vars mailcap xml-parse doxymacs debian-el debian-el-loaddefs bbdb-autoloads preview-latex tex-site auto-loads tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting font-render-setting x-toolkit x multi-tty emacs) -- Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.