Subject: Re: bug#13943: 24.3; Cocoa Emacs 24.3 + powerline.el causes window rendering corruption
From: Jan Djärv <[email-masked]>
To: Hiromi ISHII <[email-masked]>
Cc: [email-masked]
Date: Sun, 5 May 2013 17:34:38 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello.

There is an error in powerline.el, it uses typecase which isn't defined in Emacs.
If we add (require 'cl) and change typecase to cl-typecase powerline.el loads without errors.
Furthermore, the error you are seeing does not appear.

	Jan D.

13 mar 2013 kl. 06:14 skrev Hiromi ISHII <[email-masked]>:

> When using Cocoa Emacs 24.3 (released on 11 March at
> http://emacsformacosx.com) with powerline.el, new window's rendering
> corrupts.
> 
> Here is the recipe:
> 
> 1.  $ /Applications/Emacs.app/Contents/MacOS/Emacs -Q
> 2.  Switch to *scratch*.
> 3.  eval `(load "powerline.el")`
> 4.  Press C-x 5 2 (or Command-N)
> 5.  Then, textarea in the new window underlaps the tool bar above the window.
>    (When I push the HOME key on the keyboard, the cursor became on the
>    top of window)
> 6.  After resizing the window, window rendering became normal.
> 
> I use powerline.el ver. 1.2, which can be obtained from http://www.emacswiki.org/emacs/powerline.el.
> 
> 
> In GNU Emacs 24.3.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
> of 2013-03-11 on bob.porkrind.org
> Windowing system distributor `Apple', version 10.3.1138
> 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:
>  locale-coding-system: utf-8
>  default enable-multibyte-characters: t
> 
> Major mode: Lisp Interaction
> 
> Minor modes in effect:
>  global-auto-complete-mode: t
>  auto-complete-mode: t
>  diff-auto-refine-mode: t
>  show-paren-mode: t
>  shell-dirtrack-mode: t
>  tooltip-mode: t
>  mouse-wheel-mode: t
>  tool-bar-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:
> s-n <home> <down> <down> s-w s-n s-w C-x b s <tab> 
> c r <tab> <return> s-n <home> <down> <down> <home> 
> <home> <home> C-g <down> <down> <down> <down> <home> 
> <escape> x r e p o <tab> r t <tab> <return>
> 
> Recent messages:
> Loading /Users/hiromi/Library/Haskell/ghc-7.4.1/lib/Agda-2.3.2/share/emacs-mode/agda2.el (source)...done
> `flet' is an obsolete macro (as of 24.3); use either `cl-flet' or `cl-letf'. [3 times]
> `labels' is an obsolete macro (as of 24.3); use `cl-labels' instead. [3 times]
> For information about GNU Emacs and the GNU system, type C-h C-a.
> Mark set
> Making completion list...
> Mark set [4 times]
> Quit
> Mark set
> Making completion list...
> 
> Load-path shadows:
> /Users/hiromi/Library/Haskell/ghc-7.4.1/lib/Agda-2.3.2/share/emacs-mode/eri hides /Users/hiromi/.emacs.d/lisp/eri
> /Users/hiromi/Library/Haskell/ghc-7.4.1/lib/Agda-2.3.2/share/emacs-mode/annotation hides /Users/hiromi/.emacs.d/lisp/annotation
> /Users/hiromi/Library/Haskell/ghc-7.4.1/lib/Agda-2.3.2/share/emacs-mode/agda2 hides /Users/hiromi/.emacs.d/lisp/agda2
> /Users/hiromi/Library/Haskell/ghc-7.4.1/lib/Agda-2.3.2/share/emacs-mode/agda2-mode hides /Users/hiromi/.emacs.d/lisp/agda2-mode
> /Users/hiromi/Library/Haskell/ghc-7.4.1/lib/Agda-2.3.2/share/emacs-mode/agda2-highlight hides /Users/hiromi/.emacs.d/lisp/agda2-highlight
> /Users/hiromi/Library/Haskell/ghc-7.4.1/lib/Agda-2.3.2/share/emacs-mode/agda2-abbrevs hides /Users/hiromi/.emacs.d/lisp/agda2-abbrevs
> /Users/hiromi/Library/Haskell/ghc-7.4.1/lib/Agda-2.3.2/share/emacs-mode/agda-input hides /Users/hiromi/.emacs.d/lisp/agda-input
> /Users/hiromi/.emacs.d/lisp/mmm-vars hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-vars
> /Users/hiromi/.emacs.d/lisp/mmm-utils hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-utils
> /Users/hiromi/.emacs.d/lisp/mmm-univ hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-univ
> /Users/hiromi/.emacs.d/lisp/mmm-sample hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-sample
> /Users/hiromi/.emacs.d/lisp/mmm-rpm hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-rpm
> /Users/hiromi/.emacs.d/lisp/mmm-region hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-region
> /Users/hiromi/.emacs.d/lisp/mmm-mode hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-mode
> /Users/hiromi/.emacs.d/lisp/mmm-mason hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-mason
> /Users/hiromi/.emacs.d/lisp/mmm-cweb hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-cweb
> /Users/hiromi/.emacs.d/lisp/mmm-compat hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-compat
> /Users/hiromi/.emacs.d/lisp/mmm-cmds hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-cmds
> /Users/hiromi/.emacs.d/lisp/mmm-class hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-class
> /Users/hiromi/.emacs.d/lisp/mmm-auto hides /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/mmm/mmm-auto
> /Users/hiromi/.emacs.d/ProofGeneral-4.0pre100817/ccc/ccc hides /Users/hiromi/.emacs.d/lisp/skk/ccc
> /Users/hiromi/.emacs.d/lisp/version hides /Applications/Emacs.app/Contents/Resources/lisp/version
> /Users/hiromi/.emacs.d/lisp/loadup hides /Applications/Emacs.app/Contents/Resources/lisp/loadup
> /Users/hiromi/.emacs.d/lisp/loaddefs hides /Applications/Emacs.app/Contents/Resources/lisp/loaddefs
> /Users/hiromi/.emacs.d/lisp/ldefs-boot hides /Applications/Emacs.app/Contents/Resources/lisp/ldefs-boot
> /Users/hiromi/.emacs.d/lisp/finder-inf hides /Applications/Emacs.app/Contents/Resources/lisp/finder-inf
> /Users/hiromi/.emacs.d/lisp/prolog hides /Applications/Emacs.app/Contents/Resources/lisp/progmodes/prolog
> /Users/hiromi/.emacs.d/lisp/net/webjump hides /Applications/Emacs.app/Contents/Resources/lisp/net/webjump
> /Users/hiromi/.emacs.d/lisp/tramp/trampver hides /Applications/Emacs.app/Contents/Resources/lisp/net/trampver
> /Users/hiromi/.emacs.d/lisp/tramp/tramp hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-uu hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-uu
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-smb hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-smb
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-sh hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-sh
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-loaddefs hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-loaddefs
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-gw hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-gw
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-gvfs hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-gvfs
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-ftp hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-ftp
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-compat hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-compat
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-cmds hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-cmds
> /Users/hiromi/.emacs.d/lisp/tramp/tramp-cache hides /Applications/Emacs.app/Contents/Resources/lisp/net/tramp-cache
> /Users/hiromi/.emacs.d/lisp/net/tls hides /Applications/Emacs.app/Contents/Resources/lisp/net/tls
> /Users/hiromi/.emacs.d/lisp/net/telnet hides /Applications/Emacs.app/Contents/Resources/lisp/net/telnet
> /Users/hiromi/.emacs.d/lisp/net/socks hides /Applications/Emacs.app/Contents/Resources/lisp/net/socks
> /Users/hiromi/.emacs.d/lisp/net/snmp-mode hides /Applications/Emacs.app/Contents/Resources/lisp/net/snmp-mode
> /Users/hiromi/.emacs.d/lisp/net/rlogin hides /Applications/Emacs.app/Contents/Resources/lisp/net/rlogin
> /Users/hiromi/.emacs.d/lisp/net/rcompile hides /Applications/Emacs.app/Contents/Resources/lisp/net/rcompile
> /Users/hiromi/.emacs.d/lisp/net/rcirc hides /Applications/Emacs.app/Contents/Resources/lisp/net/rcirc
> /Users/hiromi/.emacs.d/lisp/net/quickurl hides /Applications/Emacs.app/Contents/Resources/lisp/net/quickurl
> /Users/hiromi/.emacs.d/lisp/net/newsticker hides /Applications/Emacs.app/Contents/Resources/lisp/net/newsticker
> /Users/hiromi/.emacs.d/lisp/net/netrc hides /Applications/Emacs.app/Contents/Resources/lisp/net/netrc
> /Users/hiromi/.emacs.d/lisp/net/net-utils hides /Applications/Emacs.app/Contents/Resources/lisp/net/net-utils
> /Users/hiromi/.emacs.d/lisp/net/ldap hides /Applications/Emacs.app/Contents/Resources/lisp/net/ldap
> /Users/hiromi/.emacs.d/lisp/net/goto-addr hides /Applications/Emacs.app/Contents/Resources/lisp/net/goto-addr
> /Users/hiromi/.emacs.d/lisp/net/eudcb-ph hides /Applications/Emacs.app/Contents/Resources/lisp/net/eudcb-ph
> /Users/hiromi/.emacs.d/lisp/net/eudcb-mab hides /Applications/Emacs.app/Contents/Resources/lisp/net/eudcb-mab
> /Users/hiromi/.emacs.d/lisp/net/eudcb-ldap hides /Applications/Emacs.app/Contents/Resources/lisp/net/eudcb-ldap
> /Users/hiromi/.emacs.d/lisp/net/eudcb-bbdb hides /Applications/Emacs.app/Contents/Resources/lisp/net/eudcb-bbdb
> /Users/hiromi/.emacs.d/lisp/net/eudc hides /Applications/Emacs.app/Contents/Resources/lisp/net/eudc
> /Users/hiromi/.emacs.d/lisp/net/eudc-vars hides /Applications/Emacs.app/Contents/Resources/lisp/net/eudc-vars
> /Users/hiromi/.emacs.d/lisp/net/eudc-hotlist hides /Applications/Emacs.app/Contents/Resources/lisp/net/eudc-hotlist
> /Users/hiromi/.emacs.d/lisp/net/eudc-export hides /Applications/Emacs.app/Contents/Resources/lisp/net/eudc-export
> /Users/hiromi/.emacs.d/lisp/net/eudc-bob hides /Applications/Emacs.app/Contents/Resources/lisp/net/eudc-bob
> /Users/hiromi/.emacs.d/lisp/net/browse-url hides /Applications/Emacs.app/Contents/Resources/lisp/net/browse-url
> /Users/hiromi/.emacs.d/lisp/net/ange-ftp hides /Applications/Emacs.app/Contents/Resources/lisp/net/ange-ftp
> /Users/hiromi/.emacs.d/lisp/patcomp hides /Applications/Emacs.app/Contents/Resources/lisp/obsolete/patcomp
> 
> Features:
> (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
> mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
> gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
> mail-prsvr mail-utils help-mode uniquify auto-complete alloy-mode
> init_main init_singular singular init_e2wm e2wm window-layout windmove
> init_egison init_powerline powerline init_sml sml-mode skeleton sml-move
> sml-defs sml-util sml-compat init_markdown markdown-mode thingatpt
> noutline outline init_hamlet hamlet-mode derived init_scala
> scala-mode-auto init_agda2 agda2 init_dired dired init_snippet snippet
> edmacro kmacro init_yatex init_psgml psgml-other sgml-mode psgml
> init_proof_general proof-site proof-autoloads pg-vars init_imaxima imath
> imaxima advice advice-preload imaxima-autoconf-variables init_magit
> magit diff-mode log-edit easy-mmode pcvs-util add-log init_scheme
> scheme-complete paren cmuscheme scheme init_prolog prolog shell
> pcomplete info easymenu imenu compile comint ansi-color ring
> init_haskell mmm-mode mmm-univ mmm-class mmm-region help-fns mmm-auto
> mmm-vars mmm-utils mmm-compat cl-macs gv cl cl-lib e2wm-autoloads
> ghci-completion-autoloads window-layout-autoloads package server
> japan-util time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel
> ns-win tool-bar dnd fontset image regexp-opt fringe tabulated-list
> newcomment 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 macroexp 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)
> 
> 
> -- Hiromi ISHII
> [email-masked]
> 
> 
> 
> 
>