GNU bug report logs - #22645
24.5; indentation in shell-script-mode after &&

Previous Next

Package: emacs;

Reported by: Lasse Kliemann <lasse <at> lassekliemann.de>

Date: Fri, 12 Feb 2016 16:36:03 UTC

Severity: wishlist

Found in version 24.5

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.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 22645 in the body.
You can then email your comments to 22645 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


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#22645; Package emacs. (Fri, 12 Feb 2016 16:36:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lasse Kliemann <lasse <at> lassekliemann.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 12 Feb 2016 16:36:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Lasse Kliemann <lasse <at> lassekliemann.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.5; indentation in shell-script-mode after &&
Date: Fri, 12 Feb 2016 15:15:43 +0100
M-x shell-script-mode

type:
foo &&
bar

This will make the second line (bar) indented. While this may be desired
sometimes, in some cases it is not. I use && for control flow throughout
my whole program, which makes this indentation not useful.

A fix was offered here, which I use now:
http://superuser.com/a/1038557/494683

Maybe this could be made a configurable option?

In GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.16.6)
 of 2015-09-17 on lgw01-52, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11702000
System Description:	Ubuntu 15.10

Configured using:
 `configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-pop=yes
 --enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.5/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.5/site-lisp:/usr/share/emacs/site-lisp
 --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes
 --enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.5/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.5/site-lisp:/usr/share/emacs/site-lisp
 --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars
 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat
 -Werror=format-security -Wall' CPPFLAGS=-D_FORTIFY_SOURCE=2
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Important settings:
  value of $LC_MONETARY: de_DE.UTF-8
  value of $LC_NUMERIC: de_DE.UTF-8
  value of $LC_TIME: de_DE.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Shell-script

Minor modes in effect:
  sh-electric-here-document-mode: t
  diff-auto-refine-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  show-paren-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Checking 21 files in /usr/share/emacs/site-lisp/auctex...
Checking for load-path shadows...done
Auto-saving...done
Mark set
Auto-saving...done
scroll-down-command: Beginning of buffer [10 times]
Mark set
Setting up indent for shell type bash
Indentation variables are now local.
Indentation setup for shell type bash

Load-path shadows:
/usr/share/emacs/24.5/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs24/site-lisp/latex-cjk-thai/thai-word hides /usr/share/emacs/24.5/lisp/language/thai-word
/usr/share/emacs/24.5/site-lisp/slime/lib/ert-x hides /usr/share/emacs/24.5/lisp/emacs-lisp/ert-x
/usr/share/emacs/24.5/site-lisp/slime/lib/ert hides /usr/share/emacs/24.5/lisp/emacs-lisp/ert
/usr/share/emacs24/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs24/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs24/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs24/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs24/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs24/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs24/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs24/site-lisp/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex
/usr/share/emacs24/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs24/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs24/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs24/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs
/usr/share/emacs24/site-lisp/auctex/preview hides /usr/share/emacs/site-lisp/auctex/preview
/usr/share/emacs24/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs24/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs24/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs24/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs24/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs24/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/share/emacs24/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/usr/share/emacs24/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold

Features:
(sh-script smie executable pp shadow sort gnus-util mail-extr emacsbug
help-mode whiteboard-theme notmuch hl-line notmuch-version
notmuch-message notmuch-maildir-fcc notmuch-hello wid-edit notmuch-tree
notmuch-parser notmuch-show notmuch-print notmuch-crypto notmuch-mua
notmuch-address notmuch-wash diff-mode coolj notmuch-query goto-addr
thingatpt icalendar diary-lib diary-loaddefs cal-menu calendar
cal-loaddefs notmuch-tag notmuch-lib cl gv message sendmail format-spec
rfc822 mml mailabbrev mail-utils gmm-utils mailheader mm-view mml-smime
mml-sec smime password-cache dig mm-decode mm-bodies mm-encode mailcap
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr latex
easy-mmode tex-style tex dbus xml crm advice help-fns easymenu server
edmacro kmacro cl-loaddefs cl-lib paren slime-autoloads preview-latex
tex-site auto-loads time-date tooltip electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 137862 7562)
 (symbols 48 24681 0)
 (miscs 40 55 121)
 (strings 32 32081 3972)
 (string-bytes 1 829533)
 (vectors 16 16514)
 (vector-slots 8 474036 6697)
 (floats 8 90 277)
 (intervals 56 376 46)
 (buffers 960 14)
 (heap 1024 38687 2198))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#22645; Package emacs. (Thu, 12 May 2022 16:18:02 GMT) Full text and rfc822 format available.

Message #8 received at 22645 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Lasse Kliemann <lasse <at> lassekliemann.de>
Cc: 22645 <at> debbugs.gnu.org
Subject: Re: bug#22645: 24.5; indentation in shell-script-mode after &&
Date: Thu, 12 May 2022 18:17:11 +0200
Lasse Kliemann <lasse <at> lassekliemann.de> writes:

> M-x shell-script-mode
>
> type:
> foo &&
> bar
>
> This will make the second line (bar) indented. While this may be desired
> sometimes, in some cases it is not. I use && for control flow throughout
> my whole program, which makes this indentation not useful.
>
> A fix was offered here, which I use now:
> http://superuser.com/a/1038557/494683
>
> Maybe this could be made a configurable option?

I've now added this to Emacs 29 under the name
`sh-indent-statement-after-and'.  If anybody has a better name, feel
free to adjust.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 29.1, send any further explanations to 22645 <at> debbugs.gnu.org and Lasse Kliemann <lasse <at> lassekliemann.de> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 12 May 2022 16:18:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 10 Jun 2022 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 26 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.