* bug#53305: 29.0.50; Echo keystrokes without delay
@ 2022-01-16 16:19 Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-21 11:58 ` Lars Ingebrigtsen
0 siblings, 1 reply; 2+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-01-16 16:19 UTC (permalink / raw)
To: 53305
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č <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#53305: 29.0.50; Echo keystrokes without delay
2022-01-16 16:19 bug#53305: 29.0.50; Echo keystrokes without delay Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-01-21 11:58 ` Lars Ingebrigtsen
0 siblings, 0 replies; 2+ messages in thread
From: Lars Ingebrigtsen @ 2022-01-21 11:58 UTC (permalink / raw)
To: Rudolf Adamkovič; +Cc: 53305
Rudolf Adamkovič <salutis@me.com> writes:
> 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;
Well, it does more than control the delay -- it also allows switching
the echoing off, so I think the name's OK.
> (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".
Yes, it sets up a delay, and if your redisplay is too fast, the clearing
and re-drawing will be noticeable. (I can't reproduce it on Debian.)
> 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".
No, the delay is because many people find echoing the unfinished
keystroke to be disturbing.
So I think everything here basically works as designed, and I'm closing
this bug report.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-01-21 11:58 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-16 16:19 bug#53305: 29.0.50; Echo keystrokes without delay Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-21 11:58 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).