From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: raman Newsgroups: gmane.emacs.bugs Subject: bug#18139: 24.4.50; called-interactively-p and skip advice: Date: Mon, 28 Jul 2014 18:58:11 -0700 Message-ID: <87a97texjg.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1406599173 28554 80.91.229.3 (29 Jul 2014 01:59:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 29 Jul 2014 01:59:33 +0000 (UTC) To: 18139@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jul 29 03:59:26 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XBwhI-0002Ao-5S for geb-bug-gnu-emacs@m.gmane.org; Tue, 29 Jul 2014 03:59:24 +0200 Original-Received: from localhost ([::1]:43135 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBwhH-00014e-RB for geb-bug-gnu-emacs@m.gmane.org; Mon, 28 Jul 2014 21:59:23 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58608) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBwh5-00013d-RF for bug-gnu-emacs@gnu.org; Mon, 28 Jul 2014 21:59:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XBwgw-0007R1-Jm for bug-gnu-emacs@gnu.org; Mon, 28 Jul 2014 21:59:11 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46220) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBwgw-0007Qx-Ft for bug-gnu-emacs@gnu.org; Mon, 28 Jul 2014 21:59:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XBwgw-0006zx-63 for bug-gnu-emacs@gnu.org; Mon, 28 Jul 2014 21:59:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: raman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Jul 2014 01:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 18139 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.140659913726887 (code B ref -1); Tue, 29 Jul 2014 01:59:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 29 Jul 2014 01:58:57 +0000 Original-Received: from localhost ([127.0.0.1]:41486 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XBwgp-0006za-UF for submit@debbugs.gnu.org; Mon, 28 Jul 2014 21:58:56 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:56854) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XBwgn-0006zL-15 for submit@debbugs.gnu.org; Mon, 28 Jul 2014 21:58:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XBwgY-0007QK-BO for submit@debbugs.gnu.org; Mon, 28 Jul 2014 21:58:47 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:52846) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBwgY-0007QG-7q for submit@debbugs.gnu.org; Mon, 28 Jul 2014 21:58:38 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58570) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBwgO-0000ry-VV for bug-gnu-emacs@gnu.org; Mon, 28 Jul 2014 21:58:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XBwgF-0007O5-Nx for bug-gnu-emacs@gnu.org; Mon, 28 Jul 2014 21:58:28 -0400 Original-Received: from mail-pa0-x22c.google.com ([2607:f8b0:400e:c03::22c]:54156) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBwgF-0007O1-BI for bug-gnu-emacs@gnu.org; Mon, 28 Jul 2014 21:58:19 -0400 Original-Received: by mail-pa0-f44.google.com with SMTP id eu11so11564811pac.31 for ; Mon, 28 Jul 2014 18:58:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:date:message-id:to:subject; bh=0+Md4JXIpr/+vckaEXjnIPC66yX0YvI07oPCKO+4HCg=; b=Ce0qEHbP9P3EY2pIsZ3oPanzESwad719C3ep3ExfzhTgb9iyoSt9gxWn7OBp+37KH3 ldQ7T8tdGIZKuruch226ctnU2FaovY/GJ+VeGWnXha5JED7EtxT85z1BT7ar1DJF6apL sJhtZpuMMy83l55Xg9Hx3xz+9l8OkmBIFEhbxQh3iVqBBc0iDs1U3gJN77GBr7dise8W t37Z3k7QCQZJg5wrKXMzLixS4hWFDL+AzDqhYczRpmKq/KRIZrZ41GyeQt0qTKmXy1/z WpSBVfMurZfH15Y+zHJmDs1J6eJPqmoSmlfURt9+yKgK5uZMmjiqstERC9uzJ0AAuNuY TTkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:date:message-id:to:subject; bh=0+Md4JXIpr/+vckaEXjnIPC66yX0YvI07oPCKO+4HCg=; b=BHEoRMXCcoe9tFYFX8Cc/e+9i0EP3cAbFM0FJOHcOg6gzQZn1r16IVxmuywFcp9LrR vJRYfvdfFyXQzsQgUSnp3ec8vyQjGUNUkQ8cLN2NRro/p5VaChwarv78hz3qMEPoYj+D ybhDWP3AFQeblKX9rdm4FCdjYs9X5ONNop8c3DW5MFuqUmnatGKcCPd86rg6YowWQktC XkE7k/OWV7NYzQHYTu0w7kOHgpQqh0On9ZtS00YxLFzavf59bKiaQLxHf6cOVi/fcDxj zHYD1jfOfjLNnj9ga1yOYN1xDLRrrg3tQQdp+6yh8DstBMWsBmmmdiaIhBFHpRKer5Al C2Bw== X-Gm-Message-State: ALoCoQlBPVrE7VcJhvMo3UkxeFgX23orA9dFNwSPgVc27VcCIghRWQhBPFSKIUhAlANEgQUUMeLp X-Received: by 10.66.156.42 with SMTP id wb10mr55649pab.155.1406599097520; Mon, 28 Jul 2014 18:58:17 -0700 (PDT) Original-Received: from labrador.google.com ([98.248.57.195]) by mx.google.com with ESMTPSA id mk7sm19815787pab.27.2014.07.28.18.58.15 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 Jul 2014 18:58:16 -0700 (PDT) X-Google-Original-From: "T. V. Raman" X-Google-Original-From: raman x-attribution: tvrReply-to: tv.raman.tv@gmail.com X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:91911 Archived-At: 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))