Subject: bug#23091: closed (Re: bug#23091: 25.0.92; :box face hang regression)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 22 Mar 2016 18:23:02 +0000

Your bug report

#23091: 25.0.92; :box face hang regression

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
23091: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23091
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#23091: 25.0.92; :box face hang regression
From: Eli Zaretskii <[email-masked]>
To: Aaron Jensen <[email-masked]>
Cc: [email-masked]
Date: Tue, 22 Mar 2016 20:21:33 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Aaron Jensen <[email-masked]>
> Date: Tue, 22 Mar 2016 14:38:21 +0000
> 
> While using the monokai theme and helm, a hang can be triggered with a
> setq header-line-format in a specific shape. The below is a repro from
> an emacs -Q. This does not repro in Emacs 24 or terminal emacs.
> I am on OS X.
> The hang does not repro if there is no :box in the face defined below.

Fixed.

(It was sheer luck that this worked in Emacs 24, the code which
handles this situation made wrong assumptions.)

Thanks.

Subject: 25.0.92; :box face hang regression
From: Aaron Jensen <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Tue, 22 Mar 2016 14:38:21 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

While using the monokai theme and helm, a hang can be triggered with a
setq header-line-format in a specific shape. The below is a repro from
an emacs -Q. This does not repro in Emacs 24 or terminal emacs.
I am on OS X.
The hang does not repro if there is no :box in the face defined below.

With emacs -Q eval the following:

;; https://gist.github.com/aaronjensen/db5eb0b7ba3679971fa2

(deftheme monokai "The Monokai colour theme")

(defgroup monokai nil
  "Monokai theme options.
The theme has to be reloaded after changing anything in this group."
  :group 'faces)

(defcustom monokai-distinct-fringe-background nil
  "Make the fringe background different from the normal background color.
Also affects 'linum-mode' background."
  :type 'boolean
  :group 'monokai)

(defcustom monokai-use-variable-pitch t
  "Use variable pitch face for some headings and titles."
  :type 'boolean
  :group 'monokai)

(defcustom monokai-high-contrast-mode-line nil
  "Make the active/inactive mode line stand out more."
  :type 'boolean
  :group 'monokai)

(let* ((class                    '((class color) (min-colors 257)))
       ;; Primary colors
       (yellow                   "#E6DB74")
       (orange                   "#FD971F")
       (red                      "#F92672")
       (magenta                  "#FD5FF0")
       (violet                   "#AE81FF")
       (blue                     "#66D9EF")
       (cyan                     "#A1EFE4")
       (green                    "#A6E22E")
       (gray                     "#474747")
       ;; Darker and lighter accented colors
       (yellow-d                 "#968B26")
       (yellow-l                 "#F3EA98")
       (orange-d                 "#A45E0A")
       (orange-l                 "#FEB257")
       (red-d                    "#A20C41")
       (red-l                    "#FC5C94")
       (magenta-d                "#A41F99")
       (magenta-l                "#FE87F4")
       (violet-d                 "#562AA6")
       (violet-l                 "#C2A1FF")
       (blue-d                   "#21889B")
       (blue-l                   "#8DE6F7")
       (cyan-d                   "#349B8D")
       (cyan-l                   "#BBF7EF")
       (green-d                  "#67930F")
       (green-l                  "#C1F161")
       (gray-d                   "#333333")
       (gray-l                   "#6b6b6b")
       ;; Adaptive colors
       (monokai-fg               "#F8F8F2")
       (monokai-bg               "#272822")
       (monokai-hl               "#3E3D31")
       (monokai-hl-line          "#49483E")
       (monokai-emph             "#F8F8F0")
       (monokai-comments         "#75715E")
       ;; Adaptive higher/lower contrast accented colors
       (monokai-fg-hc            "#141414")
       (monokai-fg-lc            "#171A0B")
       ;; High contrast colors
       (yellow-hc                yellow-l)
       (yellow-lc                yellow-d)
       (orange-hc                orange-l)
       (orange-lc                orange-d)
       (red-hc                   red-l)
       (red-lc                   red-d)
       (magenta-hc               magenta-l)
       (magenta-lc               magenta-d)
       (violet-hc                violet-l)
       (violet-lc                violet-d)
       (blue-hc                  blue-l)
       (blue-lc                  blue-d)
       (cyan-hc                  cyan-l)
       (cyan-lc                  cyan-d)
       (green-hc                 green-l)
       (green-lc                 green-d)
       ;; customize based face properties
       (s-variable-pitch         (if monokai-use-variable-pitch
                                     'variable-pitch 'default))
       (s-fringe-bg              (if monokai-distinct-fringe-background
                                     monokai-hl monokai-bg))
       (s-mode-line-fg           (if monokai-high-contrast-mode-line
                                     monokai-bg monokai-fg))
       (s-mode-line-bg           (if monokai-high-contrast-mode-line
                                     monokai-fg monokai-hl))
       (s-mode-line-buffer-id-fg (if monokai-high-contrast-mode-line
                                     'unspecified green))
       (s-mode-line-inactive-fg  (if monokai-high-contrast-mode-line
                                     monokai-fg monokai-comments))
       (s-mode-line-inactive-bg  (if monokai-high-contrast-mode-line
                                     gray-l monokai-bg))
       (s-mode-line-inactive-bc  (if monokai-high-contrast-mode-line
                                     monokai-fg monokai-hl))

       ;; powerline
       (s-powerline-active1-bg   (if monokai-high-contrast-mode-line
                                     gray-l gray))
       (s-powerline-active2-bg   (if monokai-high-contrast-mode-line
                                     gray gray-l))
       (s-powerline-inactive1-bg (if monokai-high-contrast-mode-line
                                     gray gray-d))
       (s-powerline-inactive2-bg (if monokai-high-contrast-mode-line
                                     monokai-bg gray))

       ;; Definitions for terminals that do not support 256 colors
       (terminal-class                    '((class color) (min-colors 89)))
       ;; Primary colors
       (terminal-yellow                   "#CDC673")
       (terminal-orange                   "#FF8C00")
       (terminal-red                      "#FF1493")
       (terminal-magenta                  "#D700D7")
       (terminal-violet                   "#AF87FF")
       (terminal-blue                     "#5FD7FF")
       (terminal-cyan                     "#5FFFFF")
       (terminal-green                    "#87D700")
       (terminal-gray                     "#444444")
       ;; Darker and lighter accented colors
       (terminal-yellow-d                 "#878700")
       (terminal-yellow-l                 "#FFFF87")
       (terminal-orange-d                 "#AF5F00")
       (terminal-orange-l                 "#FFAF5F")
       (terminal-red-d                    "#870000")
       (terminal-red-l                    "#FF5F87")
       (terminal-magenta-d                "#AF0087")
       (terminal-magenta-l                "#FF87DF")
       (terminal-violet-d                 "#5F00AF")
       (terminal-violet-l                 "#AF87D7")
       (terminal-blue-d                   "#008787")
       (terminal-blue-l                   "#87D7FF")
       (terminal-cyan-d                   "#5FAFAF")
       (terminal-cyan-l                   "#AFFFFF")
       (terminal-green-d                  "#5F8700")
       (terminal-green-l                  "#AFD700")
       (terminal-gray-d                   "#3A3A3A")
       (terminal-gray-l                   "#6C6C6C")
       ;; Adaptive colors
       (terminal-monokai-fg               "#F5F5F5")
       (terminal-monokai-bg               "#1B1E1C")
       (terminal-monokai-hl-line          "#212121")
       (terminal-monokai-hl               "#303030")
       (terminal-monokai-emph             "#FFFAFA")
       (terminal-monokai-comments         "#8B8878")
       ;; Adaptive higher/lower contrast accented colors
       (terminal-monokai-fg-hc            "#171A0B")
       (terminal-monokai-fg-lc            "#141414")
       ;; High contrast colors
       (terminal-yellow-hc                terminal-yellow-d)
       (terminal-yellow-lc                terminal-yellow-l)
       (terminal-orange-hc                terminal-orange-d)
       (terminal-orange-lc                terminal-orange-l)
       (terminal-red-hc                   terminal-red-d)
       (terminal-red-lc                   terminal-red-l)
       (terminal-magenta-hc               terminal-magenta-d)
       (terminal-magenta-lc               terminal-magenta-l)
       (terminal-violet-hc                terminal-violet-d)
       (terminal-violet-lc                terminal-violet-l)
       (terminal-blue-hc                  terminal-blue-d)
       (terminal-blue-lc                  terminal-blue-l)
       (terminal-cyan-hc                  terminal-cyan-d)
       (terminal-cyan-lc                  terminal-cyan-l)
       (terminal-green-hc                 terminal-green-d)
       (terminal-green-lc                 terminal-green-l)
       ;; customize based face properties
       (terminal-s-variable-pitch         (if monokai-use-variable-pitch
                                              'variable-pitch 'default))
       (terminal-s-fringe-bg              (if
monokai-distinct-fringe-background
                                              terminal-monokai-hl
terminal-monokai-bg))
       (terminal-s-mode-line-fg           (if
monokai-high-contrast-mode-line
                                              terminal-monokai-bg
terminal-monokai-fg))
       (terminal-s-mode-line-bg           (if
monokai-high-contrast-mode-line
                                              terminal-monokai-fg
terminal-monokai-hl))
       (terminal-s-mode-line-buffer-id-fg (if
monokai-high-contrast-mode-line
                                              'unspecified terminal-green))
       (terminal-s-mode-line-inactive-fg  (if
monokai-high-contrast-mode-line
                                              terminal-monokai-fg
terminal-monokai-comments))
       (terminal-s-mode-line-inactive-bg  (if
monokai-high-contrast-mode-line
                                              terminal-monokai-hl-line
terminal-monokai-bg))
       (terminal-s-mode-line-inactive-bc  (if
monokai-high-contrast-mode-line
                                              terminal-monokai-fg
terminal-monokai-hl)))

  ;; Define faces
  (custom-theme-set-faces
   'monokai
   `(header-line
     ((,class (:inverse-video unspecified
                              :underline unspecified
                              :foreground ,monokai-emph
                              :background ,monokai-hl
                              :box (:line-width 1
                                                :color ,monokai-hl
                                                :style unspecified)))
))

   )

  )

;;;###autoload
(when (and (boundp 'custom-theme-load-path) load-file-name)
  (add-to-list 'custom-theme-load-path
               (file-name-as-directory (file-name-directory
load-file-name))))

(provide-theme 'monokai)

;;; monokai-theme.el ends here

(defface helm-header-line-left-margin
  '((t (:foreground "black" :background "yellow")))
  "Face used to highlight helm-header sign in left-margin."
  :group 'helm-faces)

(setq header-line-format #("  " 0 1 (display #("->" 0 2 (face
helm-header-line-left-margin)))))

In GNU Emacs 25.0.92.1 (x86_64-apple-darwin15.3.0, NS appkit-1404.34
Version 10.11.3 (Build 15D21))
 of 2016-03-19 built on aaronmbp.local
Windowing system distributor 'Apple', version 10.3.1404
Configured using:
 'configure --prefix=/usr/local/Cellar/emacs/25.0.92
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs/25.0.92/share/info/emacs --with-xml2
 --without-dbus --with-gnutls --with-rsvg --with-imagemagick --with-ns
 --disable-ns-self-contained'

Configured features:
JPEG RSVG IMAGEMAGICK NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS
NS

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-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 messages:
Checking 57 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/eshell...
Checking 70 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/erc...
Checking 34 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/emulation...
Checking 168 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/emacs-lisp...
Checking 24 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/cedet...
Checking 57 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/calendar...
Checking 87 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/calc...
Checking 122 files in
/usr/local/Cellar/emacs/25.0.92/share/emacs/25.0.92/lisp/obsolete...
Checking for load-path shadows...done
Making completion list...

Load-path shadows:
None found.

Features:
(pp shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec epg epg-config gnus-util mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util help-fns help-mode easymenu cl-loaddefs pcase
cl-lib mail-prsvr mail-utils time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win ucs-normalize
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded 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
kqueue cocoa ns multi-tty make-network-process emacs)

Memory information:
((conses 16 197323 13014)
 (symbols 48 19546 0)
 (miscs 40 49 268)
 (strings 32 15127 5240)
 (string-bytes 1 436426)
 (vectors 16 33460)
 (vector-slots 8 644859 11240)
 (floats 8 160 241)
 (intervals 56 325 145)
 (buffers 976 14))

-- 
Aaron