Thanks to Bart for catching this.
--- Begin Message ---
- To: bug-gnu-emacs@xxxxxxxxxxx
- Subject: 24.4.50; called-interactively-p and skip advice:
- From: raman <raman@xxxxxxxxxxx>
- Date: Mon, 28 Jul 2014 18:58:11 -0700
Hi, I've used a check of the form (when (interactive-p) ...) within advice forms in emacspeak to speak *if and only if* a command i is called by the user -- as opposed from within other lisp functions. When we transitioned to Emacs 24, I replaced that check with (when (called-interactively-p 'interactive) ..) and this has again worked without any issues --- until now. We're seeing a problem now in ruby-mode when command electric-newline-and-maybe-indent is invoked -- that function for ruby-mode goes through a complex dance with smie-next-sexp. The long and short of it is that we eventually deadlock within a call to advice--called-interactively-skip -- the comments in nadvice.el where that function is implemented looks pretty scary. What emacspeak really needs is a clean way of checking whether something is called interactively, and this is the f first time in 20 years that the test is failing. For now, the only fix I have is to avoid the electric newline insertion in ruby-mode -- but the comments in nadvice.el make me worry that this will fail in the case of other around advices -- that said, there are lots of cases where it works, this is the only failure case for now. --Raman In GNU Emacs 24.4.50.2 (i686-pc-linux-gnu, GTK+ Version 2.16.1) of 2014-06-24 on labrador Repository revision: %N System Description: Ubuntu 9.04 Configured using: `configure --prefix=/usr/local --without-compress-install' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Shell Minor modes in effect: recentf-mode: t gpm-mouse-mode: t global-semantic-idle-summary-mode: t global-semanticdb-minor-mode: t semantic-mode: t savehist-mode: t ido-everywhere: t display-time-mode: t auto-insert-mode: t jabber-activity-mode: t jabber-mode-line-mode: t erc-list-mode: t erc-menu-mode: t erc-autojoin-mode: t erc-ring-mode: t erc-networks-mode: t erc-pcomplete-mode: t erc-track-mode: t erc-match-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-netsplit-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-move-to-prompt-mode: t erc-readonly-mode: t dynamic-completion-mode: t dired-omit-mode: t desktop-save-mode: t dirtrack-procfs-mode: t global-voice-lock-mode: t voice-lock-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Recent input: C-p C-e e DEL DEL ) C-n C-n C-n m ESC m ESC m C-p ESC m C-n C-p ESC C-a C-s d e f a ESC < C-s d e f a ESC m ESC m ESC C-q C-x C-g C-n C-n C-n C-p C-e e ESC b ESC d w h e n ESC DEL w h e n SPC C-n ESC m C-d ESC m ESC ^ C-n C-n ESC m C-k C-p C-n C-n C-p C-p C-x C-o C-n C-e e ) ) ) C-x C-e C-x @ h s c d RET C-x b / t m RET C-g C-x @ h s c d RET c d SPC / t m TAB RET C-x C-f t e s t . RET ESC M ESC x d DEL a d SPC d i s TAB a d TAB RET b C-x @ h s ESC x a d SPC d i s TAB a d TAB RET b a c k w TAB s e x TAB RET a r o u TAB RET RET C-e m ESC [ [ C ESC < ESC m C-d ESC m C-e e C-j C-e m ESC m ESC < ESC x t o g g l TAB d e TAB RET q TAB RET ESC m C-e C-e C-j ESC < C-n C-n C-n C-n C-e m q ESC x ESC p RET C-x @ h s c d RET C-x C-g ESC x C-g C-e m C-e ; m C-x @ h s c d RET c d RET c d SPC s o u TAB e m a c s RET . / b u i l d RET C-e m ESC x r e p o r t SPC e m a TAB RET Recent messages: Making completion list... Debug on Quit enabled globally Turned t debug on quit Entering debugger... Back to top level. Debug on Quit disabled globally Turned nil debug on quit C-x C-g is undefined Quit [2 times] End of buffer Load-path shadows: /home/raman/emacs/lisp/site-lisp/vm/lisp/tapestry hides /home/raman/emacs/lisp/emacspeak/lisp/tapestry /home/raman/emacs/lisp/emacspeak/lisp/tetris hides /usr/local/share/emacs/24.4.50/lisp/play/tetris /home/raman/.emacs.d/elpa/emms-20140630.1158/tq hides /usr/local/share/emacs/24.4.50/lisp/emacs-lisp/tq Features: (shadow emacsbug amixer recentf tree-widget debug emacspeak-ruby ruby-mode smie ffap tramp-cache tramp tramp-compat tramp-loaddefs trampver pcmpl-unix semantic/db-file data-debug cedet-files semantic/bovine/c semantic/decorate/include semantic/decorate/mode semantic/decorate pulse hideif semantic/bovine/c-by semantic/lex-spp semantic/bovine/gcc semantic/dep semantic/bovine semantic/analyze/refs semantic/db-find semantic/db-ref semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn cc-langs emacspeak-c cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs eieio-opt emacspeak-speedbar speedbar sb-image dframe misearch multi-isearch vm-virtual vm-delete tapestry vm-rfaddons vm-menu vm-window vm-toolbar vm-mouse vm-page vm-minibuf emacspeak-vm vm emacspeak-wizards emacspeak-eterm term ehelp emacspeak-texinfo texinfo emacspeak-table-ui emacspeak-table emacspeak-find-dired find-dired eldoc lisp-mnt t-mouse cal-china lunar cal-bahai cal-islam cal-hebrew holidays hol-loaddefs gcal g-app g-auth mule-util cal-move server bbdb-vm vm-mime vm-folder vm-summary vm-motion vm-undo vm-misc bbdb-snarf mail-extr bbdb-com emacspeak-reftex reftex reftex-vars Save-visited-files-autoloads emacspeak-auctex tex-site color-theme-autoloads finder-inf gopher-autoloads emacspeak-info info memory-usage-autoloads slime-repl-autoloads slime-autoloads ssh-config-mode-autoloads package emacs-startup semantic/idle semantic/format ezimage semantic/tag-ls semantic/find semantic/ctxt semantic/db-mode semantic/db eieio-base saveplace midnight emacspeak-cedet semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet savehist emacspeak-ido ido emacspeak-m-player time autoinsert emacspeak-twittering twittering-mode epa epg ssl emacspeak-jabber jabber jabber-libnotify jabber-awesome jabber-osd jabber-wmii jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison jabber-tmux jabber-screen jabber-socks5 jabber-ft-server jabber-si-server jabber-ft-client jabber-ft-common jabber-si-client jabber-si-common jabber-feature-neg jabber-truncate jabber-time jabber-autoaway jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard jabber-avatar jabber-activity jabber-watch jabber-modeline jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion jabber-muc-nick-completion hippie-exp jabber-browse jabber-search jabber-register jabber-roster jabber-presence jabber-muc jabber-bookmarks jabber-private jabber-muc-nick-coloring hexrgb jabber-widget jabber-disco jabber-chat jabber-history jabber-chatbuffer jabber-alert jabber-iq jabber-core jabber-console emacspeak-sgml-mode sgml-mode ewoc jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login sasl-plain fsm jabber-logon jabber-conn srv dns starttls gnutls jabber-xml jabber-menu jabber-util jabber-autoloads erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete erc-track erc-match erc-button erc-fill erc-stamp erc-netsplit emacspeak-erc erc-goodies erc erc-backend erc-compat pp emacspeak-org org org-macro org-footnote org-pcomplete org-list org-faces org-entities emacspeak-outline foldout noutline outline easy-mmode org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs org-loaddefs emacspeak-find-func find-func emacspeak-calendar appt diary-lib diary-loaddefs solar cal-dst cal-menu calendar cal-loaddefs emacspeak-tcl tcl emacspeak-folding folding w3-prepare w3 w3-menu w3-emulate w3-auto w3-parse w3-fast-parse emacspeak-w3 emacspeak-google html2text gmaps emacspeak-we emacspeak-xslt w3-display w3-mouse w3-imap url-handlers w3-widget w3-vars w3-keymap w3-cus css font disp-table devices ange-ftp w3-cfg w3-compat emacspeak-sigbegone sigbegone emacspeak-custom cus-edit cus-start smtpmail sendmail gnus-prepare gnus-demon nntp emacspeak-gnus gm-nnir nnir gnus-art mm-uu mml2015 epg-config 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 emacspeak-message message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win emacspeak-hide gnus gnus-ems nnheader mail-utils emacspeak-mspools mspools emacspeak-bbdb bbdb timezone bbdb-autoloads vm-pine vm-macro vm-message vm-autoloads vm-vars vm-version my-functions completion dired-aux dired-x emacspeak-dired emacspeak-desktop desktop frameset dired emacspeak-aumix emacspeak-forms forms-mode forms emacspeak-setup emacspeak-dbus nm dbus xml emacspeak-webspace emacspeak-feeds emacspeak-webutils browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source eieio eieio-core gnus-util mm-util mail-prsvr password-cache url-vars mailcap gf gweb gfeeds g-utils json emacspeak-alsaplayer emacspeak-amark derived emacspeak-advice shell pcomplete comint ring emacspeak-ansi-color ansi-color emacspeak-replace emacspeak-redefine emacspeak-personality emacspeak emacspeak-widget warnings wid-edit emacspeak-facemenu emacspeak-fix-interactive emacspeak-buff-menu g-cus-load cus-load emacspeak-preamble emacspeak-keymap emacspeak-speak time-date emacspeak-pronounce thingatpt dtk-speak flite-voices dtk-interp voice-setup emacspeak-sounds dectalk-voices espeak-voices mac-voices multispeech-voices outloud-voices dtk-unicode byte-opt bytecomp byte-compile cconv descr-text help-mode easymenu dtk-css-speech acss-structure emacspeak-load-path advice help-fns vc-git vc-dispatcher vc-svn cl-macs cl gv cl-loaddefs cl-lib tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer 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 make-network-process dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) Memory information: ((conses 8 679346 166711) (symbols 24 90221 0) (miscs 20 4938 2979) (strings 16 217446 40224) (string-bytes 1 5774236) (vectors 8 74336) (vector-slots 4 1079976 43510) (floats 8 1126 556) (intervals 28 3408 1943) (buffers 512 41) (heap 1024 56659 2138))
--- End Message ---
|All Past Years |Current Year|
If you have questions about this archive or had problems using it, please contact us.