From: "Pär Bohrarper" <par.bohrarper@gmail.com>
To: 71538@debbugs.gnu.org
Subject: bug#71538: 29.3; project-find-file stopped working for files in git submodules
Date: Thu, 13 Jun 2024 16:55:01 +0200 [thread overview]
Message-ID: <CAGRu4SW0Aj99x+GNEAXvGWV5BjnU-xr62F4ZEMRpF1eYjM6sbQ@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 10937 bytes --]
Since
https://github.com/emacs-mirror/emacs/commit/370b216f08699bdd85b910868642df441c06306c
project-find-file will produce a list where files located in a git
submodule is listed relative to the submodule instead of relative to the
project root. The problem happens when recursing into submodules if
project--vc-merge-submodules-p is true. I managed to fix it locally by
concating the module name to the file in the recursive call:
(let ((sub-files-maybe-relative
(project--vc-list-files
(concat default-directory module)
backend
extra-ignores)))
(if project-files-relative-names
;; If project--vc-list-files returns relative names, then concat the
submodule name
(mapcar (lambda (file) (concat (file-name-as-directory module) file))
sub-files-maybe-relative)
sub-files-maybe-relative))
I don't know if this is the correct approach though.
In GNU Emacs 29.3 (build 1, aarch64-apple-darwin23.5.0, NS
appkit-2487.60 Version 14.5 (Build 23F79)) of 2024-06-12 built on
WRY7PK7266
Windowing system distributor 'Apple', version 10.3.2487
System Description: macOS 14.5
Configured using:
'configure --disable-dependency-tracking --disable-silent-rules
--enable-locallisppath=/opt/homebrew/share/emacs/site-lisp
--infodir=/opt/homebrew/Cellar/emacs-plus@29/29.3/share/info/emacs
--prefix=/opt/homebrew/Cellar/emacs-plus@29/29.3 --with-xml2
--with-gnutls --without-compress-install --without-dbus
--without-imagemagick --with-modules --with-rsvg --with-ns
--disable-ns-self-contained 'CFLAGS=-Os -w -pipe
-mmacosx-version-min=14
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
-DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT'
'CPPFLAGS=-I/opt/homebrew/opt/icu4c/include
-I/opt/homebrew/opt/sqlite/include -I/opt/homebrew/opt/readline/include
-isystem/opt/homebrew/include -F/opt/homebrew/Frameworks
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk'
'LDFLAGS=-L/opt/homebrew/opt/icu4c/lib -L/opt/homebrew/opt/sqlite/lib
-L/opt/homebrew/opt/readline/lib -L/opt/homebrew/lib
-F/opt/homebrew/Frameworks -Wl,-headerpad_max_install_names
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk''
Configured features:
ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE NS
PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER
WEBP XIM ZLIB
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: ELisp/l
Minor modes in effect:
tree-sitter-hl-mode: t
global-tree-sitter-mode: t
tree-sitter-mode: t
marginalia-mode: t
savehist-mode: t
vertico-mode: t
corfu-popupinfo-mode: t
global-corfu-mode: t
corfu-mode: t
which-key-mode: t
rainbow-delimiters-mode: t
global-whitespace-mode: t
doom-modeline-mode: t
server-mode: t
windmove-mode: t
recentf-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
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
blink-cursor-mode: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/Users/bohrarper/.emacs.d/elpa/cmake-mode-20240412.1329/cmake-mode hides
/opt/homebrew/share/emacs/site-lisp/cmake/cmake-mode
/Users/bohrarper/.emacs.d/elpa/protobuf-mode-20240222.1652/protobuf-mode
hides /opt/homebrew/share/emacs/site-lisp/protobuf/protobuf-mode
/Users/bohrarper/.emacs.d/elpa/transient-20240609.2020/transient hides
/opt/homebrew/Cellar/emacs-plus@29/29.3/share/emacs/29.3/lisp/transient
/Users/bohrarper/.emacs.d/elpa/jsonrpc-1.0.25/jsonrpc hides
/opt/homebrew/Cellar/emacs-plus@29/29.3/share/emacs/29.3/lisp/jsonrpc
/Users/bohrarper/.emacs.d/elpa/use-package-20230426.2324/use-package-jump
hides /opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/use-package/use-package-jump
/Users/bohrarper/.emacs.d/elpa/use-package-20230426.2324/use-package-diminish
hides /opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/use-package/use-package-diminish
/Users/bohrarper/.emacs.d/elpa/use-package-20230426.2324/use-package hides
/opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/use-package/use-package
/Users/bohrarper/.emacs.d/elpa/use-package-20230426.2324/use-package-delight
hides /opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/use-package/use-package-delight
/Users/bohrarper/.emacs.d/elpa/use-package-20230426.2324/use-package-lint
hides /opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/use-package/use-package-lint
/Users/bohrarper/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides
/opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/use-package/bind-key
/Users/bohrarper/.emacs.d/elpa/use-package-20230426.2324/use-package-core
hides /opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/use-package/use-package-core
/Users/bohrarper/.emacs.d/elpa/use-package-20230426.2324/use-package-ensure
hides /opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/use-package/use-package-ensure
/Users/bohrarper/.emacs.d/elpa/use-package-20230426.2324/use-package-bind-key
hides /opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/use-package/use-package-bind-key
/Users/bohrarper/.emacs.d/elpa/flymake-1.3.7/flymake hides
/opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/progmodes/flymake
/Users/bohrarper/.emacs.d/elpa/xref-1.7.0/xref hides
/opt/homebrew/Cellar/emacs-plus@29/29.3/share/emacs/29.3/lisp/progmodes/xref
/Users/bohrarper/.emacs.d/elpa/project-0.11.0/project hides
/opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/progmodes/project
/Users/bohrarper/.emacs.d/elpa/eglot-1.17/eglot hides
/opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/progmodes/eglot
/Users/bohrarper/.emacs.d/elpa/eldoc-1.15.0/eldoc hides
/opt/homebrew/Cellar/emacs-plus@29
/29.3/share/emacs/29.3/lisp/emacs-lisp/eldoc
Features:
(shadow sort mail-extr emacsbug message puny rfc822 mml mml-sec epa
derived epg rfc6068 epg-config gnus-util mailabbrev gmm-utils mailheader
sendmail mail-utils misearch multi-isearch face-remap yank-media
markdown-mode noutline outline vc-git vc-dispatcher eglot
external-completion jsonrpc xref flymake thingatpt diff diff-mode ert
ewoc debug backtrace advice find-func filenotify warnings icons imenu
vertico-directory cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs orderless cursor-sensor
vertico-repeat project consult bookmark pulse color persistent-soft
list-utils pcache eieio-base cl font-utils parse-time iso8601 time-date
tree-sitter-langs tree-sitter-langs-build tar-mode arc-mode archive-mode
pp tree-sitter-hl tree-sitter tree-sitter-load tree-sitter-cli tsc
tsc-dyn tsc-dyn-get compile text-property-search comint ansi-osc
ansi-color dired-aux dired dired-loaddefs tsc-obsolete marginalia
savehist vertico clang-format xml corfu-popupinfo corfu cus-load
which-key two-column hydra ring lv edmacro kmacro rainbow-delimiters
disp-table whitespace material-theme doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
f s dash nerd-icons nerd-icons-faces nerd-icons-data
nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon
nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon
nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon compat unicode-fonts
exec-path-from-shell delight server windmove recentf tree-widget
wid-edit quelpa-use-package quelpa mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
lisp-mnt help-fns radix-tree cl-extra help-mode use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core finder-inf
all-the-icons-completion-autoloads all-the-icons-autoloads
async-autoloads auto-compile-autoloads bazel-autoloads rx
blacken-autoloads cargo-autoloads clang-format-autoloads
cmake-mode-autoloads consult-autoloads copilot-autoloads
corfu-terminal-autoloads corfu-autoloads dart-mode-autoloads
doom-modeline-autoloads editorconfig-autoloads eglot-java-autoloads
eglot-autoloads exec-path-from-shell-autoloads expand-region-autoloads
flutter-autoloads flymake-autoloads eldoc-autoloads jsonrpc-autoloads
kind-icon-autoloads magit-autoloads pcase git-commit-autoloads
magit-section-autoloads marginalia-autoloads markdown-mode-autoloads
multiple-cursors-autoloads nerd-icons-autoloads orderless-autoloads
org-page-autoloads htmlize-autoloads prescient-autoloads
project-autoloads project-mode-line-tag-autoloads
protobuf-mode-autoloads quelpa-use-package-autoloads quelpa-autoloads
rust-mode-autoloads f-autoloads simple-httpd-autoloads svg-lib-autoloads
transient-autoloads tree-sitter-langs-autoloads tree-sitter-autoloads
treemacs-autoloads posframe-autoloads dash-autoloads tsc-autoloads
typescript-mode-autoloads unicode-fonts-autoloads vertico-autoloads
web-mode-autoloads which-key-autoloads with-editor-autoloads info
compat-autoloads xref-autoloads yaml-autoloads yaml-mode-autoloads
yasnippet-snippets-autoloads yasnippet-autoloads zig-mode-autoloads
reformatter-autoloads package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv
bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util
term/common-win 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 nadvice seq simple cl-generic indonesian philippine
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 abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads kqueue cocoa ns lcms2 multi-tty make-network-process emacs)
Memory information:
((conses 16 495522 257431)
(symbols 48 30607 3)
(strings 32 172029 24046)
(string-bytes 1 4360706)
(vectors 16 48125)
(vector-slots 8 670691 444580)
(floats 8 359 1216)
(intervals 56 3756 2278)
(buffers 984 19))
[-- Attachment #2: Type: text/html, Size: 11795 bytes --]
next reply other threads:[~2024-06-13 14:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 14:55 Pär Bohrarper [this message]
2024-06-14 1:08 ` bug#71538: 29.3; project-find-file stopped working for files in git submodules Dmitry Gutov
2024-06-14 8:01 ` Pär Bohrarper
2024-06-14 15:34 ` Dmitry Gutov
2024-06-17 12:25 ` Pär Bohrarper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAGRu4SW0Aj99x+GNEAXvGWV5BjnU-xr62F4ZEMRpF1eYjM6sbQ@mail.gmail.com \
--to=par.bohrarper@gmail.com \
--cc=71538@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).