[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[24.4.50; called-interactively-p and skip advice:]

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

To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help".

If you have questions about this archive or had problems using it, please send mail to:

priestdo@cs.vassar.edu No Soliciting!

Emacspeak List Archive | 2010 | 2009 | 2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998

Emacspeak Files | Emacspeak Blog | Search the archive