GNU bug report logs - #36480
26.2; Using a sh-basic-offset value with a multiple of tab-width has side effects when building function using “C-c (”

Previous Next

Package: emacs;

Reported by: Phoenix <gnu <at> phx-home.net>

Date: Tue, 2 Jul 2019 19:22:02 UTC

Severity: normal

Tags: confirmed

Found in version 26.2

To reply to this bug, email your comments to 36480 AT debbugs.gnu.org.

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#36480; Package emacs. (Tue, 02 Jul 2019 19:22:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Phoenix <gnu <at> phx-home.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 02 Jul 2019 19:22:02 GMT) Full text and rfc822 format available.

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

From: Phoenix <gnu <at> phx-home.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.2; Using a sh-basic-offset value with a multiple of tab-width
 has side effects when building function using “C-c (”
Date: Tue, 02 Jul 2019 20:53:10 +0200
[Message part 1 (text/plain, inline)]
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))
[Message part 2 (text/html, inline)]

Added tag(s) confirmed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 08 Jul 2019 21:28:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36480; Package emacs. (Mon, 08 Jul 2019 21:31:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Phoenix <gnu <at> phx-home.net>
Cc: 36480 <at> debbugs.gnu.org
Subject: Re: bug#36480: 26.2; Using a sh-basic-offset value with a multiple
 of tab-width has side effects when building function using “C-c (”
Date: Mon, 08 Jul 2019 23:30:36 +0200
Phoenix <gnu <at> phx-home.net> writes:

> 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.

I was not able to reproduce it with the recipe above, and it's strange
that that should have any effect -- `tab-width' is automatically
buffer-local.

But I'm able to reproduce it with "emacs -Q /tmp/a.sh" and then
`M-: (setq tab-width 4 sh-basic-offset 4) RET'.

> 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}|

I don't get exactly what you're getting, but I'm getting something very
close to it.  For instance, with 16, the buffer becomes completely blank.

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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36480; Package emacs. (Thu, 11 Jul 2019 13:59:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Phoenix <gnu <at> phx-home.net>
Cc: 36480 <at> debbugs.gnu.org
Subject: Re: bug#36480: 26.2; Using a sh-basic-offset value with a multiple
 of tab-width has side effects when building function using “C-c (”
Date: Thu, 11 Jul 2019 15:58:14 +0200
(Please keep the debbugs email address in the Cc; otherwise the
bug tracker won't receive the email.)

Phoenix <gnu <at> phx-home.net> writes:

> Since you are getting different results, I wonder what is different on
> your version then? I ask as two people could apparently reproduce it
> and I do not use anything special. Just the package available to
> Fedora 30 (not compiled from source).

I'm using the current development Emacs (i.e., Emacs 27).

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




This bug report was last modified 5 years and 338 days ago.

Previous Next


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