Subject: 29.0.50; Wish list: detect and ask user if to change indentation or settings

From: Jean Louis <[email-masked]>
Date: Wed, 15 Jun 2022 08:39:41 +0300

There was recent discussion on mailing list GNU Emacs Help, about using
new style Emacs indentation on old source files which did not have such
indentations. And we know that in past people were indenting by using
TAB instead of SPACE what is today common.

My proposal is that Emacs detects the type of a newly opened file and
warns user, similarly to how editor Notepadqq does it:

Such detection could trigger following warning and choice dialogue, and
this represents possible proposal:

1) This file is indented with spaces, but your current settings specify
to use tabs [USE SPACES] [CONTINUE USING TABS]

2) This file is indented with tabs, but your current settings specify
to use spaces [USE TABS] [CONTINUE USING SPACES]

3) This file has not been indented by standard Emacs style [IGNORE AND
CONTINUE] [USE EMACS INDENTATION STYLE]

In GNU Emacs 29.0.50 (build 7, x86_64-pc-linux-gnu, X toolkit, cairo version 1.17.6, Xaw3d scroll bars)
 of 2022-06-02 built on protected.rcdrun.com
Repository revision: 2244dc5ce9f78ecab7232323e8dfeb9e79835b2b
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Parabola GNU/Linux-libre

Configured using:
 'configure --with-x-toolkit=lucid'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY
PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: @im=exwm-xim
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-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
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/data1/protected/Programming/Software/emacs/lisp/vc/vc-mtn hides /home/data1/protected/Programming/Software/emacs/lisp/obsolete/vc-mtn

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media rmc puny
dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
rfc6068 epg-config gnus-util text-property-search time-date seq gv
subr-x byte-opt bytecomp byte-compile cconv 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
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-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
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 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 lcms2
dynamic-setting system-font-setting font-render-setting cairo x-toolkit
xinput2 x multi-tty make-network-process emacs)

Memory information:
((conses 16 45983 10741)
 (symbols 48 6254 1)
 (strings 32 17745 1661)
 (string-bytes 1 557813)
 (vectors 16 11212)
 (vector-slots 8 165045 12405)
 (floats 8 22 50)
 (intervals 56 236 5)
 (buffers 992 11))

-- 
Thanks,
Jean Louis

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns