Subject: 29.0.50; Echo keystrokes without delay

From: Rudolf Adamkovič <[email-masked]>
Date: Sun, 16 Jan 2022 17:19:02 +0100

Today, I set my Emacs to echo unfinished commands without a delay:

(setq-default echo-keystrokes 1e-6)

I experienced some problems along the way: (1) The variable name does
not include the word "delay", making it hard to find; (2) I could not
figure out how to disable the delay without providing a number of
seconds; (3) When I press C-x C-g repeatedly, the C-x part flashes a
bit.

Does (3) have anything to do with the "1e-6" hack?  Ideally, I would
want Emacs to have no delay and also no "redraw glitches".

I also wonder, does Emacs have the default 1-second delay to save
bandwidth or something like that?  I ask because the default makes it
harder to learn Emacs for inexperienced computer users.  I base my claim
on causal observations of my children; they often wait for the echo
area, unsure about their "unfinished commands".

Note: If the Emacs core team considers all of the above "features" and
not "bugs", feel free to close this bug report.

Rudy

In GNU Emacs 29.0.50 (build 10, x86_64-apple-darwin21.2.0, NS appkit-2113.20 Version 12.1 (Build 21C52))
 of 2022-01-11 built on Workstation.local
Repository revision: 18dac472553e6cd1102b644c2175012e12215c18
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2113
System Description:  macOS 12.1

Configured using:
 'configure --with-json --with-xwidgets --with-native-compilation'

Configured features:
ACL DBUS GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XIM XWIDGETS ZLIB

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

Major mode: Org-Agenda Week Ddl Grid Habit

Minor modes in effect:
  pdf-occur-global-minor-mode: t
  telega-root-auto-fill-mode: t
  telega-active-locations-mode: t
  telega-patrons-mode: t
  telega-mode-line-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  hl-line-mode: t
  TeX-PDF-mode: t
  shell-dirtrack-mode: t
  corfu-global-mode: t
  corfu-mode: t
  vertico-mouse-mode: t
  vertico-mode: t
  marginalia-mode: t
  global-diff-hl-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-hl-todo-mode: t
  global-subword-mode: t
  subword-mode: t
  save-place-mode: t
  global-auto-revert-mode: t
  delete-selection-mode: t
  savehist-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/Users/salutis/.emacs.d/elpa/transient-20220112.1305/transient hides /Users/salutis/src/emacs/nextstep/Emacs.app/Contents/Resources/lisp/transient

Features:
(shadow bbdb-message mail-extr two-column magit-ediff ediff ediff-merg
ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util
cl-print magit-extras pdf-sync pdf-annot pdf-outline pdf-links
pdf-history pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch
pdf-misc pdf-tools pdf-view pdf-cache pdf-info pdf-util pdf-macs rect
tabify elfeed-link elfeed-show elfeed-search elfeed-csv elfeed
elfeed-curl elfeed-log xml-query elfeed-db elfeed-lib org-capture
telega-obsolete telega telega-tdlib-events telega-webpage
visual-fill-column telega-root telega-info telega-chat telega-modes
telega-company telega-user telega-notifications telega-voip telega-msg
telega-tme telega-sticker telega-i18n telega-vvnote bindat telega-ffplay
telega-media telega-sort telega-filter telega-ins telega-folders
telega-inline telega-tdlib telega-util rainbow-identifiers telega-server
telega-core telega-customize emacsbug sendmail view flyspell-correct
latexenc consult-imenu mhtml-mode css-mode js sgml-mode facemenu ox-org
org-duration org-pomodoro alert log4e notifications gntp org-timer
tramp-cmds ess-r-mode ess-r-flymake ess-r-xref ess-trns ess-r-package
ess-r-completion ess-roxy ess-r-syntax ess-rd hideshow ess-s-lang
ess-help ess-mode ess-inf ess-tracebug ess ess-utils ess-custom cus-edit
cus-start cus-load vterm tramp tramp-loaddefs trampver tramp-integration
files-x tramp-compat term ehelp vterm-module term/xterm xterm
network-stream nsm emms-player-mpd emms-url tq emms-player-simple
emms-browser sort emms-playlist-sort emms-last-played emms-volume
emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse
emms-volume-amixer emms-playlist-mode emms-source-playlist
emms-source-file locate emms-cache emms-info emms-later-do emms
emms-compat notmuch notmuch-tree notmuch-jump notmuch-hello notmuch-show
notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft
notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser
notmuch-wash coolj notmuch-query goto-addr icalendar notmuch-tag
notmuch-lib notmuch-version notmuch-compat eglot array jsonrpc ert debug
pcase swift-mode swift-mode-imenu swift-mode-repl
swift-mode-beginning-of-defun swift-mode-font-lock
swift-mode-standard-types swift-mode-indent swift-mode-lexer conf-mode
magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
which-func magit-diff smerge-mode diff git-commit log-edit add-log
magit-core magit-autorevert magit-margin magit-transient magit-process
with-editor server magit-mode transient magit-git magit-section
magit-utils cal-move pulse color bug-reference consult-xref xref
embark-consult embark org-archive sh-script smie executable ox-md 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 citar-org oc-csl citeproc citeproc-itemgetters
citeproc-biblatex citeproc-bibtex citeproc-cite citeproc-subbibs
citeproc-sort citeproc-name citeproc-formatters citeproc-number rst
citeproc-proc citeproc-disamb citeproc-itemdata
citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date
citeproc-context citeproc-prange citeproc-style citeproc-locale
citeproc-term citeproc-rt citeproc-lib citeproc-s let-alist queue org-id
citar parsebib citar-file vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn
vc-cvs vc-rcs consult-vertico consult recentf tree-widget bookmark
holidays hol-loaddefs diary-lib diary-loaddefs cal-iso face-remap
org-habit org-agenda org-refile pp helpful imenu trace edebug backtrace
info-look f elisp-refs s dash yaml-mode misearch multi-isearch dired-aux
hl-line dired-x preview tex-buf font-latex latex latex-flymake
flymake-proc flymake project tex-ispell tex-style tex crm texmathp
tex-mode compile shell vc-git ffap flyspell ispell image-file
image-converter org-element avl-tree generator disp-table ol-eww eww xdg
url-queue thingatpt mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus
nnselect gnus-search eieio-opt speedbar ezimage dframe gnus-art mm-uu
mml2015 mm-view mml-smime smime dig gnus-sum shr pixel-fill kinsoku svg
dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap
nnmail mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int
gnus-range message yank-media rmc puny rfc822 mml mml-sec epa derived
epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util text-property-search mail-utils mm-util mail-prsvr
wid-edit ol-docview doc-view jka-compr image-mode exif ls-lisp dired
dired-loaddefs ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi char-fold
orderless cursor-sensor paredit edmacro kmacro
display-fill-column-indicator bbdb bbdb-site timezone
modus-vivendi-theme modus-operandi-theme modus-themes corfu
vertico-mouse vertico marginalia pdf-loader diff-hl log-view pcvs-util
vc-dir ewoc vc vc-dispatcher diff-mode diminish yasnippet hl-todo
finder-inf fortune lingua-franca ob-sqlite ob-sql ob-C cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
ob-R org-clock cap-words superword subword saveplace autorevert
filenotify comp comp-cstr warnings delsel savehist cl-extra org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src
ob-comint org-pcomplete pcomplete comint ansi-color org-list org-faces
org-entities noutline outline easy-mmode org-version ob-emacs-lisp
ob-core ob-eval org-table oc-basic bibtex iso8601 time-date ol rx
org-keys oc org-compat advice org-macs org-loaddefs format-spec
find-func cal-menu calendar cal-loaddefs tex-site geiser-impl help-fns
radix-tree help-mode geiser-custom geiser-base ring info package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json map url-vars seq gv subr-x byte-opt bytecomp
byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/ns-win ns-win ucs-normalize mule-util term/common-win 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 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 emoji-zwj charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice 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
xwidget-internal dbusbind kqueue cocoa ns lcms2 multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 1892200 240090)
 (symbols 48 98896 6)
 (strings 32 460671 104583)
 (string-bytes 1 14565513)
 (vectors 16 143664)
 (vector-slots 8 3745252 227117)
 (floats 8 12939 689)
 (intervals 56 56594 6639)
 (buffers 992 96))

-- 
"Programming reliably --- must be an activity of an undeniably mathematical nature […] You see, mathematics is about thinking, and doing mathematics is always trying to think as well as possible." -- Edsger W. Dijkstra (1981)

Rudolf Adamkovič <[email-masked]> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia