Package: emacs;
Reported by: Justin Flude <justin_flude <at> hotmail.com>
Date: Wed, 23 Apr 2025 01:52:02 UTC
Severity: normal
Found in version 30.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 78001 in the body.
You can then email your comments to 78001 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#78001
; Package emacs
.
(Wed, 23 Apr 2025 01:52:02 GMT) Full text and rfc822 format available.Justin Flude <justin_flude <at> hotmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Wed, 23 Apr 2025 01:52:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Justin Flude <justin_flude <at> hotmail.com> To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org> Subject: 30.1; `M-x man` errors on macOS 15 after sed(1) RE syntax change Date: Tue, 22 Apr 2025 19:04:27 +0000
Steps to reproduce:- 1. On a macOS 15 computer run `emacs -Q -nw` in a terminal 2. Type the command `M-x man` then enter `ls` 3. A `*Man ls*` buffer appears with this error:- sed: 1: "/^[\o001-\o032][\o001-\ ...": RE error: invalid character range The command works fine for the same version of Emacs (30.1) on my macOS Catalina Macbook. The issue also occurs when Emacs is run as a GUI from the Finder. It affects to my knowledge the latest Emacs distributed by Homebrew and MacPorts. Analysis: it appears that recent versions of macOS have changed the way quoting works in sed(1) regular expressions. The problem can be reproduced without Emacs when just running sed(1) in a Bash shell, and with no environment variables set other than PATH and TERM. In GNU Emacs 30.1 (build 2, aarch64-apple-darwin24.3.0, NS appkit-2575.40 Version 15.3.1 (Build 24D70)) of 2025-03-06 built on pickwick Windowing system distributor 'Apple', version 10.3.2575 System Description: macOS 15.4.1 Configured using: 'configure --prefix=/opt/local --disable-silent-rules --without-dbus --without-gconf --without-libotf --without-m17n-flt --with-libgmp --with-gnutls --with-xml2 --with-modules --with-sqlite3 --with-webp --with-native-compilation=aot --infodir /opt/local/share/info/emacs --disable-gc-mark-trace --with-ns --with-lcms2 --without-harfbuzz --without-xaw3d --with-imagemagick --with-rsvg --with-tree-sitter 'CFLAGS=-pipe -Os -Wno-attributes -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk -arch arm64' 'CPPFLAGS=-I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk' 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-no_pie -Wl,-rpath /opt/local/lib/gcc14 -Wl,-rpath /opt/local/lib -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk -arch arm64'' Configured features: ACL GIF GLIB GMP GNUTLS IMAGEMAGICK JPEG LCMS2 LIBXML2 MODULES NATIVE_COMP 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: Lisp Minor modes in effect: sly-stickers-shortcut-mode: t sly-stickers-mode: t sly-trace-dialog-shortcut-mode: t sly-autodoc-mode: t sly-editing-mode: t sly-mode: t sly-symbol-completion-mode: t server-mode: t auto-dark-mode: t global-page-break-lines-mode: t page-break-lines-mode: t display-battery-mode: t display-time-mode: t paredit-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-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 column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t hs-minor-mode: t Load-path shadows: /opt/local/share/emacs/site-lisp/cmake-mode hides /Users/justin/.emacs.d/elpa/cmake-mode-20250304.1338/cmake-mode /Users/justin/.emacs.d/elpa/transient-20250418.2149/transient hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient Features: (shadow sort mail-extr tmm emacsbug tabify imenu man wombat-theme wgsl-mode wgsl-mode-autoloads loaddefs-gen cus-edit cus-start cus-load lisp-mnt mm-archive url-cache finder-inf pcmpl-git find-dired oc-basic org-element org-persist org-id org-refile org-element-ast inline avl-tree 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 message sendmail yank-media rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range wid-edit ol-docview doc-view filenotify image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi vc-annotate vc pcmpl-unix pcmpl-gnu tar-mode jka-compr misearch multi-isearch display-line-numbers sly-asdf grep sly-macrostep macrostep sly-fancy sly-tramp tramp trampver tramp-integration tramp-message tramp-compat xdg parse-time iso8601 tramp-loaddefs sly-indentation sly-cl-indent sly-stickers cl-extra pulse color hi-lock sly-trace-dialog sly-fontifying-fu sly-package-fu sly-scratch sly-fancy-trace sly-fancy-inspector sly-mrepl sly-autodoc sly-parse network-stream dired-aux dired dired-loaddefs vc-git diff-mode track-changes vc-dispatcher sly easy-mmode sly-completion sly-buttons sly-messages sly-common apropos arc-mode archive-mode pp hyperspec go-mode find-file ffap comp-run comp-common hideshow server tango-theme auto-dark page-break-lines battery dbus xml time ob-sqlite ob-sql ob-shell shell ob-sed ob-screen ob-scheme geiser-impl help-fns radix-tree geiser-custom geiser-base geiser ob-rust ob-ruby ob-R ob-python python compat ob-perl ob-org ob-octave ob-makefile ob-lisp ob-latex ob-js ob-java ob-http ob-http-mode s ob-haskell ob-go ob-gnuplot ob-forth ob-eshell eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-module-loaddefs esh-util files-x ob-dot ob-css ob-calc calc-store calc-trail calc-ext calc calc-loaddefs rect calc-macs ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-awk org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script treesit executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities time-date noutline outline ob-emacs-lisp ob-core ob-eval org-version org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-compat org-macs format-spec wolfram-mode cobol-mode robe help-mode url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny etags fileloop generator xref inf-ruby ruby-mode smie flymake-ruby flymake-easy flymake project compile text-property-search comint ansi-osc ansi-color ring warnings thingatpt emmet-mode web-mode advice disp-table paredit edmacro kmacro exec-path-from-shell auto-dark-autoloads basic-mode-autoloads chess-autoloads cmake-mode-autoloads cobol-mode-autoloads company-autoloads csv-mode-autoloads dad-joke-autoloads dockerfile-mode-autoloads emmet-mode-autoloads exec-path-from-shell-autoloads fireplace-autoloads flycheck-autoloads flymake-ruby-autoloads flymake-easy-autoloads forth-mode-autoloads geiser-chez-autoloads geiser-chibi-autoloads geiser-chicken-autoloads geiser-gambit-autoloads geiser-guile-autoloads geiser-mit-autoloads geiser-racket-autoloads geiser-autoloads glsl-mode-autoloads gnu-elpa-keyring-update-autoloads gnuplot-autoloads go-mode-autoloads graphviz-dot-mode-autoloads groovy-mode-autoloads impatient-mode-autoloads htmlize-autoloads json-mode-autoloads rx json-snatcher-autoloads lsp-ui-autoloads lsp-mode-autoloads ht-autoloads f-autoloads lv-autoloads magit-autoloads pcase markdown-mode-autoloads minesweeper-autoloads mustache-mode-autoloads nginx-mode-autoloads ob-go-autoloads ob-http-autoloads ob-rust-autoloads org-roam-autoloads magit-section-autoloads llama-autoloads emacsql-autoloads dash-autoloads page-break-lines-autoloads paredit-autoloads pdf-tools-autoloads protobuf-mode-autoloads restclient-autoloads robe-autoloads inf-ruby-autoloads rust-mode-autoloads s-autoloads simple-httpd-autoloads sly-asdf-autoloads popup-autoloads sly-macrostep-autoloads macrostep-autoloads sly-autoloads solidity-mode-autoloads spinner-autoloads tablist-autoloads transient-autoloads web-mode-autoloads info with-editor-autoloads wolfram-mode-autoloads yaml-mode-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/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 native-compile emacs) Memory information: ((conses 16 755698 1266831) (symbols 48 46982 0) (strings 32 233125 47890) (string-bytes 1 11129078) (vectors 16 74739) (vector-slots 8 1637415 155572) (floats 8 621 1232) (intervals 56 4815 4306) (buffers 992 26))
bug-gnu-emacs <at> gnu.org
:bug#78001
; Package emacs
.
(Wed, 23 Apr 2025 12:58:03 GMT) Full text and rfc822 format available.Message #8 received at 78001 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Justin Flude <justin_flude <at> hotmail.com> Cc: 78001 <at> debbugs.gnu.org Subject: Re: bug#78001: 30.1; `M-x man` errors on macOS 15 after sed(1) RE syntax change Date: Wed, 23 Apr 2025 15:57:02 +0300
> From: Justin Flude <justin_flude <at> hotmail.com> > Date: Tue, 22 Apr 2025 19:04:27 +0000 > > Steps to reproduce:- > > 1. On a macOS 15 computer run `emacs -Q -nw` in a terminal > 2. Type the command `M-x man` then enter `ls` > 3. A `*Man ls*` buffer appears with this error:- > > sed: 1: "/^[\o001-\o032][\o001-\ ...": RE error: invalid character > range > > The command works fine for the same version of Emacs (30.1) on my macOS > Catalina Macbook. This was solved on the master branch a day or two ago. > The issue also occurs when Emacs is run as a GUI from the Finder. It > affects to my knowledge the latest Emacs distributed by Homebrew and > MacPorts. > > Analysis: it appears that recent versions of macOS have changed the way > quoting works in sed(1) regular expressions. The problem can be > reproduced without Emacs when just running sed(1) in a Bash shell, and > with no environment variables set other than PATH and TERM. I suggest to install GNU Sed as a workaround, it should have no problem with these regular expressions.
Eli Zaretskii <eliz <at> gnu.org>
:Justin Flude <justin_flude <at> hotmail.com>
:Message #13 received at 78001-done <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: justin_flude <at> hotmail.com Cc: 78001-done <at> debbugs.gnu.org Subject: Re: bug#78001: 30.1; `M-x man` errors on macOS 15 after sed(1) RE syntax change Date: Sat, 10 May 2025 12:16:39 +0300
> Cc: 78001 <at> debbugs.gnu.org > Date: Wed, 23 Apr 2025 15:57:02 +0300 > From: Eli Zaretskii <eliz <at> gnu.org> > > > From: Justin Flude <justin_flude <at> hotmail.com> > > Date: Tue, 22 Apr 2025 19:04:27 +0000 > > > > Steps to reproduce:- > > > > 1. On a macOS 15 computer run `emacs -Q -nw` in a terminal > > 2. Type the command `M-x man` then enter `ls` > > 3. A `*Man ls*` buffer appears with this error:- > > > > sed: 1: "/^[\o001-\o032][\o001-\ ...": RE error: invalid character > > range > > > > The command works fine for the same version of Emacs (30.1) on my macOS > > Catalina Macbook. > > This was solved on the master branch a day or two ago. > > > The issue also occurs when Emacs is run as a GUI from the Finder. It > > affects to my knowledge the latest Emacs distributed by Homebrew and > > MacPorts. > > > > Analysis: it appears that recent versions of macOS have changed the way > > quoting works in sed(1) regular expressions. The problem can be > > reproduced without Emacs when just running sed(1) in a Bash shell, and > > with no environment variables set other than PATH and TERM. > > I suggest to install GNU Sed as a workaround, it should have no > problem with these regular expressions. No further comments, so I presume the bug is indeed solved, and I'm therefore closing this bug.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sat, 07 Jun 2025 11:24:06 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.