From unknown Wed Jun 18 00:26:51 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#54813 <54813@debbugs.gnu.org> To: bug#54813 <54813@debbugs.gnu.org> Subject: Status: 29.0.50; Diff file motion commands skip file mode changes Reply-To: bug#54813 <54813@debbugs.gnu.org> Date: Wed, 18 Jun 2025 07:26:51 +0000 retitle 54813 29.0.50; Diff file motion commands skip file mode changes reassign 54813 emacs submitter 54813 Matthias Meulien severity 54813 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 09 08:19:20 2022 Received: (at submit) by debbugs.gnu.org; 9 Apr 2022 12:19:20 +0000 Received: from localhost ([127.0.0.1]:36924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ndA3j-0007Bh-M5 for submit@debbugs.gnu.org; Sat, 09 Apr 2022 08:19:20 -0400 Received: from lists.gnu.org ([209.51.188.17]:36004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ndA3i-0007Ba-B2 for submit@debbugs.gnu.org; Sat, 09 Apr 2022 08:19:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48992) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ndA3g-00041n-HP for bug-gnu-emacs@gnu.org; Sat, 09 Apr 2022 08:19:18 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:45914) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ndA3e-0006s6-Cq for bug-gnu-emacs@gnu.org; Sat, 09 Apr 2022 08:19:16 -0400 Received: by mail-wr1-x429.google.com with SMTP id w4so16483014wrg.12 for ; Sat, 09 Apr 2022 05:19:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:user-agent:mime-version; bh=8SBE89Tyhq+ZozCGMDGgukBoL2QYD41A40HbZTTXmh8=; b=lYEFfo33pM8qJrV66/DOAB58eSqwMY/wnLVB3I968OodJaPKOXpQkx2FSYG1VxeiMO wS6t0Dh0nD1C+beXXU7avtWIgMcaLf5nrCrc3pQvMpFWXNObAv5a5gu/R3utYRgVR5yX 87UGdboCbK7htV1OfByfKbGjxq5n0ocYYZurQA88G5hCqDqDS4TILNd+hCceJIkC6M2B JPYD9yIMXhoGsWZg9YAmVr5xdp9cVKwW2MzjlP9K7yYYWw84hQwL+Wy8RajUVGtm3m4x J8moKF05BRES5XZRjYBJNklr2BZMdgelZuodhWu5d7s7UVmLDouw+sNvQKwWDB08rrYA KYww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:user-agent :mime-version; bh=8SBE89Tyhq+ZozCGMDGgukBoL2QYD41A40HbZTTXmh8=; b=adKF6tXiqNFe0ox+uMzF5GGbceK7KHQiVTg8Bbf8pZ5ct2NglRaYOmxGSfKBFoLtmy GpRrwfmfsd0hbjIrl0YqWTGjGiDtPNjMWANtO1KZYOTxIH6ymfpW8+Dklp3Crcnl7bPt 0m0FrykqkMGG9hoYtwoBVjXXaA1+GU5I1+3P5DeibnhaGU3i9QFofuWIZxHXIVjXkkGK JgmuShwQS9658vKv5oE78zZptHpmO9LvDXonjyehyYBOOjuHNtyAXORhckKAUgJV8c9X w9uuOTZZ8XwrHDGiBUCPGXG1Y0YtJsR4eupApszBtWMzyrCpoAyrVbZheVPgdkAf33jk njnQ== X-Gm-Message-State: AOAM532TZpp7keQEcTTLGZDdCrTTqXybhVG/H8LDTXH/kgX0KCtSwSlE 06Od8wnUPePUNlsfm25twFvuP2Duc9s= X-Google-Smtp-Source: ABdhPJzsTHz7rw6kIMoZP2dRkcD/e1wJC0BjOmHx+7WqnerjmAysDgj20WXduVyQJM6aLuxMQ2BSCQ== X-Received: by 2002:adf:a44d:0:b0:206:1362:98db with SMTP id e13-20020adfa44d000000b00206136298dbmr19452456wra.82.1649506752734; Sat, 09 Apr 2022 05:19:12 -0700 (PDT) Received: from carbon.localdomain ([2a01:e0a:245:c850:98f5:429a:aa8e:95bb]) by smtp.gmail.com with ESMTPSA id bg8-20020a05600c3c8800b0038e4c5967besm13035659wmb.3.2022.04.09.05.19.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 05:19:11 -0700 (PDT) From: Matthias Meulien To: bug-gnu-emacs@gnu.org Subject: 29.0.50; Diff file motion commands skip file mode changes X-Debbugs-Cc: Stefan Monnier Date: Sat, 09 Apr 2022 14:19:10 +0200 Message-ID: <877d7ymou9.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=orontee@gmail.com; helo=mail-wr1-x429.google.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit 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: -2.3 (--) --=-=-= Content-Type: text/plain Steps to reproduce: 1. Save the following diff in a file, say bug.diff: --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=bug.diff diff --git a/INSTALL b/INSTALL index b1e3c72c4b..ddf8787078 100644 --- a/INSTALL +++ b/INSTALL @@ -1,3 +1,4 @@ +foo GNU Emacs Installation Guide Copyright (C) 1992, 1994, 1996-1997, 2000-2022 Free Software Foundation, Inc. diff --git a/README b/README old mode 100644 new mode 100755 diff --git a/src/cm.c b/src/cm.c index a175b4a338..b1c7db0b52 100644 --- a/src/cm.c +++ b/src/cm.c @@ -1,3 +1,5 @@ +/* bar */ + /* Cursor motion subroutines for GNU Emacs. Copyright (C) 1985, 1995, 2001-2022 Free Software Foundation, Inc. based primarily on public domain code written by Chris Torek --=-=-= Content-Type: text/plain 2. Visit that file using emacs -Q; The buffer major mode is expected to be Diff mode, thus the M-{ and M-} keys are mapped to the `diff-file-prev' and `diff-file-next' commands. 3. The diff file describes changes involving three files, INSTALL, README and src/cm.c; But M-{ and M-} skip the diff concerning README Analysis: Git diff shows file mode changes when the execution bit is affected by the change. There may be no file content change, thus no lines starting with --- or +++. In such case the regexp defined by `diff-file-header-re' doesn't match which explains the bug. This bug was identified while working on bug #54034. Note that, after one enables Outline minor mode, then moving through first level outline headers with C-c @ C-f (`outline-forward-same-level') and C-c @ C-b works as expected, the three file changes have been identified. In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0) of 2022-04-04 built on carbon Repository revision: f365607bc059169e5aa9f98c8418661d6fc6477d Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: Debian GNU/Linux 11 (bullseye) Configured using: 'configure --with-native-compilation' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LANG: fr_FR.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: C/*l Minor modes in effect: shell-dirtrack-mode: t bug-reference-prog-mode: t display-line-numbers-mode: t highlight-changes-mode: t minions-mode: t global-company-mode: t company-mode: t desktop-save-mode: t save-place-mode: t electric-pair-mode: t icomplete-mode: t global-so-long-mode: t global-auto-revert-mode: t auto-insert-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-layout-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t window-divider-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 abbrev-mode: t Load-path shadows: /home/matthias/.config/emacs/elpa/transient-20220331.2312/transient hides /usr/local/share/emacs/29.0.50/lisp/transient /home/matthias/.config/emacs/elpa/dictionary-20201001.1727/dictionary hides /usr/local/share/emacs/29.0.50/lisp/net/dictionary Features: (shadow emacsbug shortdoc shr-color view qp gnus-topic nndraft nnmh nnfolder utf-7 epa-file mailalias smtpmail sort smiley gnus-cite mail-extr gnus-async gnus-bcklg gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-ml gnus-msg nndoc gnus-cache gnus-dup mm-archive gnutls network-stream crm debbugs-gnu debbugs soap-client url-http url-gw nsm pcmpl-unix dabbrev log-edit misearch multi-isearch tabify image-dired man smerge-mode diff hl-line add-log log-view pcvs-util meson-mode disp-table make-mode rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid nxml-mode nxml-outln nxml-rap follow cwarn generic yaml-mode rst reftex-dcr reftex reftex-loaddefs reftex-vars tex-mode shell textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check url-cache url-auth mhtml-mode hideshow cap-words superword subword css-mode smie js sgml-mode facemenu conf-mode help-fns radix-tree dired-aux mule-util python flyspell 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-element avl-tree ol-eww eww xdg 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 dig gnus-sum shr pixel-fill kinsoku url-file url-dired svg dom ol-docview doc-view jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi goto-addr whitespace vc-dir bug-reference display-line-numbers hilit-chg vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc eglot array jsonrpc ert ewoc debug backtrace flymake-proc flymake compile imenu company-oddmuse company-keywords company-etags etags fileloop generator xref project company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb avoid minions company pcase carbon-custom cus-edit cus-load gnus-demon nntp gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc parse-time gnus-spec gnus-win nnoo gnus-int gnus-range message sendmail yank-media rmc puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus nnheader gnus-util mail-utils range mm-util mail-prsvr wid-edit gnus-dired dired-x dired dired-loaddefs org-capture org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete comint ansi-color ring org-list org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex iso8601 time-date ol org-keys oc org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs dictionary link connection advice markdown-mode edit-indirect color thingatpt noutline outline skeleton find-file vc-git diff-mode easy-mmode vc-dispatcher ispell comp comp-cstr warnings rx cl-extra help-mode desktop frameset server bookmark text-property-search pp saveplace elec-pair icomplete so-long autorevert filenotify autoinsert cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs generic-x face-remap proof-site proof-autoloads info 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 cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars seq gv subr-x byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib 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 nadvice simple 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 abbrev obarray oclosure cl-preloaded button 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 move-toolbar gtk x-toolkit x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1329621 264198) (symbols 48 44493 1) (strings 32 233626 88247) (string-bytes 1 12818082) (vectors 16 109036) (vector-slots 8 2666192 186060) (floats 8 3015 1884) (intervals 56 42312 2418) (buffers 992 235)) -- Matthias --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 09 08:41:25 2022 Received: (at 54813) by debbugs.gnu.org; 9 Apr 2022 12:41:25 +0000 Received: from localhost ([127.0.0.1]:36953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ndAP7-0007je-Dx for submit@debbugs.gnu.org; Sat, 09 Apr 2022 08:41:25 -0400 Received: from mail-wm1-f41.google.com ([209.85.128.41]:40720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ndAP5-0007jO-NM for 54813@debbugs.gnu.org; Sat, 09 Apr 2022 08:41:24 -0400 Received: by mail-wm1-f41.google.com with SMTP id v64-20020a1cac43000000b0038cfd1b3a6dso9249028wme.5 for <54813@debbugs.gnu.org>; Sat, 09 Apr 2022 05:41:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=wrvU0s2sR8uNHW9SCTpXWzY0Aqb+/0fLHMF6JDpyhXc=; b=gRNq0Hnzq/dmSXLR1yXFNLhbDWsMIOT4IaZlKHt043MdRaxoAqxs1TlQcCsNEI91h1 qxSm63HmRQnxaS5fG/gI3fLuNw9RfLAO9TgNWXAv53P6Hg1ou2KzllKtjaYKb2xDFO1g jWvwz0RvyYqLMA4VNTxjFN2AYCKMNFMzXGzpPOGr39149/P7d5QN+EO8fnJqDVEIjMyA irJ35503GORGfHCP+rWZF6xqOE0HeHLGZuaR2SHjqYZK0evMkewmOay3pjf/CNok1N0M BctVS2OWM6fNrWeVhl339YQBIltyCE4oMbPn/BbLtrD5pbaRVI2SCylkLxzfLiTzxuYu fzhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=wrvU0s2sR8uNHW9SCTpXWzY0Aqb+/0fLHMF6JDpyhXc=; b=wi4SlGxGuTEdoQja1JILk0ki9K1FkcMeO0YlyMaMeh8flRmrpXuNpqzHLIdtV2fNJ8 FwZHAHxYtHMaDhZ9XWF4LhhbzR42eqINN0OlOp/vktwtCi24ARacMnwUCcNotj5Bfp+j RDquQzRDCWBXOQC9BHOsVC5xOM8AtYwc8XPZAN0t+NA8rhOMqtNGsNV6EimQii8NGczQ dk/P3qnjwbggyHfhPrU7CdhzmTLmuJeMJqxdQAuI6gOrsyMo+FWjEtiEOCIImjHOu5kD IgKp4gFswLOW+fTSLe+xWhBPFqLYWZVTQAtKUSGrKRqLkan+ptQumnc9onp1OtZZZOtY pJig== X-Gm-Message-State: AOAM530uoQOn8mdlYmIJv1AheR99Ggh1dFrT25A1sI5z1VV6a8E99Zen Ml4+YLb5rp5AA+69/mXyQS0= X-Google-Smtp-Source: ABdhPJyuRsQ1RJaSvVRD3aGoP5j2ww8uYZNgmq6ul7u9mf+68/AUCIKPNDc+SB+gRTzDdI4BjCNbiw== X-Received: by 2002:a05:600c:4fd4:b0:38c:cc3f:ac01 with SMTP id o20-20020a05600c4fd400b0038ccc3fac01mr21319912wmq.206.1649508077570; Sat, 09 Apr 2022 05:41:17 -0700 (PDT) Received: from carbon.localdomain ([2a01:e0a:245:c850:98f5:429a:aa8e:95bb]) by smtp.gmail.com with ESMTPSA id c24-20020a7bc018000000b0038a18068cf5sm12260964wmb.15.2022.04.09.05.41.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Apr 2022 05:41:17 -0700 (PDT) From: Matthias Meulien To: 54813@debbugs.gnu.org Subject: Re: bug#54813: 29.0.50; Diff file motion commands skip file mode changes References: <877d7ymou9.fsf@gmail.com> Date: Sat, 09 Apr 2022 14:41:15 +0200 In-Reply-To: <877d7ymou9.fsf@gmail.com> (Matthias Meulien's message of "Sat, 09 Apr 2022 14:19:10 +0200") Message-ID: <8735immntg.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54813 Cc: Stefan Monnier 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 (-) Matthias Meulien writes: > Analysis: Git diff shows file mode changes when the execution bit is > affected by the change. There may be no file content change, thus no > lines starting with --- or +++. In such case the regexp defined by > `diff-file-header-re' doesn't match which explains the bug. Note that `diff-goto-source' is based on "hunk headers" search and fails to open the README file from the diff. Not sure it should be considered as a bug...