Subject: 25.1.50; dir-locals-file-2 should not be compiled

From: Johan Claesson <[email-masked]>
Date: Sat, 09 Apr 2016 23:39:01 +0200

Hi,

byte-recompile-directory ignore file names equal to dir-locals-file.  I
think it would make sense that it treat the new dir-locals-file-2 in the
same way.

The same goes for load-path-shadows-find.  It ignores dir-locals-file
and should probably also ignore dir-locals-file-2.

diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 11eb44c..5ab7eb2 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1664,8 +1664,8 @@ byte-recompile-directory
                         (file-readable-p source)
                        (not (string-match "\\`\\.#" file))
                         (not (auto-save-file-name-p source))
-                        (not (string-equal dir-locals-file
-                                           (file-name-nondirectory source))))
+                        (not (member (file-name-nondirectory source)
+                        (list dir-locals-file dir-locals-file-2))))
                    (progn (cl-incf
                            (pcase (byte-recompile-file source force arg)
                              (`no-byte-compile skip-count)
diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el
index 5dddd23..6e0e651 100644
--- a/lisp/emacs-lisp/shadow.el
+++ b/lisp/emacs-lisp/shadow.el
@@ -117,7 +117,9 @@ load-path-shadows-find
                      ;; Ignore these files.
                      (member file (list "subdirs" "leim-list"
                                         (file-name-sans-extension
-                                         dir-locals-file))))
+                                         dir-locals-file)
+                                         (file-name-sans-extension
+                                          dir-locals-file-2))))
            ;; File has not been seen yet in this directory.
            ;; This test prevents us declaring that XXX.el shadows
            ;; XXX.elc (or vice-versa) when they are in the same directory.

Regards,

/Johan

In GNU Emacs 25.1.50.1 (x86_64-unknown-linux-gnu, X toolkit)
 of 2016-04-04 built on goblin
Repository revision: 530de6d81cdd095352eea79becc6448a07f0302c
Windowing system distributor 'The X.Org Foundation', version 11.0.11702000
System Description:	Ubuntu 15.10

Configured using:
 'configure --prefix=/ssd/home/jcl/usr --with-x-toolkit=lucid
 --without-toolkit-scroll-bars --disable-silent-rules
 --without-compress-install PKG_CONFIG_PATH=/home/jcl/usr/lib/pkgconfig'

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF
GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF
XFT ZLIB LUCID X11

Important settings:
  value of $LC_MONETARY: en_GB.UTF-8
  value of $LC_NUMERIC: en_GB.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Grep

Minor modes in effect:
  magit-auto-revert-mode: t
  display-time-mode: t
  minibuffer-depth-indicate-mode: t
  minibuffer-electric-default-mode: t
  icomplete-mode: t
  diff-auto-refine-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  winner-mode: t
  ido-everywhere: t
  which-function-mode: t
  global-eldoc-mode: t
  electric-layout-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-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
  temp-buffer-resize-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Mark set [3 times]
Contacting host: debbugs.gnu.org:80 [3 times]
Mark saved where search started
Contacting host: debbugs.gnu.org:80
Opening nndoc server on /tmp/gnus-temp-group-29420ZbK-ephemeral...done
Mark saved where search started
ad-Advice-scroll-down: Beginning of buffer
Preparing diary...done
Preparing diary...done
No event to add

Load-path shadows:
None found.

Features:
(emacsbug linum ps-mule w3m-form mailalias nnir emms-info-metaflac
tar-mode eieio-opt speedbar sb-image ezimage dframe edmacro autoload
time-stamp lisp-mnt shadow gnus-cite flow-fill mail-extr gnus-async qp
gnus-ml nndoc gnus-dup gnus-dired w3m-cookie smiley jcl-replace
jcl-games-init jcl-muse-init htmlize-hack htmlize muse-latex muse-html
muse-xml-common muse-colors cus-edit cus-start cus-load muse-publish
muse-project muse-protocols muse-regexps muse muse-nested-tags muse-mode
jcl-yaoddmuse-init yaoddmuse-extension yaoddmuse skeleton sgml-mode
pulse misearch multi-isearch jcl-renegade-goblin jcl-home-boot vc
vc-dispatcher vc-git org-rmail org-mhe org-irc org-info org-gnus
org-docview org-bibtex bibtex org-bbdb org-w3m jcl-load
jcl-billboard-init typing-practice jcl-elisp-init profiler tagbag-init
jcl-grep-init jcl-abbrev-init jcl-ediff-init jcl-term-init
jcl-erlang-init jcl-sbg jcl-erlang-log bookmark jcl-erlang-man man
jcl-midnite-init jcl-midnite midnight jcl-picpocket-init picpocket-test
jcl-erc-init jcl-ido-init jcl-dired-init image-file wdired
jcl-register-init jcl-command-subset-init jcl-generic-init generic-x
jcl-eww-init eww url-queue shr svg dom jcl-org-init poporg ob-latex
ox-beamer org-feed org-capture jcl-shell-init jcl-haskell-init
jcl-haskell-old inf-haskell haskell-decl-scan haskell-mode haskell-cabal
haskell-utils haskell-font-lock haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme haskell-align-imports haskell-compat
haskell-complete-module flymake dabbrev haskell-customize
jcl-mentor-init mentor xml-rpc url-scgi jcl-google-init jcl-modes-init
checkdoc magit-blame magit-stash magit-bisect magit-remote magit-commit
magit-sequence magit magit-apply magit-wip magit-log magit-diff
smerge-mode magit-core magit-autorevert magit-process magit-popup
magit-mode magit-git crm magit-section magit-utils calc calc-loaddefs
calc-macs jcl-rfc rfcview goto-addr proced nroff-mode table picture
python rx jcl-ruby inf-ruby ruby-mode fpl macrostep-c cmacexp cwarn grep
jcl-elpa-init ffap view jcl-global-init time printing mb-depth saveplace
num3-mode minibuf-eldef icomplete jcl-sl-init jcl-keys-init kmacro
diff-mode jcl-sbg-ssit jcl-google google-translate
google-translate-default-ui google-translate-core-ui
google-translate-core google-translate-tk jcl-imenu jcl-wesnoth
wesnoth-mode wesnoth-wml-data wesnoth-update jcl-erlang jcl-sbg-compile
jcl-picpocket jcl-goblin jcl-dired jcl-dired-lexical picpocket
fuzzy-match jcl-ediff jcl-elisp jcl-grep edebug jcl-stumpwm jcl-org
jcl-erc erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete
erc-track erc-match erc-button erc-fill erc-stamp erc-netsplit
erc-goodies erc erc-backend erc-compat jcl-vbox jcl-lxc jcl-keys
windmove jcl-debbugs-init debbugs-org debbugs-gnu debbugs soap-client
warnings rng-xsd rng-dt rng-util xsd-regexp jcl-isearch jcl-sbg-scan
tagbag sbg filecache jcl-bugfix loadhist git-commit help-fns with-editor
async-bytecomp async tramp-sh tramp tramp-compat tramp-loaddefs trampver
ucs-normalize shell log-edit pcvs-util add-log dash apropos jcl-merge
jcl-wip jcl-work-buffer ediff-merg ediff-wind ediff-diff ediff-mult
ediff-help ediff-init ediff-util ediff jcl-sty jcl-epresent face-remap
org-indent epresent ox-latex ox-icalendar ox-html ox-ascii ox-publish ox
org-element avl-tree diet ps-print ps-print-loaddefs ps-def lpr
jcl-template jcl-copyright jcl-template-lib cperl-mode cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
erlang tempo wc-mode jcl-register jcl-advice jcl-command-subset jcl-duff
clearcase reporter jcl-motion jcl-safe-init jcl-site-start jpt-mode
erlang-start gnus-topic cursor-sensor mm-archive network-stream nsm
url-http url-gw puny url-cache url-auth nnrss mm-url nndraft nnmh
nnfolder nnml jcl-master jcl-calendar-init jcl-emms-init
emms-playlist-limit emms-volume emms-volume-amixer emms-i18n
emms-history emms-score emms-stream-info emms-metaplaylist-mode
emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort
emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq
emms-streams emms-show-all emms-tag-editor emms-mark emms-cache
emms-info-ogginfo emms-info-mp3info emms-player-vlc emms-player-mplayer
jcl-emms emms-mode-line emms-librefm-stream emms-librefm-scrobbler
emms-playing-time emms-info later-do emms-playlist-mode
emms-source-playlist xml emms-setup emms-lyrics emms-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
emms-source-file locate emms-player-simple emms emms-compat
jcl-gnus-init jcl-gnus jcl-w3m-init jcl-term ange-ftp w3m-search
w3m-bookmark w3m-antenna w3m-rss jcl-org-import-icalendar jcl-status
jcl-buffer-init org-location-google-maps org-agenda google-maps
google-maps-static url-util google-maps-geocode google-maps-base json
map org org-macro org-footnote org-pcomplete pcomplete org-list
org-faces org-entities org-version ob-emacs-lisp ob ob-tangle ob-ref
ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval
org-compat org-macs org-loaddefs autorevert filenotify appt jcl-calendar
jcl-swedish-postfix quail holidays hol-loaddefs icalendar diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs w3m doc-view jka-compr
image-mode timezone w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-ccl ccl
w3m-favicon w3m-image w3m-proc w3m-util dired-aux dired-x gnus-agent
gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache gnus-msg
gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum gnus-group
gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls
utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range gnus-win
mailcap starttls smtpmail sendmail message format-spec rfc822 mml
mml-sec epa derived epg mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader gnus nnheader gnus-util rmail
rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr
wid-edit jcl-boot jcl-slime-init slime-fancy slime-trace-dialog
slime-fontifying-fu slime-package-fu slime-references
slime-compiler-notes-tree slime-scratch slime-presentations bridge
slime-macrostep macrostep slime-mdot-fu slime-enclosing-context
slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-autodoc jcl-misc jcl-ert ispell find-lisp jcl-misc-lexical
whitespace winner jcl-windows jcl-buffer ido ert find-func ewoc debug
jcl-compile slime-editing-commands slime-repl slime-parse slime compile
etags xref project arc-mode archive-mode noutline outline easy-mmode pp
comint ansi-color hyperspec thingatpt browse-url jcl-face hi-lock dired
dired-loaddefs paren mic-paren which-func imenu hl-line jcl-times-init
jcl-early-init jcl-compat-init advice jcl-util seq subr-x jcl-times
server term disp-table ehelp ring sh-script smie executable
jcl-load-path tex-site eimp-autoloads gnugo-autoloads
ascii-art-to-unicode-autoloads htmlize-autoloads ipython-autoloads
list-utils-autoloads cl memory-usage-autoloads muse-autoloads
num3-mode-autoloads finder-inf python-autoloads slime-autoloads info
package epg-config url-handlers url-parse auth-source cl-seq eieio
byte-opt bytecomp byte-compile cl-extra help-mode easymenu cconv
eieio-core cl-macs gv eieio-loaddefs cl-loaddefs pcase cl-lib
password-cache url-vars time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote dbusbind inotify dynamic-setting
system-font-setting font-render-setting x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 2560529 262338)
 (symbols 48 106271 2)
 (miscs 40 16269 11940)
 (strings 32 435234 95796)
 (string-bytes 1 13413874)
 (vectors 16 135964)
 (vector-slots 8 2806500 114145)
 (floats 8 1617 1690)
 (intervals 56 264217 21087)
 (buffers 976 256)
 (heap 1024 293721 152192))