Subject: bug#78592: closed (Re: bug#78592: 30.1; sh-mode variable sh-indent-comment does not work)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 31 May 2025 12:12:03 +0000

Your bug report

#78592: 30.1; sh-mode variable sh-indent-comment does not work

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
78592: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78592
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#78592: 30.1; sh-mode variable sh-indent-comment does not work
From: Eli Zaretskii <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sat, 31 May 2025 15:11:21 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Stefan Monnier <[email-masked]>
> Cc: richard newton <[email-masked]>,  [email-masked]
> Date: Thu, 29 May 2025 17:20:17 -0400
> 
> >> sh-mode variable sh-indent-comment does not work any more. Setting it to
> >> nil or a number does not seem to
> >> have any effect when indenting a comment in a shell script.
> >> 
> >> Looking at sh-script.el it only seems to be referenced in sh-var-list
> >> The same also seems to apply to the sh-mode variables
> >> sh-first-lines-indent
> >> sh-indent-for-else
> 
> Indeed, these vars were not ported over to the new SMIE-based indentation code.
> 
> >> Should it be marked as obsolete (or deleted)? Should it be removed from sh-var-list
> 
> I think so, yes.
> 
> > Stefan, this seems to be due to your cleanup of sh-script's
> > indentation in
> >
> >  commit f9504ffba2e2604338c243dd77c877bbb8162e4a
> >  Author:     Stefan Monnier <[email-masked]>
> >  AuthorDate: Mon Feb 3 15:26:59 2020 -0500
> >  Commit:     Stefan Monnier <[email-masked]>
> >  CommitDate: Mon Feb 3 15:26:59 2020 -0500
> >
> >  * lisp/progmodes/sh-script.el: Remove old non-SMIE indentation code
> >
> > Are these variables really no-ops now?
> 
> Yes.
> 
> > I don't see that in NEWS in any release of Emacs except this in
> > NEWS.28:
> 
> They were already no-ops when using SMIE indentation before that change,
> so in a sense it is implied by "The old non-SMIE indentation of
> 'sh-mode' has been removed", but we should have removed those vars at
> the same time.
> 
> I just hadn't noticed that nobody complained about the lack of support
> for those vars, so the new code was never adjusted to obey them.
> 
> >   ** The old non-SMIE indentation of 'sh-mode' has been removed.
> >
> > What, if anything, can users do now to control indentation of comment
> > lines in sh-mode?
> 
> There's no easy/convenient way to do it.
> They have to add a new function on `smie-indent-function` that provides
> the indentation they want (or advise `smie-indent-comment`, or replace
> this function on that list with another one).

OK, so I've now removed these variables, and I'm closing this bug.

Subject: 30.1; sh-mode variable sh-indent-comment does not work
From: richard newton <[email-masked]>
To: [email-masked]
Date: Mon, 26 May 2025 15:40:19 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

sh-mode variable sh-indent-comment does not work any more. Setting it to
nil or a number does not seem to have any effect when indenting a comment
in a shell script.

Looking at sh-script.el it only seems to be referenced in sh-var-list

Should it be marked as obsolete (or deleted)? Should it be removed from
sh-var-list

The same also seems to apply to the sh-mode variables
sh-first-lines-indent
sh-indent-for-else

In GNU Emacs 30.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.49,
 cairo version 1.18.4) of 2025-03-30, modified by Debian built on sbuild
System Description: Debian GNU/Linux 13 (trixie)

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/libexec
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/30.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/30.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --build
 x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/libexec --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --with-libsystemd
 --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/30.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/30.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --with-pgtk
 'CFLAGS=-g -O2 -Werror=implicit-function-declaration
 -ffile-prefix-map=/build/reproducible-path/emacs-30.1+1=.
 -fstack-protector-strong -fstack-clash-protection -Wformat
 -Werror=format-security -fcf-protection -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  server-mode: t
  which-function-mode: t
  global-cwarn-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-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

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums face-remap help-macro package-x
package url-handlers emacs-news-mode noutline outline tabify man etags
fileloop generator xref project view pcase shell pcomplete compare-w
diff-mode track-changes yank-media mhtml-mode css-mode eww xdg url-queue
shr pixel-fill kinsoku url-file svg xml mm-url gnus nnheader gnus-util
mail-utils range mm-util mail-prsvr color js c-ts-common conf-mode
rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri
rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns
nxml-mode nxml-outln nxml-rap sgml-mode facemenu dom nxml-util nxml-enc
xmltok debug backtrace cal-menu calendar cal-loaddefs jka-compr
find-func gnutls network-stream puny nsm warnings easy-mmode cl-print
rcirc parse-time iso8601 apropos time-date compile comint ansi-osc
ansi-color ring comp-run shortdoc text-property-search comp-common erc
format-spec erc-backend erc-networks erc-common erc-compat compat
erc-loaddefs help-fns radix-tree rot13 disp-table epa-file epa derived
epg rfc6068 epg-config browse-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie generate-lisp-file url-domsuf
url-util url-parse auth-source eieio eieio-core cl-macs password-cache
json subr-x map url-vars mailcap cl-extra help-mode edmacro kmacro
byte-opt gv bytecomp byte-compile thingatpt misearch multi-isearch
mule-util display-line-numbers sh-script rx smie treesit executable
dired-aux add-log server cl-seq which-func imenu cus-start dired
dired-loaddefs cwarn cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs cus-edit pp cus-load icons
wid-edit cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/pgtk-win pgtk-win term/common-win touch-screen pgtk-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 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 dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo gtk pgtk
lcms2 multi-tty move-toolbar make-network-process native-compile emacs)

Memory information:
((conses 16 868468 161855) (symbols 48 23300 0)
  (strings 32 96041 7003) (string-bytes 1 4003228) (vectors 16 48843)
  (vector-slots 8 1448049 118949) (floats 8 313 9292)
  (intervals 56 80852 2722) (buffers 992 108))