unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#23091: 25.0.92; :box face hang regression
@ 2016-03-22 14:38 Aaron Jensen
  2016-03-22 15:00 ` Phillip Lord
  2016-03-22 18:21 ` Eli Zaretskii
  0 siblings, 2 replies; 5+ messages in thread
From: Aaron Jensen @ 2016-03-22 14:38 UTC (permalink / raw)
  To: 23091

[-- Attachment #1: Type: text/plain, Size: 13975 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 20396 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#23091: 25.0.92; :box face hang regression
  2016-03-22 14:38 bug#23091: 25.0.92; :box face hang regression Aaron Jensen
@ 2016-03-22 15:00 ` Phillip Lord
  2016-03-22 18:21 ` Eli Zaretskii
  1 sibling, 0 replies; 5+ messages in thread
From: Phillip Lord @ 2016-03-22 15:00 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 23091



Aaron Jensen <aaronjensen@gmail.com> writes:

> 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.


I've replicated this bug. It does require all of the elements given.
Depending on the order of evaluation, it can lead to an instant hang, or
it can result in a slightly more gradual slow down.

Emacs is not actually hung -- it's running at 100% CPU. I've tried
debugging, and Emacs seems to be running through parts of the display
code.

Phil





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#23091: 25.0.92; :box face hang regression
  2016-03-22 14:38 bug#23091: 25.0.92; :box face hang regression Aaron Jensen
  2016-03-22 15:00 ` Phillip Lord
@ 2016-03-22 18:21 ` Eli Zaretskii
  2016-03-29 22:39   ` Phillip Lord
  1 sibling, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2016-03-22 18:21 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 23091-done

> From: Aaron Jensen <aaronjensen@gmail.com>
> 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.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#23091: 25.0.92; :box face hang regression
  2016-03-22 18:21 ` Eli Zaretskii
@ 2016-03-29 22:39   ` Phillip Lord
  2016-03-30  0:06     ` Aaron Jensen
  0 siblings, 1 reply; 5+ messages in thread
From: Phillip Lord @ 2016-03-29 22:39 UTC (permalink / raw)
  To: 23091; +Cc: aaronjensen

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Aaron Jensen <aaronjensen@gmail.com>
>> 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 for fixing this!

Phil





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#23091: 25.0.92; :box face hang regression
  2016-03-29 22:39   ` Phillip Lord
@ 2016-03-30  0:06     ` Aaron Jensen
  0 siblings, 0 replies; 5+ messages in thread
From: Aaron Jensen @ 2016-03-30  0:06 UTC (permalink / raw)
  To: 23091, eliz; +Cc: Phillip Lord


[-- Attachment #1.1: Type: text/plain, Size: 816 bytes --]

Agreed, thanks for the quick fix.

Aaron

On Tue, Mar 29, 2016 at 3:39 PM Phillip Lord

<
mailto:Phillip Lord <phillip.lord@russet.org.uk>
> wrote:

Eli Zaretskii <
mailto:eliz@gnu.org
> writes:

>> From: Aaron Jensen <
mailto:aaronjensen@gmail.com
>

>> 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 for fixing this!

Phil

[-- Attachment #1.2: Type: text/html, Size: 1242 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-03-30  0:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-22 14:38 bug#23091: 25.0.92; :box face hang regression Aaron Jensen
2016-03-22 15:00 ` Phillip Lord
2016-03-22 18:21 ` Eli Zaretskii
2016-03-29 22:39   ` Phillip Lord
2016-03-30  0:06     ` Aaron Jensen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).