Subject: 26.2; Using a sh-basic-offset value with a multiple of tab-width has side effects when building function using “C-c (”

From: Phoenix <[email-masked]>
Date: Tue, 02 Jul 2019 20:53:10 +0200

The issue had been reported to the Emacs StackExchange group using
thefollowing description.  A commentator could replicate it.-----------
-----------------------------------------------------------When using a
multiple of the "tab-width" value for "sh-basic-offset", creating a
function using the built-in command "C-c (" removes characters from the
expected result. That being said, I can create a shell function by
manually typing it. It is just this built-in command, which causes odd
behavior.
When "tab-width" and/or "sh-basic-offset" are not set inside the
".emacs" file or the latter is not a multiple of the former, it works
as expected.
Here are the tests I did:In the below examples I use "asdf" as the
function name and the pipe character ("|") is the visualization of
where point is located after I completed the built-in command.
With either variables not defined or not a multiple of one another, the
(default) result is:function asdf() {    |}
With both set to 4, the result is:function asdf() {}|
With tab-width set to 4 and sh-basic-offset to 8, the result
is:function asdf()}|
With both set to 8, the result is:function asdf}|
With both set to 16 (just for a test), the result is (semantically a
rather amusing):fu}|
Is this a bug or do I need to set another variable to a certain value
for it to work? I at least tried the variables stated in this question,
but they did not have any effect at all for this issue.--------------
--------------------------------------------------------Source: 
https://emacs.stackexchange.com/q/51324/23319

In GNU Emacs 26.2 (build 1, x86_64-redhat-linux-gnu, GTK+ Version
3.24.8) of 2019-04-30 built on buildvm-
06.phx2.fedoraproject.orgWindowing system distributor 'Fedora Project',
version 11.0.12005000Recent messages:Loading /usr/share/emacs/site-
lisp/site-start.d/autoconf-init.el (source)...doneLoading
/usr/share/emacs/site-lisp/site-start.d/desktop-entry-mode-init.el
(source)...doneLoading time...doneLoading elec-pair...doneLoading
display-line-numbers...doneLoading paren...doneFor information about
GNU Emacs and the GNU system, type C-h C-a.
Configured using: 'configure --build=x86_64-redhat-linux-gnu --
host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-
tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --
sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --
includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec
--localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png 
--with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --
with-gpm=no --with-xwidgets --with-modules build_alias=x86_64-redhat-
linux-gnu host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF
-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong
-grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
LDFLAGS=-Wl,-z,relro
PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
Configured features:XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS
GSETTINGS GLIB NOTIFYACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT
LIBOTF XFT ZLIBTOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS
XWIDGETS LCMS2
Important settings:  value of $LC_COLLATE: C  value of $LC_NUMERIC:
en_US  value of $LANG: en_US.UTF-8  value of $XMODIFIERS:
@im=ibus  locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:  show-paren-mode: t  global-display-line-
numbers-mode: t  display-line-numbers-mode: t  electric-pair-mode:
t  display-time-mode: t  tooltip-mode: t  global-eldoc-mode: t  eldoc-
mode: t  electric-indent-mode: t  mouse-wheel-mode: t  tool-bar-mode:
t  menu-bar-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
Load-path shadows:None found.
Features:(shadow sort mail-extr emacsbug message rmc puny dired dired-
loaddefsformat-spec rfc822 mml mml-sec epa epg gnus-util rmail rmail-
loaddefsmm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utilsmailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-
prsvrmail-utils php-mode advice derived rx edmacro kmacro php-
projectmode-local find-func imenu speedbar sb-image ezimage dframe
etags xrefproject flymake-proc flymake compile comint ansi-color ring
warningsthingatpt add-log cc-langs cc-mode cc-fonts cc-guess cc-menus
cc-cmdscc-styles cc-align cc-engine cc-vars cc-defs light-blue-theme
parendisplay-line-numbers elec-pair time cus-start cus-load finder-
infpackage easymenu epg-config url-handlers url-parse auth-source cl-
seqeieio eieio-core cl-macs eieio-loaddefs password-cache url-vars
seqbyte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib time-
datemule-util tooltip eldoc electric uniquify ediff-hook vc-hookslisp-
float-type mwheel term/x-win x-win term/common-win x-dnd tool-bardnd
fontset image regexp-opt fringe tabulated-list replace newcommenttext-
mode elisp-mode lisp-mode prog-mode register page menu-barrfn-eshadow
isearch timer select scroll-bar mouse jit-lock font-locksyntax facemenu
font-core term/tty-colors frame cl-generic cham georgianutf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao koreanjapanese eucjp-ms
cp51932 hebrew greek romanian slovak czech europeanethiopic indian
cyrillic chinese composite charscript charpropcase-table epa-hook jka-
cmpr-hook help simple abbrev obarray minibuffercl-preloaded nadvice
loaddefs button faces cus-face macroexp filestext-properties overlay
sha1 md5 base64 format env code-pages mulecustom widget hashtable-
print-readable backquote threads dbusbindinotify lcms2 dynamic-setting
system-font-setting font-render-settingxwidget-internal move-toolbar
gtk x-toolkit x multi-ttymake-network-process emacs)
Memory information:((conses 16 167620 9490) (symbols 48 27914 1) (miscs
40 66 106) (strings 32 49620 2522) (string-bytes 1 1461299) (vectors 16
23554) (vector-slots 8 605402 9260) (floats 8 56 61) (intervals 56 307
0) (buffers 992 11))