From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 08:52:22 2023 Received: (at submit) by debbugs.gnu.org; 4 Oct 2023 12:52:22 +0000 Received: from localhost ([127.0.0.1]:41792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qo1MR-0005HR-96 for submit@debbugs.gnu.org; Wed, 04 Oct 2023 08:52:22 -0400 Received: from lists.gnu.org ([2001:470:142::17]:45016) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qnyqD-0003cn-Ve for submit@debbugs.gnu.org; Wed, 04 Oct 2023 06:10:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnypp-0003lL-Ua for bug-gnu-emacs@gnu.org; Wed, 04 Oct 2023 06:10:30 -0400 Received: from out-191.mta0.migadu.com ([2001:41d0:1004:224b::bf]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qnypm-0003J6-Cu for bug-gnu-emacs@gnu.org; Wed, 04 Oct 2023 06:10:29 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alexschroeder.ch; s=key1; t=1696414223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IrcR5sJrIe93OpsYYgbSN6VcJrjrEN6xwPcrEs2WuvM=; b=SqMYxTkg8qs0dCCXIrM2clVzX0aNgHvt8W648+dXc68Caj50HCw4C3o/bP6PnsoCshJAuF MdK6PvI1GR+HAzRv62VAOXlwqaybPVBq5WZTxbluGfLch2wqq6NEDyPILR+Q+oN0VYZRqz l+x3doV/xj/HL+yvdtrOlYXlnq7v/V0urJJd4vqEFd0sxV0kzfSwX/bM7EN4ykRgY/COm/ MNqDkQcASipc8Q8DQP1Oqnub3wl7+UqXKFAJR4j3BX0WTCQ6+ZIRZunGAAE/V5yFzvUirI nIQFekESGsfIBgmNHNqF9kANNJJC59ppV6PTkTIri153SBypXArSYTTpiVKf7Q== From: Alex Schroeder To: bug-gnu-emacs@gnu.org Subject: 30.0.50; grep-commnd set and using an old fish results in empty Copyright files Date: Wed, 04 Oct 2023 12:09:43 +0200 Message-ID: <87cyxu66mw.fsf@alexschroeder.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Received-SPF: pass client-ip=2001:41d0:1004:224b::bf; envelope-from=alex@alexschroeder.ch; helo=out-191.mta0.migadu.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 04 Oct 2023 08:52:17 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) My directories are littered with empty =E2=80=9CCopyright=E2=80=9D files. I= think the problem is that I use fish version 3.0.2 (current is 3.6.1) and I have grep-command set. So, using fish, start Emacs -Q. (getenv "SHELL") ;; "/usr/bin/fish" (setq grep-command "grep --color -niH -e ") M-x grep You don=E2=80=99t have to actually use grep. Invoking grep calls grep-compute-defaults which =E2=80=93 if grep-command is set =E2=80=93 call= s grep-probe which calls process-file-shell-command. The resulting command: /usr/bin/fish -c "grep --color -niH -e ^Copyright \ /usr/local/share/emacs/30.0.50/etc/HELLO" If I run this in the shell, it hangs. I terminate with C-d and notice that the empty file =E2=80=9CCopyright=E2=80=9D was created. If I quote the= regular expression, no problem: /usr/bin/fish -c "grep --color -niH -e '^Copyright' \ /usr/local/share/emacs/30.0.50/etc/HELLO" (This correctly produces a line of output.) This seems to be a feature of fish. The following command generates an empty file called =E2=80=9CXXX=E2=80=9D. echo ^XXX In the documentation I see the following regarding the caret, in a section about feature flags: =E2=80=9Cstderr-nocaret was introduced in fish 3.0 (and made the default in 3.3). It makes ^ an ordinary character instead of denoting an stderr redirection, to make dealing with quoting and such easier. Use 2> instead. This can no longer be turned off since fish 3.5. The flag can still be tested for compatibility, but a no-stderr-nocaret value will simply be ignored.=E2=80=9D https://fishshell.com/docs/current/language.html#featureflags So this is the problem and it=E2=80=99s already improved in newer versions = of fish. In my case, however: alex@melanobombus ~> status features stderr-nocaret off 3.0 ^ no longer redirects stderr qmark-noglob off 3.0 ? no longer globs I have since changed the stderr-nocaret to =E2=80=9Con=E2=80=9D for my syst= em (and as seen above, it is going to be mandatory going forward). This seems to do the job. No change to Emacs was required. I=E2=80=99m not quite sure what to suggest, here. All I can say is that I w= as very angry about these empty Copyright files appearing every now and then all over my directories. I looked at hooks, I grepped the sources for "Copyright" (which didn=E2=80=99t match "^Copyright"), I looked at pack= ages, I just couldn=E2=80=99t find it, and I also couldn=E2=80=99t reliably repro= duce it, since it effectively only created an empty Copyright file the first time I called grep in an Emacs session. Given the difficulty in finding the source of the problem, perhaps some sort of warning message or workaround is appropriate? Cheers Alex In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5, cairo version 1.16.0) of 2023-10-04 built on melanobombus Repository revision: fbfdd1e0e3e67f765c6dbf9f61b5f913e55e004e Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12004000 System Description: PureOS Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: en_GB.UTF-8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t edebug-mode: t windmove-mode: t winner-mode: t server-mode: t idle-highlight-mode: t global-git-gutter-mode: t override-global-mode: t savehist-mode: t desktop-save-mode: t display-time-mode: t midnight-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 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: /home/alex/.emacs.d/elpa/transient-20230501.1034/transient hides /usr/local= /share/emacs/30.0.50/lisp/transient Features: (shadow flyspell ispell typo ecomplete mail-extr emacsbug message yank-media rfc822 mailabbrev gmm-utils mailheader sendmail tabify imenu man cl-print dired-aux ibuffer ibuffer-loaddefs em-unix em-term term disp-table shell ehelp em-script em-prompt em-pred em-ls em-hist em-glob em-extpipe em-cmpl em-dirs em-basic em-banner em-alias esh-mode esh-var eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg pcomplete esh-module esh-groups esh-util emms-mpris dbus emms-librefm-stream emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams emms-show-all emms-tag-editor format-spec emms-tag-tracktag emms-mark emms-mode-line emms-cache emms-info-native bindat emms-info-exiftool emms-info-tinytag emms-info-metaflac emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mpv emms-playing-time emms-info emms-later-do emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file locate dired-x dired dired-loaddefs emms-setup emms emms-compat files-x edebug debug backtrace misearch multi-isearch find-func shortdoc comp comp-cstr warnings grep help-fns radix-tree mediawiki url-cache mm-url gnus nnheader mail-utils range wid-edit mml mml-sec epa epg rfc6068 epg-config gnus-util time-date mm-decode mm-bodies mm-encode url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm brutalist-dark-theme brutalist-theme brutalist-build move-text rcirc-emojis rx password-generator oddmuse hi-lock goto-addr url-misc sgml-mode facemenu cl shr pixel-fill kinsoku url-file puny svg xml dom windmove winner server slime-fancy slime-indentation slime-cl-indent cl-indent 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-editing-commands slime-autodoc slime-repl elp slime-parse slime derived lisp-mnt gud apropos compile text-property-search etags fileloop generator xref project arc-mode archive-mode noutline outline icons pp comint ansi-osc ansi-color ring hyperspec slime-autoloads mmm-mode mmm-univ mmm-class mmm-region mmm-auto mmm-vars mmm-utils mmm-compat advice image-file image-converter idle-highlight-mode thingatpt git-gutter edmacro kmacro cl-extra help-mode use-package-bind-key bind-key easy-mmode savehist desktop frameset time skeleton midnight generic use-package-ensure use-package-core finder-inf go-eldoc-autoloads go-mode-autoloads pcase mediawiki-autoloads wgrep-autoloads info 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/x-win x-win term/common-win x-dnd touch-screen 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 lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process emacs) Memory information: ((conses 16 510904 41722) (symbols 48 27987 1) (strings 32 120078 5410) (string-bytes 1 3474453) (vectors 16 50833) (vector-slots 8 1390521 192276) (floats 8 256 120) (intervals 56 2880 0) (buffers 984 21)) From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 09:07:01 2023 Received: (at 66338) by debbugs.gnu.org; 4 Oct 2023 13:07:02 +0000 Received: from localhost ([127.0.0.1]:41828 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qo1af-0005hI-MV for submit@debbugs.gnu.org; Wed, 04 Oct 2023 09:07:01 -0400 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:35003) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qo1aZ-0005gz-GE for 66338@debbugs.gnu.org; Wed, 04 Oct 2023 09:07:00 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id B5CAC5C02AC; Wed, 4 Oct 2023 09:06:30 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Wed, 04 Oct 2023 09:06:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1696424790; x=1696511190; bh=WDWj7fPIqNxFzC7DuS15kW3jVbMP7yT9mKU Br79JdF0=; b=ObewH6NOGvxTIbT2px9wthAeeyI2vnjKfYL+IcayeCiBEOQFsfh Jq1LjOsEFIJ5v2QdRhb8CsyRTYQPG+Aa13BOdcgxt9Cr+JxMYu0FaZew27KdYM8S wtNFLc6x2ckSpkr0MI9eybAC/T3oyaMIYzkSLmeBYSiXIrXT2kcrvOnJ6Hi4CSxD 0aBAcbpyitxLqnlsfiN3M0ZZtzQYhkMXrXXNGRF4zfwjMq1RzZktXEGHj7KFWFKl TrozaAYmAo+KHuVxyXLhGcsWjhdEjXLbvsnh343ylGf4j3P/Ll4UoEv4iEe1u4aK ZMsrEBWmNpnF/NTdxtpIvS8Zl/taf5Iiv3Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1696424790; x= 1696511190; bh=WDWj7fPIqNxFzC7DuS15kW3jVbMP7yT9mKUBr79JdF0=; b=o hsqv+wnTtbqQb7I5AQo7kllqy3AwnZ7fXwQl05rENwk3jVmfAfCTMe5q9RgtvhJz 67GMIvmxv5RWMgIUEYWpfCT2eDpgltFgSFQl1GsRYnTKh1ZJI+fQycxAKd2qa6jV FxNLH6yiZN7ixdO59NI+e31qNvASfUCZMBvc66A3Q2zMc6FuM13N13UQOfYU7FBe qT3vO59YmwIisQ7gYTW8NyXXQyjngxxnskR2G22IYQDoOfxgxNaelQtpzgDoZ7Fj Oabd+DLgrvd3gzd1Y0sVNdlVaTJg63wML6HOYnnYwf5VoIpF2mrYsiadKFzXNy1e 0um4mc3FaBxN1J1e/KdAA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrgedvgdehkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfhfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhithhr hicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrthhtvg hrnhepfeejkeevvdefleefudefveegtedvveekledvtdeuteetfedufefgudeikeffieel necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmih htrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 4 Oct 2023 09:06:29 -0400 (EDT) Message-ID: Date: Wed, 4 Oct 2023 16:06:27 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#66338: 30.0.50; grep-commnd set and using an old fish results in empty Copyright files Content-Language: en-US To: Alex Schroeder , 66338@debbugs.gnu.org References: <87cyxu66mw.fsf@alexschroeder.ch> From: Dmitry Gutov In-Reply-To: <87cyxu66mw.fsf@alexschroeder.ch> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.2 (--) X-Debbugs-Envelope-To: 66338 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 04/10/2023 13:09, Alex Schroeder via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > My directories are littered with empty “Copyright” files. I think the > problem is that I use fish version 3.0.2 (current is 3.6.1) and I have > grep-command set. Perhaps the problem is that you changed shell-file-name to point to fish? From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 12:52:34 2023 Received: (at 66338) by debbugs.gnu.org; 4 Oct 2023 16:52:34 +0000 Received: from localhost ([127.0.0.1]:45207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qo56v-0005wD-U4 for submit@debbugs.gnu.org; Wed, 04 Oct 2023 12:52:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44026) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qo56t-0005w0-KL for 66338@debbugs.gnu.org; Wed, 04 Oct 2023 12:52:32 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qo56W-0008GR-5M; Wed, 04 Oct 2023 12:52:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=iv8JCBYE/7CLvWIuUMsrltnQyRdiKQPGMRZ1bRMGovw=; b=Lqmf6cTJ5nmxQw3bkmf4 wTjLwATiogJ2zJshfjyF8PzIvQcgeD7SjVvgt/wPnpjO7YP+5+3ZL73Aa3XwXPZ+A4pJlZBa5IIyQ Bg/ToaJ4MfOA0GvNgUKPVOWTa4gdw8OQmKFy/q5RNDB1ttrMIiIsBPosT5FRF71A46dq3vQQGVGEk /T4x7ia7mUujm3gnClG96GDJuAzEbXSkXCu+I0jJq2S24iUhgZk6uBuIqqa81IRRAqxadaqQFS+RN cc/nZ95GmCvkwuMszyAB2IKgUNjk49o/ijBFWh5gSBjEYeqg2JkeHcrIDS8z2CFUVfN0qYfdgGYup jrooBKaQoZLnGQ==; Date: Wed, 04 Oct 2023 19:52:14 +0300 Message-Id: <83a5sy5o01.fsf@gnu.org> From: Eli Zaretskii To: Dmitry Gutov In-Reply-To: (message from Dmitry Gutov on Wed, 4 Oct 2023 16:06:27 +0300) Subject: Re: bug#66338: 30.0.50; grep-commnd set and using an old fish results in empty Copyright files References: <87cyxu66mw.fsf@alexschroeder.ch> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 66338 Cc: alex@alexschroeder.ch, 66338@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Wed, 4 Oct 2023 16:06:27 +0300 > From: Dmitry Gutov > > On 04/10/2023 13:09, Alex Schroeder via Bug reports for GNU Emacs, the > Swiss army knife of text editors wrote: > > My directories are littered with empty “Copyright” files. I think the > > problem is that I use fish version 3.0.2 (current is 3.6.1) and I have > > grep-command set. > > Perhaps the problem is that you changed shell-file-name to point to fish? Exactly. And that is never a good idea, because we use the semantics of Bourne shell in these cases. From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 04 15:08:34 2023 Received: (at 66338) by debbugs.gnu.org; 4 Oct 2023 19:08:34 +0000 Received: from localhost ([127.0.0.1]:45406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qo7EQ-0000fh-LB for submit@debbugs.gnu.org; Wed, 04 Oct 2023 15:08:34 -0400 Received: from out-195.mta0.migadu.com ([91.218.175.195]:50467) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qo6uc-0008SB-5d for 66338@debbugs.gnu.org; Wed, 04 Oct 2023 14:47:59 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alexschroeder.ch; s=key1; t=1696445258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to; bh=9nWyH2rC8PT1qZ3v69H0mnRniprqpVo7lF9o9IT1sYo=; b=fLInYcYgfaExbG/4F7u3n13C4+Cfrr3vP3Ju4WRIztoj8JnsjYTsCLfVWcnt1Yma2MC9WK siG+v+pNnq6+ERvx6FDP6CFX46DtwV15rHlWupchBWPhVJSjEk/kuHnVJL1cuZW394U+rx MvNAMM5NniZQTas6PqL2KqPwulNrJyAPav0nQcFj1SuQqXeNhYzooBpUNf/KA7KhXdcpYZ LuOHh5Q0pG59FlEDJc2ZczUd+fqbIwE9s1WQbK+YYftDqhQRuxzcKGlwGTl5WsN8QfVK5a 2JnNO4GIuW7/caP3uv1CnCZTzDbzCFiIK7ab1gpUmfj1MlzJH/OtMjEPYvfJJw== From: Alex Schroeder To: Eli Zaretskii Subject: Re: bug#66338: 30.0.50; grep-commnd set and using an old fish results in empty Copyright files In-Reply-To: <83a5sy5o01.fsf@gnu.org> (message from Eli Zaretskii on Wed, 04 Oct 2023 19:52:14 +0300) Date: Wed, 04 Oct 2023 20:47:35 +0200 Message-ID: <871qeajkc8.fsf@alexschroeder.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66338 X-Mailman-Approved-At: Wed, 04 Oct 2023 15:08:25 -0400 Cc: dmitry@gutov.dev, 66338@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> From: Dmitry Gutov >>=20 >> Perhaps the problem is that you changed shell-file-name to point to >> fish? > > Exactly. And that is never a good idea, because we use the semantics > of Bourne shell in these cases. Well, it is set, but not by me. I checked using the following: find ~/.emacs.d -name '*.el' -exec grep -H shell-file-name '{}' ';' There are a few matches in magit, and a single match in my init.el file where it is part of a huge custom-set-variables =E2=86=92 connection-local-profile-alist =E2=86=92 tramp-connection-local-default-shell-profile =E2=86=92 shell-file-name =E2= =86=92 "/bin/sh". So I don=E2=80=99t set it to "/usr/bin/fish" myself. When I start emacs -Q from my terminal emulator, I get an Emacs that has shell-file-name set to "/usr/bin/fish". The doc string says that shell-file-name is based on the SHELL environment variable. That variable is of course set to /usr/bin/fish. It seems to me that if it so important that Bourne shell semantics be used, either shell-file-name should not be set automatically, or it should be temporarily overridden in the cases where we rely on Bourne shell semantics, or a warning should be printed whenever such code sees a shell name it doesn=E2=80=99t know to be compatible with (although the required fixes by a user like me would seem to be many and confusing). >From my point of view, it seems that manually setting shell-file-name to "/bin/sh" is the only realistic solution and therefore I=E2=80=99d say that setting this variable from the SHELL environment variable seems like the wrong thing to do for Emacs. Is there a scenario where this is a good idea? For interactive use like M-x shell we already use explicit-shell-file-name which is based on ESHELL or shell-file-name. Perhaps that variable should be based on ESHELL, SHELL, and only use shell-file-name as a last resort and we no longer set shell-file-name based on the SHELL variable. Instead, shell-file-name should be set based on a list of known, compatible shells available, or remain unset and all commands that rely on it should fail gracefully and inform the user if no compatible shell was found. What do you think? Cheers Alex From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 01:23:15 2023 Received: (at 66338) by debbugs.gnu.org; 5 Oct 2023 05:23:15 +0000 Received: from localhost ([127.0.0.1]:45764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoGpO-0001g0-B7 for submit@debbugs.gnu.org; Thu, 05 Oct 2023 01:23:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoGp8-0001f8-MJ for 66338@debbugs.gnu.org; Thu, 05 Oct 2023 01:23:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoGok-0000tq-Bh; Thu, 05 Oct 2023 01:22:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=rXG/G8qfag92KLxnn/67gQROS547RGQrZULNqcwFgmE=; b=j6ZArztVNCPIF3qGjDCe Q/1YzbxIQxK88ib+CsedFtv+edtPsV4brOI8xjei/Z4lttF0sY4eUrLpHWO6WmFj5zUKVL8/Z5DKp HGfnANp3KkyvFYl3rhnrRmwHyVldKzF16L982uqpEhIKiuJ/OaFjFpVSL3T/QorCrMG6ltaesFFTx dVXbkXl9gqc0MJrKI2cPqyrur0TYWdavGIcwm51SD/JMKox0CxUxdR/yTxfRYQxGqwxzgtLX8HYnX HnxmYr5jJ8tQhJT4Mpc9C07vk9uQwE9W7KFZ6y6wmlwuw2+4NIXorY+dQx/bXmOUio9F15Zln3TMl 6PxURfO2uo+eWw==; Date: Thu, 05 Oct 2023 08:22:41 +0300 Message-Id: <83zg0x4p9a.fsf@gnu.org> From: Eli Zaretskii To: Alex Schroeder In-Reply-To: <871qeajkc8.fsf@alexschroeder.ch> (message from Alex Schroeder on Wed, 04 Oct 2023 20:47:35 +0200) Subject: Re: bug#66338: 30.0.50; grep-commnd set and using an old fish results in empty Copyright files References: <871qeajkc8.fsf@alexschroeder.ch> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66338 Cc: dmitry@gutov.dev, 66338@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Alex Schroeder > Cc: dmitry@gutov.dev, 66338@debbugs.gnu.org > Date: Wed, 04 Oct 2023 20:47:35 +0200 > > Eli Zaretskii writes: > > >> From: Dmitry Gutov > >> > >> Perhaps the problem is that you changed shell-file-name to point to > >> fish? > > > > Exactly. And that is never a good idea, because we use the semantics > > of Bourne shell in these cases. > > Well, it is set, but not by me. I checked using the following: > > find ~/.emacs.d -name '*.el' -exec grep -H shell-file-name '{}' ';' > > There are a few matches in magit, and a single match in my init.el file > where it is part of a huge custom-set-variables → > connection-local-profile-alist → > tramp-connection-local-default-shell-profile → shell-file-name → > "/bin/sh". So I don’t set it to "/usr/bin/fish" myself. > > When I start emacs -Q from my terminal emulator, I get an Emacs that has > shell-file-name set to "/usr/bin/fish". > The doc string says that shell-file-name is based on the SHELL > environment variable. That variable is of course set to /usr/bin/fish. It should be only set in interactive sessions. Please review your system init files, and modify them so that you override the default value of SHELL only in interactive sessions. > It seems to me that if it so important that Bourne shell semantics be > used, either shell-file-name should not be set automatically, or it > should be temporarily overridden in the cases where we rely on Bourne > shell semantics, or a warning should be printed whenever such code sees > a shell name it doesn’t know to be compatible with (although the > required fixes by a user like me would seem to be many and confusing). > > >From my point of view, it seems that manually setting shell-file-name to > "/bin/sh" is the only realistic solution and therefore I’d say that > setting this variable from the SHELL environment variable seems like the > wrong thing to do for Emacs. Is there a scenario where this is a good > idea? > > For interactive use like M-x shell we already use > explicit-shell-file-name which is based on ESHELL or shell-file-name. > Perhaps that variable should be based on ESHELL, SHELL, and only use > shell-file-name as a last resort and we no longer set shell-file-name > based on the SHELL variable. The Emacs manual says: ‘SHELL’ The name of an interpreter used to parse and execute programs run from inside Emacs. This is used to initialize the variable ‘shell-file-name’ (*note Single Shell::). So Emacs expects this variable to point to a shell that Emacs can use to run programs, not your interactive shell. If you want a different shell to be used in interactive shell sessions, such as "M-x shell", then you should use the variable explicit-shell-file-name to point to that other shell (in your case, fish). > Instead, shell-file-name should be set based on a list of known, > compatible shells available, or remain unset and all commands that rely > on it should fail gracefully and inform the user if no compatible shell > was found. > > What do you think? I think we already have the facilities to configure this as needed, see above. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 04:06:01 2023 Received: (at 66338) by debbugs.gnu.org; 5 Oct 2023 08:06:01 +0000 Received: from localhost ([127.0.0.1]:45973 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoJMu-0006I9-GH for submit@debbugs.gnu.org; Thu, 05 Oct 2023 04:06:01 -0400 Received: from out-190.mta1.migadu.com ([2001:41d0:203:375::be]:40593) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoIYk-0004nq-At for 66338@debbugs.gnu.org; Thu, 05 Oct 2023 03:14:12 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alexschroeder.ch; s=key1; t=1696490030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to; bh=CX9Pe9QQP9ucjgT5bSlD9QbSultRmvtFuWl/yaXv3ik=; b=YQpfveHZr6odJ0aYmOqJV7+OFwdYrts4IW+0p8ppzr0tURN1IML+HTsf0cLC0mijr7dgzX WJZqe+qvcx5eNYaJAa9ALDwQVsRgd+73pV7UMk6uISEZeJTv8GC/itGbkP35qHQK4QTUjI g1LjqtA7U+m3f1cHNA8FS9XOjhL1vHoz7Pl8vy7gRvmiWnDXwxIf+IVw5NqyhviP/vYmbP zQBb+0uW+BC3iQrj0vGzwEBSU8FExV7AYptG0J7qrF5iXvPOT6uoaX+cfvyPRyxOOrwICf pD5BnGGJmsy70C7ONP8UixlaxScbuba0UrrbUTyi3jn1X2KYBnq+y51cbHikoA== From: Alex Schroeder To: Eli Zaretskii Subject: Re: bug#66338: 30.0.50; grep-commnd set and using an old fish results in empty Copyright files In-Reply-To: <83zg0x4p9a.fsf@gnu.org> (message from Eli Zaretskii on Thu, 05 Oct 2023 08:22:41 +0300) Date: Thu, 05 Oct 2023 09:13:47 +0200 Message-ID: <877co1h784.fsf@alexschroeder.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66338 X-Mailman-Approved-At: Thu, 05 Oct 2023 04:05:59 -0400 Cc: dmitry@gutov.dev, 66338@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > The Emacs manual says: > > =E2=80=98SHELL=E2=80=99 > The name of an interpreter used to parse and execute programs run > from inside Emacs. This is used to initialize the variable > =E2=80=98shell-file-name=E2=80=99 (*note Single Shell::). > > So Emacs expects this variable to point to a shell that Emacs can use > to run programs, not your interactive shell. If you want a different > shell to be used in interactive shell sessions, such as "M-x shell", > then you should use the variable explicit-shell-file-name to point to > that other shell (in your case, fish). I understand that this is what Emacs expects. It seems to me that other parts of a user=E2=80=99s system might go against this expectation, however= . The man page for login(1) says this, for example: Your user and group ID will be set according to their values in the /etc/passwd file. The value for $HOME, $SHELL, $PATH, $LOGNAME, and $MAIL are set according to the appropriate fields in the password entry. Ulimit, umask and nice values may also be set according to entries in the GECOS field. That is to say, if a users runs chsh(1) and decides to use fish, then SHELL is set to fish, it is inherited to all processes, and Emacs breaks. The Emacs manual also says the following in (elisp) Security Considerations, which is consistent with what you said above (and unfortunate for users like me): Emacs has customization and other variables with similar considerations. For example, if the variable =E2=80=98shell-file-name= =E2=80=99 specifies a shell with nonstandard behavior, an Emacs-based application may misbehave. Too bad that there is not even a warning. I=E2=80=99ll try to close this bug. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 04:06:01 2023 Received: (at 66338-done) by debbugs.gnu.org; 5 Oct 2023 08:06:02 +0000 Received: from localhost ([127.0.0.1]:45975 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoJMv-0006ID-Db for submit@debbugs.gnu.org; Thu, 05 Oct 2023 04:06:01 -0400 Received: from out-196.mta1.migadu.com ([95.215.58.196]:49450) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoIdf-0004we-N6 for 66338-done@debbugs.gnu.org; Thu, 05 Oct 2023 03:19:16 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alexschroeder.ch; s=key1; t=1696490336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to; bh=PrN74U7KiM1tHj7/o6/MV2MZmjiaxhVeHIEEFZLHQ1U=; b=KXwqsjmOxDh+hUJGj43qbztDiLqHPNIf7bwfPmLLvB1ne+OWKIeaStVz7azdRD7vdZzj/f 5vtb4tbKVf9vcYDXSH1+9IVTtdZkgSaEbCBGdMyw6M9GvMMxIcsgccfUD6e6CqmPW8rq1b 1QhB8aqua9F973J9x+Dl/N4P172bRhJI3gV7pdzS2sV06y3LHrjquh6atJja0UBvZuuswg OP35n36l1Lrq6P7Sf/eqcyxWzNcUQcA1XWznJi8hbPodWevtCsCUTMXmon7uQGjXbDgF0B 56y5xCpR4RCDVbNumYC0lEP6zjE6ilAzXn1DDPyCqydq8js856vYVVWYYkNdlA== From: Alex Schroeder To: 66338-done@debbugs.gnu.org Subject: Re: bug#66338: 30.0.50; grep-commnd set and using an old fish results in empty Copyright files In-Reply-To: <83zg0x4p9a.fsf@gnu.org> (message from Eli Zaretskii on Thu, 05 Oct 2023 08:22:41 +0300) Date: Thu, 05 Oct 2023 09:18:54 +0200 Message-ID: <874jj5h6zl.fsf@alexschroeder.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66338-done X-Mailman-Approved-At: Thu, 05 Oct 2023 04:05:59 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) The systems appears to work as designed. It=E2=80=99s the user=E2=80=99s re= sponsibility to have a SHELL set that is compatible enough with the Bourne shell. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 06:27:58 2023 Received: (at 66338) by debbugs.gnu.org; 5 Oct 2023 10:27:58 +0000 Received: from localhost ([127.0.0.1]:46082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoLaI-0001kq-AP for submit@debbugs.gnu.org; Thu, 05 Oct 2023 06:27:58 -0400 Received: from mout.gmx.net ([212.227.17.22]:58739) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoLaF-0001ka-8Z for 66338@debbugs.gnu.org; Thu, 05 Oct 2023 06:27:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1696501647; x=1697106447; i=michael.albinus@gmx.de; bh=SgYBipcR2+5P+UR+R0u9wtW6niNO5FvN3q4J14CGbCw=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=DhJ9DINT8dC+bsG14SEm6TGfMQXH9rHwzYhyLHu1LZfK0khtkmLk8uroI0ZWMo4lEasXFHULQnj f1xlu8uSTQ1/+kCr8oIy1p+1BwdXOWuJSm1tz/rVmZsUjx9E5y5W5DJk3ntn4Fmozkp0zFqnhd8VL oLpZ7rwjgG2A8hwVnMqRF/UrcOFfy0GuuyMJ/SPJXQwLzFwBOwKpqHdoCWo28oYc9myX+7LFOlJdB NxqoPrWtVyIP0ebmvLWNqYOYa+OFTuiUB7BaWMhvRfpGGqCFa99sRmfuC0dBf8qBQM2kuYq3f68K1 Y4jxrV76JQnKTzs1PSDN/v5cTQQN6YungIhQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from gandalf.gmx.de ([185.89.39.30]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MXXuB-1r6sL33F9j-00Z1b5; Thu, 05 Oct 2023 12:27:26 +0200 From: Michael Albinus To: Alex Schroeder via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#66338: 30.0.50; grep-commnd set and using an old fish results in empty Copyright files In-Reply-To: <877co1h784.fsf@alexschroeder.ch> (Alex Schroeder via's message of "Thu, 05 Oct 2023 09:13:47 +0200") References: <87cyxu66mw.fsf@alexschroeder.ch> <877co1h784.fsf@alexschroeder.ch> Date: Thu, 05 Oct 2023 12:27:26 +0200 Message-ID: <87zg0x2wkx.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:+RBoJZIt7YD8ZVBiWB8XuicZLUxyH7JPjAhEkhFVoinKc8Lwqe8 Q72ABmh6Ha2E7bhGSswaLUb03GwboHRWCPhPJ63oWl12s27HjDp0jveXsxJ45Q1TiwpZvCb W/pPsrsIXUXuXA0cilrJ2ke7R9eA0klMXaIatiWDFzDoxOfuBHt1YuuDrA8TeCqmXszrW9U UBDysD2qfFcKOtxqxUWQA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:dAv+/mtdAy4=;Q3G+0B4TBkJu4UgeYOMJB51C/MV Pcj1Ljbwj06sMovDn5qbfCkV0HXaKEFEqSSVYeyqhebZsNgZ1dZdpCnh16Zn6QXWjmSnOSnLl Ku7AEUq2JsG6EAeEaLzImc1R50eUcVAwvKsuburX5N8n4TJqZWrtUEBitgPXA6YEUMS+RedeA 83Istr38QILXuB9/VRAmGvgdwWbsMYIubXL3OGCtIQeoveqPk2QjwVdhCDdnQ6xtW1XZc6hsJ E2aXIwIFB6qZqy/Q7n99RAme1w/GkZEUpMK75/avFUBHup+LJ7EnAvnwAb7VDlWCuOSAVlNkI ShiygBxvW5PcHmaZsTdkQf8/hvdZ4zQGss6Mx0urxm20uUj2iwjCvFcbQVHXLaJiLfSsaPs6X 5pePE2uCnAVBMG12XP61YvuHhwD9alB/fsFfxQvnZgshXEAhm3GmyEUhZDlFXszKKxPRXaI/R tsu3OQ34qu78bOoJ9hon+RK9gDVzg8OWhNVZG9t8ri3M3ZBZFhrh06obVk1gAWocny7J6dCUn bReM5ZzNt7njuVUOJQO4dhDft1cfBpEkcnoGip1Qv9EdMCbqTIP24VAjqRzDT5svFZfpRzoMa i5KtCEAOuLn+Cd0Xmby9SG2xBAvWexegifvXESwK0+4d5kF3tcILgKsRc+EVWh6/BDcaIheO8 LisSFRvL/1p/UZ098o+xALmgLKLrxRY9vK2Udc4jt7RIaOeXG3yH9Ev2WGSyqNHCwEES4kCti CybBKt9UZ8NfqTMQwdrRGhe5s/lNu1GRFBrHYIifAE7wsnulHnlCzerPcskdp7L/MKte70H02 yu60M1Ta9tc495SgbbsInNOAwHUfUo/M2ohQRGBmlLVsJ7/O+YWcY6PHcDT3XvUgsYfamouN+ 5543ONBn19yoHPr/wxCvji0mvkRObETvEocaAYl2pTKSjrm8V2uHXvNjCEIIWXe4fE4yq1eu3 49bI5A== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 66338 Cc: Alex Schroeder , Eli Zaretskii , 66338@debbugs.gnu.org, dmitry@gutov.dev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Alex Schroeder via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: Hi Alex, >> So Emacs expects this variable to point to a shell that Emacs can use >> to run programs, not your interactive shell. If you want a different >> shell to be used in interactive shell sessions, such as "M-x shell", >> then you should use the variable explicit-shell-file-name to point to >> that other shell (in your case, fish). > > I understand that this is what Emacs expects. It seems to me that other > parts of a user=E2=80=99s system might go against this expectation, howev= er. The > man page for login(1) says this, for example: > > Your user and group ID will be set according to their values in > the /etc/passwd file. The value for $HOME, $SHELL, $PATH, > $LOGNAME, and $MAIL are set according to the appropriate fields > in the password entry. Ulimit, umask and nice values may also be > set according to entries in the GECOS field. > > That is to say, if a users runs chsh(1) and decides to use fish, then > SHELL is set to fish, it is inherited to all processes, and Emacs > breaks. You could always add '(setenv "SHELL" "/bin/sh")' to your Emacs init file. Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 06:44:31 2023 Received: (at submit) by debbugs.gnu.org; 5 Oct 2023 10:44:31 +0000 Received: from localhost ([127.0.0.1]:46103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoLqJ-0002Gs-0J for submit@debbugs.gnu.org; Thu, 05 Oct 2023 06:44:31 -0400 Received: from lists.gnu.org ([2001:470:142::17]:38224) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qoLqF-0002GW-Sq for submit@debbugs.gnu.org; Thu, 05 Oct 2023 06:44:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoLpq-0003KT-7C for bug-gnu-emacs@gnu.org; Thu, 05 Oct 2023 06:44:03 -0400 Received: from out-193.mta1.migadu.com ([2001:41d0:203:375::c1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoLpm-0001qF-GB for bug-gnu-emacs@gnu.org; Thu, 05 Oct 2023 06:44:01 -0400 Content-Type: text/plain; charset=utf-8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alexschroeder.ch; s=key1; t=1696502632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=C+IHB5wZx0N4kBYkZAnV3kuMpTNyRF74qc9ai+5SufU=; b=sP3OfA0HW6P6SK8yPLoEKosowL2PXyyf1mT5czaOH4WEqFyTUUBU4DsBgGOhByU4Xesp0/ hdvLll9v8P5PD1781q/e1wcZeL35AsX8ZmsPuvYuuU/onlk8bhShMvuqud8fkT+souvUin 3wnfb1W39Fs+o4iVLOs9xT1a9JESjeNHzXkNwJRLb53fPeleVeWVcWBo+QYhl7mgqWovng VTdNQAy0oXM92d72IJy8Xg37da4r1csgBhLRTY2DBR5uNY47X+GvDAp8w7fYiYWqfYOWYZ cAObpm07cIoeJiWN6VS9ZnCxhmxhGwX/AtrVmbgW46LGGQ+/WRWdFrGWBn+RGw== Content-Transfer-Encoding: quoted-printable X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Alex Schroeder Mime-Version: 1.0 Subject: Re: bug#66338: 30.0.50; grep-commnd set and using an old fish results in empty Copyright files Date: Thu, 5 Oct 2023 12:43:39 +0200 Message-Id: <73D50655-8D3D-47DE-B313-68BAC0669409@alexschroeder.ch> References: <87zg0x2wkx.fsf@gmx.de> In-Reply-To: <87zg0x2wkx.fsf@gmx.de> To: Michael Albinus X-Migadu-Flow: FLOW_OUT Received-SPF: pass client-ip=2001:41d0:203:375::c1; envelope-from=alex@alexschroeder.ch; helo=out-193.mta1.migadu.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit Cc: dmitry@gutov.dev, "Alex Schroeder via Bug reports for GNU Emacs, the Swiss army knife of text editors" , Eli Zaretskii , 66338@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) Of course. =46rom my point of view this is not a question of how to fix it. M= y main problem is that it took me so long to discover what the problem was. --=20 Typed on a tiny keyboard. Sorry for being terse. > On 5 Oct 2023, at 12:27, Michael Albinus wrote: >=20 > =EF=BB=BFAlex Schroeder via "Bug reports for GNU Emacs, the Swiss army kni= fe of > text editors" writes: >=20 > Hi Alex, >=20 >>> So Emacs expects this variable to point to a shell that Emacs can use >>> to run programs, not your interactive shell. If you want a different >>> shell to be used in interactive shell sessions, such as "M-x shell", >>> then you should use the variable explicit-shell-file-name to point to >>> that other shell (in your case, fish). >>=20 >> I understand that this is what Emacs expects. It seems to me that other >> parts of a user=E2=80=99s system might go against this expectation, howev= er. The >> man page for login(1) says this, for example: >>=20 >> Your user and group ID will be set according to their values in >> the /etc/passwd file. The value for $HOME, $SHELL, $PATH, >> $LOGNAME, and $MAIL are set according to the appropriate fields >> in the password entry. Ulimit, umask and nice values may also be >> set according to entries in the GECOS field. >>=20 >> That is to say, if a users runs chsh(1) and decides to use fish, then >> SHELL is set to fish, it is inherited to all processes, and Emacs >> breaks. >=20 > You could always add '(setenv "SHELL" "/bin/sh")' to your Emacs init file.= >=20 > Best regards, Michael. From unknown Mon Aug 18 19:29:51 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 02 Nov 2023 11:24:10 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator