* bug#37396: 26.3; execute-kbd-macro changes current buffer inside with-temp-buffer and similar forms
@ 2019-09-13 1:18 Ryan C. Thompson
2019-09-13 7:36 ` martin rudalics
0 siblings, 1 reply; 5+ messages in thread
From: Ryan C. Thompson @ 2019-09-13 1:18 UTC (permalink / raw)
To: 37396
[-- Attachment #1: Type: text/plain, Size: 26955 bytes --]
When inside a form that temporarily changes the current buffer, such as
"with-temp-buffer", running "execute-kbd-macro" appears to switch the
current buffer back to whatever buffer was current when the current
command started executing. For example:
(with-temp-buffer
(list
;; Returns the temp buffer
(current-buffer)
(execute-kbd-macro "hello")
;; Returns the buffer that was current when evaluation began
(current-buffer)))
As indicated by the comments, the first call to "current-buffer" returns
the temporary buffer, but the second call, after calling
"execute-kbd-macro", returns a different buffer (e.g. the scratch
buffer, if you evaluated the code from there). As far as I can tell,
"execute-kbd-macro" is not documented to change the current buffer.
This causes problems for my with-simulated-input package, as described
here: https://github.com/DarwinAwardWinner/with-simulated-input/issues/4
In GNU Emacs 26.3 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60
Version 10.14.6 (Build 18G95))
of 2019-09-03 built on urania.lan
Windowing system distributor 'Apple', version 10.3.1671
Recent messages:
uncompressing cl-macs.el.gz...done
Killed inactive buffer: *Help*.
Mark set [6 times]
Quit [2 times]
Mark set [3 times]
Type "q" in help window to restore its previous buffer.
Mark set [5 times]
Quit
Mark set [2 times]
Subject, To or body not found
Configured using:
'configure --disable-dependency-tracking --disable-silent-rules
--enable-locallisppath=/usr/local/share/emacs/site-lisp
--infodir=/usr/local/Cellar/emacs-plus/26.3/share/info/emacs
--prefix=/usr/local/Cellar/emacs-plus/26.3 --with-xml2 --without-dbus
--with-gnutls --with-imagemagick --with-modules --with-rsvg --with-ns
--disable-ns-self-contained'
Configured features:
RSVG IMAGEMAGICK GLIB NOTIFY ACL GNUTLS LIBXML2 TOOLKIT_SCROLL_BARS NS
MODULES THREADS LCMS2
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
global-magit-file-mode: t
magit-auto-revert-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
recentf-mode: t
diff-auto-refine-mode: t
rainbow-delimiters-mode: t
pretty-symbols-mode: t
lexbind-mode: t
highlight-defined-mode: t
shell-dirtrack-mode: t
editorconfig-mode: t
global-auto-complete-mode: t
auto-complete-mode: t
adjust-parens-mode: t
override-global-mode: t
ws-butler-global-mode: t
ws-butler-mode: t
winner-mode: t
which-key-mode: t
which-function-mode: t
volatile-highlights-mode: t
sml-modeline-mode: t
savehist-mode: t
save-place-mode: t
mode-line-bell-mode: t
minibuffer-depth-indicate-mode: t
midnight-mode: t
mac-pseudo-daemon-mode: t
imagex-auto-adjust-mode: t
ido-yes-or-no-mode: t
ido-ubiquitous-mode: t
minibuffer-electric-default-mode: t
ido-everywhere: t
ido-complete-space-or-hyphen-mode: t
icomplete-mode: t
highlight-stages-global-mode: t
highlight-stages-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
global-pointback-mode: t
pointback-mode: t
global-hl-line-mode: t
global-anzu-mode: t
anzu-mode: t
desktop-save-mode: t
delete-selection-mode: t
beacon-mode: t
bar-cursor-mode: t
autopair-global-mode: t
autopair-mode: t
show-paren-mode: t
auto-dim-other-buffers-mode: t
amx-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-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:
/Users/ryan/.emacs.d/elpa/elsa-20190331.858/Elsafile hides
/Users/ryan/.emacs.d/elpa/flycheck-elsa-20190211.1121/Elsafile
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-stan hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-stan
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-exp hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-exp
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-J hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-J
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-eshell hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-eshell
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-emacs-lisp hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-emacs-lisp
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-gnus hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-gnus
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-css hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-css
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-lob hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-lob
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-forth hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-forth
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-macs hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-macs
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-version hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-version
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-scheme hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-scheme
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-abc hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-abc
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-C hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-C
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-capture hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-capture
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-ref hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-ref
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-clojure hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-clojure
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-mouse hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-mouse
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-ledger hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-ledger
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-ctags hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-ctags
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-entities hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-entities
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-archive hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-archive
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-screen hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-screen
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-haskell hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-haskell
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-asymptote hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-asymptote
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-mhe hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-mhe
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-table hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-table
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-keys hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-keys
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-org hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-org
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-plot hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-plot
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-awk hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-awk
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-groovy hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-groovy
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-octave hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-octave
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-faces hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-faces
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-colview hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-colview
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-R hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-R
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-timer hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-timer
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-ebnf hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-ebnf
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-mobile hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-mobile
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-fortran hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-fortran
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-shell hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-shell
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-perl hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-perl
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-sqlite hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-sqlite
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-sed hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-sed
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-list hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-list
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-ruby hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-ruby
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-eval hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-eval
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-habit hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-habit
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-clock hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-clock
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-html hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-html
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-src hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-src
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-lisp hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-lisp
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-ditaa hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-ditaa
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-pcomplete hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-pcomplete
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-lint hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-lint
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-rmail hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-rmail
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-latex hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-latex
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-sass hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-sass
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-io hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-io
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-tangle hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-tangle
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-calc hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-calc
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-java hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-java
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-icalendar hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-icalendar
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-eww hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-eww
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-md hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-md
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-beamer hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-beamer
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-element hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-element
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-protocol hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-protocol
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-mscgen hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-mscgen
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-gnuplot hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-gnuplot
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-latex hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-latex
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-id hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-id
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-vala hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-vala
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-man hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-man
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-feed hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-feed
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-lua hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-lua
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-table hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-table
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-ocaml hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-ocaml
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-coq hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-coq
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-picolisp hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-picolisp
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-indent hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-indent
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-lilypond hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-lilypond
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-matlab hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-matlab
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-datetree hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-datetree
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-python hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-python
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-bbdb hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-bbdb
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-makefile hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-makefile
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-duration hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-duration
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-agenda hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-agenda
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-dot hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-dot
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-js hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-js
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-publish hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-publish
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-inlinetask hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-inlinetask
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-org hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-org
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-core hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-core
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-compat hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-compat
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-docview hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-docview
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-odt hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-odt
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-plantuml hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-plantuml
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-ascii hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-ascii
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-loaddefs hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-loaddefs
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-w3m hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-w3m
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-bibtex hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-bibtex
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-info hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-info
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-hledger hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-hledger
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-maxima hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-maxima
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-macro hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-macro
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-sql hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-sql
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-attach hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-attach
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-processing hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-processing
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ox-texinfo hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ox-texinfo
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-irc hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-irc
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-crypt hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-crypt
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-footnote hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-footnote
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/org-install hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/org-install
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-comint hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-comint
/Users/ryan/.emacs.d/elpa/org-plus-contrib-20190513/ob-shen hides
/usr/local/Cellar/emacs-plus/26.3/share/emacs/26.3/lisp/org/ob-shen
Features:
(shadow sort mail-extr macrostep-c cmacexp macrostep cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
bs slime-tests dabbrev make-mode network-stream starttls url-http url-gw
nsm url-cache url-auth eww mm-url url-queue url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
mailcap shr svg xml rng-cmpct texnfo-upd texinfo rng-nxml nxml-mode
nxml-outln nxml-rap sgml-mode dom rng-valid org-drill org-learn org-id
hi-lock completion eieio-opt speedbar sb-image ezimage dframe cl-print
magit-imenu git-rebase misearch multi-isearch two-column executable
bug-reference magit-extras magit-filenotify magit-submodule
magit-obsolete magit-popup 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 magit-diff smerge-mode
magit-core magit-autorevert magit-margin magit-transient magit-process
magit-mode transient git-commit magit-git magit-section magit-utils crm
log-edit pcvs-util with-editor async-bytecomp async crux epa-file
recentf tree-widget flymake-proc flymake elec-pair markdown-mode
edit-indirect autorevert filenotify vc-git diff-mode org-eldoc org-eww
org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum gnus-group
gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls
utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win org-docview
doc-view jka-compr image-mode org-bibtex bibtex org-bbdb org-w3m server
emacsbug message rmc puny rfc822 mml mml-sec epa epg mailabbrev
gmm-utils mailheader sendmail yaml-mode with-simulated-input tempbuf
system-specific-settings snakemake-mode python tramp-sh smooth-scrolling
slime compile arc-mode archive-mode hyperspec browse-url
reveal-in-osx-finder rainbow-delimiters pretty-symbols polymode derived
poly-lock polymode-base polymode-weave polymode-export polymode-compat
polymode-methods polymode-core polymode-classes eieio-custom eieio-base
color paradox paradox-menu paradox-commit-list hydra lv paradox-execute
paradox-github paradox-core spinner package-lint finder org-bullets gnus
nnheader gnus-util rmail rmail-loaddefs mail-utils ox-extra 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 occur-context-resize noflet cl-indent
lexbind-mode iqa htmlize highlight-defined header2 git-wip-mode vc
vc-dispatcher git-gutter-fringe fringe-helper flycheck-elsa flycheck
filelock ess ess-utils ess-custom tramp tramp-compat tramp-loaddefs
trampver shell elsa elsa-typed-subr elsa-typed-thingatpt
elsa-typed-syntax elsa-extension-builtin elsa-ruleset elsa-rules-list
elsa-analyser elsa-typed-builtin elsa-english elsa-check elsa-state
elsa-scope elsa-reader elsa-type-helpers elsa-error pcase elsa-variable
trinary elsa-types editorconfig diminish decide readme-debian
debian-copyright debian-control-mode debian-changelog-mode add-log
cl-lib-highlight cask-mode cask cask-bootstrap ansi package-recipe-mode
package-build-badges package-build package-recipe eieio-compat json map
shut-up epl git commander buttercup warnings ert ewoc debug
buttercup-compat auto-complete edmacro kmacro popup apt-sources-list
adjust-parens req-package view req-package-cycles req-package-args
req-package-hooks ht log4e use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
el-get el-get-autoloading el-get-list-packages el-get-dependencies
el-get-build el-get-status pp el-get-methods el-get-fossil el-get-svn
el-get-pacman el-get-github-zip el-get-github-tar el-get-http-zip
el-get-http-tar el-get-hg el-get-go el-get-git-svn el-get-fink
el-get-emacswiki el-get-http el-get-notify el-get-emacsmirror
el-get-github el-get-git el-get-elpa el-get-darcs el-get-cvs el-get-bzr
el-get-brew el-get-builtin el-get-apt-get el-get-recipes
el-get-byte-compile subr-x el-get-custom el-get-core autoload cl dired
dired-loaddefs etags xref project face-remap ws-butler winner which-key
which-func imenu volatile-highlights sml-modeline savehist saveplace
mode-line-bell mb-depth midnight mac-pseudo-daemon image+ image-file
ido-yes-or-no ido-completing-read+ memoize cus-edit wid-edit
minibuf-eldef ido ido-complete-space-or-hyphen icomplete
highlight-stages undo-tree diff pointback assoc hl-line git-gutter anzu
thingatpt desktop frameset delsel beacon bar-cursor autopair paren
auto-dim-other-buffers amx cus-start cus-load exec-path-from-shell f
dash s quelpa-use-package use-package-core cl-extra parse-time quelpa
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr lisp-mnt help-fns radix-tree help-mode org-element
avl-tree generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-footnote org-src ob-comint ob-keys org-pcomplete pcomplete
comint ansi-color ring org-list org-faces org-entities noutline outline
easy-mmode org-version ob-emacs-lisp ob-core ob-eval org-compat advice
org-macs org-loaddefs format-spec find-func cal-menu calendar
cal-loaddefs finder-inf rx slime-autoloads info package easymenu
epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib time-date tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type 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 elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame 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 minibuffer 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 kqueue cocoa ns lcms2 multi-tty make-network-process
emacs)
Memory information:
((conses 16 2514916 151329)
(symbols 48 69247 1)
(miscs 40 7557 6145)
(strings 32 433514 7709)
(string-bytes 1 7381142)
(vectors 16 117043)
(vector-slots 8 2420847 101084)
(floats 8 984 2859)
(intervals 56 23608 940)
(buffers 992 118))
[-- Attachment #2: Type: text/html, Size: 30547 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37396: 26.3; execute-kbd-macro changes current buffer inside with-temp-buffer and similar forms
2019-09-13 1:18 bug#37396: 26.3; execute-kbd-macro changes current buffer inside with-temp-buffer and similar forms Ryan C. Thompson
@ 2019-09-13 7:36 ` martin rudalics
2021-01-30 7:35 ` Lars Ingebrigtsen
0 siblings, 1 reply; 5+ messages in thread
From: martin rudalics @ 2019-09-13 7:36 UTC (permalink / raw)
To: Ryan C. Thompson, 37396
> When inside a form that temporarily changes the current buffer, such
> as "with-temp-buffer", running "execute-kbd-macro" appears to switch
> the current buffer back to whatever buffer was current when the
> current command started executing.
'execute-kbd-macro' calls command_loop_1 which sets the current buffer
to the buffer shown in the selected window.
> For example:
>
> (with-temp-buffer
> (list
> ;; Returns the temp buffer
> (current-buffer)
> (execute-kbd-macro "hello")
> ;; Returns the buffer that was current when evaluation began
> (current-buffer)))
Try with
(with-temp-buffer
(let ((restore (window-buffer))
temp)
(setq temp (current-buffer))
(set-window-buffer (selected-window) temp)
(execute-kbd-macro "hello")
(set-window-buffer (selected-window) restore)
(list temp (current-buffer))))
martin
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37396: 26.3; execute-kbd-macro changes current buffer inside with-temp-buffer and similar forms
2019-09-13 7:36 ` martin rudalics
@ 2021-01-30 7:35 ` Lars Ingebrigtsen
2021-01-31 6:09 ` Ryan C. Thompson
0 siblings, 1 reply; 5+ messages in thread
From: Lars Ingebrigtsen @ 2021-01-30 7:35 UTC (permalink / raw)
To: martin rudalics; +Cc: Ryan C. Thompson, 37396
martin rudalics <rudalics@gmx.at> writes:
> 'execute-kbd-macro' calls command_loop_1 which sets the current buffer
> to the buffer shown in the selected window.
>
>> For example:
>>
>> (with-temp-buffer
>> (list
>> ;; Returns the temp buffer
>> (current-buffer)
>> (execute-kbd-macro "hello")
>> ;; Returns the buffer that was current when evaluation began
>> (current-buffer)))
>
> Try with
>
> (with-temp-buffer
> (let ((restore (window-buffer))
> temp)
> (setq temp (current-buffer))
> (set-window-buffer (selected-window) temp)
> (execute-kbd-macro "hello")
> (set-window-buffer (selected-window) restore)
> (list temp (current-buffer))))
So this seems to work as designed, so I'm closing this bug report. If
there's something to be done here, please respond to the debbugs address
and we'll reopen.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37396: 26.3; execute-kbd-macro changes current buffer inside with-temp-buffer and similar forms
2021-01-30 7:35 ` Lars Ingebrigtsen
@ 2021-01-31 6:09 ` Ryan C. Thompson
2021-01-31 7:46 ` Lars Ingebrigtsen
0 siblings, 1 reply; 5+ messages in thread
From: Ryan C. Thompson @ 2021-01-31 6:09 UTC (permalink / raw)
To: Lars Ingebrigtsen, martin rudalics; +Cc: 37396
On 1/30/21 2:35 AM, Lars Ingebrigtsen wrote:
> martin rudalics <rudalics@gmx.at> writes:
>
>> 'execute-kbd-macro' calls command_loop_1 which sets the current buffer
>> to the buffer shown in the selected window.
>>
>>> For example:
>>>
>>> (with-temp-buffer
>>> (list
>>> ;; Returns the temp buffer
>>> (current-buffer)
>>> (execute-kbd-macro "hello")
>>> ;; Returns the buffer that was current when evaluation began
>>> (current-buffer)))
>> Try with
>>
>> (with-temp-buffer
>> (let ((restore (window-buffer))
>> temp)
>> (setq temp (current-buffer))
>> (set-window-buffer (selected-window) temp)
>> (execute-kbd-macro "hello")
>> (set-window-buffer (selected-window) restore)
>> (list temp (current-buffer))))
> So this seems to work as designed, so I'm closing this bug report. If
> there's something to be done here, please respond to the debbugs address
> and we'll reopen.
>
If nothing else, this behavior seems worth noting in the function's
docstring, since otherwise there's no way to know about it short of
reading the source.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#37396: 26.3; execute-kbd-macro changes current buffer inside with-temp-buffer and similar forms
2021-01-31 6:09 ` Ryan C. Thompson
@ 2021-01-31 7:46 ` Lars Ingebrigtsen
0 siblings, 0 replies; 5+ messages in thread
From: Lars Ingebrigtsen @ 2021-01-31 7:46 UTC (permalink / raw)
To: Ryan C. Thompson; +Cc: 37396
"Ryan C. Thompson" <rct@thompsonclan.org> writes:
> If nothing else, this behavior seems worth noting in the function's
> docstring, since otherwise there's no way to know about it short of
> reading the source.
I've now mentioned this in the doc string of the function in Emacs 28.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-01-31 7:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-13 1:18 bug#37396: 26.3; execute-kbd-macro changes current buffer inside with-temp-buffer and similar forms Ryan C. Thompson
2019-09-13 7:36 ` martin rudalics
2021-01-30 7:35 ` Lars Ingebrigtsen
2021-01-31 6:09 ` Ryan C. Thompson
2021-01-31 7:46 ` 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).