Package: emacs;
Reported by: Dimitri Fontaine <dfontaine <at> hi-media.com>
Date: Sun, 2 May 2010 11:06:01 UTC
Severity: normal
Tags: notabug
Found in version 23.1.90
Done: Chong Yidong <cyd <at> gnu.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Dimitri Fontaine <dfontaine <at> hi-media.com> To: emacs-pretest-bug <at> gnu.org Subject: 23.1.90; switch-to-buffer does not redisplay until an event occurs Date: Fri, 30 Apr 2010 20:35:15 +0200
The following code, an attempt to have a visual window switching facility, is failing to provide the visual clue it's meant to give. That seems to be because switch-to-buffer won't redisplay until some event occurred, and neither using sit-for nor redisplay helps. Here's the code: (defun dim:switch-window-display-number (win num) "prepare a temp buffer to diplay in the window while choosing" (let ((buf (get-buffer-create (concat " *" (number-to-string num) "*")))) (with-current-buffer buf (insert (concat "\n\n " (number-to-string num))) (text-scale-adjust 12)) ;; when it works we'll choose one or the other (set-window-buffer win buf) (select-window win) (switch-to-buffer buf 'non-record) buf)) (defun dim:switch-window () "Display an overlay in each window showing a unique key, then ask user for the window where move to" (interactive) (let ((config (current-window-configuration)) (num 1) (redisplay-dont-pause t) key buffers) (dolist (win (window-list)) (setq buffers (cons (dim:switch-window-display-number win num) buffers)) (setq num (1+ num))) ;(redisplay 1) (sit-for 0) (while (not key) (let ((input (event-basic-type (read-event "Move to window: " nil 5)))) (when (and (not (symbolp input)) (<= 49 input) (>= 57 input)) (setq key (- input 48))))) (message "%S" key) (dolist (buf buffers) (kill-buffer buf)) (set-window-configuration config) (setq num 1) (dolist (win (window-list)) (when (eq num key) (select-window win)) (setq num (1+ num))))) In GNU Emacs 23.1.90.1 (x86_64-apple-darwin10.2.0, NS apple-appkit-1038.25) of 2010-03-25 on proton.local Windowing system distributor `Apple', version 10.3.1038 configured using `configure '--without-dbus' '--with-ns' 'CFLAGS=-pipe -O2 -march=nocona'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: nil value of $XMODIFIERS: nil locale-coding-system: nil default enable-multibyte-characters: t Major mode: Emacs-Lisp Minor modes in effect: savehist-mode: t desktop-save-mode: t nxhtml-global-minor-mode: t iswitchb-mode: t diff-auto-refine-mode: t global-hl-line-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t global-auto-composition-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 auto-fill-mode: 1 Recent input: a r y : : SPC t h e SPC o n y <backspace> l y SPC c h a n g e SPC i s SPC h o w SPC t o SPC d o SPC i t , SPC n o t SPC w h a t SPC e r <backspace> <backspace> w e C-a M-f M-f M-f SPC p r o p o s e d C-e SPC c u r r e n <M-backspace> d o . C-x C-s C-a C-c C-c q p <return> M-` M-` C-n n M-` c o l u m n s , SPC s o r r y <return> a h SPC o <backspace> y s <backspace> e s <return> C-c C-b <return> w g a t <backspace> <backspace> <backspace> h a t s <backspace> ' s SPC t h a t SPC l i n g SPC h a s M-b M-b M-b <M-backspace> <backspace> SPC h a s SPC C-e <M-backspace> <backspace> <backspace> k SPC t SPC <backspace> o SPC d o SPC h e r e ? SPC : ) <return> M-` M-` i <backspace> l k <backspace> i k e SPC q <backspace> a <M-backspace> <M-backspace> a SPC 1 0 SPC h o u r s SPC t <backspace> p l a n e SPC t r p <backspace> i p SPC f o r SPC t h a t ? SPC n o SPC t h a n s <backspace> k s SPC : ) <return> M-` SPC n SPC n M-1 M-` <S-right> <S-up> C-h C-g C-x h M-w M-x e m <tab> a s <tab> c s <backspace> <backspace> <backspace> c s <tab> - r e <tab> <M-backspace> <M-backspace> r e p o <tab> r <tab> e m <backspace> <backspace> b <tab> <return> Recent messages: Fetching headers for nnimap+hm.local:PostgreSQL.hackers...done Generating summary...done Auto-saving... 20:23 You were mentioned by yonkeltron in #emacs [2 times] 20:24 You were mentioned by yonkeltron in #emacs [2 times] Mark set [2 times] Saved text until "+ num))))) (provide 'dim-switch-window)" Making completion list... [2 times] Load-path shadows: /Users/dim/.emacs.d/elpa/emms-3.0/tq hides ~/.emacs.d/emms/lisp/tq /Users/dim/.emacs.d/elpa/emms-3.0/ogg-comment hides ~/.emacs.d/emms/lisp/ogg-comment /Users/dim/.emacs.d/elpa/emms-3.0/later-do hides ~/.emacs.d/emms/lisp/later-do /Users/dim/.emacs.d/elpa/emms-3.0/jack hides ~/.emacs.d/emms/lisp/jack /Users/dim/.emacs.d/elpa/emms-3.0/emms hides ~/.emacs.d/emms/lisp/emms /Users/dim/.emacs.d/elpa/emms-3.0/emms-volume hides ~/.emacs.d/emms/lisp/emms-volume /Users/dim/.emacs.d/elpa/emms-3.0/emms-volume-amixer hides ~/.emacs.d/emms/lisp/emms-volume-amixer /Users/dim/.emacs.d/elpa/emms-3.0/emms-url hides ~/.emacs.d/emms/lisp/emms-url /Users/dim/.emacs.d/elpa/emms-3.0/emms-tag-editor hides ~/.emacs.d/emms/lisp/emms-tag-editor /Users/dim/.emacs.d/elpa/emms-3.0/emms-streams hides ~/.emacs.d/emms/lisp/emms-streams /Users/dim/.emacs.d/elpa/emms-3.0/emms-stream-info hides ~/.emacs.d/emms/lisp/emms-stream-info /Users/dim/.emacs.d/elpa/emms-3.0/emms-source-playlist hides ~/.emacs.d/emms/lisp/emms-source-playlist /Users/dim/.emacs.d/elpa/emms-3.0/emms-source-file hides ~/.emacs.d/emms/lisp/emms-source-file /Users/dim/.emacs.d/elpa/emms-3.0/emms-setup hides ~/.emacs.d/emms/lisp/emms-setup /Users/dim/.emacs.d/elpa/emms-3.0/emms-score hides ~/.emacs.d/emms/lisp/emms-score /Users/dim/.emacs.d/elpa/emms-3.0/emms-playlist-sort hides ~/.emacs.d/emms/lisp/emms-playlist-sort /Users/dim/.emacs.d/elpa/emms-3.0/emms-playlist-mode hides ~/.emacs.d/emms/lisp/emms-playlist-mode /Users/dim/.emacs.d/elpa/emms-3.0/emms-playing-time hides ~/.emacs.d/emms/lisp/emms-playing-time /Users/dim/.emacs.d/elpa/emms-3.0/emms-player-xine hides ~/.emacs.d/emms/lisp/emms-player-xine /Users/dim/.emacs.d/elpa/emms-3.0/emms-player-simple hides ~/.emacs.d/emms/lisp/emms-player-simple /Users/dim/.emacs.d/elpa/emms-3.0/emms-player-mplayer hides ~/.emacs.d/emms/lisp/emms-player-mplayer /Users/dim/.emacs.d/elpa/emms-3.0/emms-player-mpg321-remote hides ~/.emacs.d/emms/lisp/emms-player-mpg321-remote /Users/dim/.emacs.d/elpa/emms-3.0/emms-player-mpd hides ~/.emacs.d/emms/lisp/emms-player-mpd /Users/dim/.emacs.d/elpa/emms-3.0/emms-mode-line hides ~/.emacs.d/emms/lisp/emms-mode-line /Users/dim/.emacs.d/elpa/emms-3.0/emms-mode-line-icon hides ~/.emacs.d/emms/lisp/emms-mode-line-icon /Users/dim/.emacs.d/elpa/emms-3.0/emms-metaplaylist-mode hides ~/.emacs.d/emms/lisp/emms-metaplaylist-mode /Users/dim/.emacs.d/elpa/emms-3.0/emms-mark hides ~/.emacs.d/emms/lisp/emms-mark /Users/dim/.emacs.d/elpa/emms-3.0/emms-lyrics hides ~/.emacs.d/emms/lisp/emms-lyrics /Users/dim/.emacs.d/elpa/emms-3.0/emms-lastfm hides ~/.emacs.d/emms/lisp/emms-lastfm /Users/dim/.emacs.d/elpa/emms-3.0/emms-last-played hides ~/.emacs.d/emms/lisp/emms-last-played /Users/dim/.emacs.d/elpa/emms-3.0/emms-info hides ~/.emacs.d/emms/lisp/emms-info /Users/dim/.emacs.d/elpa/emms-3.0/emms-info-ogginfo hides ~/.emacs.d/emms/lisp/emms-info-ogginfo /Users/dim/.emacs.d/elpa/emms-3.0/emms-info-ogg hides ~/.emacs.d/emms/lisp/emms-info-ogg /Users/dim/.emacs.d/elpa/emms-3.0/emms-info-mp3info hides ~/.emacs.d/emms/lisp/emms-info-mp3info /Users/dim/.emacs.d/elpa/emms-3.0/emms-info-libtag hides ~/.emacs.d/emms/lisp/emms-info-libtag /Users/dim/.emacs.d/elpa/emms-3.0/emms-i18n hides ~/.emacs.d/emms/lisp/emms-i18n /Users/dim/.emacs.d/elpa/emms-3.0/emms-history hides ~/.emacs.d/emms/lisp/emms-history /Users/dim/.emacs.d/elpa/emms-3.0/emms-compat hides ~/.emacs.d/emms/lisp/emms-compat /Users/dim/.emacs.d/elpa/emms-3.0/emms-cache hides ~/.emacs.d/emms/lisp/emms-cache /Users/dim/.emacs.d/elpa/emms-3.0/emms-browser hides ~/.emacs.d/emms/lisp/emms-browser /Users/dim/.emacs.d/elpa/emms-3.0/emms-bookmarks hides ~/.emacs.d/emms/lisp/emms-bookmarks /Users/dim/.emacs.d/nxhtml/util/htmlfontify hides /Applications/Emacs.app/Contents/Resources/lisp/htmlfontify /Users/dim/.emacs.d/elpa/emms-3.0/tq hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/tq /Users/dim/.emacs.d/nxhtml/util/chart hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/chart Features: (shadow emacsbug flow-fill multi-isearch bbdb-hooks w3m-form w3m-symbol w3m doc-view image-mode w3m-hist w3m-fb w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util dim-switch-window bbdb-gui gnus-cite smiley ansi-color gnus-agent gnus-srvr nnvirtual gnus-async gnus-bcklg gnus-score score-mode sort gnus-ml gnus-msg tar-mode face-remap ffap gnus-topic nndoc gnus-cache nnfolder utf-7 utf7 auth-source nnimap imap nndraft nnmh bbdb-gnus bbdb-snarf mail-extr bbdb-com warnings nnnil nntp bbdb-autoloads bbdb timezone gnus-art mm-uu mml2015 epg-config mm-view smime dig gnus-sum nnoo gnus-group gnus-undo nnmail mail-source format-spec dim-gnus-imap-count gnus-start gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems flyspell ispell hideshow mlinks rx nxml-uchnm rng-nxml rng-xsd xsd-regexp rng-cmpct sgml-mode nxhtml-mumamo mumamo-fun mumamo nxhtml-mode popcmp url-expand url-util url-methods url-parse url-vars rngalt rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok loadhist make-mode doc-mode sql cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs python-21 python muse-colors org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-exp org-exp-blocks org-agenda org-info org-gnus org-bibtex org-bbdb bitlbee conf-mode newcomment jka-compr savehist desktop dim-tels-pro dim-modes dim-org org-clock org-remember org-datetree org byte-opt bytecomp byte-compile org-footnote org-src org-list org-faces org-compat org-macs noutline outline remember org-install dim-ack browse-kill-ring tramp-multi-sshx dictionary link connection emms-cache emms-info-ogginfo emms-info-mp3info emms-info later-do emms-playlist-mode emms-player-mplayer emms-player-simple emms-source-playlist emms-source-file emms-setup emms emms-compat dim-pgsql linum w3m-load nxhtml-autoload majmodpri nxhtml-menu nxhtml-autostart rst compile asciidoc apropos dim-keys dim-previous-message dim-mailrc message ecomplete rfc822 mml mml-sec password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc mm-util mail-prsvr gmm-utils mailheader canlock sha1 hex-util hashcash mail-utils dim-input-method quail help-mode view dim-google browse-url hippie-exp comint iswitchb dired-details dired-x dired-aux dired winner buffer-move windmove dim-escreen escreen dim-splits dim-rcirc dim-rcirc-log growl rcirc-late-fix rcirc-color advice help-fns advice-preload rcirc-groups rcirc time-date dim-projects dim-projects-home projects ibuf-ext dim-muse dim-muse-hack muse-context muse-journal muse-book muse-latex muse-html muse-xml-common cus-edit cus-start cus-load muse-publish muse-project muse-protocols muse-regexps muse muse-nested-tags muse-mode dim-init-macosx dim-offlineimap magit diff-mode log-edit easy-mmode pcvs-util add-log parse-time cssh derived term disp-table ehelp electric ring ibuffer pcmpl-unix pcomplete woman man assoc color-theme-emacs23-default color-theme edmacro kmacro wid-edit cl cl-19 sendmail regexp-opt dim-visual-common hl-line dim-ports dim-lib dictionary-autoloads emms-autoloads full-ack-autoloads gist-autoloads htmlize-autoloads lisppaste-autoloads magit-autoloads muse-autoloads info xml-rpc-autoloads package reporter tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win easymenu tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mldrag 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 loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process ns multi-tty emacs) -- Dimitri Fontaine
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.