Subject: bug#13749: 24.2; intermittent set-frame-width issue

From: [email-masked]
Date: Mon, 18 Feb 2013 10:06:09 -0600

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgement at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

A small function I've been using forever:

(defun resize-frame () 
  (interactive) 
  (set-frame-width (selected-frame) 80))

has stopped working as I would expect.  Here's the behavior I see:

  Assume two frames, A and B, both with frame-width 100
 
  - resize-frame while A is the selected-frame and the frame resizes
    to 80 as expected;

  - drag the frame A width back to 100 with the mouse, resize-frame,
    and there's no change: selected-frame is correct and frame-width
    reports 100;

  - make frame B the selected-frame, resize-frame, and the frame
    resizes to 80 as expected;

  - now make frame A the selected-frame; resize-frame; and the frame
    resizes to 80 as expected.
  
It's entirely possible I've made a misassumption about something but
I'd swear this function has been working in prior releases.

Thanks for your time!

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/Applications/Emacs.app/Contents/Resources/etc/DEBUG.

In GNU Emacs 24.2.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
 of 2012-08-27 on bob.porkrind.org
Windowing system distributor `Apple', version 10.3.1187
Configured using:
 `configure '--host=x86_64-apple-darwin' '--build=i686-apple-darwin'
 '--with-ns' 'build_alias=i686-apple-darwin'
 'host_alias=x86_64-apple-darwin' 'CC=gcc -mmacosx-version-min=10.5''

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: Apropos

Minor modes in effect:
  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-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  recentf-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  iswitchb-mode: t
  jabber-activity-mode: t
  show-paren-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
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <down-mouse-1> <help-echo> <mouse-movement> 
<mouse-1> <help-echo> <help-echo> <down-mouse-1> <mouse-1> 
<help-echo> <help-echo> <help-echo> <down-mouse-1> 
<mouse-1> <wheel-down> <double-wheel-down> <triple-wheel-down> 
<help-echo> <down-mouse-1> <mouse-1> <help-echo> <down-mouse-1> 
<mouse-1> <help-echo> <help-echo> <down-mouse-1> <help-echo> 
<mouse-movement> <drag-mouse-1> <help-echo> <down-mouse-1> 
<mouse-1> <help-echo> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> r e 
d o r a n g e <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
o r a n g e r e d 3 <backspace> 1 <backspace> 2 <backspace> 
3 <backspace> 4 <backspace> 1 <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> g r e e n 2 3 <backspace> 
<backspace> 3 <backspace> 4 <help-echo> <help-echo> 
<help-echo> <down-mouse-1> <help-echo> <down-mouse-1> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <wheel-down> <double-wheel-down> <triple-wheel-down> 
<triple-wheel-down> <triple-wheel-down> <switch-frame> 
<switch-frame> <switch-frame> <help-echo> <down-mouse-1> 
<drag-mouse-1> C-x w <down-mouse-1> <mouse-1> C-x w 
C-g C-g C-g C-g <switch-frame> C-x b . e m <return> 
<return> ( f r a m e - w i d t h ) C-x C-e <up> C-e 
C-x C-e <down> C-x C-e <down-mouse-1> <wheel-up> <double-wheel-up> 
<triple-wheel-up> <triple-wheel-up> <triple-wheel-up> 
<triple-wheel-up> <down-mouse-1> <mouse-movement> <mouse-1> 
C-x C-e <down-mouse-1> <mouse-1> C-x C-e <down-mouse-1> 
<mouse-1> C-x C-e <down-mouse-1> <mouse-1> C-x C-e 
<switch-frame> <switch-frame> <down> C-x C-e <up> C-e 
C-x C-e <switch-frame> C-x C-e <down-mouse-1> <mouse-movement> 
<mouse-1> C-x 1 C-x w <switch-frame> C-x w <down-mouse-1> 
<mouse-movement> <mouse-1> C-a C-SPC <C-up> <down> 
<down> C-w <down> <up> C-SPC <down> C-w <tab> <down> 
<tab> M-^ <C-right> <C-right> <C-right> <C-left> <left> 
<return> <tab> C-e C-x C-e C-x C-s C-g C-g C-g C-g 
<down> <down> C-x C-e <down-mouse-1> <mouse-1> <down-mouse-1> 
<mouse-1> C-x C-e <down-mouse-1> <mouse-1> C-x C-e 
C-x C-e <up> C-e C-x C-e <down> C-x C-e <up> C-e C-x 
C-e M-x m x - C-g C-g <switch-frame> <help-echo> M-x 
r e p o r t - e m a c s - b u g <return>

Recent messages:
114 (#o162, #x72, ?r)
nil
114
nil
Quit
Quit

Load-path shadows:
/Users/montuori/elisp/EmacsApp/g-client/json hides /Applications/Emacs.app/Contents/Resources/lisp/json
/Users/montuori/elisp/EmacsApp/cperl-mode hides /Applications/Emacs.app/Contents/Resources/lisp/progmodes/cperl-mode

Features:
(shadow emacsbug color crm cus-edit newst-reader newst-backend dig
jabber-keepalive jabber-ping jabber-bookmarks jabber-private erc-menu
erc-join erc-ring erc-networks erc-pcomplete erc-track erc-match
erc-button erc-fill erc-stamp erc-netsplit tramp-cache tramp-sh tramp
tramp-compat shell tramp-loaddefs pcmpl-unix em-unix pcomplete em-term
term disp-table ehelp electric em-script em-prompt em-ls em-hist
em-pred em-glob em-dirs em-cmpl em-basic esh-opt em-banner em-alias
misearch multi-isearch help-mode view debug vm-delete smtpmail
flyspell ispell bbdb-hooks vm-reply network-stream auth-source eieio
vm-crypto vm-pop bbdb-gui tla smerge-mode dvc-state dvc-config
dvc-diff dvc-fileinfo diff tla-gnus dvc-gnus dvc-cmenu dvc-about
dvc-version dvc-revlist longlines vm-save tapestry vm-sort vm-thread
bzr-core tla-core tla-autoconf tla-defs dvc-log vc vc-dispatcher
dvc-unified dvc-tips dired-x dired ffap add-log diff-mode ediff-merg
ediff-diff ediff-wind ediff-help ediff-util ediff-mult ediff-init
ediff xdarcs-core xgit-core xhg-core xmtn-minimal bbdb-vm vm-autoload
bbdb-snarf mail-extr bbdb-com bbdb-autoloads boxquote rect bbdb
timezone vm-rfaddons vm-menu vm-window vm-toolbar vm-folder vm-mime
vm-undo vm-virtual vm-summary-faces vm-summary vm-mouse vm-page
vm-motion vm-minibuf vm-message vm-misc vm-macro vm-autoloads vm-vars
vm-version vm uniquify warnings recentf tree-widget cus-start cus-load
bookmark gnus-spotlight backup time-stamp tt-mode javascript-mode
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs yaml-mode jpl-reformat newcomment cperl-mode
info etags imenu man erc-goodies erc erc-backend erc-compat
slime-c-p-c slime-editing-commands slime-parse slime-repl slime
byte-opt bytecomp byte-compile cconv macroexp apropos hyperspec
browse-url template mmm-auto mmm-vars mmm-compat iswitchb gnus-sieve
gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start
gnus-spec gnus-int gnus-range message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
gnus-win gnus gnus-ems nnheader gnus-util sieve sieve-mode
sieve-manage password-cache tnt tnt-proxy tocstr toc nitrogen-mode
erlang-start jabber jabber-libnotify dbus jabber-awesome jabber-osd
jabber-wmii jabber-xmessage jabber-festival jabber-sawfish
jabber-ratpoison 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 mailcap jabber-activity jabber-watch
jabber-modeline advice advice-preload jabber-ahc-presence jabber-ahc
jabber-version jabber-ourversion jabber-muc-nick-completion hippie-exp
jabber-browse jabber-search jabber-register jabber-roster format-spec
jabber-presence jabber-muc jabber-muc-nick-coloring assoc hexrgb
jabber-newdisco jabber-widget jabber-disco jabber-chat jabber-history
jabber-chatbuffer jabber-alert jabber-iq jabber-core jabber-console
sgml-mode jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login
sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls
jabber-xml xml jabber-menu jabber-autoloads jabber-util paren
jade-mode sws-mode ensime ensime-ui ensime-semantic-highlight
ensime-doc ensime-search ensime-undo ensime-refactor ensime-builder
ensime-debug derived ensime-inf ensime-sbt compile
ensime-auto-complete ensime-config auto-complete easy-mmode popup
hideshow pp comint ansi-color thingatpt scala-mode-auto
color-theme-solarized solarized-definitions color-theme edmacro kmacro
wid-edit cl sendmail regexp-opt rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils reporter dvc-autoloads dvc-core dvc-lisp
dvc-buffers dvc-ui easymenu dvc-register dvc-utils dvc-emacs ewoc
dvc-defs dvc-site em-smart ring esh-var esh-io esh-cmd esh-ext
esh-proc esh-arg eldoc help-fns esh-groups eshell esh-module esh-mode
esh-util server time-date tooltip ediff-hook vc-hooks lisp-float-type
mwheel ns-win tool-bar dnd fontset image fringe lisp-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
loaddefs button faces cus-face files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process ns multi-tty
emacs)
-- 
  kevin montuori
  [email-masked]