* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook @ 2015-10-24 7:42 Tassilo Horn 2015-10-24 8:02 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Tassilo Horn @ 2015-10-24 7:42 UTC (permalink / raw) To: 21747 With emacs -Q, evaluate the following in *stratch*: --8<---------------cut here---------------start------------->8--- (defun th/loop-on-no-input () (while-no-input (while t t))) (add-hook 'post-command-hook #'th/loop-on-no-input) --8<---------------cut here---------------end--------------->8--- After having done that, the effect of pressing any key is deferred until you press the next key. E.g., typing "foo" just inserts "fo", but after an additional C-b (the exact key doesn't matter) you'll see "foo". I've been bitten by that issue with aggressive-indent-mode which uses `while-no-input' in order to abort its quite costly `post-command-hook' function in case the user keeps on typing. https://github.com/Malabarba/aggressive-indent-mode/issues/62 This issue is also possibly related to at least parts of bug#21313. In GNU Emacs 25.0.50.51 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.2) of 2015-10-24 Repository revision: a98ae38ad3c0831f578ab843d392e24470c0076a Windowing system distributor 'The X.Org Foundation', version 11.0.11702000 System Description: Arch Linux Configured using: 'configure 'CFLAGS=-g -ggdb3 -Og'' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 Important settings: value of $LC_MONETARY: de_DE.utf8 value of $LC_NUMERIC: de_DE.utf8 value of $LC_TIME: de_DE.utf8 value of $LANG: en_US.utf8 locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: diff-auto-refine-mode: t TeX-PDF-mode: t TeX-source-correlate-mode: t global-company-mode: t company-mode: t shell-dirtrack-mode: t paredit-mode: t global-aggressive-indent-mode: t aggressive-indent-mode: t highlight-symbol-mode: t outline-minor-mode: t pdf-occur-global-minor-mode: t recentf-mode: t beacon-mode: t highlight-parentheses-mode: t global-subword-mode: t subword-mode: t save-place-mode: t savehist-mode: t show-paren-mode: t ivy-mode: t minibuffer-depth-indicate-mode: t electric-pair-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t global-prettify-symbols-mode: t prettify-symbols-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 column-number-mode: t line-number-mode: t transient-mark-mode: t Recent messages: Setting up indent for shell type sh Indentation variables are now local. Indentation setup for shell type sh Type C-x 1 to delete the help window. mouse-2, RET: find function's definition Type C-x 1 to delete the help window. Auto-saving... mouse-2, RET: find function's definition Mark set Load-path shadows: ~/Repos/el/auctex/lpath hides ~/Repos/el/gnus/lisp/lpath ~/Repos/el/highlight-symbol.el/highlight-symbol hides /home/horn/.emacs.d/elpa/highlight-symbol-20151005.451/highlight-symbol ~/Repos/el/gnus/lisp/md4 hides /home/horn/Repos/el/emacs/lisp/md4 ~/Repos/el/gnus/lisp/color hides /home/horn/Repos/el/emacs/lisp/color ~/Repos/el/gnus/lisp/format-spec hides /home/horn/Repos/el/emacs/lisp/format-spec ~/Repos/el/gnus/lisp/password-cache hides /home/horn/Repos/el/emacs/lisp/password-cache ~/Repos/el/gnus/lisp/hex-util hides /home/horn/Repos/el/emacs/lisp/hex-util ~/Repos/el/gnus/lisp/dns-mode hides /home/horn/Repos/el/emacs/lisp/textmodes/dns-mode ~/Repos/el/gnus/lisp/dig hides /home/horn/Repos/el/emacs/lisp/net/dig ~/Repos/el/gnus/lisp/hmac-md5 hides /home/horn/Repos/el/emacs/lisp/net/hmac-md5 ~/Repos/el/gnus/lisp/ntlm hides /home/horn/Repos/el/emacs/lisp/net/ntlm ~/Repos/el/gnus/lisp/hmac-def hides /home/horn/Repos/el/emacs/lisp/net/hmac-def ~/Repos/el/gnus/lisp/rfc2104 hides /home/horn/Repos/el/emacs/lisp/net/rfc2104 ~/Repos/el/gnus/lisp/sasl-ntlm hides /home/horn/Repos/el/emacs/lisp/net/sasl-ntlm ~/Repos/el/gnus/lisp/sasl-cram hides /home/horn/Repos/el/emacs/lisp/net/sasl-cram ~/Repos/el/gnus/lisp/dns hides /home/horn/Repos/el/emacs/lisp/net/dns ~/Repos/el/gnus/lisp/sasl hides /home/horn/Repos/el/emacs/lisp/net/sasl ~/Repos/el/gnus/lisp/tls hides /home/horn/Repos/el/emacs/lisp/net/tls ~/Repos/el/gnus/lisp/sasl-scram-rfc hides /home/horn/Repos/el/emacs/lisp/net/sasl-scram-rfc ~/Repos/el/gnus/lisp/netrc hides /home/horn/Repos/el/emacs/lisp/net/netrc ~/Repos/el/gnus/lisp/sasl-digest hides /home/horn/Repos/el/emacs/lisp/net/sasl-digest ~/Repos/el/gnus/lisp/uudecode hides /home/horn/Repos/el/emacs/lisp/mail/uudecode ~/Repos/el/gnus/lisp/binhex hides /home/horn/Repos/el/emacs/lisp/mail/binhex ~/Repos/el/gnus/lisp/hashcash hides /home/horn/Repos/el/emacs/lisp/mail/hashcash ~/Repos/el/gnus/lisp/canlock hides /home/horn/Repos/el/emacs/lisp/gnus/canlock ~/Repos/el/gnus/lisp/nneething hides /home/horn/Repos/el/emacs/lisp/gnus/nneething ~/Repos/el/gnus/lisp/mm-encode hides /home/horn/Repos/el/emacs/lisp/gnus/mm-encode ~/Repos/el/gnus/lisp/mm-util hides /home/horn/Repos/el/emacs/lisp/gnus/mm-util ~/Repos/el/gnus/lisp/rfc2047 hides /home/horn/Repos/el/emacs/lisp/gnus/rfc2047 ~/Repos/el/gnus/lisp/nnml hides /home/horn/Repos/el/emacs/lisp/gnus/nnml ~/Repos/el/gnus/lisp/gnus-cus hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-cus ~/Repos/el/gnus/lisp/gnus-range hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-range ~/Repos/el/gnus/lisp/gnus-int hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-int ~/Repos/el/gnus/lisp/gnus-cloud hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-cloud ~/Repos/el/gnus/lisp/spam-stat hides /home/horn/Repos/el/emacs/lisp/gnus/spam-stat ~/Repos/el/gnus/lisp/nnmh hides /home/horn/Repos/el/emacs/lisp/gnus/nnmh ~/Repos/el/gnus/lisp/gnus-mlspl hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-mlspl ~/Repos/el/gnus/lisp/deuglify hides /home/horn/Repos/el/emacs/lisp/gnus/deuglify ~/Repos/el/gnus/lisp/gnus-gravatar hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-gravatar ~/Repos/el/gnus/lisp/nngateway hides /home/horn/Repos/el/emacs/lisp/gnus/nngateway ~/Repos/el/gnus/lisp/ietf-drums hides /home/horn/Repos/el/emacs/lisp/gnus/ietf-drums ~/Repos/el/gnus/lisp/mail-parse hides /home/horn/Repos/el/emacs/lisp/gnus/mail-parse ~/Repos/el/gnus/lisp/gnus-salt hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-salt ~/Repos/el/gnus/lisp/nnimap hides /home/horn/Repos/el/emacs/lisp/gnus/nnimap ~/Repos/el/gnus/lisp/gnus-draft hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-draft ~/Repos/el/gnus/lisp/mail-source hides /home/horn/Repos/el/emacs/lisp/gnus/mail-source ~/Repos/el/gnus/lisp/messcompat hides /home/horn/Repos/el/emacs/lisp/gnus/messcompat ~/Repos/el/gnus/lisp/pop3 hides /home/horn/Repos/el/emacs/lisp/gnus/pop3 ~/Repos/el/gnus/lisp/nnmaildir hides /home/horn/Repos/el/emacs/lisp/gnus/nnmaildir ~/Repos/el/gnus/lisp/nnheader hides /home/horn/Repos/el/emacs/lisp/gnus/nnheader ~/Repos/el/gnus/lisp/gnus-cite hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-cite ~/Repos/el/gnus/lisp/nndiary hides /home/horn/Repos/el/emacs/lisp/gnus/nndiary ~/Repos/el/gnus/lisp/gnus-diary hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-diary ~/Repos/el/gnus/lisp/nnfolder hides /home/horn/Repos/el/emacs/lisp/gnus/nnfolder ~/Repos/el/gnus/lisp/gnus-art hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-art ~/Repos/el/gnus/lisp/gnus-demon hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-demon ~/Repos/el/gnus/lisp/mml-sec hides /home/horn/Repos/el/emacs/lisp/gnus/mml-sec ~/Repos/el/gnus/lisp/nnir hides /home/horn/Repos/el/emacs/lisp/gnus/nnir ~/Repos/el/gnus/lisp/mm-partial hides /home/horn/Repos/el/emacs/lisp/gnus/mm-partial ~/Repos/el/gnus/lisp/gnus-registry hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-registry ~/Repos/el/gnus/lisp/gnus-icalendar hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-icalendar ~/Repos/el/gnus/lisp/compface hides /home/horn/Repos/el/emacs/lisp/gnus/compface ~/Repos/el/gnus/lisp/gnus-fun hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-fun ~/Repos/el/gnus/lisp/gnus-start hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-start ~/Repos/el/gnus/lisp/smiley hides /home/horn/Repos/el/emacs/lisp/gnus/smiley ~/Repos/el/gnus/lisp/gnus-picon hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-picon ~/Repos/el/gnus/lisp/spam-report hides /home/horn/Repos/el/emacs/lisp/gnus/spam-report ~/Repos/el/gnus/lisp/nntp hides /home/horn/Repos/el/emacs/lisp/gnus/nntp ~/Repos/el/gnus/lisp/nnnil hides /home/horn/Repos/el/emacs/lisp/gnus/nnnil ~/Repos/el/gnus/lisp/nndir hides /home/horn/Repos/el/emacs/lisp/gnus/nndir ~/Repos/el/gnus/lisp/gnus-srvr hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-srvr ~/Repos/el/gnus/lisp/smime hides /home/horn/Repos/el/emacs/lisp/gnus/smime ~/Repos/el/gnus/lisp/nnvirtual hides /home/horn/Repos/el/emacs/lisp/gnus/nnvirtual ~/Repos/el/gnus/lisp/gnus-notifications hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-notifications ~/Repos/el/gnus/lisp/nnspool hides /home/horn/Repos/el/emacs/lisp/gnus/nnspool ~/Repos/el/gnus/lisp/gnus-group hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-group ~/Repos/el/gnus/lisp/gnus-bcklg hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-bcklg ~/Repos/el/gnus/lisp/gnus-util hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-util ~/Repos/el/gnus/lisp/gnus-sieve hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-sieve ~/Repos/el/gnus/lisp/nndraft hides /home/horn/Repos/el/emacs/lisp/gnus/nndraft ~/Repos/el/gnus/lisp/nnagent hides /home/horn/Repos/el/emacs/lisp/gnus/nnagent ~/Repos/el/gnus/lisp/gnus-spec hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-spec ~/Repos/el/gnus/lisp/gnus-bookmark hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-bookmark ~/Repos/el/gnus/lisp/mml1991 hides /home/horn/Repos/el/emacs/lisp/gnus/mml1991 ~/Repos/el/gnus/lisp/rfc2231 hides /home/horn/Repos/el/emacs/lisp/gnus/rfc2231 ~/Repos/el/gnus/lisp/yenc hides /home/horn/Repos/el/emacs/lisp/gnus/yenc ~/Repos/el/gnus/lisp/gnus-undo hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-undo ~/Repos/el/gnus/lisp/ecomplete hides /home/horn/Repos/el/emacs/lisp/gnus/ecomplete ~/Repos/el/gnus/lisp/legacy-gnus-agent hides /home/horn/Repos/el/emacs/lisp/gnus/legacy-gnus-agent ~/Repos/el/gnus/lisp/utf7 hides /home/horn/Repos/el/emacs/lisp/gnus/utf7 ~/Repos/el/gnus/lisp/rtree hides /home/horn/Repos/el/emacs/lisp/gnus/rtree ~/Repos/el/gnus/lisp/gnus-uu hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-uu ~/Repos/el/gnus/lisp/gnus-ml hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-ml ~/Repos/el/gnus/lisp/sieve hides /home/horn/Repos/el/emacs/lisp/gnus/sieve ~/Repos/el/gnus/lisp/gnus hides /home/horn/Repos/el/emacs/lisp/gnus/gnus ~/Repos/el/gnus/lisp/mml hides /home/horn/Repos/el/emacs/lisp/gnus/mml ~/Repos/el/gnus/lisp/message hides /home/horn/Repos/el/emacs/lisp/gnus/message ~/Repos/el/gnus/lisp/mml-smime hides /home/horn/Repos/el/emacs/lisp/gnus/mml-smime ~/Repos/el/gnus/lisp/gnus-eform hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-eform ~/Repos/el/gnus/lisp/gnus-agent hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-agent ~/Repos/el/gnus/lisp/gnus-logic hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-logic ~/Repos/el/gnus/lisp/mm-extern hides /home/horn/Repos/el/emacs/lisp/gnus/mm-extern ~/Repos/el/gnus/lisp/nndoc hides /home/horn/Repos/el/emacs/lisp/gnus/nndoc ~/Repos/el/gnus/lisp/sieve-manage hides /home/horn/Repos/el/emacs/lisp/gnus/sieve-manage ~/Repos/el/gnus/lisp/mm-decode hides /home/horn/Repos/el/emacs/lisp/gnus/mm-decode ~/Repos/el/gnus/lisp/starttls hides /home/horn/Repos/el/emacs/lisp/gnus/starttls ~/Repos/el/gnus/lisp/gnus-dired hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-dired ~/Repos/el/gnus/lisp/nnbabyl hides /home/horn/Repos/el/emacs/lisp/gnus/nnbabyl ~/Repos/el/gnus/lisp/nnmbox hides /home/horn/Repos/el/emacs/lisp/gnus/nnmbox ~/Repos/el/gnus/lisp/gnus-win hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-win ~/Repos/el/gnus/lisp/gnus-async hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-async ~/Repos/el/gnus/lisp/mm-url hides /home/horn/Repos/el/emacs/lisp/gnus/mm-url ~/Repos/el/gnus/lisp/gnus-html hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-html ~/Repos/el/gnus/lisp/gssapi hides /home/horn/Repos/el/emacs/lisp/gnus/gssapi ~/Repos/el/gnus/lisp/mml2015 hides /home/horn/Repos/el/emacs/lisp/gnus/mml2015 ~/Repos/el/gnus/lisp/nnrss hides /home/horn/Repos/el/emacs/lisp/gnus/nnrss ~/Repos/el/gnus/lisp/gnus-mh hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-mh ~/Repos/el/gnus/lisp/gnus-sum hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-sum ~/Repos/el/gnus/lisp/nnweb hides /home/horn/Repos/el/emacs/lisp/gnus/nnweb ~/Repos/el/gnus/lisp/mail-prsvr hides /home/horn/Repos/el/emacs/lisp/gnus/mail-prsvr ~/Repos/el/gnus/lisp/nnmairix hides /home/horn/Repos/el/emacs/lisp/gnus/nnmairix ~/Repos/el/gnus/lisp/plstore hides /home/horn/Repos/el/emacs/lisp/gnus/plstore ~/Repos/el/gnus/lisp/rfc2045 hides /home/horn/Repos/el/emacs/lisp/gnus/rfc2045 ~/Repos/el/gnus/lisp/gnus-msg hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-msg ~/Repos/el/gnus/lisp/spam-wash hides /home/horn/Repos/el/emacs/lisp/gnus/spam-wash ~/Repos/el/gnus/lisp/gnus-score hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-score ~/Repos/el/gnus/lisp/mm-uu hides /home/horn/Repos/el/emacs/lisp/gnus/mm-uu ~/Repos/el/gnus/lisp/spam hides /home/horn/Repos/el/emacs/lisp/gnus/spam ~/Repos/el/gnus/lisp/mm-view hides /home/horn/Repos/el/emacs/lisp/gnus/mm-view ~/Repos/el/gnus/lisp/sieve-mode hides /home/horn/Repos/el/emacs/lisp/gnus/sieve-mode ~/Repos/el/gnus/lisp/html2text hides /home/horn/Repos/el/emacs/lisp/gnus/html2text ~/Repos/el/gnus/lisp/gnus-ems hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-ems ~/Repos/el/gnus/lisp/registry hides /home/horn/Repos/el/emacs/lisp/gnus/registry ~/Repos/el/gnus/lisp/auth-source hides /home/horn/Repos/el/emacs/lisp/gnus/auth-source ~/Repos/el/gnus/lisp/gravatar hides /home/horn/Repos/el/emacs/lisp/gnus/gravatar ~/Repos/el/gnus/lisp/flow-fill hides /home/horn/Repos/el/emacs/lisp/gnus/flow-fill ~/Repos/el/gnus/lisp/gmm-utils hides /home/horn/Repos/el/emacs/lisp/gnus/gmm-utils ~/Repos/el/gnus/lisp/mailcap hides /home/horn/Repos/el/emacs/lisp/gnus/mailcap ~/Repos/el/gnus/lisp/gnus-delay hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-delay ~/Repos/el/gnus/lisp/mm-bodies hides /home/horn/Repos/el/emacs/lisp/gnus/mm-bodies ~/Repos/el/gnus/lisp/mm-archive hides /home/horn/Repos/el/emacs/lisp/gnus/mm-archive ~/Repos/el/gnus/lisp/rfc1843 hides /home/horn/Repos/el/emacs/lisp/gnus/rfc1843 ~/Repos/el/gnus/lisp/gnus-kill hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-kill ~/Repos/el/gnus/lisp/qp hides /home/horn/Repos/el/emacs/lisp/gnus/qp ~/Repos/el/gnus/lisp/score-mode hides /home/horn/Repos/el/emacs/lisp/gnus/score-mode ~/Repos/el/gnus/lisp/gnus-topic hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-topic ~/Repos/el/gnus/lisp/gnus-cache hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-cache ~/Repos/el/gnus/lisp/nnmail hides /home/horn/Repos/el/emacs/lisp/gnus/nnmail ~/Repos/el/gnus/lisp/gnus-vm hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-vm ~/Repos/el/gnus/lisp/gnus-sync hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-sync ~/Repos/el/gnus/lisp/nnoo hides /home/horn/Repos/el/emacs/lisp/gnus/nnoo ~/Repos/el/gnus/lisp/nnregistry hides /home/horn/Repos/el/emacs/lisp/gnus/nnregistry ~/Repos/el/gnus/lisp/gnus-dup hides /home/horn/Repos/el/emacs/lisp/gnus/gnus-dup ~/Repos/el/gnus/lisp/parse-time hides /home/horn/Repos/el/emacs/lisp/calendar/parse-time ~/Repos/el/gnus/lisp/time-date hides /home/horn/Repos/el/emacs/lisp/calendar/time-date Features: (shadow emacsbug sendmail eieio-opt speedbar sb-image ezimage dframe url-http url-gw url-auth sort smiley gnus-cite gnus-bcklg gnus-async qp gnus-ml hl-line nndraft nnmh rot13 utf-7 gnutls network-stream nsm starttls nnml nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-cache gnus-demon nntp spam spam-stat gnus-uu yenc gnus-msg gnus-gravatar mail-extr gravatar gnus-topic nnir gnus-registry registry eieio-compat eieio-base th-private misearch multi-isearch smerge-mode cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs term/xterm xterm smex ido sh-script smie executable texmathp vc vc-dispatcher vc-git diff-mode preview prv-emacs auto-dictionary flyspell ispell tex-buf reftex-dcr reftex-auc reftex reftex-vars font-latex latex-mode-expansions latex tex-style tex dbus crm tex-mode latexenc colir color company-files company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-template company-css company-nxml company-bbdb company stratego-mode greql-mode tg-mode generic preview-latex tex-site auto-loads cider tramp-sh cider-debug cider-browse-ns cider-inspector cider-mode cider-resolve cider-interaction arc-mode archive-mode cider-overlays cider-test cider-stacktrace cider-repl cider-doc org-table the-org-mode-expansions org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs cider-grimoire cider-popup cider-eldoc cider-client cider-common cider-util nrepl-client tramp tramp-compat tramp-loaddefs trampver shell pcomplete queue ewoc cider-compat spinner clojure-mode-expansions clojure-mode paredit aggressive-indent epa-file epa epg rdictcc google-contacts-message google-contacts xml url-cache google-oauth google-contacts-gnus gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems gnus-compat url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source password-cache url-vars mailcap nnheader gnus-util dired-x em-term term ehelp esh-opt esh-ext esh-util highlight-symbol boxquote rect ecomplete message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr mailabbrev mail-utils gmm-utils mailheader server yasnippet disp-table noutline outline pdf-occur ibuf-ext ibuffer 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 find-func cedet dired pdf-isearch let-alist pdf-misc imenu pdf-tools compile comint ansi-color cus-edit cus-start cus-load pdf-view bookmark pp jka-compr pdf-cache pdf-info tq pdf-util format-spec image-mode browse-kill-ring derived recentf tree-widget wid-edit expand-region text-mode-expansions er-basic-expansions thingatpt expand-region-core expand-region-custom beacon seq highlight-parentheses cl iedit iedit-lib hydra lv counsel etags xref project eieio byte-opt bytecomp byte-compile cl-extra help-mode cconv eieio-core swiper cap-words superword subword saveplace savehist paren ivy delsel icomplete mb-depth ace-window easy-mmode cl-macs gv avy ring smart-mode-line-respectful-theme smart-mode-line-light-theme cl-seq smart-mode-line rich-minority rx bs windmove elec-pair edmacro kmacro cl-loaddefs cl-lib gnus-load subr-x pcase tsdh-light-theme finder-inf memory-usage-autoloads advice info package easymenu epg-config time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core 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 charscript case-table epa-hook jka-cmpr-hook help simple abbrev 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 dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 719957 57847) (symbols 48 60618 16) (miscs 40 16752 12116) (strings 32 171352 15640) (string-bytes 1 5672348) (vectors 16 64843) (vector-slots 8 1805534 154753) (floats 8 998 731) (intervals 56 3282 1166) (buffers 976 41) (heap 1024 94258 9479)) ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 7:42 bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook Tassilo Horn @ 2015-10-24 8:02 ` Eli Zaretskii 2015-10-24 8:53 ` Tassilo Horn 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-10-24 8:02 UTC (permalink / raw) To: Tassilo Horn; +Cc: 21747 > From: Tassilo Horn <tsdh@gnu.org> > Date: Sat, 24 Oct 2015 09:42:36 +0200 > > With emacs -Q, evaluate the following in *stratch*: > > --8<---------------cut here---------------start------------->8--- > (defun th/loop-on-no-input () > (while-no-input (while t t))) > > (add-hook 'post-command-hook #'th/loop-on-no-input) > --8<---------------cut here---------------end--------------->8--- > > After having done that, the effect of pressing any key is deferred until > you press the next key. E.g., typing "foo" just inserts "fo", but after > an additional C-b (the exact key doesn't matter) you'll see "foo". I think what's deferred is redisplay, not the effect of pressing a key. IOW, the key does its thing, the character is inserted into the current buffer, but redisplay doesn't run, and so you don't see that inserted character, and think it was not inserted in the first place. Given that, maybe I'm missing something, but what did you expect? The above literally says that Emacs shall loop indefinitely after performing each command until there's more input. And that's what you get. Right? If I change the hook function to this: (defun th/loop-on-no-input () (while-no-input (while t (sit-for 0)))) then the "delay" goes away (although I still don't recommend such virulent post-command hooks, as they make an otherwise idle Emacs suck all the juice out of a single execution unit). Am I missing something here? ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 8:02 ` Eli Zaretskii @ 2015-10-24 8:53 ` Tassilo Horn 2015-10-24 9:14 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Tassilo Horn @ 2015-10-24 8:53 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 21747 Eli Zaretskii <eliz@gnu.org> writes: >> With emacs -Q, evaluate the following in *stratch*: >> >> --8<---------------cut here---------------start------------->8--- >> (defun th/loop-on-no-input () >> (while-no-input (while t t))) >> >> (add-hook 'post-command-hook #'th/loop-on-no-input) >> --8<---------------cut here---------------end--------------->8--- >> >> After having done that, the effect of pressing any key is deferred >> until you press the next key. E.g., typing "foo" just inserts "fo", >> but after an additional C-b (the exact key doesn't matter) you'll see >> "foo". > > I think what's deferred is redisplay, not the effect of pressing a > key. IOW, the key does its thing, the character is inserted into the > current buffer, but redisplay doesn't run, and so you don't see that > inserted character, and think it was not inserted in the first place. Yes, you are right. > Given that, maybe I'm missing something, but what did you expect? The > above literally says that Emacs shall loop indefinitely after > performing each command until there's more input. And that's what you > get. Right? Correct, but when the input eventually arrives, I expect to see its effects as if it had arrived outside of the `while-no-input'. > If I change the hook function to this: > > (defun th/loop-on-no-input () > (while-no-input (while t (sit-for 0)))) > > then the "delay" goes away Indeed, that works. > (although I still don't recommend such virulent post-command hooks, as > they make an otherwise idle Emacs suck all the juice out of a single > execution unit). > > Am I missing something here? Obviously, `aggressive-indent-mode's `post-command-hook' is no infinite loop but just a reasonably costly operation which should have the ability to be aborted when the user keeps on typing: https://github.com/Malabarba/aggressive-indent-mode/blob/master/aggressive-indent.el#L357 So the question is: should `while-no-input' call (sit-for 0) as the first statement in the `progn' or should functions using `while-no-input' do that on their own? I'd prefer the former because the current behavior is not really obvious (at least not to me nor Artur). Bye, Tassilo ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 8:53 ` Tassilo Horn @ 2015-10-24 9:14 ` Eli Zaretskii 2015-10-24 9:49 ` Tassilo Horn 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-10-24 9:14 UTC (permalink / raw) To: Tassilo Horn, Stefan Monnier; +Cc: 21747 > From: Tassilo Horn <tsdh@gnu.org> > Cc: 21747@debbugs.gnu.org > Date: Sat, 24 Oct 2015 10:53:12 +0200 > > > Given that, maybe I'm missing something, but what did you expect? The > > above literally says that Emacs shall loop indefinitely after > > performing each command until there's more input. And that's what you > > get. Right? > > Correct, but when the input eventually arrives, I expect to see its > effects as if it had arrived outside of the `while-no-input'. That effect was not yet produced, because the arriving input was not yet consumed by the time while-no-input returns, that input is still "pending". For it to be consumed and acted upon, you need another crank of the Emacs main loop and another redisplay cycle (which is again delayed by the while-no-input loop). So the one-character delay goes on forever. > So the question is: should `while-no-input' call (sit-for 0) as the > first statement in the `progn' or should functions using > `while-no-input' do that on their own? I'd prefer the former because > the current behavior is not really obvious (at least not to me nor > Artur). I don't have enough experience in using while-no-input to answer that. Perhaps others could chime in and voice their opinions. Maybe we should have a discussion on emacs-devel about this (because many people who read emacs-devel don't read the bug list). ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 9:14 ` Eli Zaretskii @ 2015-10-24 9:49 ` Tassilo Horn 2015-10-24 10:30 ` Artur Malabarba 2015-10-24 10:35 ` Eli Zaretskii 0 siblings, 2 replies; 28+ messages in thread From: Tassilo Horn @ 2015-10-24 9:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Stefan Monnier, 21747, Kim F. Storm Eli Zaretskii <eliz@gnu.org> writes: >> From: Tassilo Horn <tsdh@gnu.org> >> Cc: 21747@debbugs.gnu.org >> Date: Sat, 24 Oct 2015 10:53:12 +0200 >> >> > Given that, maybe I'm missing something, but what did you expect? The >> > above literally says that Emacs shall loop indefinitely after >> > performing each command until there's more input. And that's what you >> > get. Right? >> >> Correct, but when the input eventually arrives, I expect to see its >> effects as if it had arrived outside of the `while-no-input'. > > That effect was not yet produced, because the arriving input was not > yet consumed by the time while-no-input returns, that input is still > "pending". For it to be consumed and acted upon, you need another > crank of the Emacs main loop and another redisplay cycle (which is > again delayed by the while-no-input loop). So the one-character delay > goes on forever. Ah, ok. I changed `while-no-input' locally to (defmacro while-no-input (&rest body) "Execute BODY only as long as there's no pending input. If input arrives, that ends the execution of BODY, and `while-no-input' returns t. Quitting makes it return nil. If BODY finishes, `while-no-input' returns whatever value BODY produced." (declare (debug t) (indent 0)) (let ((catch-sym (make-symbol "input"))) `(with-local-quit (catch ',catch-sym (let ((throw-on-input ',catch-sym)) (or (input-pending-p) (progn (sit-for 0) ;; <== just inserted that ,@body))))))) which seems to fix the issue somehow. With your description, what I think it does is that it forces the display of the effects of the command which has interrupted the `while-no-input' in the previous cycle. >> So the question is: should `while-no-input' call (sit-for 0) as the >> first statement in the `progn' or should functions using >> `while-no-input' do that on their own? I'd prefer the former because >> the current behavior is not really obvious (at least not to me nor >> Artur). > > I don't have enough experience in using while-no-input to answer that. > Perhaps others could chime in and voice their opinions. Maybe we > should have a discussion on emacs-devel about this (because many > people who read emacs-devel don't read the bug list). Yes, I think that would be a good idea. Originally, `while-no-input' used (not (sit-for 0 0 t)) instead of (input-pending-p) which I think is pretty equivalent except that the former forces a redisplay. I've added Kim to the Cc, so maybe he can speak up. --8<---------------cut here---------------start------------->8--- commit 790e0ef78e306edc0664b8fa5a584c62ec01b444 Author: Kim F. Storm <storm@cua.dk> Date: Mon Sep 11 22:21:55 2006 +0000 (sit-for): Rework to use input-pending-p and cond. Return nil input is pending on entry also for SECONDS <= 0. (while-no-input): Use input-pending-p instead of sit-for. diff --git a/lisp/subr.el b/lisp/subr.el --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2391,13 +2394,13 @@ (defmacro while-no-input (&rest body) "Execute BODY only as long as there's no pending input. If input arrives, that ends the execution of BODY, and `while-no-input' returns t. Quitting makes it return nil. If BODY finishes, `while-no-input' returns whatever value BODY produced." (declare (debug t) (indent 0)) (let ((catch-sym (make-symbol "input"))) `(with-local-quit (catch ',catch-sym (let ((throw-on-input ',catch-sym)) - (or (not (sit-for 0 0 t)) - ,@body)))))) + (or (input-pending-p) + ,@body)))))) --8<---------------cut here---------------end--------------->8--- ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 9:49 ` Tassilo Horn @ 2015-10-24 10:30 ` Artur Malabarba 2015-10-24 10:52 ` Eli Zaretskii 2015-10-24 10:35 ` Eli Zaretskii 1 sibling, 1 reply; 28+ messages in thread From: Artur Malabarba @ 2015-10-24 10:30 UTC (permalink / raw) To: Tassilo Horn; +Cc: Stefan Monnier, 21747, Kim Storm [-- Attachment #1: Type: text/plain, Size: 1322 bytes --] On 24 Oct 2015 10:49 am, "Tassilo Horn" <tsdh@gnu.org> wrote:> >> So the question is: should `while-no-input' call (sit-for 0) as the > >> first statement in the `progn' or should functions using > >> `while-no-input' do that on their own? I'd prefer the former because > >> the current behavior is not really obvious (at least not to me nor > >> Artur). > > > > I don't have enough experience in using while-no-input to answer that. > > Perhaps others could chime in and voice their opinions. Maybe we > > should have a discussion on emacs-devel about this (because many > > people who read emacs-devel don't read the bug list). > > Yes, I think that would be a good idea. Originally, `while-no-input' > used (not (sit-for 0 0 t)) instead of (input-pending-p) which I think is > pretty equivalent except that the former forces a redisplay. Reading this discussion, it sounds to me like this is more about post-command-hook than while-no-input. By the time this code is run, the user's input has been received and processed. The reason why redisplay doesn't happen is the fact that this code is running on post-command-hook. So maybe the docstring for post-command-hook should point out this detail and recommend that functions added to this hook call sit-for if they're going to do potentially expensive processing. [-- Attachment #2: Type: text/html, Size: 1636 bytes --] ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 10:30 ` Artur Malabarba @ 2015-10-24 10:52 ` Eli Zaretskii 2015-10-24 12:13 ` Tassilo Horn 2015-10-25 14:43 ` Artur Malabarba 0 siblings, 2 replies; 28+ messages in thread From: Eli Zaretskii @ 2015-10-24 10:52 UTC (permalink / raw) To: bruce.connor.am; +Cc: tsdh, monnier, 21747, storm > Date: Sat, 24 Oct 2015 11:30:42 +0100 > From: Artur Malabarba <bruce.connor.am@gmail.com> > Cc: Stefan Monnier <monnier@iro.umontreal.ca>, Kim Storm <storm@cua.dk>, 21747@debbugs.gnu.org, > Eli Zaretskii <eliz@gnu.org> > > So maybe the docstring for post-command-hook should point out this detail and > recommend that functions added to this hook call sit-for if they're going to do > potentially expensive processing. Just being potentially expensive is not enough to trigger the problem. You need to actually hog Emacs (or close to that) to prevent redisplay from eventually happening. I agree that expensive processing in post-command-hook is not a good idea (and said so several times in the past), but people are still doing that, so I guess just advertising the problem is not enough. (I don't object to adding this to documentation, of course.) ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 10:52 ` Eli Zaretskii @ 2015-10-24 12:13 ` Tassilo Horn 2015-10-24 12:45 ` Eli Zaretskii 2015-10-24 12:46 ` Tassilo Horn 2015-10-25 14:43 ` Artur Malabarba 1 sibling, 2 replies; 28+ messages in thread From: Tassilo Horn @ 2015-10-24 12:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: storm, monnier, 21747, bruce.connor.am Eli Zaretskii <eliz@gnu.org> writes: >> So maybe the docstring for post-command-hook should point out this >> detail and recommend that functions added to this hook call sit-for >> if they're going to do potentially expensive processing. > > Just being potentially expensive is not enough to trigger the problem. > You need to actually hog Emacs (or close to that) to prevent redisplay > from eventually happening. > > I agree that expensive processing in post-command-hook is not a good > idea (and said so several times in the past), but people are still > doing that, so I guess just advertising the problem is not enough. (I > don't object to adding this to documentation, of course.) Actually, the `post-command-hook' function in question (aggressive-indent--indent-if-changed) is not so overly expensive. At least I have validated that it has finished running I type the next key, thus the abort-on-input case doesn't even occur. My recipe for reproduction is 1. emacs -Q 2. M-x package-initialize 3. M-x global-aggressive-indent-mode 4. C-x C-f ~/test.sh 5. type the keyword if where the i is displayed immediately and the display of f is delayed This does only occur for sh-mode keywords like if, while, etc. where the delaying starts with after entering the last char of the keyword. Also, I can reproduce that problem only if test.sh doesn't exist. So it seems the problem has at least different facettes and the abort-on-input is just one of these. Or well, I just tried what happens when I replace the `while-no-input' with a `progn'. Then Emacs goes into some infloop. Attaching with gdb shows: --8<---------------cut here---------------start------------->8--- (gdb) xbacktrace "sh-smie--default-backward-token" (0xbbb172f8) "sh-smie-sh-backward-token" (0xbbb174a8) "sh-smie--newline-semi-p" (0xbbb17650) 0x1a8cf58 PVEC_COMPILED "smie-next-sexp" (0xbbb17a38) "smie-forward-sexp" (0xbbb17c08) "smie-forward-sexp-command" (0xbbb17dc8) "forward-sexp" (0xbbb17f70) 0x11b4050 PVEC_COMPILED "end-of-defun" (0xbbb182d0) "aggressive-indent-indent-region-and-on" (0xbbb18480) "aggressive-indent--softly-indent-region-and-on" (0xbbb18618) "apply" (0xbbb186a0) "while" (0xbbb18808) "let" (0xbbb18968) "progn" (0xbbb18a28) "if" (0xbbb18af8) "progn" (0xbbb18bb8) "if" (0xbbb18c78) "aggressive-indent--indent-if-changed" (0xbbb18db0) --8<---------------cut here---------------end--------------->8--- and --8<---------------cut here---------------start------------->8--- (gdb) bt full #0 0x000000000057bc4f in exec_byte_code (bytestr=<optimized out>, vector=27914621, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7ffebbb172f8) at bytecode.c:1975 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, ---Type <return> to continue, or q <return> to quit--- 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} ---Type <return> to continue, or q <return> to quit--- count = 39 op = 197 vectorp = 0x1a9f180 stack = { pc = 0x203cb6b "!\303U\203-", byte_string = 32466612, byte_string_start = 0x203cb38 "\300`[!\210`\301\302!\211\303U\204-", next = 0x7ffebbb17360 } top = 0x7ffebbb17148 result = <optimized out> type = <optimized out> #1 0x0000000000549b2e in funcall_lambda (fun=20638501, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7ffebbb172f8) at eval.c:2810 val = <optimized out> syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> rest = <optimized out> #2 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7ffebbb172f0) at eval.c:2699 fun = <optimized out> original_fun = 15801488 numargs = 0 val = <optimized out> internal_args = <optimized out> count = 38 #3 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=20611093, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7ffebbb174a8) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, ---Type <return> to continue, or q <return> to quit--- 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, ---Type <return> to continue, or q <return> to quit--- 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 38 op = <optimized out> vectorp = 0x13a8018 stack = { pc = 0x203ce98 "\211՚\203j", byte_string = 32499316, byte_string_start = 0x203ce38 "\304 \305`[!\210n\203*", next = 0x7ffebbb17510 } top = 0x7ffebbb172f0 result = <optimized out> type = <optimized out> #4 0x0000000000549b2e in funcall_lambda (fun=20611341, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7ffebbb174a8) at eval.c:2810 val = <optimized out> syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> rest = <optimized out> #5 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7ffebbb174a0) at eval.c:2699 fun = <optimized out> original_fun = 15801632 ---Type <return> to continue, or q <return> to quit--- numargs = 0 val = <optimized out> internal_args = <optimized out> count = 37 #6 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=27914413, maxdepth=<optimized out>, args_template=args_template@entry=1026, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7ffebbb17650) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, ---Type <return> to continue, or q <return> to quit--- 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, ---Type <return> to continue, or q <return> to quit--- 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 36 op = <optimized out> vectorp = 0x1a9f0b0 stack = { pc = 0x20484df "\262\001\211G\302U\205\025", byte_string = 27536484, byte_string_start = 0x20484d8 "\212\211\204\t", next = 0x7ffebbb176c0 } top = 0x7ffebbb174a0 result = <optimized out> type = <optimized out> #7 0x0000000000549b2e in funcall_lambda (fun=27914477, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7ffebbb17650) at eval.c:2810 val = <optimized out> syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> rest = <optimized out> #8 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7ffebbb17648) at eval.c:2699 fun = <optimized out> original_fun = 15801104 numargs = 0 val = <optimized out> internal_args = <optimized out> count = 35 #9 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=27840101, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7ffebbb17838) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, ---Type <return> to continue, or q <return> to quit--- 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, ---Type <return> to continue, or q <return> to quit--- 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 35 op = <optimized out> vectorp = 0x1a8ce68 stack = { pc = 0x203cc37 "\307y\210\211\204\062", byte_string = 32476548, byte_string_start = 0x203cc10 "\303\304!\203\071", next = 0x7ffebbb178f0 } top = 0x7ffebbb17648 result = <optimized out> type = <optimized out> #10 0x0000000000549b2e in funcall_lambda (fun=27840349, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7ffebbb17838) at eval.c:2810 val = <optimized out> syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> ---Type <return> to continue, or q <return> to quit--- rest = <optimized out> #11 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7ffebbb17830) at eval.c:2699 fun = <optimized out> original_fun = 27840349 numargs = 0 val = <optimized out> internal_args = <optimized out> count = 34 #12 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=20455637, maxdepth=<optimized out>, args_template=args_template@entry=5142, nargs=nargs@entry=5, args=<optimized out>, args@entry=0x7ffebbb17a38) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, ---Type <return> to continue, or q <return> to quit--- 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, ---Type <return> to continue, or q <return> to quit--- 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 34 op = <optimized out> vectorp = 0x13820d8 stack = { pc = 0x208f50e "\302\001\b\"A\211\204q", byte_string = 32860164, byte_string_start = 0x208f4f8 "\301\062R\001\211;\205\022", next = 0x7ffebbb17ab0 } top = 0x7ffebbb17830 result = <optimized out> type = <optimized out> #13 0x0000000000549b2e in funcall_lambda (fun=20455773, nargs=nargs@entry=5, arg_vector=arg_vector@entry=0x7ffebbb17a38) at eval.c:2810 val = <optimized out> syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> rest = <optimized out> #14 0x000000000054a059 in Ffuncall (nargs=6, args=args@entry=0x7ffebbb17a30) at eval.c:2699 fun = <optimized out> original_fun = 15763792 numargs = 5 val = <optimized out> internal_args = <optimized out> count = 33 #15 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=20455925, maxdepth=<optimized out>, args_template=args_template@entry=1026, nargs=nargs@entry=1, args=<optimized out>, args@entry=0x7ffebbb17c08) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, ---Type <return> to continue, or q <return> to quit--- 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, ---Type <return> to continue, or q <return> to quit--- 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 33 op = <optimized out> vectorp = 0x13821f8 stack = { pc = 0x208f6ef "\207", byte_string = 32855380, byte_string_start = 0x208f6e0 "\301\302\b!\302\303!\302\304!\302\305!\005%\207", next = 0x7ffebbb17c80 } top = 0x7ffebbb17a30 result = <optimized out> type = <optimized out> #16 0x0000000000549b2e in funcall_lambda (fun=20455981, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7ffebbb17c08) at eval.c:2810 val = <optimized out> ---Type <return> to continue, or q <return> to quit--- syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> rest = <optimized out> #17 0x000000000054a059 in Ffuncall (nargs=2, args=args@entry=0x7ffebbb17c00) at eval.c:2699 fun = <optimized out> original_fun = 15771168 numargs = 1 val = <optimized out> internal_args = <optimized out> count = 32 #18 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=27887669, maxdepth=<optimized out>, args_template=args_template@entry=1030, nargs=nargs@entry=1, args=<optimized out>, args@entry=0x7ffebbb17dc8) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, ---Type <return> to continue, or q <return> to quit--- 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, ---Type <return> to continue, or q <return> to quit--- 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 31 op = <optimized out> vectorp = 0x1a98838 stack = { pc = 0x208f791 "\202'", byte_string = 32842916, byte_string_start = 0x208f770 "\211\301V\302\030\001\301U?\205O", next = 0x7ffebbb17e30 } top = 0x7ffebbb17c00 result = <optimized out> type = <optimized out> #19 0x0000000000549b2e in funcall_lambda (fun=27887765, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7ffebbb17dc8) at eval.c:2810 val = <optimized out> syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> rest = <optimized out> #20 0x000000000054a059 in Ffuncall (nargs=2, args=args@entry=0x7ffebbb17dc0) at eval.c:2699 fun = <optimized out> original_fun = 15771264 numargs = 1 val = <optimized out> internal_args = <optimized out> count = 30 #21 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=10125597, maxdepth=<optimized out>, args_template=args_template@entry=1026, nargs=nargs@entry=1, args=<optimized out>, args@entry=0x7ffebbb17f70) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, ---Type <return> to continue, or q <return> to quit--- 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, ---Type <return> to continue, or q <return> to quit--- 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 30 op = <optimized out> vectorp = 0x9a8120 <pure+1515520> stack = { pc = 0xa81bdd <pure+2407101> "\207\302`\002\"\206\031", byte_string = 10125564, byte_string_start = 0xa81bcf <pure+2407087> "\211\204\a", next = 0x7ffebbb17fd0 } top = 0x7ffebbb17dc0 result = <optimized out> ---Type <return> to continue, or q <return> to quit--- type = <optimized out> #22 0x0000000000549b2e in funcall_lambda (fun=10125509, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7ffebbb17f70) at eval.c:2810 val = <optimized out> syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> rest = <optimized out> #23 0x000000000054a059 in Ffuncall (nargs=2, args=args@entry=0x7ffebbb17f68) at eval.c:2699 fun = <optimized out> original_fun = 3678560 numargs = 1 val = <optimized out> internal_args = <optimized out> count = 29 #24 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=17495885, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7ffebbb18130) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, ---Type <return> to continue, or q <return> to quit--- 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, ---Type <return> to continue, or q <return> to quit--- 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 29 op = <optimized out> vectorp = 0x10af750 stack = { pc = 0x13679fb "\207", byte_string = 19913748, byte_string_start = 0x13679f8 "\300\301!\207", next = 0x7ffebbb18190 } top = 0x7ffebbb17f68 result = <optimized out> type = <optimized out> #25 0x0000000000549b2e in funcall_lambda (fun=18563157, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7ffebbb18130) at eval.c:2810 val = <optimized out> syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> rest = <optimized out> #26 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7ffebbb18128) at eval.c:2699 fun = <optimized out> original_fun = 18563157 numargs = 0 val = <optimized out> internal_args = <optimized out> count = 28 #27 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=10128013, maxdepth=<optimized out>, args_template=args_template@entry=1026, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7ffebbb182d0) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, ---Type <return> to continue, or q <return> to quit--- 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, ---Type <return> to continue, or q <return> to quit--- 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 28 op = <optimized out> vectorp = 0x9a8a90 <pure+1517936> stack = { pc = 0xa8179e <pure+2406014> "\210\211 \210\003\307V\203[", byte_string = 10127980, byte_string_start = 0xa8176e <pure+2405966> "\b\305=\203\027", ---Type <return> to continue, or q <return> to quit--- next = 0x7ffebbb18340 } top = 0x7ffebbb18128 result = <optimized out> type = <optimized out> #28 0x0000000000549b2e in funcall_lambda (fun=10127925, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7ffebbb182d0) at eval.c:2810 val = <optimized out> syms_left = <optimized out> lexenv = <optimized out> i = <optimized out> optional = <optimized out> rest = <optimized out> #29 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7ffebbb182c8) at eval.c:2699 fun = <optimized out> original_fun = 3678752 numargs = 0 val = <optimized out> internal_args = <optimized out> count = 27 #30 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=20134349, maxdepth=<optimized out>, args_template=args_template@entry=0, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x0) at bytecode.c:880 targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, ---Type <return> to continue, or q <return> to quit--- 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, ---Type <return> to continue, or q <return> to quit--- 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 23 op = <optimized out> vectorp = 0x13339d0 stack = { pc = 0x1fd7fd5 "\210\306 )0\202W", byte_string = 33093044, byte_string_start = 0x1fd7f88 "\306 \307\030\031\310\t\311\"\210ʎ\n\vU\204!", next = 0x7ffebbb184e0 } top = 0x7ffebbb182c8 result = <optimized out> type = <optimized out> #31 0x0000000000549d04 in funcall_lambda (fun=20109589, nargs=nargs@entry=2, arg_vector=arg_vector@entry=0x7ffebbb18480) at eval.c:2876 val = <optimized out> syms_left = <optimized out> lexenv = 0 i = 2 optional = false rest = false #32 0x000000000054a059 in Ffuncall (nargs=3, args=args@entry=0x7ffebbb18478) at eval.c:2699 fun = <optimized out> original_fun = 20716112 numargs = 2 val = <optimized out> internal_args = <optimized out> count = 20 #33 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=19085181, maxdepth=<optimized out>, args_template=args_template@entry=0, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x0) at bytecode.c:880 ---Type <return> to continue, or q <return> to quit--- targets = {0x57b9e8 <exec_byte_code+11312>, 0x57ba2b <exec_byte_code+11379>, 0x57ba2d <exec_byte_code+11381>, 0x57ba2f <exec_byte_code+11383>, 0x57ba31 <exec_byte_code+11385>, 0x57ba31 <exec_byte_code+11385>, 0x57ba6f <exec_byte_code+11447>, 0x57babc <exec_byte_code+11524>, 0x579095 <exec_byte_code+733>, 0x579097 <exec_byte_code+735>, 0x579099 <exec_byte_code+737>, 0x57909b <exec_byte_code+739>, 0x57909d <exec_byte_code+741>, 0x57909d <exec_byte_code+741>, 0x5790a2 <exec_byte_code+746>, 0x579071 <exec_byte_code+697>, 0x579332 <exec_byte_code+1402>, 0x579334 <exec_byte_code+1404>, 0x579336 <exec_byte_code+1406>, 0x579338 <exec_byte_code+1408>, 0x57933a <exec_byte_code+1410>, 0x57933a <exec_byte_code+1410>, 0x579361 <exec_byte_code+1449>, 0x57933f <exec_byte_code+1415>, 0x579443 <exec_byte_code+1675>, 0x579445 <exec_byte_code+1677>, 0x579447 <exec_byte_code+1679>, 0x579449 <exec_byte_code+1681>, 0x57944b <exec_byte_code+1683>, 0x57944b <exec_byte_code+1683>, 0x579410 <exec_byte_code+1624>, 0x579421 <exec_byte_code+1641>, 0x5794c2 <exec_byte_code+1802>, 0x5794c4 <exec_byte_code+1804>, 0x5794c6 <exec_byte_code+1806>, 0x5794c8 <exec_byte_code+1808>, 0x5794ca <exec_byte_code+1810>, 0x5794ca <exec_byte_code+1810>, 0x57948f <exec_byte_code+1751>, 0x5794a0 <exec_byte_code+1768>, 0x579542 <exec_byte_code+1930>, 0x579544 <exec_byte_code+1932>, 0x579546 <exec_byte_code+1934>, 0x579548 <exec_byte_code+1936>, 0x57954a <exec_byte_code+1938>, 0x57954a <exec_byte_code+1938>, 0x57950f <exec_byte_code+1879>, 0x579520 <exec_byte_code+1896>, 0x57a062 <exec_byte_code+4778>, 0x579f17 <exec_byte_code+4447>, 0x579f0f <exec_byte_code+4439>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57a1d6 <exec_byte_code+5150>, 0x57a272 <exec_byte_code+5306>, 0x57a2ad <exec_byte_code+5365>, 0x57a2f5 <exec_byte_code+5437>, 0x57a33d <exec_byte_code+5509>, 0x579254 <exec_byte_code+1180>, 0x57929b <exec_byte_code+1251>, 0x57a38c <exec_byte_code+5588>, 0x5791fb <exec_byte_code+1091>, 0x5792d9 <exec_byte_code+1313>, 0x57a3c8 <exec_byte_code+5648>, 0x57a406 <exec_byte_code+5710>, 0x57a434 <exec_byte_code+5756>, 0x57a472 <exec_byte_code+5818>, 0x57a4aa <exec_byte_code+5874>, 0x57a531 <exec_byte_code+6009>, 0x57a55f <exec_byte_code+6055>, 0x57a59d <exec_byte_code+6117>, 0x57a5df <exec_byte_code+6183>, 0x57a60d <exec_byte_code+6229>, 0x57a63b <exec_byte_code+6275>, 0x57a679 <exec_byte_code+6337>, 0x57a6b7 <exec_byte_code+6399>, 0x57a6f5 <exec_byte_code+6461>, 0x57a737 <exec_byte_code+6527>, 0x57a76f <exec_byte_code+6583>, 0x57a7a7 <exec_byte_code+6639>, 0x57a82e <exec_byte_code+6774>, 0x57a87b <exec_byte_code+6851>, 0x57a8c8 <exec_byte_code+6928>, 0x57aa63 <exec_byte_code+7339>, 0x57aaa6 <exec_byte_code+7406>, 0x57aae9 <exec_byte_code+7473>, 0x57ab2c <exec_byte_code+7540>, 0x57ab6f <exec_byte_code+7607>, 0x57aba7 <exec_byte_code+7663>, 0x57abff <exec_byte_code+7751>, 0x57ac37 <exec_byte_code+7807>, 0x57ac6f <exec_byte_code+7863>, 0x57aca7 <exec_byte_code+7919>, 0x57ad55 <exec_byte_code+8093>, 0x579e08 <exec_byte_code+4176>, 0x57ad96 <exec_byte_code+8158>, 0x57adc4 <exec_byte_code+8204>, ---Type <return> to continue, or q <return> to quit--- 0x57ae46 <exec_byte_code+8334>, 0x57ae87 <exec_byte_code+8399>, 0x57aec8 <exec_byte_code+8464>, 0x57aef6 <exec_byte_code+8510>, 0x57af26 <exec_byte_code+8558>, 0x57af56 <exec_byte_code+8606>, 0x57af8e <exec_byte_code+8662>, 0x57b9e8 <exec_byte_code+11312>, 0x57afc1 <exec_byte_code+8713>, 0x57aff1 <exec_byte_code+8761>, 0x57b021 <exec_byte_code+8809>, 0x57b051 <exec_byte_code+8857>, 0x57b081 <exec_byte_code+8905>, 0x57b0b1 <exec_byte_code+8953>, 0x579e08 <exec_byte_code+4176>, 0x57b9e8 <exec_byte_code+11312>, 0x57b0df <exec_byte_code+8999>, 0x57b121 <exec_byte_code+9065>, 0x57b14f <exec_byte_code+9111>, 0x57b17d <exec_byte_code+9157>, 0x57b1bb <exec_byte_code+9219>, 0x57b1f9 <exec_byte_code+9281>, 0x57b227 <exec_byte_code+9327>, 0x57b374 <exec_byte_code+9660>, 0x57b3b2 <exec_byte_code+9722>, 0x57b3f0 <exec_byte_code+9784>, 0x57b42e <exec_byte_code+9846>, 0x57b45e <exec_byte_code+9894>, 0x57b9e8 <exec_byte_code+11312>, 0x579d85 <exec_byte_code+4045>, 0x5795bb <exec_byte_code+2051>, 0x579113 <exec_byte_code+859>, 0x579685 <exec_byte_code+2253>, 0x57976d <exec_byte_code+2485>, 0x579851 <exec_byte_code+2713>, 0x579d27 <exec_byte_code+3951>, 0x579d61 <exec_byte_code+4009>, 0x5793df <exec_byte_code+1575>, 0x579dd7 <exec_byte_code+4127>, 0x579e39 <exec_byte_code+4225>, 0x579e9b <exec_byte_code+4323>, 0x579ecc <exec_byte_code+4372>, 0x57a093 <exec_byte_code+4827>, 0x57a0e5 <exec_byte_code+4909>, 0x57a127 <exec_byte_code+4975>, 0x57a178 <exec_byte_code+5056>, 0x57958e <exec_byte_code+2006>, 0x57b48c <exec_byte_code+9940>, 0x57b4ce <exec_byte_code+10006>, 0x57b4fc <exec_byte_code+10052>, 0x57b52a <exec_byte_code+10098>, 0x57b558 <exec_byte_code+10144>, 0x57b586 <exec_byte_code+10190>, 0x57b5c4 <exec_byte_code+10252>, 0x57b602 <exec_byte_code+10314>, 0x57b640 <exec_byte_code+10376>, 0x57b67e <exec_byte_code+10438>, 0x57b756 <exec_byte_code+10654>, 0x57b794 <exec_byte_code+10716>, 0x57b7d2 <exec_byte_code+10778>, 0x57b800 <exec_byte_code+10824>, 0x57b83e <exec_byte_code+10886>, 0x57b87c <exec_byte_code+10948>, 0x57b8be <exec_byte_code+11014>, 0x57b900 <exec_byte_code+11080>, 0x57acdf <exec_byte_code+7975>, 0x57ad17 <exec_byte_code+8031>, 0x57b938 <exec_byte_code+11136>, 0x57b99a <exec_byte_code+11234>, 0x57b9e8 <exec_byte_code+11312>, 0x579935 <exec_byte_code+2941>, 0x5799e5 <exec_byte_code+3117>, 0x579ab3 <exec_byte_code+3323>, 0x579b81 <exec_byte_code+3529>, 0x579c54 <exec_byte_code+3740>, 0x57a4e2 <exec_byte_code+5930>, 0x57a7df <exec_byte_code+6695>, 0x57adf7 <exec_byte_code+8255>, 0x57bb1c <exec_byte_code+11620>, 0x57bb6c <exec_byte_code+11700>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bbcf <exec_byte_code+11799>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57b9e8 <exec_byte_code+11312>, 0x57bc25 <exec_byte_code+11885> <repeats 64 times>} count = 18 op = <optimized out> vectorp = 0x1233780 ---Type <return> to continue, or q <return> to quit--- stack = { pc = 0x1fd8101 "0\202\027", byte_string = 33089844, byte_string_start = 0x1fd80f0 "\303K\030Ď\303\305M\210\306\061\025", next = 0x0 } top = 0x7ffebbb18478 result = <optimized out> type = <optimized out> #34 0x0000000000549d04 in funcall_lambda (fun=20097029, nargs=nargs@entry=2, arg_vector=arg_vector@entry=0x7ffebbb18618) at eval.c:2876 val = <optimized out> syms_left = <optimized out> lexenv = 0 i = 2 optional = false rest = true #35 0x000000000054a059 in Ffuncall (nargs=nargs@entry=3, args=args@entry=0x7ffebbb18610) at eval.c:2699 fun = <optimized out> original_fun = 21680736 numargs = 2 val = <optimized out> internal_args = <optimized out> count = 14 #36 0x000000000054af5b in Fapply (nargs=<optimized out>, args=0x7ffebbb186a0) at eval.c:2278 i = 3 numargs = <optimized out> funcall_nargs = 3 funcall_args = 0x7ffebbb18610 spread_arg = 0 fun = <optimized out> retval = <optimized out> sa_avail = <optimized out> sa_must_free = false #37 0x0000000000549673 in eval_sub (form=<optimized out>) at eval.c:2103 vals = 0x7ffebbb186a0 argnum = <optimized out> sa_avail = <optimized out> sa_must_free = false numargs = <optimized out> args_left = <optimized out> i = <optimized out> maxargs = <optimized out> argvals = {140732047394704, 5544270, 1, 0, 11997280, 0, 21422720, 5480472} fun = 11619885 val = <optimized out> original_args = 12898355 count = 13 #38 0x00000000005499f2 in Fprogn (body=body@entry=12898419) at eval.c:427 ---Type <return> to continue, or q <return> to quit--- val = <optimized out> #39 0x000000000054be77 in Fwhile (args=<optimized out>) at eval.c:962 No locals. #40 0x0000000000549547 in eval_sub (form=<optimized out>) at eval.c:2085 numargs = <optimized out> args_left = 12898323 i = <optimized out> maxargs = <optimized out> argvals = {12071648, 1, 12900032, 5480472, 33390287, 27120, 33390256, 27168} fun = 11620413 val = <optimized out> original_args = 12898323 count = 12 #41 0x00000000005499f2 in Fprogn (body=12898531) at eval.c:427 val = <optimized out> #42 0x000000000054be02 in Flet (args=12900307) at eval.c:943 temps = 0x7ffebbb18860 tem = <optimized out> lexenv = 0 elt = <optimized out> varlist = <optimized out> argnum = 3 sa_avail = <optimized out> sa_must_free = false #43 0x0000000000549547 in eval_sub (form=<optimized out>) at eval.c:2085 numargs = <optimized out> args_left = 12900307 i = <optimized out> maxargs = <optimized out> argvals = {2, 140732047395056, 11066329, 5542045, 102, 1, 9672550, 1} fun = 11620461 val = <optimized out> original_args = 12900307 count = 8 #44 0x00000000005499f2 in Fprogn (body=12898547) at eval.c:427 val = <optimized out> #45 0x0000000000549547 in eval_sub (form=<optimized out>) at eval.c:2085 numargs = <optimized out> args_left = 12898547 i = <optimized out> maxargs = <optimized out> argvals = {2, 6, 2, 140732047395512, 140732047395512, 11619112, 140732047395528, 5529883} fun = 11621085 val = <optimized out> original_args = 12898547 count = 7 #46 0x00000000005499f2 in Fprogn (body=12899027) at eval.c:427 val = <optimized out> #47 0x000000000054b651 in Fif (args=12899059) at eval.c:385 cond = <optimized out> ---Type <return> to continue, or q <return> to quit--- #48 0x0000000000549547 in eval_sub (form=<optimized out>) at eval.c:2085 numargs = <optimized out> args_left = 12899059 i = <optimized out> maxargs = <optimized out> argvals = {23808, 391408, 6, 0, 8610116, 0, 16711680, 27888} fun = 11621181 val = <optimized out> original_args = 12899059 count = 6 #49 0x00000000005499f2 in Fprogn (body=12897507) at eval.c:427 val = <optimized out> #50 0x0000000000549547 in eval_sub (form=<optimized out>) at eval.c:2085 numargs = <optimized out> args_left = 12897507 i = <optimized out> maxargs = <optimized out> argvals = {391408, 5, 0, 391408, 0, 12474997, 0, 1} fun = 11621085 val = <optimized out> original_args = 12897507 count = 5 #51 0x000000000054b642 in Fif (args=12897539) at eval.c:384 cond = <optimized out> #52 0x0000000000549547 in eval_sub (form=<optimized out>) at eval.c:2085 numargs = <optimized out> args_left = 12897539 i = <optimized out> maxargs = <optimized out> argvals = {54, 5480472, 46848, 4294998739, 4, 5474555, 140732047396040, 140732047396256} fun = 11621181 val = <optimized out> original_args = 12897539 count = 4 #53 0x00000000005499f2 in Fprogn (body=12897619) at eval.c:427 val = <optimized out> #54 0x0000000000549cbf in funcall_lambda (fun=12897571, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7ffebbb18db0) at eval.c:2869 val = <optimized out> syms_left = 0 lexenv = 0 i = 0 optional = false rest = false #55 0x000000000054a0b5 in Ffuncall (nargs=nargs@entry=1, args=args@entry=0x7ffebbb18da8) at eval.c:2711 fun = <optimized out> original_fun = 21680880 numargs = 0 val = <optimized out> ---Type <return> to continue, or q <return> to quit--- internal_args = <optimized out> count = 3 #56 0x000000000054a1a7 in call0 (fn=21680880) at eval.c:2501 No locals. #57 0x00000000004e18a5 in safe_run_hooks_1 (nargs=nargs@entry=2, args=args@entry=0x7ffebbb18e00) at keyboard.c:1768 No locals. #58 0x0000000000548bdb in internal_condition_case_n (bfun=bfun@entry=0x4e1898 <safe_run_hooks_1>, nargs=nargs@entry=2, args=args@entry=0x7ffebbb18e00, handlers=handlers@entry=44160, hfun=hfun@entry=0x4e2d5f <safe_run_hooks_error>) at eval.c:1391 val = <optimized out> c = <optimized out> #59 0x00000000004e2d55 in safe_run_hook_funcall (nargs=<optimized out>, args=<optimized out>) at keyboard.c:1816 No locals. #60 0x0000000000548e0e in run_hook_with_args (nargs=nargs@entry=2, args=args@entry=0x7ffebbb18e70, funcall=funcall@entry=0x4e2d24 <safe_run_hook_funcall>) at eval.c:2466 global_vals = <optimized out> sym = 37536 val = 30287219 ret = 0 #61 0x00000000004e5aaf in safe_run_hooks (hook=hook@entry=37536) at keyboard.c:1832 No locals. #62 0x00000000004ee6f2 in command_loop_1 () at keyboard.c:1472 cmd = <optimized out> keybuf = {410, 26, 11997280, 0, 0, 5480472, 140732047396736, 5544270, 33958915, 0, 33958915, 0, 0, 5551412, 323632, 33958915, 8610116, 0, 0, 5134620, 12612963, 0, 0, 5134904, 16719360, 4002, 0, 0, 0, 5554719} i = <optimized out> prev_modiff = 214 prev_buffer = 0x1a13830 #63 0x00000000005488b3 in internal_condition_case (bfun=bfun@entry=0x4ee19c <command_loop_1>, handlers=handlers@entry=18912, hfun=hfun@entry=0x4e593a <cmd_error>) at eval.c:1309 val = <optimized out> c = <optimized out> #64 0x00000000004e16ca in command_loop_2 (ignore=ignore@entry=0) at keyboard.c:1086 val = 33803114 #65 0x00000000005487a2 in internal_catch (tag=tag@entry=45552, func=func@entry=0x4e16b2 <command_loop_2>, arg=arg@entry=0) at eval.c:1073 val = <optimized out> c = <optimized out> #66 0x00000000004e1670 in command_loop () at keyboard.c:1065 No locals. #67 0x00000000004e55b7 in recursive_edit_1 () at keyboard.c:671 val = <optimized out> #68 0x00000000004e587b in Frecursive_edit () at keyboard.c:742 buffer = <optimized out> #69 0x00000000004e10b9 in main (argc=2, argv=0x7ffebbb191b8) at emacs.c:1644 dummy = 6039613 stack_bottom_variable = 0 '\000' ---Type <return> to continue, or q <return> to quit--- do_initial_setlocale = <optimized out> dumping = false skip_args = 0 rlim = { rlim_cur = 8720000, rlim_max = 18446744073709551615 } no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 --8<---------------cut here---------------end--------------->8--- ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 12:13 ` Tassilo Horn @ 2015-10-24 12:45 ` Eli Zaretskii 2015-10-24 13:30 ` Tassilo Horn 2015-10-24 12:46 ` Tassilo Horn 1 sibling, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-10-24 12:45 UTC (permalink / raw) To: Tassilo Horn; +Cc: storm, monnier, 21747, bruce.connor.am > From: Tassilo Horn <tsdh@gnu.org> > Cc: bruce.connor.am@gmail.com, monnier@iro.umontreal.ca, storm@cua.dk, 21747@debbugs.gnu.org > Date: Sat, 24 Oct 2015 14:13:54 +0200 > > Actually, the `post-command-hook' function in question > (aggressive-indent--indent-if-changed) is not so overly expensive. At > least I have validated that it has finished running I type the next key, > thus the abort-on-input case doesn't even occur. > > My recipe for reproduction is > > 1. emacs -Q > 2. M-x package-initialize > 3. M-x global-aggressive-indent-mode > 4. C-x C-f ~/test.sh > 5. type the keyword if where the i is displayed immediately > and the display of f is delayed > > This does only occur for sh-mode keywords like if, while, etc. where the > delaying starts with after entering the last char of the keyword. Also, > I can reproduce that problem only if test.sh doesn't exist. I don't understand: are you saying that the post-command-hook finished its job, and yet redisplay is not entered? > Or well, I just tried what happens when I replace the `while-no-input' > with a `progn'. Then Emacs goes into some infloop. Attaching with gdb > shows: There's a procedure in etc/DEBUG to determine which call-stack frame infloops, please use it and tell what you found. Thanks. ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 12:45 ` Eli Zaretskii @ 2015-10-24 13:30 ` Tassilo Horn 2015-10-24 13:57 ` Artur Malabarba 2015-10-24 14:05 ` Eli Zaretskii 0 siblings, 2 replies; 28+ messages in thread From: Tassilo Horn @ 2015-10-24 13:30 UTC (permalink / raw) To: Eli Zaretskii; +Cc: storm, monnier, 21747, bruce.connor.am Eli Zaretskii <eliz@gnu.org> writes: >> My recipe for reproduction is >> >> 1. emacs -Q >> 2. M-x package-initialize >> 3. M-x global-aggressive-indent-mode >> 4. C-x C-f ~/test.sh >> 5. type the keyword if where the i is displayed immediately >> and the display of f is delayed >> >> This does only occur for sh-mode keywords like if, while, etc. where the >> delaying starts with after entering the last char of the keyword. Also, >> I can reproduce that problem only if test.sh doesn't exist. > > I don't understand: are you saying that the post-command-hook finished > its job, and yet redisplay is not entered? Yes, or rather the function aggressive-indent--indent-if-changed which is in post-command-hook finished. >> Or well, I just tried what happens when I replace the `while-no-input' >> with a `progn'. Then Emacs goes into some infloop. Attaching with gdb >> shows: > > There's a procedure in etc/DEBUG to determine which call-stack frame > infloops, please use it and tell what you found. Ok, so with the aggressive-indent--indent-if-changed where while-no-input is replaced with progn, I perform my recipe until emacs infloops. Then do "kill -TSTP <PID>" and repeatedly "finish" at the gdb prompt. But the last frame being displayed in GDB before finish doesn't return anymore is not always the same. Most of the time it is poll () from /usr/lib/libc.so.6. Here are two other results. 1st: --8<---------------cut here---------------start------------->8--- Program received signal SIGTSTP, Stopped (user). 0x00000000005793ee in exec_byte_code (bytestr=<optimized out>, vector=17328973, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffc7b0) at bytecode.c:818 818 PUSH (v1); (gdb) finish Run till exit from #0 0x00000000005793ee in exec_byte_code ( bytestr=<optimized out>, vector=17328973, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffc7b0) at bytecode.c:818 Program received signal SIGTSTP, Stopped (user). 0x00000000005793ee in exec_byte_code (bytestr=<optimized out>, vector=17328973, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffc7b0) at bytecode.c:818 818 PUSH (v1); (gdb) finish Run till exit from #0 0x00000000005793ee in exec_byte_code ( bytestr=<optimized out>, vector=17328973, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffc7b0) at bytecode.c:818 Program received signal SIGTSTP, Stopped (user). [Switching to Thread 0x7fffe498f700 (LWP 1864)] deliver_input_available_signal (sig=29) at keyboard.c:7117 7117 { (gdb) finish Run till exit from #0 deliver_input_available_signal (sig=29) at keyboard.c:7117 Program received signal SIGTSTP, Stopped (user). [Switching to Thread 0x7fffe620c700 (LWP 1863)] 0x00007ffff01c618d in poll () from /usr/lib/libc.so.6 (gdb) finish Run till exit from #0 0x00007ffff01c618d in poll () from /usr/lib/libc.so.6 Program received signal SIGTSTP, Stopped (user). [Switching to Thread 0x7fffe7080700 (LWP 1862)] 0x00007ffff01c618d in poll () from /usr/lib/libc.so.6 (gdb) finish Run till exit from #0 0x00007ffff01c618d in poll () from /usr/lib/libc.so.6 --8<---------------cut here---------------end--------------->8--- 2nd: --8<---------------cut here---------------start------------->8--- Program received signal SIGTSTP, Stopped (user). [Switching to Thread 0x7fffe620c700 (LWP 1863)] 0x00007ffff01c618d in poll () from /usr/lib/libc.so.6 (gdb) finish Run till exit from #0 0x00007ffff01c618d in poll () from /usr/lib/libc.so.6 Program received signal SIGTSTP, Stopped (user). [Switching to Thread 0x7ffff7f19a00 (LWP 1858)] Fequal (o1=24107556, o2=24556980) at fns.c:2199 2199 { (gdb) finish Run till exit from #0 Fequal (o1=24107556, o2=24556980) at fns.c:2199 0x000000000057b61d in exec_byte_code (bytestr=<optimized out>, vector=18636485, maxdepth=<optimized out>, args_template=args_template@entry=1030, nargs=nargs@entry=1, args=<optimized out>, args@entry=0x7fffffffcb10) at bytecode.c:1768 1768 TOP = Fequal (TOP, v1); Value returned is $2 = 0 (gdb) finish Run till exit from #0 0x000000000057b61d in exec_byte_code ( bytestr=<optimized out>, vector=18636485, maxdepth=<optimized out>, args_template=args_template@entry=1030, nargs=nargs@entry=1, args=<optimized out>, args@entry=0x7fffffffcb10) at bytecode.c:1768 0x0000000000549b2e in funcall_lambda (fun=18649053, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fffffffcb10) at eval.c:2810 2810 return exec_byte_code (AREF (fun, COMPILED_BYTECODE), Value returned is $3 = 44160 (gdb) finish Run till exit from #0 0x0000000000549b2e in funcall_lambda (fun=18649053, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fffffffcb10) at eval.c:2810 0x000000000054a059 in Ffuncall (nargs=2, args=args@entry=0x7fffffffcb08) at eval.c:2699 2699 val = funcall_lambda (fun, numargs, args + 1); Value returned is $4 = 44160 (gdb) finish Run till exit from #0 0x000000000054a059 in Ffuncall (nargs=2, args=args@entry=0x7fffffffcb08) at eval.c:2699 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=17328973, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffccb8) at bytecode.c:880 880 TOP = Ffuncall (op + 1, &TOP); Value returned is $5 = 44160 (gdb) finish Run till exit from #0 0x00000000005794ed in exec_byte_code ( bytestr=<optimized out>, vector=17328973, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffccb8) at bytecode.c:880 0x0000000000549b2e in funcall_lambda (fun=18825973, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7fffffffccb8) at eval.c:2810 2810 return exec_byte_code (AREF (fun, COMPILED_BYTECODE), Value returned is $6 = 24107556 (gdb) finish Run till exit from #0 0x0000000000549b2e in funcall_lambda (fun=18825973, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7fffffffccb8) at eval.c:2810 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7fffffffccb0) at eval.c:2699 2699 val = funcall_lambda (fun, numargs, args + 1); Value returned is $7 = 24107556 (gdb) finish Run till exit from #0 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7fffffffccb0) at eval.c:2699 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=18627621, maxdepth=<optimized out>, args_template=args_template@entry=1026, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffce60) at bytecode.c:880 880 TOP = Ffuncall (op + 1, &TOP); Value returned is $8 = 24107556 (gdb) finish Run till exit from #0 0x00000000005794ed in exec_byte_code ( bytestr=<optimized out>, vector=18627621, maxdepth=<optimized out>, args_template=args_template@entry=1026, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffce60) at bytecode.c:880 0x0000000000549b2e in funcall_lambda (fun=18631813, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7fffffffce60) at eval.c:2810 2810 return exec_byte_code (AREF (fun, COMPILED_BYTECODE), Value returned is $9 = 0 (gdb) finish Run till exit from #0 0x0000000000549b2e in funcall_lambda (fun=18631813, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7fffffffce60) at eval.c:2810 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7fffffffce58) at eval.c:2699 2699 val = funcall_lambda (fun, numargs, args + 1); Value returned is $10 = 0 (gdb) finish Run till exit from #0 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7fffffffce58) at eval.c:2699 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=17475709, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffd048) at bytecode.c:880 880 TOP = Ffuncall (op + 1, &TOP); Value returned is $11 = 0 (gdb) finish Run till exit from #0 0x00000000005794ed in exec_byte_code ( bytestr=<optimized out>, vector=17475709, maxdepth=<optimized out>, args_template=args_template@entry=2, nargs=nargs@entry=0, args=<optimized out>, args@entry=0x7fffffffd048) at bytecode.c:880 0x0000000000549b2e in funcall_lambda (fun=18821861, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7fffffffd048) at eval.c:2810 2810 return exec_byte_code (AREF (fun, COMPILED_BYTECODE), Value returned is $12 = 24664900 (gdb) finish Run till exit from #0 0x0000000000549b2e in funcall_lambda (fun=18821861, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7fffffffd048) at eval.c:2810 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7fffffffd040) at eval.c:2699 2699 val = funcall_lambda (fun, numargs, args + 1); Value returned is $13 = 24664900 (gdb) finish Run till exit from #0 0x000000000054a059 in Ffuncall (nargs=1, args=args@entry=0x7fffffffd040) at eval.c:2699 0x00000000005794ed in exec_byte_code (bytestr=<optimized out>, vector=18431125, maxdepth=<optimized out>, args_template=args_template@entry=5142, nargs=nargs@entry=5, args=<optimized out>, args@entry=0x7fffffffd248) at bytecode.c:880 880 TOP = Ffuncall (op + 1, &TOP); Value returned is $14 = 24664900 (gdb) finish Run till exit from #0 0x00000000005794ed in exec_byte_code ( bytestr=<optimized out>, vector=18431125, maxdepth=<optimized out>, args_template=args_template@entry=5142, nargs=nargs@entry=5, args=<optimized out>, args@entry=0x7fffffffd248) at bytecode.c:880 --8<---------------cut here---------------end--------------->8--- Right now, there was another one where I could type "finish" at least a hundred times and still I'm not done, i.e., it "finish" still returns. But that seems to be in GC which might be normal. --8<---------------cut here---------------start------------->8--- Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6215 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 6209 case SYMBOL_PLAINVAL: mark_object (SYMBOL_VAL (ptr)); break; (gdb) finish Run till exit from #0 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 mark_vectorlike (ptr=ptr@entry=0x1282e18) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x1282e18) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_vectorlike (ptr=ptr@entry=0x1180b78) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x1180b78) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_localized_symbol (ptr=ptr@entry=0xfa09a0) at alloc.c:5915 5915 mark_object (blv->defcell); (gdb) finish Run till exit from #0 mark_localized_symbol (ptr=ptr@entry=0xfa09a0) at alloc.c:5915 mark_object (arg=<optimized out>) at alloc.c:6219 6219 break; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6219 mark_vectorlike (ptr=ptr@entry=0x12225a0) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x12225a0) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_vectorlike (ptr=ptr@entry=0x130f788) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x130f788) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_compiled (ptr=0x130f840) at alloc.c:5830 5830 for (i = 0; i < size; i++) (gdb) finish Run till exit from #0 mark_compiled (ptr=0x130f840) at alloc.c:5830 0x0000000000533f40 in mark_object (arg=<optimized out>) at alloc.c:6107 6107 obj = mark_compiled (ptr); Value returned is $25 = 18074453 (gdb) finish Run till exit from #0 0x0000000000533f40 in mark_object (arg=<optimized out>) at alloc.c:6107 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_vectorlike (ptr=ptr@entry=0x11d7168) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x11d7168) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_vectorlike (ptr=ptr@entry=0x12071e0) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x12071e0) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_localized_symbol (ptr=ptr@entry=0xc2d770) at alloc.c:5915 5915 mark_object (blv->defcell); (gdb) finish Run till exit from #0 mark_localized_symbol (ptr=ptr@entry=0xc2d770) at alloc.c:5915 mark_object (arg=<optimized out>) at alloc.c:6219 6219 break; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6219 mark_vectorlike (ptr=ptr@entry=0x1286bb8) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x1286bb8) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_vectorlike (ptr=ptr@entry=0x11a1d70) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x11a1d70) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 6209 case SYMBOL_PLAINVAL: mark_object (SYMBOL_VAL (ptr)); break; (gdb) finish Run till exit from #0 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 mark_vectorlike (ptr=ptr@entry=0x120d240) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x120d240) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_vectorlike (ptr=ptr@entry=0x1be6fe8) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x1be6fe8) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 0x0000000000534031 in mark_object (arg=<optimized out>) at alloc.c:6167 6167 mark_object (h->key_and_value); (gdb) finish Run till exit from #0 0x0000000000534031 in mark_object (arg=<optimized out>) at alloc.c:6167 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 6209 case SYMBOL_PLAINVAL: mark_object (SYMBOL_VAL (ptr)); break; (gdb) finish Run till exit from #0 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 mark_vectorlike (ptr=ptr@entry=0x120d408) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x120d408) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 6209 case SYMBOL_PLAINVAL: mark_object (SYMBOL_VAL (ptr)); break; (gdb) finish Run till exit from #0 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 mark_vectorlike (ptr=ptr@entry=0x128adb0) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x128adb0) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_vectorlike (ptr=ptr@entry=0x128bd90) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x128bd90) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_compiled (ptr=0x128ce88) at alloc.c:5830 5830 for (i = 0; i < size; i++) (gdb) finish Run till exit from #0 mark_compiled (ptr=0x128ce88) at alloc.c:5830 0x0000000000533f40 in mark_object (arg=<optimized out>) at alloc.c:6107 6107 obj = mark_compiled (ptr); Value returned is $26 = 19451469 (gdb) finish Run till exit from #0 0x0000000000533f40 in mark_object (arg=<optimized out>) at alloc.c:6107 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_vectorlike (ptr=ptr@entry=0x1215678) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x1215678) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_vectorlike (ptr=ptr@entry=0xf82e50) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0xf82e50) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 6209 case SYMBOL_PLAINVAL: mark_object (SYMBOL_VAL (ptr)); break; (gdb) finish Run till exit from #0 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 mark_vectorlike (ptr=ptr@entry=0x1226380) at alloc.c:5790 5790 for (i = 0; i < size; i++) /* ...and then mark its elements. */ (gdb) finish Run till exit from #0 mark_vectorlike (ptr=ptr@entry=0x1226380) at alloc.c:5790 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 6190 mark_vectorlike (ptr); (gdb) finish Run till exit from #0 0x000000000053407d in mark_object (arg=<optimized out>) at alloc.c:6190 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 6209 case SYMBOL_PLAINVAL: mark_object (SYMBOL_VAL (ptr)); break; (gdb) finish Run till exit from #0 0x00000000005340d3 in mark_object (arg=<optimized out>) at alloc.c:6209 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6206 6206 mark_object (ptr->plist); (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6206 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6287 6287 obj = ptr->u.cdr; (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6287 mark_object (arg=<optimized out>) at alloc.c:6207 6207 switch (ptr->redirect) (gdb) finish Run till exit from #0 mark_object (arg=<optimized out>) at alloc.c:6207 mark_char_table (ptr=0xc1aee0, pvectype=pvectype@entry=PVEC_SUB_CHAR_TABLE) at alloc.c:5807 5807 for (i = idx; i < size; i++) (gdb) finish Run till exit from #0 mark_char_table (ptr=0xc1aee0, pvectype=pvectype@entry=PVEC_SUB_CHAR_TABLE) at alloc.c:5807 0x00000000005353e2 in mark_char_table (ptr=ptr@entry=0xbe5708, pvectype=<optimized out>) at alloc.c:5816 5816 mark_char_table (XVECTOR (val), PVEC_SUB_CHAR_TABLE); --8<---------------cut here---------------end--------------->8--- Bye, Tassilo ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 13:30 ` Tassilo Horn @ 2015-10-24 13:57 ` Artur Malabarba 2015-10-24 14:06 ` Eli Zaretskii 2015-10-24 14:05 ` Eli Zaretskii 1 sibling, 1 reply; 28+ messages in thread From: Artur Malabarba @ 2015-10-24 13:57 UTC (permalink / raw) To: Tassilo Horn; +Cc: Stefan Monnier, 21747, Kim Storm 2015-10-24 14:30 GMT+01:00 Tassilo Horn <tsdh@gnu.org>: > Eli Zaretskii <eliz@gnu.org> writes: > >>> My recipe for reproduction is >>> >>> 1. emacs -Q >>> 2. M-x package-initialize >>> 3. M-x global-aggressive-indent-mode >>> 4. C-x C-f ~/test.sh >>> 5. type the keyword if where the i is displayed immediately >>> and the display of f is delayed >>> >>> This does only occur for sh-mode keywords like if, while, etc. where the >>> delaying starts with after entering the last char of the keyword. Also, >>> I can reproduce that problem only if test.sh doesn't exist. >> >> I don't understand: are you saying that the post-command-hook finished >> its job, and yet redisplay is not entered? > > Yes, or rather the function aggressive-indent--indent-if-changed which > is in post-command-hook finished. Are you positive? It could be an infinite loop in the indentation engine. Disclaimer: I didn't read the backtrace you posted. ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 13:57 ` Artur Malabarba @ 2015-10-24 14:06 ` Eli Zaretskii 0 siblings, 0 replies; 28+ messages in thread From: Eli Zaretskii @ 2015-10-24 14:06 UTC (permalink / raw) To: bruce.connor.am; +Cc: tsdh, monnier, 21747, storm > Date: Sat, 24 Oct 2015 14:57:40 +0100 > From: Artur Malabarba <bruce.connor.am@gmail.com> > Cc: Eli Zaretskii <eliz@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca>, Kim Storm <storm@cua.dk>, > 21747@debbugs.gnu.org > > 2015-10-24 14:30 GMT+01:00 Tassilo Horn <tsdh@gnu.org>: > > Eli Zaretskii <eliz@gnu.org> writes: > > > >>> My recipe for reproduction is > >>> > >>> 1. emacs -Q > >>> 2. M-x package-initialize > >>> 3. M-x global-aggressive-indent-mode > >>> 4. C-x C-f ~/test.sh > >>> 5. type the keyword if where the i is displayed immediately > >>> and the display of f is delayed > >>> > >>> This does only occur for sh-mode keywords like if, while, etc. where the > >>> delaying starts with after entering the last char of the keyword. Also, > >>> I can reproduce that problem only if test.sh doesn't exist. > >> > >> I don't understand: are you saying that the post-command-hook finished > >> its job, and yet redisplay is not entered? > > > > Yes, or rather the function aggressive-indent--indent-if-changed which > > is in post-command-hook finished. > > Are you positive? It could be an infinite loop in the indentation engine. Indeed, it is. See my other message. ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 13:30 ` Tassilo Horn 2015-10-24 13:57 ` Artur Malabarba @ 2015-10-24 14:05 ` Eli Zaretskii 2015-10-25 7:19 ` Tassilo Horn 1 sibling, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-10-24 14:05 UTC (permalink / raw) To: Tassilo Horn; +Cc: storm, monnier, 21747, bruce.connor.am > From: Tassilo Horn <tsdh@gnu.org> > Cc: bruce.connor.am@gmail.com, monnier@iro.umontreal.ca, storm@cua.dk, 21747@debbugs.gnu.org > Date: Sat, 24 Oct 2015 15:30:11 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> My recipe for reproduction is > >> > >> 1. emacs -Q > >> 2. M-x package-initialize > >> 3. M-x global-aggressive-indent-mode > >> 4. C-x C-f ~/test.sh > >> 5. type the keyword if where the i is displayed immediately > >> and the display of f is delayed > >> > >> This does only occur for sh-mode keywords like if, while, etc. where the > >> delaying starts with after entering the last char of the keyword. Also, > >> I can reproduce that problem only if test.sh doesn't exist. > > > > I don't understand: are you saying that the post-command-hook finished > > its job, and yet redisplay is not entered? > > Yes, or rather the function aggressive-indent--indent-if-changed which > is in post-command-hook finished. > > >> Or well, I just tried what happens when I replace the `while-no-input' > >> with a `progn'. Then Emacs goes into some infloop. Attaching with gdb > >> shows: > > > > There's a procedure in etc/DEBUG to determine which call-stack frame > > infloops, please use it and tell what you found. > > Ok, so with the aggressive-indent--indent-if-changed where > while-no-input is replaced with progn, I perform my recipe until emacs > infloops. Then do "kill -TSTP <PID>" and repeatedly "finish" at the gdb > prompt. But the last frame being displayed in GDB before finish doesn't > return anymore is not always the same. Most of the time it is poll () > from /usr/lib/libc.so.6. Here are two other results. No, that's bogus (GC cannot infloop, you just didn't wait long enough for that "finish" to return). The function that infloops is re-search-backward, because it is called with LIMIT set to zero. The real problem is here: (defun sh-smie--keyword-p () "Non-nil if we're at a keyword position. A keyword position is one where if we're looking at something that looks like a keyword, then it is a keyword." (let ((prev (funcall smie-backward-token-function))) (if (zerop (length prev)) (looking-back "\\`\\|\\s(" (1- (point))) <<<<<<<<<<<<<<<<<< (assoc prev smie-grammar)))) What do you expect looking-back to do here when point is at BOB? ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 14:05 ` Eli Zaretskii @ 2015-10-25 7:19 ` Tassilo Horn 2015-10-25 8:10 ` Tassilo Horn 2015-10-25 18:43 ` Eli Zaretskii 0 siblings, 2 replies; 28+ messages in thread From: Tassilo Horn @ 2015-10-25 7:19 UTC (permalink / raw) To: Eli Zaretskii; +Cc: storm, monnier, 21747, bruce.connor.am Eli Zaretskii <eliz@gnu.org> writes: >> From: Tassilo Horn <tsdh@gnu.org> >> Cc: bruce.connor.am@gmail.com, monnier@iro.umontreal.ca, storm@cua.dk, >> 21747@debbugs.gnu.org >> Date: Sat, 24 Oct 2015 15:30:11 +0200 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >> >> My recipe for reproduction is >> >> >> >> 1. emacs -Q >> >> 2. M-x package-initialize >> >> 3. M-x global-aggressive-indent-mode >> >> 4. C-x C-f ~/test.sh >> >> 5. type the keyword if where the i is displayed immediately >> >> and the display of f is delayed >> >> >> >> This does only occur for sh-mode keywords like if, while, etc. where the >> >> delaying starts with after entering the last char of the keyword. Also, >> >> I can reproduce that problem only if test.sh doesn't exist. >> > >> > I don't understand: are you saying that the post-command-hook finished >> > its job, and yet redisplay is not entered? >> >> Yes, or rather the function aggressive-indent--indent-if-changed which >> is in post-command-hook finished. >> >> >> Or well, I just tried what happens when I replace the `while-no-input' >> >> with a `progn'. Then Emacs goes into some infloop. Attaching with gdb >> >> shows: >> > >> > There's a procedure in etc/DEBUG to determine which call-stack frame >> > infloops, please use it and tell what you found. >> >> Ok, so with the aggressive-indent--indent-if-changed where >> while-no-input is replaced with progn, I perform my recipe until emacs >> infloops. Then do "kill -TSTP <PID>" and repeatedly "finish" at the gdb >> prompt. But the last frame being displayed in GDB before finish doesn't >> return anymore is not always the same. Most of the time it is poll () >> from /usr/lib/libc.so.6. Here are two other results. > > No, that's bogus (GC cannot infloop, you just didn't wait long enough > for that "finish" to return). Oh, sorry. > The function that infloops is re-search-backward, because it is called > with LIMIT set to zero. The real problem is here: > > (defun sh-smie--keyword-p () > "Non-nil if we're at a keyword position. > A keyword position is one where if we're looking at something that looks > like a keyword, then it is a keyword." > (let ((prev (funcall smie-backward-token-function))) > (if (zerop (length prev)) > (looking-back "\\`\\|\\s(" (1- (point))) <<<<<<<<<<<<<<<<<< > (assoc prev smie-grammar)))) > > What do you expect looking-back to do here when point is at BOB? I think when point is a BOB, then the \\` part of the regex would match for sure so replacing looking-back with (or (bobp) (looking-back ...)) would have the same semantics, right? So I've tried this patch: --8<---------------cut here---------------start------------->8--- diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index fbb4a90..2e708f7 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -1774,7 +1774,8 @@ sh-smie--keyword-p like a keyword, then it is a keyword." (let ((prev (funcall smie-backward-token-function))) (if (zerop (length prev)) - (looking-back "\\`\\|\\s(" (1- (point))) + (or (bobp) + (looking-back "\\`\\|\\s(" (1- (point)))) (assoc prev smie-grammar)))) (defun sh-smie--newline-semi-p (&optional tok) @@ -1788,7 +1789,8 @@ sh-smie--newline-semi-p (unless tok (setq tok (funcall smie-backward-token-function))) (if (and (zerop (length tok)) - (looking-back "\\s(" (1- (point)))) + (or (bobp) + (looking-back "\\s(" (1- (point))))) nil (not (numberp (nth 2 (assoc tok smie-grammar))))))) @@ -2172,7 +2174,7 @@ sh-smie--rc-after-special-arg-p "Check if we're after the first arg of an if/while/for/... construct. Returns the construct's token and moves point before it, if so." (forward-comment (- (point))) - (when (looking-back ")\\|\\_<not" (- (point) 3)) + (when (looking-back ")\\|\\_<not" (max (point-min) (- (point) 3))) (ignore-errors (let ((forward-sexp-function nil)) (forward-sexp -1) --8<---------------cut here---------------end--------------->8--- But that still loops. When tracing all aggressive-indent and sh-smie functions, that's the problematic call stack, i.e., the case where (sh-smie-sh-forward-token) returns ";". --8<---------------cut here---------------start------------->8--- 1 -> (aggressive-indent--indent-if-changed) | 2 -> (aggressive-indent--run-user-hooks) | 2 <- aggressive-indent--run-user-hooks: nil | 2 -> (aggressive-indent--softly-indent-region-and-on 2 3) | | 3 -> (aggressive-indent-indent-region-and-on 2 3) | | | 4 -> (sh-smie--indent-continuation) | | | | 5 -> (sh-smie--looking-back-at-continuation-p) | | | | 5 <- sh-smie--looking-back-at-continuation-p: nil | | | 4 <- sh-smie--indent-continuation: nil | | | 4 -> (sh-smie-sh-forward-token) | | | | 5 -> (sh-smie--default-forward-token) | | | | 5 <- sh-smie--default-forward-token: "if" | | | | 5 -> (sh-smie--sh-keyword-p "if") | | | | | 6 -> (sh-smie--keyword-p) | | | | | | 7 -> (sh-smie-sh-backward-token) | | | | | | | 8 -> (sh-smie--default-backward-token) | | | | | | | 8 <- sh-smie--default-backward-token: "" | | | | | | 7 <- sh-smie-sh-backward-token: "" | | | | | 6 <- sh-smie--keyword-p: t | | | | 5 <- sh-smie--sh-keyword-p: t | | | 4 <- sh-smie-sh-forward-token: "if" | | | 4 -> (sh-smie-sh-forward-token) | | | | 5 -> (sh-smie--newline-semi-p) | | | | | 6 -> (sh-smie-sh-backward-token) | | | | | | 7 -> (sh-smie--default-backward-token) | | | | | | 7 <- sh-smie--default-backward-token: "if" | | | | | | 7 -> (sh-smie--sh-keyword-p "if") | | | | | | | 8 -> (sh-smie--keyword-p) | | | | | | | | 9 -> (sh-smie-sh-backward-token) | | | | | | | | | 10 -> (sh-smie--default-backward-token) | | | | | | | | | 10 <- sh-smie--default-backward-token: "" | | | | | | | | 9 <- sh-smie-sh-backward-token: "" | | | | | | | 8 <- sh-smie--keyword-p: t | | | | | | 7 <- sh-smie--sh-keyword-p: t | | | | | 6 <- sh-smie-sh-backward-token: "if" | | | | 5 <- sh-smie--newline-semi-p: nil | | | 4 <- sh-smie-sh-forward-token: ";" | | | 4 -> (sh-smie-sh-forward-token) | | | | 5 -> (sh-smie--newline-semi-p) | | | | | 6 -> (sh-smie-sh-backward-token) | | | | | | 7 -> (sh-smie--default-backward-token) | | | | | | 7 <- sh-smie--default-backward-token: "if" | | | | | | 7 -> (sh-smie--sh-keyword-p "if") | | | | | | | 8 -> (sh-smie--keyword-p) | | | | | | | | 9 -> (sh-smie-sh-backward-token) | | | | | | | | | 10 -> (sh-smie--default-backward-token) | | | | | | | | | 10 <- sh-smie--default-backward-token: "" | | | | | | | | 9 <- sh-smie-sh-backward-token: "" | | | | | | | 8 <- sh-smie--keyword-p: t | | | | | | 7 <- sh-smie--sh-keyword-p: t | | | | | 6 <- sh-smie-sh-backward-token: "if" | | | | 5 <- sh-smie--newline-semi-p: nil | | | 4 <- sh-smie-sh-forward-token: ";" [... gazillion of times...] | | | 4 -> (sh-smie-sh-forward-token) | | | | 5 -> (sh-smie--newline-semi-p) | | | | | 6 -> (sh-smie-sh-backward-token) | | | | | | 7 -> (sh-smie--default-backward-token) | | | | | | 7 <- sh-smie--default-backward-token: "if" | | | | | | 7 -> (sh-smie--sh-keyword-p "if") | | | | | | | 8 -> (sh-smie--keyword-p) | | | | | | | | 9 -> (sh-smie-sh-backward-token) | | | | | | | | | 10 -> (sh-smie--default-backward-token) | | | | | | | | 9 <- sh-smie-sh-backward-token: !non-local\ exit! | | | | | | | 8 <- sh-smie--keyword-p: !non-local\ exit! | | | | | | 7 <- sh-smie--sh-keyword-p: !non-local\ exit! | | | | | 6 <- sh-smie-sh-backward-token: !non-local\ exit! | | | | 5 <- sh-smie--newline-semi-p: !non-local\ exit! | | | 4 <- sh-smie-sh-forward-token: !non-local\ exit! | | 3 <- aggressive-indent-indent-region-and-on: !non-local\ exit! | 2 <- aggressive-indent--softly-indent-region-and-on: !non-local\ exit! 1 <- aggressive-indent--indent-if-changed: t --8<---------------cut here---------------end--------------->8--- Bye, Tassilo ^ permalink raw reply related [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-25 7:19 ` Tassilo Horn @ 2015-10-25 8:10 ` Tassilo Horn 2015-10-25 9:25 ` Tassilo Horn 2015-10-25 18:43 ` Eli Zaretskii 1 sibling, 1 reply; 28+ messages in thread From: Tassilo Horn @ 2015-10-25 8:10 UTC (permalink / raw) To: Eli Zaretskii; +Cc: storm, monnier, 21747, bruce.connor.am Tassilo Horn <tsdh@gnu.org> writes: > Eli Zaretskii <eliz@gnu.org> writes: > >>> From: Tassilo Horn <tsdh@gnu.org> >>> Cc: bruce.connor.am@gmail.com, monnier@iro.umontreal.ca, storm@cua.dk, >>> 21747@debbugs.gnu.org >>> Date: Sat, 24 Oct 2015 15:30:11 +0200 >>> >>> Eli Zaretskii <eliz@gnu.org> writes: >>> >>> >> My recipe for reproduction is >>> >> >>> >> 1. emacs -Q >>> >> 2. M-x package-initialize >>> >> 3. M-x global-aggressive-indent-mode >>> >> 4. C-x C-f ~/test.sh >>> >> 5. type the keyword if where the i is displayed immediately >>> >> and the display of f is delayed >>> >> >>> >> This does only occur for sh-mode keywords like if, while, etc. where the >>> >> delaying starts with after entering the last char of the keyword. Also, >>> >> I can reproduce that problem only if test.sh doesn't exist. >>> > >>> > I don't understand: are you saying that the post-command-hook finished >>> > its job, and yet redisplay is not entered? >>> >>> Yes, or rather the function aggressive-indent--indent-if-changed which >>> is in post-command-hook finished. >>> >>> >> Or well, I just tried what happens when I replace the `while-no-input' >>> >> with a `progn'. Then Emacs goes into some infloop. Attaching with gdb >>> >> shows: >>> > >>> > There's a procedure in etc/DEBUG to determine which call-stack frame >>> > infloops, please use it and tell what you found. >>> >>> Ok, so with the aggressive-indent--indent-if-changed where >>> while-no-input is replaced with progn, I perform my recipe until emacs >>> infloops. Then do "kill -TSTP <PID>" and repeatedly "finish" at the gdb >>> prompt. But the last frame being displayed in GDB before finish doesn't >>> return anymore is not always the same. Most of the time it is poll () >>> from /usr/lib/libc.so.6. Here are two other results. >> >> No, that's bogus (GC cannot infloop, you just didn't wait long enough >> for that "finish" to return). > > Oh, sorry. > >> The function that infloops is re-search-backward, because it is called >> with LIMIT set to zero. The real problem is here: >> >> (defun sh-smie--keyword-p () >> "Non-nil if we're at a keyword position. >> A keyword position is one where if we're looking at something that looks >> like a keyword, then it is a keyword." >> (let ((prev (funcall smie-backward-token-function))) >> (if (zerop (length prev)) >> (looking-back "\\`\\|\\s(" (1- (point))) <<<<<<<<<<<<<<<<<< >> (assoc prev smie-grammar)))) >> >> What do you expect looking-back to do here when point is at BOB? > > I think when point is a BOB, then the \\` part of the regex would match > for sure so replacing looking-back with (or (bobp) (looking-back ...)) > would have the same semantics, right? So I've tried this patch: By the way, I cannot reproduce an infloop in re-search-backward when LIMIT is zero. Instead, with the current unchanged master code I also have pretty much the same infloop on the SMIE lisp level as in the previous mail where I patched the code in order not to run in LIMIT = 0 cases: 1 -> (aggressive-indent--indent-if-changed) | 2 -> (aggressive-indent--run-user-hooks) | 2 <- aggressive-indent--run-user-hooks: nil | 2 -> (aggressive-indent--softly-indent-region-and-on 2 3) | | 3 -> (aggressive-indent-indent-region-and-on 2 3) | | | 4 -> (sh-smie--indent-continuation) | | | | 5 -> (sh-smie--looking-back-at-continuation-p) | | | | 5 <- sh-smie--looking-back-at-continuation-p: nil | | | 4 <- sh-smie--indent-continuation: nil | | | 4 -> (sh-smie-sh-forward-token) | | | | 5 -> (sh-smie--default-forward-token) | | | | 5 <- sh-smie--default-forward-token: "if" | | | | 5 -> (sh-smie--sh-keyword-p "if") | | | | | 6 -> (sh-smie--keyword-p) | | | | | | 7 -> (sh-smie-sh-backward-token) | | | | | | | 8 -> (sh-smie--default-backward-token) | | | | | | | 8 <- sh-smie--default-backward-token: "" | | | | | | 7 <- sh-smie-sh-backward-token: "" | | | | | 6 <- sh-smie--keyword-p: t | | | | 5 <- sh-smie--sh-keyword-p: t | | | 4 <- sh-smie-sh-forward-token: "if" | | | 4 -> (sh-smie-sh-forward-token) | | | | 5 -> (sh-smie--newline-semi-p) | | | | | 6 -> (sh-smie-sh-backward-token) | | | | | | 7 -> (sh-smie--default-backward-token) | | | | | | 7 <- sh-smie--default-backward-token: "if" | | | | | | 7 -> (sh-smie--sh-keyword-p "if") | | | | | | | 8 -> (sh-smie--keyword-p) | | | | | | | | 9 -> (sh-smie-sh-backward-token) | | | | | | | | | 10 -> (sh-smie--default-backward-token) | | | | | | | | | 10 <- sh-smie--default-backward-token: "" | | | | | | | | 9 <- sh-smie-sh-backward-token: "" | | | | | | | 8 <- sh-smie--keyword-p: t | | | | | | 7 <- sh-smie--sh-keyword-p: t | | | | | 6 <- sh-smie-sh-backward-token: "if" | | | | 5 <- sh-smie--newline-semi-p: nil | | | 4 <- sh-smie-sh-forward-token: ";" [the above one repeats indefinitely] | | | 4 -> (sh-smie-sh-forward-token) | | | | 5 -> (sh-smie--newline-semi-p) | | | | | 6 -> (sh-smie-sh-backward-token) | | | | | | 7 -> (sh-smie--default-backward-token) | | | | | | 7 <- sh-smie--default-backward-token: "if" | | | | | | 7 -> (sh-smie--sh-keyword-p "if") | | | | | | | 8 -> (sh-smie--keyword-p) | | | | | | | | 9 -> (sh-smie-sh-backward-token) | | | | | | | 8 <- sh-smie--keyword-p: !non-local\ exit! | | | | | | 7 <- sh-smie--sh-keyword-p: !non-local\ exit! | | | | | 6 <- sh-smie-sh-backward-token: !non-local\ exit! | | | | 5 <- sh-smie--newline-semi-p: !non-local\ exit! | | | 4 <- sh-smie-sh-forward-token: !non-local\ exit! | | 3 <- aggressive-indent-indent-region-and-on: !non-local\ exit! | 2 <- aggressive-indent--softly-indent-region-and-on: !non-local\ exit! 1 <- aggressive-indent--indent-if-changed: t Bye, Tassilo ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-25 8:10 ` Tassilo Horn @ 2015-10-25 9:25 ` Tassilo Horn 2015-10-25 18:45 ` Eli Zaretskii 2015-10-25 20:10 ` Stefan Monnier 0 siblings, 2 replies; 28+ messages in thread From: Tassilo Horn @ 2015-10-25 9:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: storm, monnier, 21747, bruce.connor.am Tassilo Horn <tsdh@gnu.org> writes: > By the way, I cannot reproduce an infloop in re-search-backward when > LIMIT is zero. Instead, with the current unchanged master code I also > have pretty much the same infloop on the SMIE lisp level as in the > previous mail where I patched the code in order not to run in LIMIT = > 0 cases: > > 1 -> (aggressive-indent--indent-if-changed) [snip] > | | | 4 -> (sh-smie-sh-forward-token) > | | | | 5 -> (sh-smie--newline-semi-p) > | | | | | 6 -> (sh-smie-sh-backward-token) > | | | | | | 7 -> (sh-smie--default-backward-token) > | | | | | | 7 <- sh-smie--default-backward-token: "if" > | | | | | | 7 -> (sh-smie--sh-keyword-p "if") > | | | | | | | 8 -> (sh-smie--keyword-p) > | | | | | | | | 9 -> (sh-smie-sh-backward-token) > | | | | | | | | | 10 -> (sh-smie--default-backward-token) > | | | | | | | | | 10 <- sh-smie--default-backward-token: "" > | | | | | | | | 9 <- sh-smie-sh-backward-token: "" > | | | | | | | 8 <- sh-smie--keyword-p: t > | | | | | | 7 <- sh-smie--sh-keyword-p: t > | | | | | 6 <- sh-smie-sh-backward-token: "if" > | | | | 5 <- sh-smie--newline-semi-p: nil > | | | 4 <- sh-smie-sh-forward-token: ";" Ok, that loop is caused by the call to `end-of-defun' in `aggressive-indent-indent-region-and-on': ;; And then we indent each following line until nothing happens. (forward-line 1) (skip-chars-forward "[:blank:]\n\r\xc") (let* ((eod (ignore-errors (save-excursion (end-of-defun) (point-marker)))) end-of-defun calls beginning-of-defun-raw which works/terminates, and then it calls end-of-defun-function which just does (forward-sexp 1) which calls forward-sexp-function being smie-forward-sexp-command which in turn calls smie-forward-sexp. Well, and that calls smie-next-sexp which loops because eventually the token returned by (funcall next-token) where next-token is a function which calls sh-smie-sh-forward-token returns ";". That adds (38 38) to toklevels and later to levels which is again popped somewhere below and then gets re-added, popped again, re-added... Hm, in one branch there's already a test if calling next-token actually moved point and if not, it throws 'return to terminate the loop. When I move that out of the branch, that seems to fix the issue. --8<---------------cut here---------------start------------->8--- diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el index f305025..70ab6f3 100644 --- a/lisp/emacs-lisp/smie.el +++ b/lisp/emacs-lisp/smie.el @@ -706,6 +706,9 @@ smie-next-sexp (let* ((pos (point)) (token (funcall next-token)) (toklevels (cdr (assoc token smie-grammar)))) + (if (eq pos (point)) + ;; We did not move, so let's abort the loop. + (throw 'return (list t (point)))) (cond ((null toklevels) (when (zerop (length token)) @@ -719,10 +722,7 @@ smie-next-sexp (list t epos (buffer-substring-no-properties epos - (+ epos (if (< (point) epos) -1 1)))))))) - (if (eq pos (point)) - ;; We did not move, so let's abort the loop. - (throw 'return (list t (point)))))) + (+ epos (if (< (point) epos) -1 1)))))))))) ((not (numberp (funcall op-back toklevels))) ;; A token like a paren-close. (cl-assert (numberp ; Otherwise, why mention it in smie-grammar. --8<---------------cut here---------------end--------------->8--- But I'm really not sure if that's the right thing to do. Maybe it's better to fix sh-smie-sh-forward-token so that it doesn't return ";" when actually no movement did occur because we already started out at EOB. That would be this: --8<---------------cut here---------------start------------->8--- diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index fbb4a90..baed27b 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -1920,10 +1920,11 @@ sh-smie-sh-forward-token ;; Pretend the here-document is a "newline representing a ;; semi-colon", since the here-doc otherwise covers the newline(s). ";") - (let ((semi (sh-smie--newline-semi-p))) - (forward-line 1) - (if (or semi (eobp)) ";" - (sh-smie-sh-forward-token)))) + (unless (eobp) + (let ((semi (sh-smie--newline-semi-p))) + (forward-line 1) + (if (or semi (eobp)) ";" + (sh-smie-sh-forward-token))))) (forward-comment (point-max)) (cond ((looking-at "\\\\\n") (forward-line 1) (sh-smie-sh-forward-token)) --8<---------------cut here---------------end--------------->8--- I actually can't judge what's the right fix. I'd tend towards the more general change in smie.el because I had this delayed display/100% CPU issue also several times with clojure-mode though I haven't debugged it in detail there so cannot say if it has been the same issue there. Of course, the right fix might be something completely different, too. Bye, Tassilo ^ permalink raw reply related [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-25 9:25 ` Tassilo Horn @ 2015-10-25 18:45 ` Eli Zaretskii 2015-10-25 18:49 ` Tassilo Horn 2015-10-25 20:10 ` Stefan Monnier 1 sibling, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-10-25 18:45 UTC (permalink / raw) To: Tassilo Horn; +Cc: storm, monnier, 21747, bruce.connor.am > From: Tassilo Horn <tsdh@gnu.org> > Cc: bruce.connor.am@gmail.com, monnier@iro.umontreal.ca, storm@cua.dk, 21747@debbugs.gnu.org > Date: Sun, 25 Oct 2015 10:25:10 +0100 > > Ok, that loop is caused by the call to `end-of-defun' in > `aggressive-indent-indent-region-and-on': I arrived to the same conclusion by looking at what happens from the C side. Given this conclusion, this infloop is no longer relevant to the issue that is the subject of this bug report, right? ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-25 18:45 ` Eli Zaretskii @ 2015-10-25 18:49 ` Tassilo Horn 0 siblings, 0 replies; 28+ messages in thread From: Tassilo Horn @ 2015-10-25 18:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: storm, monnier, 21747, bruce.connor.am Yes, this bug report essentially just reflects my initial and wrong assumptions on where the problem is located. On October 25, 2015 19:45:05 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Tassilo Horn <tsdh@gnu.org> >> Cc: bruce.connor.am@gmail.com, monnier@iro.umontreal.ca, storm@cua.dk, >> 21747@debbugs.gnu.org >> Date: Sun, 25 Oct 2015 10:25:10 +0100 >> >> Ok, that loop is caused by the call to `end-of-defun' in >> `aggressive-indent-indent-region-and-on': > > I arrived to the same conclusion by looking at what happens from the C > side. > > Given this conclusion, this infloop is no longer relevant to the issue > that is the subject of this bug report, right? > ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-25 9:25 ` Tassilo Horn 2015-10-25 18:45 ` Eli Zaretskii @ 2015-10-25 20:10 ` Stefan Monnier 2015-10-26 6:57 ` Tassilo Horn 1 sibling, 1 reply; 28+ messages in thread From: Stefan Monnier @ 2015-10-25 20:10 UTC (permalink / raw) To: Tassilo Horn; +Cc: bruce.connor.am, 21747, storm > But I'm really not sure if that's the right thing to do. Maybe it's > better to fix sh-smie-sh-forward-token so that it doesn't return ";" > when actually no movement did occur because we already started out at > EOB. That would be this: Sounds right. > - (let ((semi (sh-smie--newline-semi-p))) > - (forward-line 1) > - (if (or semi (eobp)) ";" > - (sh-smie-sh-forward-token)))) > + (unless (eobp) > + (let ((semi (sh-smie--newline-semi-p))) > + (forward-line 1) > + (if (or semi (eobp)) ";" > + (sh-smie-sh-forward-token))))) Another option might be to fix sh-smie--newline-semi-p so it returns nil when at EOB. I haven't looked at the code recently, so I can't remember if that would be better or not. Stefan ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-25 20:10 ` Stefan Monnier @ 2015-10-26 6:57 ` Tassilo Horn 0 siblings, 0 replies; 28+ messages in thread From: Tassilo Horn @ 2015-10-26 6:57 UTC (permalink / raw) To: Stefan Monnier; +Cc: bruce.connor.am, 21747, storm Stefan Monnier <monnier@IRO.UMontreal.CA> writes: >> But I'm really not sure if that's the right thing to do. Maybe it's >> better to fix sh-smie-sh-forward-token so that it doesn't return ";" >> when actually no movement did occur because we already started out at >> EOB. That would be this: > > Sounds right. Ok, great. Then I'll commit that. >> - (let ((semi (sh-smie--newline-semi-p))) >> - (forward-line 1) >> - (if (or semi (eobp)) ";" >> - (sh-smie-sh-forward-token)))) >> + (unless (eobp) >> + (let ((semi (sh-smie--newline-semi-p))) >> + (forward-line 1) >> + (if (or semi (eobp)) ";" >> + (sh-smie-sh-forward-token))))) > > Another option might be to fix sh-smie--newline-semi-p so it returns > nil when at EOB. I haven't looked at the code recently, so I can't > remember if that would be better or not. No, that already returns nil in this scenario where the buffer contents is just "if". When it is called with point being at EOB, it'll scan backwards over the if, and since that's a grammar token with a numeric RIGHT-LEVEL it returns nil anyway. Bye, Tassilo ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-25 7:19 ` Tassilo Horn 2015-10-25 8:10 ` Tassilo Horn @ 2015-10-25 18:43 ` Eli Zaretskii 1 sibling, 0 replies; 28+ messages in thread From: Eli Zaretskii @ 2015-10-25 18:43 UTC (permalink / raw) To: Tassilo Horn; +Cc: storm, monnier, 21747, bruce.connor.am > From: Tassilo Horn <tsdh@gnu.org> > Cc: bruce.connor.am@gmail.com, monnier@iro.umontreal.ca, storm@cua.dk, 21747@debbugs.gnu.org > Date: Sun, 25 Oct 2015 08:19:16 +0100 > > > No, that's bogus (GC cannot infloop, you just didn't wait long enough > > for that "finish" to return). > > Oh, sorry. No need to be sorry. This kind of stuff happens frequently to me as well. It almost happened this time also, I just was lucky to wait a few more moments. ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 12:13 ` Tassilo Horn 2015-10-24 12:45 ` Eli Zaretskii @ 2015-10-24 12:46 ` Tassilo Horn 1 sibling, 0 replies; 28+ messages in thread From: Tassilo Horn @ 2015-10-24 12:46 UTC (permalink / raw) To: Eli Zaretskii; +Cc: storm, monnier, 21747, bruce.connor.am Tassilo Horn <tsdh@gnu.org> writes: > This does only occur for sh-mode keywords like if, while, etc. where the > delaying starts with after entering the last char of the keyword. Also, > I can reproduce that problem only if test.sh doesn't exist. No, this latter statement doesn't seem to be correct. What seems to be the case is that the keyword I'm entering must be followed by eob. Bye, Tassilo ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 10:52 ` Eli Zaretskii 2015-10-24 12:13 ` Tassilo Horn @ 2015-10-25 14:43 ` Artur Malabarba 2015-10-25 18:50 ` Eli Zaretskii 1 sibling, 1 reply; 28+ messages in thread From: Artur Malabarba @ 2015-10-25 14:43 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Tassilo Horn, Stefan Monnier, 21747, Kim Storm 2015-10-24 11:52 GMT+01:00 Eli Zaretskii <eliz@gnu.org>: >> Date: Sat, 24 Oct 2015 11:30:42 +0100 >> From: Artur Malabarba <bruce.connor.am@gmail.com> >> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, Kim Storm <storm@cua.dk>, 21747@debbugs.gnu.org, >> Eli Zaretskii <eliz@gnu.org> >> >> So maybe the docstring for post-command-hook should point out this detail and >> recommend that functions added to this hook call sit-for if they're going to do >> potentially expensive processing. > > Just being potentially expensive is not enough to trigger the problem. > You need to actually hog Emacs (or close to that) to prevent redisplay > from eventually happening. > > I agree that expensive processing in post-command-hook is not a good > idea (and said so several times in the past), but people are still > doing that, so I guess just advertising the problem is not enough. (I > don't object to adding this to documentation, of course.) I've extended the docstring. I used redisplay instead of (sit-for 0), because inside a call to while-no-input it has the exact same effect and is more expressive. Suggestions welcome. -otherwise the error might happen repeatedly and make Emacs nonfunctional. */); +otherwise the error might happen repeatedly and make Emacs nonfunctional. + +It is usually a bad idea to use this hook for expensive processing. +If unavoidable, `while-no-input' can be used avoid making Emacs +unresponsive while the user types. Furthermore, this hook is run +before redisplay, so the effect of the executed command won't be +displayed on the buffer until after the hook has finished (giving the +impression that Emacs is hanging). You can call `redisplay' inside +`while-no-input' to avoid this. + ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-25 14:43 ` Artur Malabarba @ 2015-10-25 18:50 ` Eli Zaretskii 2015-10-26 0:27 ` Artur Malabarba 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-10-25 18:50 UTC (permalink / raw) To: bruce.connor.am; +Cc: tsdh, monnier, 21747, storm > Date: Sun, 25 Oct 2015 14:43:06 +0000 > From: Artur Malabarba <bruce.connor.am@gmail.com> > Cc: Tassilo Horn <tsdh@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca>, Kim Storm <storm@cua.dk>, > 21747@debbugs.gnu.org > > I've extended the docstring. Thanks. > +otherwise the error might happen repeatedly and make Emacs nonfunctional. > + > +It is usually a bad idea to use this hook for expensive processing. > +If unavoidable, `while-no-input' can be used avoid making Emacs ^^^ "to" is missing where indicated. > +unresponsive while the user types. Furthermore, this hook is run > +before redisplay, so the effect of the executed command won't be > +displayed on the buffer until after the hook has finished (giving the > +impression that Emacs is hanging). You can call `redisplay' inside > +`while-no-input' to avoid this. Perhaps only the 1st sentence or 2 sentences should be left in the doc string, and the rest moved to the ELisp manual? It seems too long and detailed for a doc string. ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-25 18:50 ` Eli Zaretskii @ 2015-10-26 0:27 ` Artur Malabarba 2015-10-26 3:32 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Artur Malabarba @ 2015-10-26 0:27 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 21747 2015-10-25 18:50 GMT+00:00 Eli Zaretskii <eliz@gnu.org>: >> Date: Sun, 25 Oct 2015 14:43:06 +0000 >> From: Artur Malabarba <bruce.connor.am@gmail.com> >> Cc: Tassilo Horn <tsdh@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca>, Kim Storm <storm@cua.dk>, >> 21747@debbugs.gnu.org >> >> I've extended the docstring. > > Thanks. > >> +otherwise the error might happen repeatedly and make Emacs nonfunctional. >> + >> +It is usually a bad idea to use this hook for expensive processing. >> +If unavoidable, `while-no-input' can be used avoid making Emacs > ^^^ > "to" is missing where indicated. > >> +unresponsive while the user types. Furthermore, this hook is run >> +before redisplay, so the effect of the executed command won't be >> +displayed on the buffer until after the hook has finished (giving the >> +impression that Emacs is hanging). You can call `redisplay' inside >> +`while-no-input' to avoid this. > > Perhaps only the 1st sentence or 2 sentences should be left in the doc > string, and the rest moved to the ELisp manual? It seems too long and > detailed for a doc string. How about reducing the second paragraph to this? Still to long? It is a bad idea to use this hook for expensive processing. If unavoidable, wrap your code in `(while-no-input (redisplay) CODE)' to avoid making Emacs unresponsive while the user types. ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-26 0:27 ` Artur Malabarba @ 2015-10-26 3:32 ` Eli Zaretskii 2015-10-26 13:43 ` Tassilo Horn 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-10-26 3:32 UTC (permalink / raw) To: bruce.connor.am; +Cc: 21747 > Date: Mon, 26 Oct 2015 00:27:22 +0000 > From: Artur Malabarba <bruce.connor.am@gmail.com> > Cc: 21747@debbugs.gnu.org > > 2015-10-25 18:50 GMT+00:00 Eli Zaretskii <eliz@gnu.org>: > >> Date: Sun, 25 Oct 2015 14:43:06 +0000 > >> From: Artur Malabarba <bruce.connor.am@gmail.com> > >> Cc: Tassilo Horn <tsdh@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca>, Kim Storm <storm@cua.dk>, > >> 21747@debbugs.gnu.org > >> > >> +otherwise the error might happen repeatedly and make Emacs nonfunctional. > >> + > >> +It is usually a bad idea to use this hook for expensive processing. > >> +If unavoidable, `while-no-input' can be used avoid making Emacs > > ^^^ > > "to" is missing where indicated. > > > >> +unresponsive while the user types. Furthermore, this hook is run > >> +before redisplay, so the effect of the executed command won't be > >> +displayed on the buffer until after the hook has finished (giving the > >> +impression that Emacs is hanging). You can call `redisplay' inside > >> +`while-no-input' to avoid this. > > > > Perhaps only the 1st sentence or 2 sentences should be left in the doc > > string, and the rest moved to the ELisp manual? It seems too long and > > detailed for a doc string. > > How about reducing the second paragraph to this? Still to long? > > It is a bad idea to use this hook for expensive processing. If > unavoidable, wrap your code in `(while-no-input (redisplay) CODE)' to > avoid making Emacs unresponsive while the user types. No, this is exactly right, thanks. ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-26 3:32 ` Eli Zaretskii @ 2015-10-26 13:43 ` Tassilo Horn 0 siblings, 0 replies; 28+ messages in thread From: Tassilo Horn @ 2015-10-26 13:43 UTC (permalink / raw) To: Eli Zaretskii; +Cc: bruce.connor.am, 21747-done Hi all, I've committed my patch to sh-script.el fixing the infloop in the SMIE indentation code, and since Artur improved the documentation of `while-no-input', I think both parts (the wrong assumption part and the actual problem which had nothing to do with the subject) of this issue are properly solved now. So I'm closing this bug with this mail. Thanks for your help! Tassilo ^ permalink raw reply [flat|nested] 28+ messages in thread
* bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook 2015-10-24 9:49 ` Tassilo Horn 2015-10-24 10:30 ` Artur Malabarba @ 2015-10-24 10:35 ` Eli Zaretskii 1 sibling, 0 replies; 28+ messages in thread From: Eli Zaretskii @ 2015-10-24 10:35 UTC (permalink / raw) To: Tassilo Horn; +Cc: monnier, 21747, storm > From: Tassilo Horn <tsdh@gnu.org> > Cc: Stefan Monnier <monnier@iro.umontreal.ca>, 21747@debbugs.gnu.org, Kim F. Storm <storm@cua.dk> > Date: Sat, 24 Oct 2015 11:49:01 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> From: Tassilo Horn <tsdh@gnu.org> > >> Cc: 21747@debbugs.gnu.org > >> Date: Sat, 24 Oct 2015 10:53:12 +0200 > >> > >> > Given that, maybe I'm missing something, but what did you expect? The > >> > above literally says that Emacs shall loop indefinitely after > >> > performing each command until there's more input. And that's what you > >> > get. Right? > >> > >> Correct, but when the input eventually arrives, I expect to see its > >> effects as if it had arrived outside of the `while-no-input'. > > > > That effect was not yet produced, because the arriving input was not > > yet consumed by the time while-no-input returns, that input is still > > "pending". For it to be consumed and acted upon, you need another > > crank of the Emacs main loop and another redisplay cycle (which is > > again delayed by the while-no-input loop). So the one-character delay > > goes on forever. > > Ah, ok. I changed `while-no-input' locally to > > (defmacro while-no-input (&rest body) > "Execute BODY only as long as there's no pending input. > If input arrives, that ends the execution of BODY, > and `while-no-input' returns t. Quitting makes it return nil. > If BODY finishes, `while-no-input' returns whatever value BODY produced." > (declare (debug t) (indent 0)) > (let ((catch-sym (make-symbol "input"))) > `(with-local-quit > (catch ',catch-sym > (let ((throw-on-input ',catch-sym)) > (or (input-pending-p) > (progn > (sit-for 0) ;; <== just inserted that > ,@body))))))) > > which seems to fix the issue somehow. With your description, what I > think it does is that it forces the display of the effects of the > command which has interrupted the `while-no-input' in the previous > cycle. More accurately, it invokes redisplay without waiting for more input to arrive. > >> So the question is: should `while-no-input' call (sit-for 0) as the > >> first statement in the `progn' or should functions using > >> `while-no-input' do that on their own? I'd prefer the former because > >> the current behavior is not really obvious (at least not to me nor > >> Artur). > > > > I don't have enough experience in using while-no-input to answer that. > > Perhaps others could chime in and voice their opinions. Maybe we > > should have a discussion on emacs-devel about this (because many > > people who read emacs-devel don't read the bug list). > > Yes, I think that would be a good idea. Originally, `while-no-input' > used (not (sit-for 0 0 t)) instead of (input-pending-p) which I think is > pretty equivalent except that the former forces a redisplay. I've added > Kim to the Cc, so maybe he can speak up. > > --8<---------------cut here---------------start------------->8--- > commit 790e0ef78e306edc0664b8fa5a584c62ec01b444 > Author: Kim F. Storm <storm@cua.dk> > Date: Mon Sep 11 22:21:55 2006 +0000 > > (sit-for): Rework to use input-pending-p and cond. > Return nil input is pending on entry also for SECONDS <= 0. > (while-no-input): Use input-pending-p instead of sit-for. This discussion on emacs-devel might be relevant (I think it was the motivation for this change): http://lists.gnu.org/archive/html/emacs-devel/2006-09/msg00300.html ^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2015-10-26 13:43 UTC | newest] Thread overview: 28+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-10-24 7:42 bug#21747: 25.0.50; while-no-input breaks kbd event handling when called from post-command-hook Tassilo Horn 2015-10-24 8:02 ` Eli Zaretskii 2015-10-24 8:53 ` Tassilo Horn 2015-10-24 9:14 ` Eli Zaretskii 2015-10-24 9:49 ` Tassilo Horn 2015-10-24 10:30 ` Artur Malabarba 2015-10-24 10:52 ` Eli Zaretskii 2015-10-24 12:13 ` Tassilo Horn 2015-10-24 12:45 ` Eli Zaretskii 2015-10-24 13:30 ` Tassilo Horn 2015-10-24 13:57 ` Artur Malabarba 2015-10-24 14:06 ` Eli Zaretskii 2015-10-24 14:05 ` Eli Zaretskii 2015-10-25 7:19 ` Tassilo Horn 2015-10-25 8:10 ` Tassilo Horn 2015-10-25 9:25 ` Tassilo Horn 2015-10-25 18:45 ` Eli Zaretskii 2015-10-25 18:49 ` Tassilo Horn 2015-10-25 20:10 ` Stefan Monnier 2015-10-26 6:57 ` Tassilo Horn 2015-10-25 18:43 ` Eli Zaretskii 2015-10-24 12:46 ` Tassilo Horn 2015-10-25 14:43 ` Artur Malabarba 2015-10-25 18:50 ` Eli Zaretskii 2015-10-26 0:27 ` Artur Malabarba 2015-10-26 3:32 ` Eli Zaretskii 2015-10-26 13:43 ` Tassilo Horn 2015-10-24 10:35 ` 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.