Package: emacs;
Reported by: Len Trigg <lenbok <at> gmail.com>
Date: Wed, 7 Dec 2022 01:57:01 UTC
Severity: wishlist
Found in version 28.2.50
To reply to this bug, email your comments to 59868 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#59868
; Package emacs
.
(Wed, 07 Dec 2022 01:57:01 GMT) Full text and rfc822 format available.Len Trigg <lenbok <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Wed, 07 Dec 2022 01:57:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Len Trigg <lenbok <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 28.2.50; compilation-search-path incompatible with dir-locals Date: Wed, 7 Dec 2022 14:56:25 +1300
[Message part 1 (text/plain, inline)]
The compilation-search-path variable purports to let the user specify a list of directories to search when resolving file names found in compilation error messages. As such this very much should be possible to specify as a project-specific setting. However, setting this variable in per-project .dir-locals.el file does not work. When a compilation buffer is created, the local value is not obeyed (I have my dir locals file setting this variable regardless of the major mode, and I see the variable being set in regular modes just fine - it seems to be just compilation mode with the problem). I am not an expert, but it may be due to compilation mode calling kill-all-local-variables that prevents this from working as expected. In GNU Emacs 28.2.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2022-09-27 built on tron Repository revision: 00159c086c64147798a4c64bf5d9b94c7e8939de Repository branch: emacs-28 Windowing system distributor 'The X.Org Foundation', version 11.0.12013000 System Description: Ubuntu 20.04.5 LTS Configured using: 'configure --prefix=/home2/len/.local --with-xwidgets --with-rsvg --with-cairo --with-native-compilation' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM XWIDGETS GTK3 ZLIB Important settings: value of $LANG: en_NZ.UTF-8 locale-coding-system: utf-8-unix Major mode: Text Minor modes in effect: dap-tooltip-mode: t dap-ui-controls-mode: t dap-ui-mode: t dap-mode: t recentf-mode: t global-git-commit-mode: t magit-auto-revert-mode: t global-clipetty-mode: t clipetty-mode: t global-atomic-chrome-edit-mode: t pyvenv-mode: t fancy-compilation-mode: t projectile-mode: t global-company-mode: t company-mode: t shell-dirtrack-mode: t editorconfig-mode: t term-keys-mode: t diredfl-global-mode: t direnv-mode: t all-the-icons-ivy-rich-mode: t ivy-rich-mode: t ivy-mode: t override-global-mode: t which-key-mode: t treemacs-icons-dired-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t global-ligature-mode: t ligature-mode: t diff-hl-margin-mode: t global-diff-hl-mode: t mood-line-mode: t xterm-mouse-mode: t straight-use-package-mode: t straight-package-neutering-mode: t delete-selection-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-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 column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /home2/len/.emacs.d/straight/build/transient/transient hides /home2/len/.local/share/emacs/28.2.50/lisp/transient /home2/len/.emacs.d/straight/build/org/ol-man hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-man /home2/len/.emacs.d/straight/build/org/ob-calc hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-calc /home2/len/.emacs.d/straight/build/org/ob-scheme hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-scheme /home2/len/.emacs.d/straight/build/org/org-num hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-num /home2/len/.emacs.d/straight/build/org/ob-eshell hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-eshell /home2/len/.emacs.d/straight/build/org/ol-bibtex hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-bibtex /home2/len/.emacs.d/straight/build/org/org-mobile hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-mobile /home2/len/.emacs.d/straight/build/org/ob-makefile hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-makefile /home2/len/.emacs.d/straight/build/org/ox-ascii hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-ascii /home2/len/.emacs.d/straight/build/org/org-keys hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-keys /home2/len/.emacs.d/straight/build/org/org-inlinetask hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-inlinetask /home2/len/.emacs.d/straight/build/org/ol-bbdb hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-bbdb /home2/len/.emacs.d/straight/build/org/org-lint hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-lint /home2/len/.emacs.d/straight/build/org/ob-lua hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-lua /home2/len/.emacs.d/straight/build/org/ob-sass hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-sass /home2/len/.emacs.d/straight/build/org/ol hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol /home2/len/.emacs.d/straight/build/org/ol-rmail hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-rmail /home2/len/.emacs.d/straight/build/org/ox-html hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-html /home2/len/.emacs.d/straight/build/org/ox-texinfo hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-texinfo /home2/len/.emacs.d/straight/build/org/ox-beamer hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-beamer /home2/len/.emacs.d/straight/build/org/org-protocol hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-protocol /home2/len/.emacs.d/straight/build/org/org-faces hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-faces /home2/len/.emacs.d/straight/build/org/org-list hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-list /home2/len/.emacs.d/straight/build/org/ob-sed hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-sed /home2/len/.emacs.d/straight/build/org/ob hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob /home2/len/.emacs.d/straight/build/org/org-indent hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-indent /home2/len/.emacs.d/straight/build/org/ob-emacs-lisp hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-emacs-lisp /home2/len/.emacs.d/straight/build/org/org-version hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-version /home2/len/.emacs.d/straight/build/org/org-goto hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-goto /home2/len/.emacs.d/straight/build/org/oc-basic hides /home2/len/.local/share/emacs/28.2.50/lisp/org/oc-basic /home2/len/.emacs.d/straight/build/org/org-refile hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-refile /home2/len/.emacs.d/straight/build/org/ol-eww hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-eww /home2/len/.emacs.d/straight/build/org/ob-matlab hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-matlab /home2/len/.emacs.d/straight/build/org/ox-publish hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-publish /home2/len/.emacs.d/straight/build/org/ob-sqlite hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-sqlite /home2/len/.emacs.d/straight/build/org/org-clock hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-clock /home2/len/.emacs.d/straight/build/org/org hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org /home2/len/.emacs.d/straight/build/org/org-id hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-id /home2/len/.emacs.d/straight/build/org/ox-koma-letter hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-koma-letter /home2/len/.emacs.d/straight/build/org/ob-sql hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-sql /home2/len/.emacs.d/straight/build/org/ol-mhe hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-mhe /home2/len/.emacs.d/straight/build/org/ob-plantuml hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-plantuml /home2/len/.emacs.d/straight/build/org/org-duration hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-duration /home2/len/.emacs.d/straight/build/org/ob-ditaa hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-ditaa /home2/len/.emacs.d/straight/build/org/org-attach hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-attach /home2/len/.emacs.d/straight/build/org/ox-odt hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-odt /home2/len/.emacs.d/straight/build/org/ob-julia hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-julia /home2/len/.emacs.d/straight/build/org/org-crypt hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-crypt /home2/len/.emacs.d/straight/build/org/ob-python hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-python /home2/len/.emacs.d/straight/build/org/ob-forth hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-forth /home2/len/.emacs.d/straight/build/org/ob-js hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-js /home2/len/.emacs.d/straight/build/org/org-macro hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-macro /home2/len/.emacs.d/straight/build/org/ob-gnuplot hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-gnuplot /home2/len/.emacs.d/straight/build/org/org-table hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-table /home2/len/.emacs.d/straight/build/org/ox-icalendar hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-icalendar /home2/len/.emacs.d/straight/build/org/oc hides /home2/len/.local/share/emacs/28.2.50/lisp/org/oc /home2/len/.emacs.d/straight/build/org/ob-groovy hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-groovy /home2/len/.emacs.d/straight/build/org/ox-md hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-md /home2/len/.emacs.d/straight/build/org/ob-shell hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-shell /home2/len/.emacs.d/straight/build/org/org-footnote hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-footnote /home2/len/.emacs.d/straight/build/org/ob-lisp hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-lisp /home2/len/.emacs.d/straight/build/org/org-tempo hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-tempo /home2/len/.emacs.d/straight/build/org/ox-org hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-org /home2/len/.emacs.d/straight/build/org/org-element hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-element /home2/len/.emacs.d/straight/build/org/org-compat hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-compat /home2/len/.emacs.d/straight/build/org/ob-css hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-css /home2/len/.emacs.d/straight/build/org/ob-maxima hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-maxima /home2/len/.emacs.d/straight/build/org/ob-ruby hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-ruby /home2/len/.emacs.d/straight/build/org/org-src hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-src /home2/len/.emacs.d/straight/build/org/org-ctags hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-ctags /home2/len/.emacs.d/straight/build/org/ox-latex hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-latex /home2/len/.emacs.d/straight/build/org/ob-ocaml hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-ocaml /home2/len/.emacs.d/straight/build/org/ob-lilypond hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-lilypond /home2/len/.emacs.d/straight/build/org/ob-table hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-table /home2/len/.emacs.d/straight/build/org/ob-latex hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-latex /home2/len/.emacs.d/straight/build/org/ob-C hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-C /home2/len/.emacs.d/straight/build/org/ol-doi hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-doi /home2/len/.emacs.d/straight/build/org/org-macs hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-macs /home2/len/.emacs.d/straight/build/org/ol-w3m hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-w3m /home2/len/.emacs.d/straight/build/org/ob-haskell hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-haskell /home2/len/.emacs.d/straight/build/org/ol-eshell hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-eshell /home2/len/.emacs.d/straight/build/org/org-capture hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-capture /home2/len/.emacs.d/straight/build/org/ob-perl hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-perl /home2/len/.emacs.d/straight/build/org/oc-csl hides /home2/len/.local/share/emacs/28.2.50/lisp/org/oc-csl /home2/len/.emacs.d/straight/build/org/ob-comint hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-comint /home2/len/.emacs.d/straight/build/org/ob-tangle hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-tangle /home2/len/.emacs.d/straight/build/org/org-entities hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-entities /home2/len/.emacs.d/straight/build/org/org-colview hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-colview /home2/len/.emacs.d/straight/build/org/ob-screen hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-screen /home2/len/.emacs.d/straight/build/org/org-pcomplete hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-pcomplete /home2/len/.emacs.d/straight/build/org/oc-biblatex hides /home2/len/.local/share/emacs/28.2.50/lisp/org/oc-biblatex /home2/len/.emacs.d/straight/build/org/ob-ref hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-ref /home2/len/.emacs.d/straight/build/org/ol-docview hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-docview /home2/len/.emacs.d/straight/build/org/ob-core hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-core /home2/len/.emacs.d/straight/build/org/org-feed hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-feed /home2/len/.emacs.d/straight/build/org/ol-gnus hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-gnus /home2/len/.emacs.d/straight/build/org/ox-man hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox-man /home2/len/.emacs.d/straight/build/org/ob-lob hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-lob /home2/len/.emacs.d/straight/build/org/ob-R hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-R /home2/len/.emacs.d/straight/build/org/ox hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ox /home2/len/.emacs.d/straight/build/org/ol-irc hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-irc /home2/len/.emacs.d/straight/build/org/ob-java hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-java /home2/len/.emacs.d/straight/build/org/ob-org hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-org /home2/len/.emacs.d/straight/build/org/ob-awk hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-awk /home2/len/.emacs.d/straight/build/org/ob-processing hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-processing /home2/len/.emacs.d/straight/build/org/ob-eval hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-eval /home2/len/.emacs.d/straight/build/org/ob-octave hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-octave /home2/len/.emacs.d/straight/build/org/ob-exp hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-exp /home2/len/.emacs.d/straight/build/org/org-timer hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-timer /home2/len/.emacs.d/straight/build/org/org-archive hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-archive /home2/len/.emacs.d/straight/build/org/org-datetree hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-datetree /home2/len/.emacs.d/straight/build/org/ob-fortran hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-fortran /home2/len/.emacs.d/straight/build/org/oc-natbib hides /home2/len/.local/share/emacs/28.2.50/lisp/org/oc-natbib /home2/len/.emacs.d/straight/build/org/org-agenda hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-agenda /home2/len/.emacs.d/straight/build/org/ob-dot hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-dot /home2/len/.emacs.d/straight/build/org/org-plot hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-plot /home2/len/.emacs.d/straight/build/org/org-mouse hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-mouse /home2/len/.emacs.d/straight/build/org/ol-info hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ol-info /home2/len/.emacs.d/straight/build/org/org-habit hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-habit /home2/len/.emacs.d/straight/build/org/org-attach-git hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-attach-git /home2/len/.emacs.d/straight/build/org/ob-clojure hides /home2/len/.local/share/emacs/28.2.50/lisp/org/ob-clojure /home2/len/.emacs.d/straight/build/org/org-loaddefs hides /home2/len/.local/share/emacs/28.2.50/lisp/org/org-loaddefs /home2/len/.emacs.d/straight/build/eldoc/eldoc hides /home2/len/.local/share/emacs/28.2.50/lisp/emacs-lisp/eldoc /home2/len/.emacs.d/straight/build/let-alist/let-alist hides /home2/len/.local/share/emacs/28.2.50/lisp/emacs-lisp/let-alist Features: (shadow sort mail-extr emacsbug sendmail eradio lsp-diagnostics lsp-headerline lsp-icons lsp-modeline lsp-ui lsp-ui-flycheck lsp-ui-doc xwidget goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-ui-util lsp-zig lsp-steep lsp-svelte lsp-sqls lsp-ruby-syntax-tree lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-volar lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typeprof lsp-ttcn3 lsp-toml lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf lsp-remark lsp-racket lsp-r lsp-purescript dap-mouse dap-ui gdb-mi gud bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils lsp-lens dap-python lsp-pyls lsp-pwsh lsp-php lsp-pls lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-magik lsp-nix lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown lsp-lua lsp-kotlin lsp-json lsp-idris lsp-haxe lsp-groovy lsp-hack lsp-graphql lsp-gleam lsp-go lsp-completion lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-clangd lsp-beancount lsp-bash lsp-astro lsp-ansible lsp-angular lsp-ada lsp-actionscript ccls ccls-member-hierarchy ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight ccls-common lsp-pylsp lsp-javascript dap-java dap-mode dap-tasks dap-launch lsp-docker dap-overlays lsp-java lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib lsp-mode lsp-protocol spinner network-stream vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs magit-extras debug backtrace misc recentf tree-widget magit-bookmark treemacs-bookmarks treemacs-tags bookmark forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth gnutls forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml bug-reference forge-post forge-repo forge forge-core forge-db closql emacsql-sqlite emacsql emacsql-compiler treemacs-magit magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff git-commit log-edit add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor magit-mode magit-git magit-base magit-section crm compat-27 compat-26 counsel-keepassxc cl-print help-fns cus-edit cus-start vc-git mule-util sql view conf-mode tree-sitter-langs tree-sitter-langs-build tar-mode arc-mode archive-mode pp tree-sitter-hl symbol-overlay ws-butler display-fill-column-indicator display-line-numbers org-indent mixed-pitch face-remap org-element org-persist org-id org-refile avl-tree oc-basic ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt speedbar ezimage dframe gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr kinsoku svg dom gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message rmc puny rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mailabbrev gmm-utils gnus-win gnus nnheader gnus-util rmail rmail-loaddefs ol-docview doc-view jka-compr ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi org-bullets ob-dot ob-plantuml ob-gnuplot ob-js ob-python ob-awk ob-shell org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs org-version org-compat org-macs cursor-sensor counsel xdg disp-table clipetty server diary-lib diary-loaddefs cal-menu calendar cal-loaddefs generic transient python-pytest-autoloads python-x folding-isearch folding python-x-autoloads folding-autoloads importmagic f f-shortdoc shortdoc epc ctable concurrent deferred importmagic-autoloads epc-autoloads ctable-autoloads concurrent-autoloads deferred-autoloads py-isort py-isort-autoloads python-black reformatter python-black-autoloads reformatter-autoloads blacken blacken-autoloads groovy-mode groovy-mode-autoloads eradio-autoloads atomic-chrome websocket bindat let-alist atomic-chrome-autoloads websocket-autoloads counsel-keepassxc-autoloads pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util pyvenv-autoloads ccls-autoloads typescript-mode typescript-mode-autoloads lsp-java-autoloads dap-mode-autoloads lsp-docker-autoloads lsp-treemacs-autoloads bui-autoloads lsp-ui-autoloads lsp-mode-autoloads spinner-autoloads f-autoloads eldoc-autoloads go-mode find-file ffap go-mode-autoloads js2-mode js imenu js2-mode-autoloads poly-R poly-markdown markdown-mode poly-noweb poly-R-autoloads poly-noweb-autoloads poly-markdown-autoloads polymode derived poly-lock polymode-base polymode-weave polymode-export polymode-compat polymode-methods polymode-core polymode-classes eieio-custom wid-edit eieio-base polymode-autoloads ess-view-data ess-r-mode ess-r-flymake flymake-proc flymake ess-r-xref ess-trns ess-r-package ess-r-completion ess-roxy ess-r-syntax ess-rd noutline outline hideshow ess-s-lang ess-help ess-mode ess-rdired ess-inf ess-tracebug ess-view-data-autoloads ess ess-utils ess-custom ess-autoloads rust-utils rust-mode rust-rustfmt rust-playpen rust-compile rust-cargo rust-mode-autoloads lua-mode lua-mode-autoloads csharp-mode csharp-compilation cc-langs csharp-mode-autoloads snakemake-mode python tramp-sh snakemake-mode-autoloads gnuplot info-look gnuplot-autoloads scad-dbus hydra lv dbus scad-dbus-autoloads scad-mode cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs scad-mode-autoloads autoload radix-tree fancy-compilation fancy-compilation-autoloads projectile lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr projectile-autoloads tree-sitter-langs-autoloads tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get dired-aux tsc-obsolete tree-sitter-autoloads tsc-autoloads grip-mode grip-mode-autoloads plantuml-mode xml plantuml-mode-autoloads graphviz-dot-mode graphviz-dot-mode-autoloads org-bullets-autoloads multi-web-mode multi-web-mode-autoloads yaml-mode yaml-mode-autoloads dts-mode dts-mode-autoloads csv-mode-autoloads dockerfile-mode sh-script smie executable dockerfile-mode-autoloads ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util blamer blamer-autoloads git-messenger-autoloads forge-autoloads yaml-autoloads markdown-mode-autoloads ghub-autoloads treepy-autoloads emacsql-sqlite-autoloads emacsql-autoloads closql-autoloads flycheck-aspell flycheck-aspell-autoloads ispell flycheck find-func flycheck-autoloads let-alist-autoloads pkg-info-autoloads epl-autoloads company-box company-box-doc frame-local company-box-icons company-box-autoloads frame-local-autoloads company-oddmuse company-keywords company-etags etags fileloop generator company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-yasnippet company-bbdb company company-autoloads yasnippet-snippets-autoloads yasnippet-snippets yasnippet yasnippet-autoloads multiple-cursors mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more thingatpt mc-cycle-cursors multiple-cursors-core multiple-cursors-autoloads iedit-autoloads sudo-edit tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete parse-time iso8601 time-date ls-lisp sudo-edit-autoloads visual-regexp-autoloads wgrep-ag wgrep-ag-autoloads wgrep wgrep-autoloads evil-numbers-autoloads evil-autoloads goto-chg-autoloads rectangle-utils rect rectangle-utils-autoloads ws-butler-autoloads dtrt-indent dtrt-indent-autoloads editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch editorconfig-autoloads expand-region-autoloads clipetty-autoloads xclip xclip-autoloads term-keys term-keys-autoloads dired-dragon-autoloads diredfl diredfl-autoloads image-dired image-mode exif dired-subtree-autoloads dired-hacks-utils-autoloads dired-du-autoloads dired-single dired-single-autoloads dired-hide-dotfiles dired-hide-dotfiles-autoloads direnv direnv-autoloads ibuffer-vc ibuf-ext ibuffer-vc-autoloads midnight dumb-jump popup xref project dumb-jump-autoloads popup-autoloads embark-consult-autoloads embark-autoloads consult-autoloads marginalia-autoloads orderless-autoloads vertico-autoloads all-the-icons-completion-autoloads counsel-autoloads request mailheader autorevert mail-utils request-autoloads all-the-icons-ivy-rich ivy-rich all-the-icons-ivy-rich-autoloads ivy-rich-autoloads all-the-icons-ivy all-the-icons-ivy-autoloads swiper ivy ivy-faces ivy-overlay colir swiper-autoloads ivy-autoloads posframe point-stack point-stack-autoloads crux-autoloads move-text move-text-autoloads use-package-bind-key bind-key which-key which-key-autoloads keycast format-spec compat compat-macs keycast-autoloads minimap minimap-autoloads treemacs-magit-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads with-editor-autoloads transient-autoloads compat-autoloads treemacs-icons-dired treemacs-icons-dired-autoloads treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-interface treemacs-persistence treemacs-filewatch-mode filenotify treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator treemacs-scope treemacs-faces treemacs-icons treemacs-themes treemacs-core-utils pfuture inline ht treemacs-logging treemacs-customization treemacs-macros pcase s dash treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads dash-autoloads all-the-icons-ibuffer ibuffer ibuffer-loaddefs all-the-icons-ibuffer-autoloads all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons all-the-icons-autoloads ligature ligature-autoloads symbol-overlay-autoloads highlight-indent-guides highlight-indent-guides-autoloads diff-hl-margin diff-hl-dired dired dired-loaddefs diff-hl log-view pcvs-util vc-dir ewoc diff-mode easy-mmode diff-hl-autoloads edmacro kmacro vc vc-dispatcher hl-line whitespace finder-inf xterm-color xterm-color-autoloads rainbow-mode rainbow-mode-autoloads mood-line mood-line-autoloads jetbrains-darcula-theme-autoloads modus-vivendi-theme modus-themes modus-vivendi-theme-autoloads use-package-diminish auto-minor-mode auto-minor-mode-autoloads diminish diminish-autoloads try package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source eieio eieio-core eieio-loaddefs password-cache json map url-vars try-autoloads olivetti olivetti-autoloads mixed-pitch-autoloads pulse color advice use-package-ensure xt-mouse comp comp-cstr warnings rx use-package-core use-package-autoloads info bind-key-autoloads straight-autoloads cl-seq cl-extra help-mode seq byte-opt straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv lazy-lock avoid grep compile text-property-search comint ansi-color ring delsel cus-load iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer 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 composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads xwidget-internal dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1313495 388605) (symbols 48 80116 8) (strings 32 326977 70195) (string-bytes 1 12961093) (vectors 16 168541) (vector-slots 8 3892221 869464) (floats 8 2172 1473) (intervals 56 17282 7391) (buffers 992 50))
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#59868
; Package emacs
.
(Wed, 07 Dec 2022 13:02:02 GMT) Full text and rfc822 format available.Message #8 received at 59868 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Len Trigg <lenbok <at> gmail.com> Cc: 59868 <at> debbugs.gnu.org Subject: Re: bug#59868: 28.2.50; compilation-search-path incompatible with dir-locals Date: Wed, 07 Dec 2022 15:01:17 +0200
severity 59868 wishlist thanks > From: Len Trigg <lenbok <at> gmail.com> > Date: Wed, 7 Dec 2022 14:56:25 +1300 > > The compilation-search-path variable purports to let the user specify a > list of directories to search when resolving file names found in > compilation error messages. As such this very much should be possible to > specify as a project-specific setting. However, setting this variable in > per-project .dir-locals.el file does not work. When a compilation buffer > is created, the local value is not obeyed (I have my dir locals file setting > this variable regardless of the major mode, and I see the variable being > set in regular modes just fine - it seems to be just compilation mode with > the problem). I am not an expert, but it may be due to compilation mode > calling kill-all-local-variables that prevents this from working as expected. I don't think this variable is meant to be buffer-local in *compilation* buffers. If project.el wants to provide a project-local value for this search path, it should define a new variable for that, and then compilation-mode can set its own variable from that.
Eli Zaretskii <eliz <at> gnu.org>
to control <at> debbugs.gnu.org
.
(Wed, 07 Dec 2022 13:02:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#59868
; Package emacs
.
(Fri, 09 Dec 2022 07:08:02 GMT) Full text and rfc822 format available.Message #13 received at 59868 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Len Trigg <lenbok <at> gmail.com> Cc: 59868 <at> debbugs.gnu.org Subject: Re: bug#59868: 28.2.50; compilation-search-path incompatible with dir-locals Date: Fri, 09 Dec 2022 09:06:47 +0200
> From: Len Trigg <lenbok <at> gmail.com> > Date: Fri, 9 Dec 2022 13:49:03 +1300 > > On Thu, 8 Dec 2022 at 02:01, Eli Zaretskii <eliz <at> gnu.org> wrote: > > I don't think this variable is meant to be buffer-local in > *compilation* buffers. If project.el wants to provide a project-local > value for this search path, it should define a new variable for that, > and then compilation-mode can set its own variable from that. > > I'm not using project.el at all, this is simply using a .dir-locals.el in the root of my project to set > project-specific variables. You are ignoring the first sentence in my response, right? The rest was a suggestion (and I do see a good reason why project.el would like to provide this as a project-specific setting). More generally, why would you want a directory-specific value for this variable, if it isn't something the entire directory tree shares? Maybe you should tell why you need to tell Emacs where to find the sources? Doesn't the tool you use to compile spell that out? P.S. And please use Reply All to keep the bug tracker on the CC list, so that this discussion gets recorded by the bug tracker.
bug-gnu-emacs <at> gnu.org
:bug#59868
; Package emacs
.
(Fri, 09 Dec 2022 19:12:02 GMT) Full text and rfc822 format available.Message #16 received at 59868 <at> debbugs.gnu.org (full text, mbox):
From: Len Trigg <lenbok <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 59868 <at> debbugs.gnu.org Subject: Re: bug#59868: 28.2.50; compilation-search-path incompatible with dir-locals Date: Sat, 10 Dec 2022 08:11:10 +1300
[Message part 1 (text/plain, inline)]
On Fri, 9 Dec 2022 at 20:06, Eli Zaretskii <eliz <at> gnu.org> wrote: > You are ignoring the first sentence in my response, right? > I don't think so - the purpose of my email was essentially to ask why you thought the variable shouldn't be buffer-local in *compilation* buffers. I'm hoping to see where my mental model of using .dir-locals.el and/or buffer-local variables is at odds with how emacs intends. The user manual for both of these make it seem like this would be a perfect fit. The rest was a suggestion (and I do see a good reason why project.el > would like to provide this as a project-specific setting). > > More generally, why would you want a directory-specific value for this > variable, if it isn't something the entire directory tree shares? > From my understanding, settings in .dir-locals.el *do* affect the whole directory tree under the directory containing the file (and I'm happy for that to be the case here). I think of .dir-locals.el in the project root as the preferred way of specifying project-wide settings, and of project.el/projectile.el as primarily providing meta functionality (e.g. cross projects, or multi-file within a project). (I would also perhaps naively expect that project.el would in turn get its project-wide settings via that .dir-locals.el, at least that is how I have done it for projects where I've needed to customize projectile settings (sorry, I haven't tried project.el yet)). Maybe you should tell why you need to tell Emacs where to find the > sources? Doesn't the tool you use to compile spell that out? > In my specific case the project is in R (which is a terrible language for software development) and we are using a single top level makefile in the project. It has a target to run linting, which (within each R linter invocation) lints from a subdirectory, and the filenames in each lint message are relative to those directories. There is not the hierarchy of makefiles that you would often see in say C projects, where compilation mode could parse make-issued messages about changing directories etc. It seemed a perfect fit for compilation-search-path. I am currently working around it with the following ugliness in my .dir-locals.el: ( (compilation-mode . ((eval . (progn (setq-local compilation-search-path '( "~/sandboxes/myproject/R" "~/sandboxes/myproject/tests" )) (put 'compilation-search-path 'permanent-local t) (compilation-mode)))))) Cheers, Len.
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#59868
; Package emacs
.
(Sat, 10 Dec 2022 14:03:02 GMT) Full text and rfc822 format available.Message #19 received at 59868 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Len Trigg <lenbok <at> gmail.com> Cc: 59868 <at> debbugs.gnu.org Subject: Re: bug#59868: 28.2.50; compilation-search-path incompatible with dir-locals Date: Sat, 10 Dec 2022 16:02:00 +0200
> From: Len Trigg <lenbok <at> gmail.com> > Date: Sat, 10 Dec 2022 08:11:10 +1300 > Cc: 59868 <at> debbugs.gnu.org > > You are ignoring the first sentence in my response, right? > > I don't think so - the purpose of my email was essentially to ask why you thought the variable shouldn't be > buffer-local in *compilation* buffers. Because from the pattern we use the *compilation* buffer it is clear that it cannot be buffer-local. The *compilation* buffer is reused by each new compilation, so local setting there makes no sense. > In my specific case the project is in R (which is a terrible language for software development) and we are > using a single top level makefile in the project. It has a target to run linting, which (within each R linter > invocation) lints from a subdirectory, and the filenames in each lint message are relative to those > directories. There is not the hierarchy of makefiles that you would often see in say C projects, where > compilation mode could parse make-issued messages about changing directories etc. It seemed a perfect > fit for compilation-search-path. I am currently working around it with the following ugliness in my > .dir-locals.el: Why cannot you have all the possible directories in the list?
bug-gnu-emacs <at> gnu.org
:bug#59868
; Package emacs
.
(Sat, 10 Dec 2022 22:03:02 GMT) Full text and rfc822 format available.Message #22 received at 59868 <at> debbugs.gnu.org (full text, mbox):
From: Len Trigg <lenbok <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 59868 <at> debbugs.gnu.org Subject: Re: bug#59868: 28.2.50; compilation-search-path incompatible with dir-locals Date: Sun, 11 Dec 2022 11:01:53 +1300
[Message part 1 (text/plain, inline)]
On Sun, 11 Dec 2022 at 03:02, Eli Zaretskii <eliz <at> gnu.org> wrote: > Because from the pattern we use the *compilation* buffer it is clear > that it cannot be buffer-local. The *compilation* buffer is reused by > each new compilation, so local setting there makes no sense. > Ahhh, right, thanks. My current hack would not work as expected if I switch to another project and compile that without first killing the previous *compilation* buffer, since it would have the previous project settings. So to be project aware I guess I would somehow need to set the compilation-search-path from compilation-start-hook? > Why cannot you have all the possible directories in the list? > Do you mean all directories for the current project, or all directories across all projects? If the former, that's exactly what I want. If the latter, that seems prone to incorrectly resolving the source file for a message as coming from a project other than the current (particularly for generic filenames like "utils.c") and additionally I try not to have anything project specific in my global emacs init, they should live in the project repo (and .dir-locals.el is the only mechanism I'm aware of for that). Cheers, Len.
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#59868
; Package emacs
.
(Sun, 11 Dec 2022 07:15:01 GMT) Full text and rfc822 format available.Message #25 received at 59868 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Len Trigg <lenbok <at> gmail.com> Cc: 59868 <at> debbugs.gnu.org Subject: Re: bug#59868: 28.2.50; compilation-search-path incompatible with dir-locals Date: Sun, 11 Dec 2022 09:14:12 +0200
> From: Len Trigg <lenbok <at> gmail.com> > Date: Sun, 11 Dec 2022 11:01:53 +1300 > Cc: 59868 <at> debbugs.gnu.org > > Because from the pattern we use the *compilation* buffer it is clear > that it cannot be buffer-local. The *compilation* buffer is reused by > each new compilation, so local setting there makes no sense. > > Ahhh, right, thanks. My current hack would not work as expected if I switch to another project and compile > that without first killing the previous *compilation* buffer, since it would have the previous project settings. So > to be project aware I guess I would somehow need to set the compilation-search-path from > compilation-start-hook? Something like that. That's why I thought about project.el: it is already sensitive to project changes. > Why cannot you have all the possible directories in the list? > > Do you mean all directories for the current project, or all directories across all projects? If the former, that's > exactly what I want. If the latter, that seems prone to incorrectly resolving the source file for a message as > coming from a project other than the current (particularly for generic filenames like "utils.c") and additionally I > try not to have anything project specific in my global emacs init, they should live in the project repo (and > .dir-locals.el is the only mechanism I'm aware of for that). I didn't mean global init, I meant the single .dir-locals.el file in the top-level directory of all your R projects (which AFAIU share a common parent directory). Is having files named the same in different sub-projects a real danger in that case? But I agree this is not a comprehensive solution. I still think the comprehensive one should be provided by project.el, since it already has infrastructure for these situations. For example, you can consider files under a certain directory to belong to a project.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.