On Sun, Apr 20, 2025 at 12:45 AM Eli Zaretskii wrote: > > From: Ship Mints > > Date: Sat, 19 Apr 2025 14:12:29 -0400 > > > > M-x grep > > grep -nH --null -i -e header-line *.el /dev/null > > > > -*- mode: grep; default-directory: "~/.emacs.d/emacs/lisp/" -*- > > Grep started at Sat Apr 19 14:09:03 > > > > bindings.el:572: (define-key map [header-line down-mouse-3] > mode-menu-binding) > > > > Right here is a null char: bindings.el^@:572 (it is not pasteable into > email). > > Doesn't happen on 2 systems I tried with the current master branch. > Of course, I don't have your "~/.emacs.d/emacs/lisp/" directory, so > maybe this depends on the actual files in a directory. Does this > happen in the Emacs's lisp/ directory? > > Is this in "emacs -Q" on the master branch? > > "M-x grep" puts a display property on the null characters, showing > them as ":". So why doesn't it happen in this case, and why there's a > ":" _in_addition_ to the null character? > I think that ":" was my typo, it was supposed to come after the line number. The ^@ are escape-glyphs (which is fine) but weirdly show up only after I C-v. I repro'd on Emacs 30.1 also. The emacs subdir is a symlink to my git-controlled master working tree and the file names there are normal (and it's the precise build I was using at the time). It could be my config, so I'll dig into this more.