Subject: bug#56219: 27.1; ispell-word broken when colorization is turned off

From: "Karl O. Pinc" <[email-masked]>
Date: Sat, 25 Jun 2022 14:27:53 -0500

From: "Karl O. Pinc" <[email-masked]>
To: [email-masked]
Subject: 27.1; ispell-word broken when colorization is turned off

bug:

Turning colors off breaks "M-x ispell-word".  All but the first
character of the mis-spelled word are left in the buffer, with the
first character replaced with the corrected spelling.  (ispell-region
and ispell-buffer continue to work.)

Features:

Hello,

Steps to reproduce:

Debian stable, bullseye (11.3).  Install the "emacs-nox" package.

Start emacs with: emacs -nw -Q --color=never

You will be in the *scratch* buffer.

Type "bufer", then "M-x ispell-word".  Choose a correction.
(For me, choice 0 is "buffer".)  Note that the first
character of "bufer" is replaced with "buffer", so that after
correction what is left is "bufferufer", with point after the
first "r".

Alternate ways to reproduce.  Any of the following produce the
Using M-$ instead of "M-x ispell-word".

Adding "(set-frame-parameter nil 'tty-color-mode -1)" to '.emacs'.

Adding
(if (not (assoc 'tty-color-mode default-frame-alist))
   (push (cons 'tty-color-mode -1) default-frame-alist))
to '.emacs'.

Adding
(if (not (assoc 'tty-color-mode default-frame-alist))
   (push (cons 'tty-color-mode 'never) default-frame-alist))
to '.emacs'.

I have had this problem a very long time.  (10 years?) And
am only now reporting it.

In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu)
 of 2021-03-27, modified by Debian built on x86-conova-01
System Description: Debian GNU/Linux 11 (bullseye)

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

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 --enable-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.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/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
 --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --with-x=no
 --without-gsettings 'CFLAGS=-g -O2
 -ffile-prefix-map=/build/emacs-LlFm6W/emacs-27.1+1=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
SOUND GPM DBUS NOTIFY INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 ZLIB XIM
MODULES THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP

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

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail tool-bar rmail-loaddefs text-property-search
time-date subr-x seq mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils term/xterm xterm
byte-opt gv bytecomp byte-compile cconv regexp-opt tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type tabulated-list
replace newcomment text-mode elisp-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch timer select mouse jit-lock
font-lock syntax facemenu font-core term/tty-colors frame minibuffer
cl-generic 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
charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev
obarray cl-preloaded 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 threads dbusbind
inotify lcms2 multi-tty make-network-process emacs)

Memory information:
((conses 16 47363 6959)
 (symbols 48 6038 1)
 (strings 32 15913 1819)
 (string-bytes 1 511690)
 (vectors 16 7343)
 (vector-slots 8 81739 7228)
 (floats 8 22 253)
 (intervals 56 225 2)
 (buffers 1000 12))

-- 
Karl <[email-masked]>
Free Software:  "You don't pay back, you pay forward."
                 -- Robert A. Heinlein