Attached: v2 of this patch This patch marks only the following characters as punctuation: !%^~:, I removed . because it is commonly used in command names (e.g., mkfs.ext4). (Excluding '.' not only covers the majority of command and function names but also prevents using ,!%^~: as symbol constituents, resulting in more accurate variable symbols.) -- James Cherti GitHub: https://github.com/jamescherti Website: https://www.jamescherti.com/ On 2025-04-13 05:45, Eli Zaretskii wrote: >> Date: Fri, 11 Apr 2025 10:55:02 -0400 >> From: James Cherti >> >> In sh and Bash, the characters !%^~:.,= and are not valid in variable or >> function names. >> >> Assigning them the "_" syntax causes Emacs to treat them as word >> constituents, disrupting navigation and completion >> (e.g. dabbrev-expand, forward-word, etc.). >> >> The attached patch updates the syntax table in sh-mode to mark >> these characters as punctuation, correcting the issue. > > Thanks. > > TBH, such a change sounds scary, as it could cause all kinds of > unintended changes in behavior. > > I've added a couple of people who might know this mode better than I > do, in the hope that they will have comments or opinions.