bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#17949: 24.3; .dir-locals.el needs a way to construct paths relative


From: Samuel Bronson
Subject: bug#17949: 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!





reply via email to

[Prev in Thread] Current Thread [Next in Thread]