* bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode
@ 2024-10-22 16:35 toomas
2024-10-22 17:40 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: toomas @ 2024-10-22 16:35 UTC (permalink / raw)
To: 73951
How to reproduce on my system:
Start: emacs -Q
Type: M-x term RET
On Emacs prompt "Run program: /bin/bash", type: RET
The *terminal* buffer appears.
On Bash prompt, type: echo 'a TAB b' RET
Bash prints: "a b" (a TAB b), and displays new prompt.
Type: <up> <left> <left> <left>
(The cursor is now on the tab character between a and b.)
Type: C-x =
I expect Emacs to report "Char: TAB" (etc.), but instead it responds with "Char: SPC" (etc.)
This can be really confusing when a command containing tab characters behaves unexpectedly and I want to check if I typed it right.
In GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41)
of 2024-09-28 built on localhost
Windowing system distributor 'The X.Org Foundation', version 11.0.12101013
System Description: Gentoo Linux
Configured using:
'configure --prefix=/usr --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --datarootdir=/usr/share
--disable-silent-rules --docdir=/usr/share/doc/emacs-29.4
--htmldir=/usr/share/doc/emacs-29.4/html --libdir=/usr/lib64
--program-suffix=-emacs-29 --includedir=/usr/include/emacs-29
--infodir=/usr/share/info/emacs-29 --localstatedir=/var
--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
--without-compress-install --without-hesiod --without-pop
--with-file-notification=inotify --with-pdumper --disable-acl
--without-dbus --with-modules --without-gameuser --with-libgmp
--without-gpm --without-native-compilation --with-json
--without-kerberos --without-kerberos5 --without-lcms2 --with-xml2
--without-mailutils --without-selinux --without-sqlite3 --with-gnutls
--without-libsystemd --with-threads --without-tree-sitter
--without-wide-int --with-sound=no --with-zlib --with-x --without-pgtk
--without-ns --without-gconf --without-gsettings
--with-toolkit-scroll-bars --with-xpm --with-xft --without-cairo
--without-harfbuzz --without-libotf --without-m17n-flt
--with-x-toolkit=gtk3 --without-xwidgets --without-gif --with-jpeg
--with-png --without-rsvg --without-tiff --with-webp
--without-imagemagick --with-dumping=pdumper 'CFLAGS=-march=native -O2
-pipe -frecord-gcc-switches -g -fno-fast-math -ffp-contract=off'
CPPFLAGS= 'LDFLAGS=-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs
-Wl,--defsym=__gentoo_check_ldflags__=0''
Configured features:
FREETYPE GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY INOTIFY
PDUMPER PNG SECCOMP THREADS TOOLKIT_SCROLL_BARS WEBP X11 XDBE XFT XIM
XINPUT2 XPM GTK3 ZLIB
Important settings:
value of $LANG: C.UTF8
locale-coding-system: utf-8-unix
Major mode: Shell-script
Minor modes in effect:
pyvenv-mode: t
windmove-mode: t
display-time-mode: t
shell-dirtrack-mode: t
desktop-save-mode: t
auto-insert-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
show-paren-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
window-divider-mode: t
column-number-mode: t
line-number-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/home/toomas/Asjad/melogurmaania/init hides /home/toomas/Asjad/emacs/init
/usr/share/emacs/site-lisp/bind-key/bind-key hides /usr/share/emacs/site-lisp/use-package/bind-key
/usr/share/emacs/site-lisp/transient/transient hides /usr/share/emacs/29.4/lisp/transient
/usr/share/emacs/site-lisp/use-package/use-package-core hides /usr/share/emacs/29.4/lisp/use-package/use-package-core
/usr/share/emacs/site-lisp/use-package/use-package-bind-key hides /usr/share/emacs/29.4/lisp/use-package/use-package-bind-key
/usr/share/emacs/site-lisp/use-package/use-package-delight hides /usr/share/emacs/29.4/lisp/use-package/use-package-delight
/usr/share/emacs/site-lisp/use-package/use-package hides /usr/share/emacs/29.4/lisp/use-package/use-package
/usr/share/emacs/site-lisp/use-package/use-package-lint hides /usr/share/emacs/29.4/lisp/use-package/use-package-lint
/usr/share/emacs/site-lisp/bind-key/bind-key hides /usr/share/emacs/29.4/lisp/use-package/bind-key
/usr/share/emacs/site-lisp/use-package/use-package-ensure hides /usr/share/emacs/29.4/lisp/use-package/use-package-ensure
/usr/share/emacs/site-lisp/use-package/use-package-ensure-system-package hides /usr/share/emacs/29.4/lisp/use-package/use-package-ensure-system-package
/usr/share/emacs/site-lisp/use-package/use-package-jump hides /usr/share/emacs/29.4/lisp/use-package/use-package-jump
/usr/share/emacs/site-lisp/use-package/use-package-diminish hides /usr/share/emacs/29.4/lisp/use-package/use-package-diminish
/usr/share/emacs/site-lisp/org-mode/org-colview hides /usr/share/emacs/29.4/lisp/org/org-colview
/usr/share/emacs/site-lisp/org-mode/ob-octave hides /usr/share/emacs/29.4/lisp/org/ob-octave
/usr/share/emacs/site-lisp/org-mode/ob-python hides /usr/share/emacs/29.4/lisp/org/ob-python
/usr/share/emacs/site-lisp/org-mode/org-loaddefs hides /usr/share/emacs/29.4/lisp/org/org-loaddefs
/usr/share/emacs/site-lisp/org-mode/ob-emacs-lisp hides /usr/share/emacs/29.4/lisp/org/ob-emacs-lisp
/usr/share/emacs/site-lisp/org-mode/org-duration hides /usr/share/emacs/29.4/lisp/org/org-duration
/usr/share/emacs/site-lisp/org-mode/org-element hides /usr/share/emacs/29.4/lisp/org/org-element
/usr/share/emacs/site-lisp/org-mode/ob-maxima hides /usr/share/emacs/29.4/lisp/org/ob-maxima
/usr/share/emacs/site-lisp/org-mode/ob-org hides /usr/share/emacs/29.4/lisp/org/ob-org
/usr/share/emacs/site-lisp/org-mode/ol-w3m hides /usr/share/emacs/29.4/lisp/org/ol-w3m
/usr/share/emacs/site-lisp/org-mode/org-macro hides /usr/share/emacs/29.4/lisp/org/org-macro
/usr/share/emacs/site-lisp/org-mode/org-crypt hides /usr/share/emacs/29.4/lisp/org/org-crypt
/usr/share/emacs/site-lisp/org-mode/ob-processing hides /usr/share/emacs/29.4/lisp/org/ob-processing
/usr/share/emacs/site-lisp/org-mode/ol-rmail hides /usr/share/emacs/29.4/lisp/org/ol-rmail
/usr/share/emacs/site-lisp/org-mode/org-feed hides /usr/share/emacs/29.4/lisp/org/org-feed
/usr/share/emacs/site-lisp/org-mode/org-timer hides /usr/share/emacs/29.4/lisp/org/org-timer
/usr/share/emacs/site-lisp/org-mode/ob-matlab hides /usr/share/emacs/29.4/lisp/org/ob-matlab
/usr/share/emacs/site-lisp/org-mode/org-num hides /usr/share/emacs/29.4/lisp/org/org-num
/usr/share/emacs/site-lisp/org-mode/org-lint hides /usr/share/emacs/29.4/lisp/org/org-lint
/usr/share/emacs/site-lisp/org-mode/ob-screen hides /usr/share/emacs/29.4/lisp/org/ob-screen
/usr/share/emacs/site-lisp/org-mode/ox-texinfo hides /usr/share/emacs/29.4/lisp/org/ox-texinfo
/usr/share/emacs/site-lisp/org-mode/org-habit hides /usr/share/emacs/29.4/lisp/org/org-habit
/usr/share/emacs/site-lisp/org-mode/org-list hides /usr/share/emacs/29.4/lisp/org/org-list
/usr/share/emacs/site-lisp/org-mode/ol-gnus hides /usr/share/emacs/29.4/lisp/org/ol-gnus
/usr/share/emacs/site-lisp/org-mode/org-fold-core hides /usr/share/emacs/29.4/lisp/org/org-fold-core
/usr/share/emacs/site-lisp/org-mode/ob-sass hides /usr/share/emacs/29.4/lisp/org/ob-sass
/usr/share/emacs/site-lisp/org-mode/ob-clojure hides /usr/share/emacs/29.4/lisp/org/ob-clojure
/usr/share/emacs/site-lisp/org-mode/ob-tangle hides /usr/share/emacs/29.4/lisp/org/ob-tangle
/usr/share/emacs/site-lisp/org-mode/ox-icalendar hides /usr/share/emacs/29.4/lisp/org/ox-icalendar
/usr/share/emacs/site-lisp/org-mode/ob-latex hides /usr/share/emacs/29.4/lisp/org/ob-latex
/usr/share/emacs/site-lisp/org-mode/ob-sql hides /usr/share/emacs/29.4/lisp/org/ob-sql
/usr/share/emacs/site-lisp/org-mode/ob-julia hides /usr/share/emacs/29.4/lisp/org/ob-julia
/usr/share/emacs/site-lisp/org-mode/org-fold hides /usr/share/emacs/29.4/lisp/org/org-fold
/usr/share/emacs/site-lisp/org-mode/org-macs hides /usr/share/emacs/29.4/lisp/org/org-macs
/usr/share/emacs/site-lisp/org-mode/ol-man hides /usr/share/emacs/29.4/lisp/org/ol-man
/usr/share/emacs/site-lisp/org-mode/ob-plantuml hides /usr/share/emacs/29.4/lisp/org/ob-plantuml
/usr/share/emacs/site-lisp/org-mode/ob-calc hides /usr/share/emacs/29.4/lisp/org/ob-calc
/usr/share/emacs/site-lisp/org-mode/ol hides /usr/share/emacs/29.4/lisp/org/ol
/usr/share/emacs/site-lisp/org-mode/ob-groovy hides /usr/share/emacs/29.4/lisp/org/ob-groovy
/usr/share/emacs/site-lisp/org-mode/org hides /usr/share/emacs/29.4/lisp/org/org
/usr/share/emacs/site-lisp/org-mode/ol-info hides /usr/share/emacs/29.4/lisp/org/ol-info
/usr/share/emacs/site-lisp/org-mode/ob-shell hides /usr/share/emacs/29.4/lisp/org/ob-shell
/usr/share/emacs/site-lisp/org-mode/ox-odt hides /usr/share/emacs/29.4/lisp/org/ox-odt
/usr/share/emacs/site-lisp/org-mode/ob-ditaa hides /usr/share/emacs/29.4/lisp/org/ob-ditaa
/usr/share/emacs/site-lisp/org-mode/ob-js hides /usr/share/emacs/29.4/lisp/org/ob-js
/usr/share/emacs/site-lisp/org-mode/ob-eshell hides /usr/share/emacs/29.4/lisp/org/ob-eshell
/usr/share/emacs/site-lisp/org-mode/ox-man hides /usr/share/emacs/29.4/lisp/org/ox-man
/usr/share/emacs/site-lisp/org-mode/ol-eww hides /usr/share/emacs/29.4/lisp/org/ol-eww
/usr/share/emacs/site-lisp/org-mode/ox-ascii hides /usr/share/emacs/29.4/lisp/org/ox-ascii
/usr/share/emacs/site-lisp/org-mode/oc-csl hides /usr/share/emacs/29.4/lisp/org/oc-csl
/usr/share/emacs/site-lisp/org-mode/ob-comint hides /usr/share/emacs/29.4/lisp/org/ob-comint
/usr/share/emacs/site-lisp/org-mode/org-persist hides /usr/share/emacs/29.4/lisp/org/org-persist
/usr/share/emacs/site-lisp/org-mode/org-faces hides /usr/share/emacs/29.4/lisp/org/org-faces
/usr/share/emacs/site-lisp/org-mode/ox-org hides /usr/share/emacs/29.4/lisp/org/ox-org
/usr/share/emacs/site-lisp/org-mode/ob-sqlite hides /usr/share/emacs/29.4/lisp/org/ob-sqlite
/usr/share/emacs/site-lisp/org-mode/org-capture hides /usr/share/emacs/29.4/lisp/org/org-capture
/usr/share/emacs/site-lisp/org-mode/org-mobile hides /usr/share/emacs/29.4/lisp/org/org-mobile
/usr/share/emacs/site-lisp/org-mode/ob-forth hides /usr/share/emacs/29.4/lisp/org/ob-forth
/usr/share/emacs/site-lisp/org-mode/org-plot hides /usr/share/emacs/29.4/lisp/org/org-plot
/usr/share/emacs/site-lisp/org-mode/ob-lilypond hides /usr/share/emacs/29.4/lisp/org/ob-lilypond
/usr/share/emacs/site-lisp/org-mode/org-ctags hides /usr/share/emacs/29.4/lisp/org/org-ctags
/usr/share/emacs/site-lisp/org-mode/ol-mhe hides /usr/share/emacs/29.4/lisp/org/ol-mhe
/usr/share/emacs/site-lisp/org-mode/ol-eshell hides /usr/share/emacs/29.4/lisp/org/ol-eshell
/usr/share/emacs/site-lisp/org-mode/ob-scheme hides /usr/share/emacs/29.4/lisp/org/ob-scheme
/usr/share/emacs/site-lisp/org-mode/ob-ocaml hides /usr/share/emacs/29.4/lisp/org/ob-ocaml
/usr/share/emacs/site-lisp/org-mode/ob-lua hides /usr/share/emacs/29.4/lisp/org/ob-lua
/usr/share/emacs/site-lisp/org-mode/org-attach hides /usr/share/emacs/29.4/lisp/org/org-attach
/usr/share/emacs/site-lisp/org-mode/org-footnote hides /usr/share/emacs/29.4/lisp/org/org-footnote
/usr/share/emacs/site-lisp/org-mode/ob-fortran hides /usr/share/emacs/29.4/lisp/org/ob-fortran
/usr/share/emacs/site-lisp/org-mode/ob-perl hides /usr/share/emacs/29.4/lisp/org/ob-perl
/usr/share/emacs/site-lisp/org-mode/ob-awk hides /usr/share/emacs/29.4/lisp/org/ob-awk
/usr/share/emacs/site-lisp/org-mode/oc-natbib hides /usr/share/emacs/29.4/lisp/org/oc-natbib
/usr/share/emacs/site-lisp/org-mode/ob-exp hides /usr/share/emacs/29.4/lisp/org/ob-exp
/usr/share/emacs/site-lisp/org-mode/ob-dot hides /usr/share/emacs/29.4/lisp/org/ob-dot
/usr/share/emacs/site-lisp/org-mode/ob-eval hides /usr/share/emacs/29.4/lisp/org/ob-eval
/usr/share/emacs/site-lisp/org-mode/ob-haskell hides /usr/share/emacs/29.4/lisp/org/ob-haskell
/usr/share/emacs/site-lisp/org-mode/ob-gnuplot hides /usr/share/emacs/29.4/lisp/org/ob-gnuplot
/usr/share/emacs/site-lisp/org-mode/ox-publish hides /usr/share/emacs/29.4/lisp/org/ox-publish
/usr/share/emacs/site-lisp/org-mode/org-indent hides /usr/share/emacs/29.4/lisp/org/org-indent
/usr/share/emacs/site-lisp/org-mode/org-refile hides /usr/share/emacs/29.4/lisp/org/org-refile
/usr/share/emacs/site-lisp/org-mode/ox-html hides /usr/share/emacs/29.4/lisp/org/ox-html
/usr/share/emacs/site-lisp/org-mode/ob-ruby hides /usr/share/emacs/29.4/lisp/org/ob-ruby
/usr/share/emacs/site-lisp/org-mode/ob-makefile hides /usr/share/emacs/29.4/lisp/org/ob-makefile
/usr/share/emacs/site-lisp/org-mode/ob-css hides /usr/share/emacs/29.4/lisp/org/ob-css
/usr/share/emacs/site-lisp/org-mode/org-keys hides /usr/share/emacs/29.4/lisp/org/org-keys
/usr/share/emacs/site-lisp/org-mode/ob-lob hides /usr/share/emacs/29.4/lisp/org/ob-lob
/usr/share/emacs/site-lisp/org-mode/org-entities hides /usr/share/emacs/29.4/lisp/org/org-entities
/usr/share/emacs/site-lisp/org-mode/org-agenda hides /usr/share/emacs/29.4/lisp/org/org-agenda
/usr/share/emacs/site-lisp/org-mode/org-table hides /usr/share/emacs/29.4/lisp/org/org-table
/usr/share/emacs/site-lisp/org-mode/org-tempo hides /usr/share/emacs/29.4/lisp/org/org-tempo
/usr/share/emacs/site-lisp/org-mode/ob-C hides /usr/share/emacs/29.4/lisp/org/ob-C
/usr/share/emacs/site-lisp/org-mode/ox-beamer hides /usr/share/emacs/29.4/lisp/org/ox-beamer
/usr/share/emacs/site-lisp/org-mode/org-datetree hides /usr/share/emacs/29.4/lisp/org/org-datetree
/usr/share/emacs/site-lisp/org-mode/ob-core hides /usr/share/emacs/29.4/lisp/org/ob-core
/usr/share/emacs/site-lisp/org-mode/org-src hides /usr/share/emacs/29.4/lisp/org/org-src
/usr/share/emacs/site-lisp/org-mode/ob-R hides /usr/share/emacs/29.4/lisp/org/ob-R
/usr/share/emacs/site-lisp/org-mode/org-id hides /usr/share/emacs/29.4/lisp/org/org-id
/usr/share/emacs/site-lisp/org-mode/org-protocol hides /usr/share/emacs/29.4/lisp/org/org-protocol
/usr/share/emacs/site-lisp/org-mode/ol-bbdb hides /usr/share/emacs/29.4/lisp/org/ol-bbdb
/usr/share/emacs/site-lisp/org-mode/org-clock hides /usr/share/emacs/29.4/lisp/org/org-clock
/usr/share/emacs/site-lisp/org-mode/org-goto hides /usr/share/emacs/29.4/lisp/org/org-goto
/usr/share/emacs/site-lisp/org-mode/oc-basic hides /usr/share/emacs/29.4/lisp/org/oc-basic
/usr/share/emacs/site-lisp/org-mode/ol-doi hides /usr/share/emacs/29.4/lisp/org/ol-doi
/usr/share/emacs/site-lisp/org-mode/ol-bibtex hides /usr/share/emacs/29.4/lisp/org/ol-bibtex
/usr/share/emacs/site-lisp/org-mode/ox-latex hides /usr/share/emacs/29.4/lisp/org/ox-latex
/usr/share/emacs/site-lisp/org-mode/ob-lisp hides /usr/share/emacs/29.4/lisp/org/ob-lisp
/usr/share/emacs/site-lisp/org-mode/org-cycle hides /usr/share/emacs/29.4/lisp/org/org-cycle
/usr/share/emacs/site-lisp/org-mode/ox-md hides /usr/share/emacs/29.4/lisp/org/ox-md
/usr/share/emacs/site-lisp/org-mode/ob-table hides /usr/share/emacs/29.4/lisp/org/ob-table
/usr/share/emacs/site-lisp/org-mode/oc-biblatex hides /usr/share/emacs/29.4/lisp/org/oc-biblatex
/usr/share/emacs/site-lisp/org-mode/ob-sed hides /usr/share/emacs/29.4/lisp/org/ob-sed
/usr/share/emacs/site-lisp/org-mode/ob-java hides /usr/share/emacs/29.4/lisp/org/ob-java
/usr/share/emacs/site-lisp/org-mode/ox hides /usr/share/emacs/29.4/lisp/org/ox
/usr/share/emacs/site-lisp/org-mode/org-inlinetask hides /usr/share/emacs/29.4/lisp/org/org-inlinetask
/usr/share/emacs/site-lisp/org-mode/oc-bibtex hides /usr/share/emacs/29.4/lisp/org/oc-bibtex
/usr/share/emacs/site-lisp/org-mode/org-version hides /usr/share/emacs/29.4/lisp/org/org-version
/usr/share/emacs/site-lisp/org-mode/org-pcomplete hides /usr/share/emacs/29.4/lisp/org/org-pcomplete
/usr/share/emacs/site-lisp/org-mode/oc hides /usr/share/emacs/29.4/lisp/org/oc
/usr/share/emacs/site-lisp/org-mode/ob hides /usr/share/emacs/29.4/lisp/org/ob
/usr/share/emacs/site-lisp/org-mode/org-mouse hides /usr/share/emacs/29.4/lisp/org/org-mouse
/usr/share/emacs/site-lisp/org-mode/ol-docview hides /usr/share/emacs/29.4/lisp/org/ol-docview
/usr/share/emacs/site-lisp/org-mode/org-attach-git hides /usr/share/emacs/29.4/lisp/org/org-attach-git
/usr/share/emacs/site-lisp/org-mode/org-archive hides /usr/share/emacs/29.4/lisp/org/org-archive
/usr/share/emacs/site-lisp/org-mode/ox-koma-letter hides /usr/share/emacs/29.4/lisp/org/ox-koma-letter
/usr/share/emacs/site-lisp/org-mode/ol-irc hides /usr/share/emacs/29.4/lisp/org/ol-irc
/usr/share/emacs/site-lisp/org-mode/org-compat hides /usr/share/emacs/29.4/lisp/org/org-compat
/usr/share/emacs/site-lisp/org-mode/ob-ref hides /usr/share/emacs/29.4/lisp/org/ob-ref
Features:
(shadow sort mail-extr emacsbug message yank-media rfc822 mml mml-sec
epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums two-column cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine repeat wdired novice rect tabify cl-print
misearch multi-isearch mule-util conf-mode dired-aux sql view autorevert
vc-git vc-dispatcher company-oddmuse company-keywords company-etags
company-gtags company-dabbrev-code company-dabbrev company-files
company-clang company-template company-cmake company-bbdb yasnippet
highlight-indentation flymake-proc flymake company-capf company mh-e
mh-buffers mh-loaddefs ox-pandoc warnings ht ox-org ox-odt rng-loc
rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii
ox-publish ox org-attach ledger-mode ledger-check ledger-texi
ledger-test ledger-sort ledger-report ledger-reconcile ledger-occur
ledger-fonts ledger-fontify ledger-state ledger-complete ledger-schedule
ledger-init ledger-xact ledger-post ledger-exec ledger-navigate
ledger-context ledger-commodities ledger-regex helpful cc-langs cc-vars
cc-defs imenu trace info-look f help-fns radix-tree elisp-refs dash elpy
advice elpy-rpc pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io
esh-arg esh-module esh-groups esh-util elpy-shell elpy-profile
elpy-django s elpy-refactor diff-mode ido hideshow files-x etags
fileloop xref cus-edit cus-load windmove time term disp-table shell
ehelp t-mouse python project compat compat-30 pcase grep compile
org-tempo org-agenda org-element org-persist org-id org-element-ast
inline avl-tree generator org-refile org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-pcomplete pcomplete org-list org-footnote
org-faces org-entities noutline outline icons ob-emacs-lisp org-table ol
org-loaddefs cal-menu calendar cal-loaddefs tempo org-src sh-script rx
smie treesit executable org-keys oc ob-comint comint ansi-osc ansi-color
ring ob-core org-cycle org-fold org-fold-core org-compat ob-eval
org-version org-macs format-spec edmacro kmacro eww xdg url-queue
thingatpt shr pixel-fill kinsoku url-file svg xml dom browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util url-parse auth-source eieio
eieio-core password-cache json map byte-opt url-vars mailcap puny mm-url
gnus nnheader gnus-util time-date subr-x mail-utils range wid-edit
mm-util mail-prsvr mule-cmds quail info face-remap generic edebug debug
backtrace find-func doc-view filenotify jka-compr image-mode exif dired
dired-loaddefs desktop frameset dabbrev bookmark text-property-search pp
autoinsert cl-macs gv cl-extra help-mode cl-seq use-package
use-package-ensure use-package-delight use-package-diminish diminish
use-package-bind-key bind-key easy-mmode use-package-core cl-loaddefs
cl-lib bytecomp byte-compile site-gentoo rmc iso-transl tooltip cconv
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 seq 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
theme-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 inotify dynamic-setting
font-render-setting move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process emacs)
Memory information:
((conses 16 790036 74199)
(symbols 48 47659 0)
(strings 32 150178 6217)
(string-bytes 1 4797419)
(vectors 16 82113)
(vector-slots 8 1601611 135056)
(floats 8 335 1128)
(intervals 56 71042 956)
(buffers 976 133))
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode
2024-10-22 16:35 bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode toomas
@ 2024-10-22 17:40 ` Eli Zaretskii
2024-10-23 14:00 ` Toomas Rosin
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-10-22 17:40 UTC (permalink / raw)
To: toomas; +Cc: 73951
> From: toomas@rosin.ee
> Date: Tue, 22 Oct 2024 19:35:42 +0300
>
>
> How to reproduce on my system:
>
> Start: emacs -Q
> Type: M-x term RET
> On Emacs prompt "Run program: /bin/bash", type: RET
> The *terminal* buffer appears.
> On Bash prompt, type: echo 'a TAB b' RET
> Bash prints: "a b" (a TAB b), and displays new prompt.
I cannot reproduce this because when I press TAB, I get a bell,
i.e. TAB is not printed. Which is consistent with what TAB produces
outside Emacs, when I type it at Bash prompt: Bash attempts to perform
completion on what I typed.
So I guess your recipe is missing something, or maybe your Bash init
file customizes Bash in some way.
If someone can reproduce this, please tell if I'm missing something
here.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode
2024-10-22 17:40 ` Eli Zaretskii
@ 2024-10-23 14:00 ` Toomas Rosin
2024-10-23 17:47 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Toomas Rosin @ 2024-10-23 14:00 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 73951
Eli Zaretskii <eliz@gnu.org> wrote:
> > Start: emacs -Q
> > Type: M-x term RET
> > On Emacs prompt "Run program: /bin/bash", type: RET
> > The *terminal* buffer appears.
> > On Bash prompt, type: echo 'a TAB b' RET
Sorry, I forgot C-v: i.e., type: echo 'a C-v TAB b' RET
> > Bash prints: "a b" (a TAB b), and displays new prompt.
>
> I cannot reproduce this because when I press TAB, I get a bell,
> i.e. TAB is not printed. Which is consistent with what TAB produces
> outside Emacs, when I type it at Bash prompt: Bash attempts to perform
> completion on what I typed.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode
2024-10-23 14:00 ` Toomas Rosin
@ 2024-10-23 17:47 ` Eli Zaretskii
2024-11-03 15:50 ` Toomas Rosin
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-10-23 17:47 UTC (permalink / raw)
To: Toomas Rosin; +Cc: 73951
> From: Toomas Rosin <toomas@rosin.ee>
> cc: 73951@debbugs.gnu.org
> Comments: In-reply-to Eli Zaretskii <eliz@gnu.org>
> message dated "Tue, 22 Oct 2024 20:40:57 +0300."
> Date: Wed, 23 Oct 2024 17:00:08 +0300
>
> Eli Zaretskii <eliz@gnu.org> wrote:
>
> > > Start: emacs -Q
> > > Type: M-x term RET
> > > On Emacs prompt "Run program: /bin/bash", type: RET
> > > The *terminal* buffer appears.
> > > On Bash prompt, type: echo 'a TAB b' RET
>
> Sorry, I forgot C-v: i.e., type: echo 'a C-v TAB b' RET
OK, so why is it a problem that Emacs uses SPC character to emulate a
TAB?
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode
2024-10-23 17:47 ` Eli Zaretskii
@ 2024-11-03 15:50 ` Toomas Rosin
2024-11-03 16:39 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Toomas Rosin @ 2024-11-03 15:50 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 73951
Eli Zaretskii <eliz@gnu.org> wrote:
> OK, so why is it a problem that Emacs uses SPC character to emulate a
> TAB?
It is confusing when you don't happen to know about it.
I did not know about it before writing the OP. I had this function definition in a shell script (where "<TAB>" denotes the tab character):
tawk () { awk -F '<TAB>' -v OFS='<TAB>' "$@"; } # run awk on tab delimited files
When I yanked this definition from the script to the "*terminal*" buffer and tried to use it, I happened to get unexpected results (which, as it turned out later, were in fact not connected to this definition), and the first thing I suspected was (quite naturally imho) that something was wrong with the tab characters in the definition of the function. To check the definition, I ran "type tawk" in the *terminal* buffer, switched to line mode (C-c C-j), moved the cursor to the tab chars, ran `what-cursor-position' — and indeed, it told me that there were spaces there instead of tabs! So I was confirmed in my barking up the wrong tree.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode
2024-11-03 15:50 ` Toomas Rosin
@ 2024-11-03 16:39 ` Eli Zaretskii
2024-11-04 19:37 ` Toomas Rosin
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-11-03 16:39 UTC (permalink / raw)
To: Toomas Rosin; +Cc: 73951
> From: Toomas Rosin <toomas@rosin.ee>
> cc: 73951@debbugs.gnu.org
> Comments: In-reply-to Eli Zaretskii <eliz@gnu.org>
> message dated "Wed, 23 Oct 2024 20:47:17 +0300."
> Date: Sun, 03 Nov 2024 17:50:37 +0200
>
> Eli Zaretskii <eliz@gnu.org> wrote:
>
> > OK, so why is it a problem that Emacs uses SPC character to emulate a
> > TAB?
>
> It is confusing when you don't happen to know about it.
>
> I did not know about it before writing the OP. I had this function definition in a shell script (where "<TAB>" denotes the tab character):
>
> tawk () { awk -F '<TAB>' -v OFS='<TAB>' "$@"; } # run awk on tab delimited files
>
> When I yanked this definition from the script to the "*terminal*" buffer and tried to use it, I happened to get unexpected results (which, as it turned out later, were in fact not connected to this definition), and the first thing I suspected was (quite naturally imho) that something was wrong with the tab characters in the definition of the function. To check the definition, I ran "type tawk" in the *terminal* buffer, switched to line mode (C-c C-j), moved the cursor to the tab chars, ran `what-cursor-position' — and indeed, it told me that there were spaces there instead of tabs! So I was confirmed in my barking up the wrong tree.
Did you try setting indent-tabs-mode to a non-nil value?
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode
2024-11-03 16:39 ` Eli Zaretskii
@ 2024-11-04 19:37 ` Toomas Rosin
2024-11-04 19:52 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Toomas Rosin @ 2024-11-04 19:37 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 73951
Eli Zaretskii <eliz@gnu.org> wrote:
> Did you try setting indent-tabs-mode to a non-nil value?
How could I not have thought of this! But yes, when I set `indent-tabs-mode' to `t' *before* pasting the function definition, and then run "type tawk" in terminal buffer and move point in line mode onto the tab character, `C-x =' says correctly that point is on TAB.
I had `indent-tabs-mode' set to `nil' globally in my init.el; now I see that it is a good idea to leave `indent-tabs-mode' to `t' in terminal mode.
I have no more questions. Thank you.
T.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode
2024-11-04 19:37 ` Toomas Rosin
@ 2024-11-04 19:52 ` Eli Zaretskii
0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2024-11-04 19:52 UTC (permalink / raw)
To: Toomas Rosin; +Cc: 73951-done
> From: Toomas Rosin <toomas@rosin.ee>
> cc: 73951@debbugs.gnu.org
> Comments: In-reply-to Eli Zaretskii <eliz@gnu.org>
> message dated "Sun, 03 Nov 2024 18:39:13 +0200."
> Date: Mon, 04 Nov 2024 21:37:26 +0200
>
> Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Did you try setting indent-tabs-mode to a non-nil value?
>
> How could I not have thought of this! But yes, when I set `indent-tabs-mode' to `t' *before* pasting the function definition, and then run "type tawk" in terminal buffer and move point in line mode onto the tab character, `C-x =' says correctly that point is on TAB.
>
> I had `indent-tabs-mode' set to `nil' globally in my init.el; now I see that it is a good idea to leave `indent-tabs-mode' to `t' in terminal mode.
"M-x term" intentionally resets indent-tabs-mode to nil, with this
comment:
;; we do not want indent to sneak in any tabs
So if setting indent-tabs-mode non-nil suits you better, try to be on
the lookout for whatever problems the above comment might hint at; I
don't really understand what it wants to say (but then I don't use
"M-x term").
> I have no more questions. Thank you.
Thanks, I will therefore close this bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-11-04 19:52 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-22 16:35 bug#73951: 29.4; 'what-cursor-position' reports SPC instead of TAB in term-mode toomas
2024-10-22 17:40 ` Eli Zaretskii
2024-10-23 14:00 ` Toomas Rosin
2024-10-23 17:47 ` Eli Zaretskii
2024-11-03 15:50 ` Toomas Rosin
2024-11-03 16:39 ` Eli Zaretskii
2024-11-04 19:37 ` Toomas Rosin
2024-11-04 19:52 ` Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.