Path: csiph.com!weretis.net!feeder9.news.weretis.net!border-2.nntp.ord.giganews.com!border-3.nntp.ord.giganews.com!nntp.giganews.com!Xl.tags.giganews.com!local-4.nntp.ord.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Sat, 20 Jun 2026 04:03:50 +0000 From: steve g Newsgroups: gnu.emacs.help Subject: Re: Question about change in shell mode References: Date: Sat, 20 Jun 2026 00:03:50 -0400 Message-ID: <874iixhn89.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:FrPI6MfS1RSZSC+kNlP6gC3otYM= MIME-Version: 1.0 Content-Type: text/plain Lines: 69 X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-MfvLABP0wxfNPVbP+NkGA8rtmOn5zM7i19Ct0/tyi7hGbDgrWNSTIR99oSJV8GiBtTNm6dbTPh8FkyX!zmrP7u1ESoxHmzezPvzdV150kDqD57jHMDu1sOTn6culVtw= X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 Xref: csiph.com gnu.emacs.help:61068 Jim Diamond writes: > (I posted this a week or so ago in the "wrong" emacs group, and just > silence. Maybe that one is essentially dead, so I thought I'd try here.) > > In emacs 28.2 (started as "emacs -Q"), if I have a file > > ------------------------------------cut here--------------------- > #! /bin/sh > > while > do > done > ------------------------------------cut here--------------------- > > and I mark the region with the (partial) while loop and then > M-x indent-region > nothing changes. > > However, in emacs 30.2, the partial while loop changes to > > while > do > done > > The same thing happens with "until" loops, but not "for" loops. > > > Other info: with no condition, in 30.2 with the cursor at the beginning of > the "do" line, smie-config-show-indent (C-c ?) says > Rules used: :elem basic -> 4, :after "while" -> nil > whereas in > > for > do > done > > (i.e., a for loop with no loop variable or list) with the cursor at the > beginning of the "do" line, smie-config-show-indent says > Rules used: :before "do" -> 0 > > For the "while", Emacs 28.2's smie reports this: > Rules used: :before "do" -> 0 > > > Yes, I know I am missing the while condition there, and if I put it in, > emacs 30.2 behaves itself. So I can deal with it. > > > My question is this: is this an intentional change in smie? I browsed > emacs' NEWS file and didn't see anything about a functional change in smie. > > > Jim try running M-x normal-mode. highlight the code and M-x indent-region should work. > My question is this: is this an intentional change in smie? I browsed > emacs' NEWS file and didn't see anything about a functional change in smie. I don't think anyone will ever try and modify shell mode. it is some scary software. you could also try bash-ts-mode, this is new to me.