GNU bug report logs - #78982
30.1; find-program value mismatch between runtime and ~grep.el~ definition

Previous Next

Package: emacs;

Reported by: Anush V <j <at> gnu.org>

Date: Wed, 9 Jul 2025 14:33:02 UTC

Severity: normal

Found in version 30.1

Done: Eli Zaretskii <eliz <at> gnu.org>

To reply to this bug, email your comments to 78982 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#78982; Package emacs. (Wed, 09 Jul 2025 14:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Anush V <j <at> gnu.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 09 Jul 2025 14:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Anush V <j <at> gnu.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.1; find-program value mismatch between runtime and ~grep.el~
 definition
Date: Wed, 09 Jul 2025 10:31:03 -0400
Hello Emacs maintainers,  emacs --no-init; 

 C-h v find-program 

Shows 

 find-program is a variable defined in ‘grep.el’. 

 Its value is 
 "/gnu/store/6i0xi5kf38jk54sw64akd3iv8scw5g6x-findutils-4.9.0/bin/find" 

However, the definition of find-program in `grep.el` is 

 (defvar find-program (purecopy 
 "/gnu/store/w4p913kmnga3xh80vx8vnkri42dcmqi3-findutils-4.9.0/bin/find") 
   "The default find program. 
 This is used by commands like `grep-find-command', `find-dired' 
 and others.") 

The find-program value differs, despite no user configuration being
loaded.  Could you confirm whether this is expected behavior or
a potential bug?

Thank you for your time!

Regards,
Anush Veeranala

* * *

`guix describe` outputs

 guix describe
 Generation 40	Jul 03 2025 09:44:55	(current)
   nonguix 39424fb
     repository URL: https://gitlab.com/nonguix/nonguix
     branch: master
     commit: 39424fb09813cebac8d323da75abf80f01e2641f
   guix-science 345dfdf
     repository URL: https://codeberg.org/guix-science/guix-science.git
     branch: master
     commit: 345dfdf8b9afbae96a8d4c47820e1b058d696093
   guix-cran 198fbbd
     repository URL: https://github.com/guix-science/guix-cran.git
     branch: master
     commit: 198fbbdd5113f7c2239408acc7531c1947b4fc7c
   guix dc455ba
     repository URL: https://git.guix.gnu.org/guix.git
     branch: master
     commit: dc455ba0dd09bc32f050013a1424b5c442bfcb86


In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43,
cairo version 1.18.2)
System Description: Guix System

Configured using:
'configure
CONFIG_SHELL=/gnu/store/m0xdsa8cfq6mq1kxgxmpmpg71la4f0b9-bash-minimal-5.1.16/bin/bash
SHELL=/gnu/store/m0xdsa8cfq6mq1kxgxmpmpg71la4f0b9-bash-minimal-5.1.16/bin/bash --prefix=/gnu/store/416vvmsc3n33wsliga55ljzmcvhyry54-emacs-pgtk-30.1 --enable-fast-install --with-pgtk --with-cairo --with-modules --with-native-compilation=aot --disable-build-details'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS
TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
 value of $EMACSLOADPATH: /run/current-system/profile/share/emacs/site-lisp:/run/current-system/profile/share/emacs/site-lisp:/gnu/store/416vvmsc3n33wsliga55ljzmcvhyry54-emacs-pgtk-30.1/share/emacs/30.1/lisp
 value of $LC_ALL: en_US.UTF-8
 value of $LANG: en_US.utf8
 locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
 gnus-undo-mode: t
 erc-track-mode: t
 erc-track-minor-mode: t
 erc-ring-mode: t
 erc-netsplit-mode: t
 erc-menu-mode: t
 erc-list-mode: t
 erc-imenu-mode: t
 erc-pcomplete-mode: t
 erc-button-mode: t
 erc-fill-mode: t
 erc-stamp-mode: t
 erc-autojoin-mode: t
 erc-spelling-mode: t
 erc-notifications-mode: t
 erc-match-mode: t
 erc-irccontrols-mode: t
 erc-move-to-prompt-mode: t
 erc-readonly-mode: t
 erc-networks-mode: t
 csv-field-index-mode: t
 auth-source-xoauth2-plugin-mode: t
 global-auto-revert-mode: t
 minibuffer-electric-default-mode: t
 minibuffer-depth-indicate-mode: t
 savehist-mode: t
 global-completion-preview-mode: t
 delete-selection-mode: t
 electric-pair-mode: t
 global-whitespace-mode: t
 save-place-mode: t
 which-function-mode: t
 global-so-long-mode: t
 winner-mode: t
 recentf-mode: t
 global-hl-line-mode: t
 display-battery-mode: t
 which-key-mode: t
 override-global-mode: t
 pixel-scroll-precision-mode: t
 display-time-mode: t
 tooltip-mode: t
 global-eldoc-mode: t
 show-paren-mode: t
 electric-quote-mode: t
 electric-indent-mode: t
 mouse-wheel-mode: t
 modifier-bar-mode: t
 global-prettify-symbols-mode: t
 tab-bar-mode: t
 file-name-shadow-mode: t
 global-font-lock-mode: t
 font-lock-mode: t
 blink-cursor-mode: t
 minibuffer-regexp-mode: t
 buffer-read-only: t
 column-number-mode: t
 line-number-mode: t
 transient-mark-mode: t
 auto-composition-mode: t
 auto-encryption-mode: t
 auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow bbdb-message emacsbug gnus-cite smiley shr-color mm-archive
mail-extr textsec uni-scripts idna-mapping ucs-normalize
uni-confusable textsec-check gnus-async gnus-bcklg gnus-ml nndraft
nnmh pop3 qp utf-7 imap rfc2104 nnmaildir bbdb-gnus nnnil gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache
cal-move tabify ol-subed org-capture geiser-mode geiser-xref
geiser-compile vc-git diff-mode track-changes dired-aux gnus-dired
misearch multi-isearch mule-util ellama-context add-log org-indent
org-num image-file image-converter remember cl-print completion
dos-w32 find-cmd grep find-dired network-stream epa-file
modus-vivendi-theme modus-themes display-fill-column-indicator
indent-bars face-remap color org-duration oc-basic disp-table
org-habit ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info
ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls
dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group
gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source
utf7 nnoo gnus-spec gnus-int gnus-range cus-start message yank-media
rfc822 mml mml-sec epa derived mm-decode mm-bodies mm-encode gmm-utils
mailheader gnus-win ol-docview doc-view jka-compr image-mode exif
ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi erc-track erc-ring
erc-netsplit erc-menu erc-list erc-imenu erc-pcomplete erc-button
erc-fill erc-stamp erc-join erc-spelling flyspell
erc-desktop-notifications erc-match erc-goodies notifications erc
erc-backend erc-networks erc-common erc-compat erc-loaddefs
llm-deepseek llm-openai ellama llm-provider-utils llm-models
llm-request-plz plz-event-source plz-media-type plz llm ox-md csv-mode
sort bbdb-vcard bbdb-vcard-vcard21 bbdb-mua bbdb-com crm mailabbrev
bbdb bbdb-site timezone ob-python python compat pcase ob-R ob-scheme
geiser-guile info-look transient geiser geiser-debug geiser-repl
compile geiser-image geiser-capf geiser-doc geiser-menu geiser-autodoc
geiser-edit etags fileloop xref geiser-completion geiser-eval
geiser-connection tq geiser-syntax scheme geiser-impl help-fns
radix-tree geiser-log geiser-popup view geiser-custom geiser-base appt
diary-lib diary-loaddefs org-clock saveplace-pdf-view bookmark ispell
auth-source-xoauth2-plugin smtpmail sendmail oauth2 url-http url-auth
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-gw nsm puny plstore
epg rfc6068 epg-config vc vc-dispatcher autorevert filenotify
anki-editor ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util
rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox
org-attach org-element org-persist avl-tree generator dired
dired-loaddefs engrave-faces skeleton org-id org-refile
org-element-ast inline org-contrib ob-shell minibuf-eldef mb-depth
savehist completion-preview delsel elec-pair whitespace saveplace
which-func imenu so-long winner tramp-cache time-stamp tramp-sh tramp
trampver tramp-integration files-x tramp-message tramp-compat xdg
shell parse-time iso8601 tramp-loaddefs recentf tree-widget project
hl-line use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key finder-inf guix
use-package-core battery dbus xml which-key edmacro kmacro bind-key
easy-mmode comp comp-cstr cl-extra help-mode warnings comp-run
comp-common org-mouse pixel-scroll cua-base gnus nnheader gnus-util
text-property-search mail-utils range mm-util mail-prsvr org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script
smie treesit executable ob-comint org-pcomplete pcomplete comint
ansi-osc ansi-color ring org-list org-footnote org-faces org-entities
time-date noutline outline org-version ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
thingatpt find-func cal-menu calendar cal-loaddefs org-compat org-macs
format-spec time cus-edit pp cus-load wid-edit guix-emacs
anki-editor-autoloads auth-source-xoauth2-plugin-autoloads
bbdb-vcard-autoloads bbdb-autoloads bug-hunter-autoloads
csv-mode-autoloads dired-du-autoloads ellama-autoloads ement-autoloads
engrave-faces-autoloads ess-autoloads expand-region-autoloads
geiser-guile-autoloads guix-autoloads rx edit-indirect-autoloads
bui-autoloads geiser-autoloads htmlize-autoloads indent-bars-autoloads
jabber-autoloads fsm-autoloads llm-autoloads oauth2-autoloads
org-contrib-autoloads dash-autoloads persist-autoloads
plz-event-source-autoloads plz-media-type-autoloads plz-autoloads
saveplace-pdf-view-autoloads sqlformat-autoloads reformatter-autoloads
srv-autoloads subed-autoloads svg-lib-autoloads
taxy-magit-section-autoloads taxy-autoloads info
magit-section-autoloads llama-autoloads visual-regexp-autoloads
vundo-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 icons 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/pgtk-win pgtk-win
term/common-win touch-screen pgtk-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 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
dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 2465291 283886) (symbols 48 54002 3)
(strings 32 405823 45072) (string-bytes 1 14336751)
(vectors 16 210274) (vector-slots 8 3059755 178646)
(floats 8 1107 16576) (intervals 56 133015 4867) (buffers 992 70))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#78982; Package emacs. (Wed, 09 Jul 2025 16:02:04 GMT) Full text and rfc822 format available.

Message #8 received at 78982 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Anush V <j <at> gnu.org>
Cc: 78982 <at> debbugs.gnu.org
Subject: Re: bug#78982: 30.1;
 find-program value mismatch between runtime and ~grep.el~ definition
Date: Wed, 09 Jul 2025 19:01:26 +0300
> From: Anush V <j <at> gnu.org>
> Date: Wed, 09 Jul 2025 10:31:03 -0400
> 
> Hello Emacs maintainers,  emacs --no-init; 
>  
>   C-h v find-program 
>  
> Shows 
>  
>   find-program is a variable defined in ‘grep.el’. 
>  
>   Its value is 
>   "/gnu/store/6i0xi5kf38jk54sw64akd3iv8scw5g6x-findutils-4.9.0/bin/find" 
>  
> However, the definition of find-program in `grep.el` is 
>  
>   (defvar find-program (purecopy 
>   "/gnu/store/w4p913kmnga3xh80vx8vnkri42dcmqi3-findutils-4.9.0/bin/find") 
>     "The default find program. 
>   This is used by commands like `grep-find-command', `find-dired' 
>   and others.") 
>  
> The find-program value differs, despite no user configuration being
> loaded.  Could you confirm whether this is expected behavior or
> a potential bug?

The actual value of find-program set by grep.el is this:

  (defvar find-program (purecopy "find")
    "The default find program.
  This is used by commands like `grep-find-command', `find-dired'
  and others.")

So the value is just "find", and some code somewhere assigned a
different value to this variable, and you need to figure out which
code did that and why.

I don't see any Emacs bugs here.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#78982; Package emacs. (Wed, 09 Jul 2025 21:04:03 GMT) Full text and rfc822 format available.

Message #11 received at 78982 <at> debbugs.gnu.org (full text, mbox):

From: Anush V <j <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 78982 <at> debbugs.gnu.org
Subject: Re: bug#78982: 30.1; find-program value mismatch between runtime
 and ~grep.el~ definition
Date: Wed, 09 Jul 2025 17:03:41 -0400
> From: Eli Zaretskii <eliz <at> gnu.org>
> Date: Wed,  9 Jul 2025 19:01:26 +0300
>
>> From: Anush V <j <at> gnu.org>
>> Date: Wed, 09 Jul 2025 10:31:03 -0400
>> 
>> Hello Emacs maintainers,  emacs --no-init; 
>>  
>>   C-h v find-program 
>>  
>> Shows 
>>  
>>   find-program is a variable defined in ‘grep.el’. 
>>  
>>   Its value is 
>>   "/gnu/store/6i0xi5kf38jk54sw64akd3iv8scw5g6x-findutils-4.9.0/bin/find" 
>>  
>> However, the definition of find-program in `grep.el` is 
>>  
>>   (defvar find-program (purecopy 
>>   "/gnu/store/w4p913kmnga3xh80vx8vnkri42dcmqi3-findutils-4.9.0/bin/find") 
>>     "The default find program. 
>>   This is used by commands like `grep-find-command', `find-dired' 
>>   and others.") 
>>  
>> The find-program value differs, despite no user configuration being
>> loaded.  Could you confirm whether this is expected behavior or
>> a potential bug?
>
> The actual value of find-program set by grep.el is this:
>
>   (defvar find-program (purecopy "find")
>     "The default find program.
>   This is used by commands like `grep-find-command', `find-dired'
>   and others.")
>
> So the value is just "find", and some code somewhere assigned a
> different value to this variable, and you need to figure out which
> code did that and why.
>
> I don't see any Emacs bugs here.

The default definition in the upstream grep.el is indeed

  (defvar find-program (purecopy "find"))

The /gnu/store/... path I observed in my local grep.el appears to be
a modification introduced by the Guix packaging of Emacs.  I’ll follow
up with the Guix maintainers to understand their rationale for this
override.

Thank you for checking.  Please feel free to close this bug.

--
Regards,
Anush V




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Thu, 10 Jul 2025 06:08:01 GMT) Full text and rfc822 format available.

Notification sent to Anush V <j <at> gnu.org>:
bug acknowledged by developer. (Thu, 10 Jul 2025 06:08:02 GMT) Full text and rfc822 format available.

Message #16 received at 78982-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Anush V <j <at> gnu.org>
Cc: 78982-done <at> debbugs.gnu.org
Subject: Re: bug#78982: 30.1; find-program value mismatch between runtime
 and ~grep.el~ definition
Date: Thu, 10 Jul 2025 09:07:12 +0300
> From: Anush V <j <at> gnu.org>
> Cc: 78982 <at> debbugs.gnu.org
> Date: Wed, 09 Jul 2025 17:03:41 -0400
> 
> > From: Eli Zaretskii <eliz <at> gnu.org>
> > Date: Wed,  9 Jul 2025 19:01:26 +0300
> >
> >> From: Anush V <j <at> gnu.org>
> >> Date: Wed, 09 Jul 2025 10:31:03 -0400
> >> 
> >> Hello Emacs maintainers,  emacs --no-init; 
> >>  
> >>   C-h v find-program 
> >>  
> >> Shows 
> >>  
> >>   find-program is a variable defined in ‘grep.el’. 
> >>  
> >>   Its value is 
> >>   "/gnu/store/6i0xi5kf38jk54sw64akd3iv8scw5g6x-findutils-4.9.0/bin/find" 
> >>  
> >> However, the definition of find-program in `grep.el` is 
> >>  
> >>   (defvar find-program (purecopy 
> >>   "/gnu/store/w4p913kmnga3xh80vx8vnkri42dcmqi3-findutils-4.9.0/bin/find") 
> >>     "The default find program. 
> >>   This is used by commands like `grep-find-command', `find-dired' 
> >>   and others.") 
> >>  
> >> The find-program value differs, despite no user configuration being
> >> loaded.  Could you confirm whether this is expected behavior or
> >> a potential bug?
> >
> > The actual value of find-program set by grep.el is this:
> >
> >   (defvar find-program (purecopy "find")
> >     "The default find program.
> >   This is used by commands like `grep-find-command', `find-dired'
> >   and others.")
> >
> > So the value is just "find", and some code somewhere assigned a
> > different value to this variable, and you need to figure out which
> > code did that and why.
> >
> > I don't see any Emacs bugs here.
> 
> The default definition in the upstream grep.el is indeed
> 
>   (defvar find-program (purecopy "find"))
> 
> The /gnu/store/... path I observed in my local grep.el appears to be
> a modification introduced by the Guix packaging of Emacs.  I’ll follow
> up with the Guix maintainers to understand their rationale for this
> override.
> 
> Thank you for checking.  Please feel free to close this bug.

Thanks, done.




This bug report was last modified 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.