bug#26586: 25.1; header-line-format spins cpu

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Aaron Jensen
With emacs -Q, executing:

(setq header-line-format '(#("*
[[elisp:(org-projectile:open-project%20\"foobar\")][xxxxxxxxxx]]" 0 1
(face org-indent) 2 51 (wrap-prefix #("* " 0 2 (face org-indent))
line-prefix "" htmlize-link (:uri "nil:nil") help-echo "LINK:
elisp:(org-projectile:open-project \"foobar\")" font-lock-multiline t
mouse-face highlight keymap (keymap (follow-link . mouse-face)
(mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
invisible org-link face org-link fontified t) 51 52 (wrap-prefix #("*
" 0 2 (face org-indent)) line-prefix "" rear-nonsticky (mouse-face
highlight keymap invisible intangible help-echo org-linked-text
htmlize-link) htmlize-link (:uri "nil:nil") help-echo "LINK:
elisp:(org-projectile:open-project \"foobar\")" font-lock-multiline t
mouse-face highlight keymap (keymap (follow-link . mouse-face)
(mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
invisible org-link face org-link fontified t) 52 61 (wrap-prefix #("*
" 0 2 (face org-indent)) line-prefix "" htmlize-link (:uri "nil:nil")
help-echo "LINK: elisp:(org-projectile:open-project \"foobar\")"
font-lock-multiline t mouse-face highlight keymap (keymap (follow-link
. mouse-face) (mouse-3 . org-find-file-at-mouse) (mouse-2 .
org-open-at-mouse)) face org-link fontified t) 61 62 (wrap-prefix #("*
" 0 2 (face org-indent)) line-prefix "" rear-nonsticky (mouse-face
highlight keymap invisible intangible help-echo org-linked-text
htmlize-link) htmlize-link (:uri "nil:nil") help-echo "LINK:
elisp:(org-projectile:open-project \"foobar\")" font-lock-multiline t
mouse-face highlight keymap (keymap (follow-link . mouse-face)
(mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse)) face
org-link fontified t) 62 63 (wrap-prefix #("* " 0 2 (face org-indent))
line-prefix "" htmlize-link (:uri "nil:nil") help-echo "LINK:
elisp:(org-projectile:open-project \"foobar\")" font-lock-multiline t
mouse-face highlight keymap (keymap (follow-link . mouse-face)
(mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
invisible org-link face org-link fontified t) 63 64 (wrap-prefix #("*
" 0 2 (face org-indent)) line-prefix "" rear-nonsticky (mouse-face
highlight keymap invisible intangible help-echo org-linked-text
htmlize-link) htmlize-link (:uri "nil:nil") help-echo "LINK:
elisp:(org-projectile:open-project \"foobar\")" font-lock-multiline t
mouse-face highlight keymap (keymap (follow-link . mouse-face)
(mouse-3 . org-find-file-at-mouse) (mouse-2 . org-open-at-mouse))
invisible org-link face org-link fontified t))))

Spins the CPU 100% until I kill emacs.

Here is the spin log from macos:

Command:         Emacs
Path:
/usr/local/Cellar/emacs-plus/25.1/Emacs.app/Contents/MacOS/Emacs
  101  main + 5134 (Emacs + 648602) [0x10009e59a]
  101  Frecursive_edit + 219 (Emacs + 652636) [0x10009f55c]
  101  recursive_edit_1 + 113 (Emacs + 652103) [0x10009f347]
  101  command_loop + 156 (Emacs + 652325) [0x10009f425]
  101  internal_catch + 54 (Emacs + 1062393) [0x1001035f9]
  101  command_loop_2 + 37 (Emacs + 704740) [0x1000ac0e4]
  101  internal_condition_case + 70 (Emacs + 1063437) [0x100103a0d]
  101  command_loop_1 + 742 (Emacs + 654850) [0x10009fe02]
  101  read_key_sequence + 2115 (Emacs + 660591) [0x1000a146f]
  101  read_char + 534 (Emacs + 667140) [0x1000a2e04]
  101  redisplay_internal + 5154 (Emacs + 156975) [0x10002652f]
  101  redisplay_windows + 137 (Emacs + 282089) [0x100044de9]
  101  internal_condition_case_1 + 76 (Emacs + 1063535) [0x100103a6f]
  101  redisplay_window_0 + 38 (Emacs + 284397) [0x1000456ed]
  101  redisplay_window + 16085 (Emacs + 300486) [0x1000495c6]
  101  display_mode_lines + 516 (Emacs + 275171) [0x1000432e3]
  101  display_mode_line + 248 (Emacs + 109951) [0x10001ad7f]
  101  display_mode_element + 1018 (Emacs + 186085) [0x10002d6e5]
  101  display_mode_element + 811 (Emacs + 185878) [0x10002d616]
  101  display_mode_element + 6667 (Emacs + 191734) [0x10002ecf6]
  101  display_string + 1452 (Emacs + 182717) [0x10002c9bd]
  101  get_next_display_element + 48 (Emacs + 111816) [0x10001b4c8]
  101  next_element_from_string + 447 (Emacs + 269943) [0x100041e77]
  101  handle_stop + 104 (Emacs + 256399) [0x10003e98f]
  98   handle_invisible_prop + 943 (Emacs + 261063) [0x10003fbc7]
  24   bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb]
  10   bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465]
  2    bidi_cache_search + 59 (Emacs + 561315) [0x1000890a3] (running)
Process:         Emacs [83600]
Path:
/usr/local/Cellar/emacs-plus/25.1/Emacs.app/Contents/MacOS/Emacs
    101  main + 5134 (Emacs + 648602) [0x10009e59a] 1-101
      101  Frecursive_edit + 219 (Emacs + 652636) [0x10009f55c] 1-101
        101  recursive_edit_1 + 113 (Emacs + 652103) [0x10009f347] 1-101
          101  command_loop + 156 (Emacs + 652325) [0x10009f425] 1-101
            101  internal_catch + 54 (Emacs + 1062393) [0x1001035f9] 1-101
              101  command_loop_2 + 37 (Emacs + 704740) [0x1000ac0e4] 1-101
                101  internal_condition_case + 70 (Emacs + 1063437)
[0x100103a0d] 1-101
                  101  command_loop_1 + 742 (Emacs + 654850) [0x10009fe02] 1-101
                    101  read_key_sequence + 2115 (Emacs + 660591)
[0x1000a146f] 1-101
                      101  read_char + 534 (Emacs + 667140) [0x1000a2e04] 1-101
                        101  redisplay_internal + 5154 (Emacs +
156975) [0x10002652f] 1-101
                          101  redisplay_windows + 137 (Emacs +
282089) [0x100044de9] 1-101
                            101  internal_condition_case_1 + 76 (Emacs
+ 1063535) [0x100103a6f] 1-101
                              101  redisplay_window_0 + 38 (Emacs +
284397) [0x1000456ed] 1-101
                                101  redisplay_window + 16085 (Emacs +
300486) [0x1000495c6] 1-101
                                  101  display_mode_lines + 516 (Emacs
+ 275171) [0x1000432e3] 1-101
                                    101  display_mode_line + 248
(Emacs + 109951) [0x10001ad7f] 1-101
                                      101  display_mode_element + 1018
(Emacs + 186085) [0x10002d6e5] 1-101
                                        101  display_mode_element +
811 (Emacs + 185878) [0x10002d616] 1-101
                                          101  display_mode_element +
6667 (Emacs + 191734) [0x10002ecf6] 1-101
                                            101  display_string + 1452
(Emacs + 182717) [0x10002c9bd] 1-101
                                              101
get_next_display_element + 48 (Emacs + 111816) [0x10001b4c8] 1-101
                                                101
next_element_from_string + 447 (Emacs + 269943) [0x100041e77] 1-101
                                                  101  handle_stop +
104 (Emacs + 256399) [0x10003e98f] 1-101
                                                    1
handle_invisible_prop + 935 (Emacs + 261055) [0x10003fbbf] (running) 1
                                                    11
handle_invisible_prop + 943 (Emacs + 261063) [0x10003fbc7] 2-12
                                                      1
bidi_move_to_visually_next + 131 (Emacs + 553490) [0x100087212]
(running) 2
                                                      2
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 3-4
                                                        1
bidi_cache_iterator_state + 373 (Emacs + 554408) [0x1000875a8]
(running) 3
                                                        1
bidi_cache_iterator_state + 23 (Emacs + 554058) [0x10008744a]
(running) 4
                                                      1
bidi_move_to_visually_next + 52 (Emacs + 553411) [0x1000871c3]
(running) 5
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 6
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 7
                                                        1
bidi_cache_iterator_state + 451 (Emacs + 554486) [0x1000875f6]
(running) 7
                                                      1
bidi_line_init + 0 (Emacs + 553176) [0x1000870d8] (running) 8
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 9
                                                        1
bidi_cache_iterator_state + 491 (Emacs + 554526) [0x10008761e]
(running) 9
                                                      3
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 10-12
                                                    1
handle_invisible_prop + 935 (Emacs + 261055) [0x10003fbbf] (running)
13
                                                    10
handle_invisible_prop + 943 (Emacs + 261063) [0x10003fbc7] 14-23
                                                      1
bidi_move_to_visually_next + 421 (Emacs + 553780) [0x100087334]
(running) 14
                                                      1
bidi_move_to_visually_next + 357 (Emacs + 553716) [0x1000872f4]
(running) 15
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 16
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 17
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 17
                                                          1
bidi_cache_search + 59 (Emacs + 561315) [0x1000890a3] (running) 17
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 18
                                                        1
bidi_cache_search + 1 (Emacs + 561257) [0x100089069] (running) 18
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 19
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 20
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 20
                                                          1
bidi_cache_search + 182 (Emacs + 561438) [0x10008911e] (running) 20
                                                      1
bidi_move_to_visually_next + 234 (Emacs + 553593) [0x100087279] 21
                                                        1
bidi_level_of_next_char + 20 (Emacs + 554555) [0x10008763b] (running)
21
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 22
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 23
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 23
                                                          1
bidi_cache_search + 216 (Emacs + 561472) [0x100089140] (running) 23
                                                    1
handle_invisible_prop + 935 (Emacs + 261055) [0x10003fbbf] (running)
24
                                                    77
handle_invisible_prop + 943 (Emacs + 261063) [0x10003fbc7] 25-101
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 25
                                                        1
bidi_cache_iterator_state + 484 (Emacs + 554519) [0x100087617]
(running) 25
                                                      2
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 26-27
                                                        1
bidi_cache_iterator_state + 373 (Emacs + 554408) [0x1000875a8]
(running) 26
                                                        1
bidi_cache_iterator_state + 121 (Emacs + 554156) [0x1000874ac]
(running) 27
                                                      1
bidi_level_of_next_char + 1 (Emacs + 554536) [0x100087628] (running)
28
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 29
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 29
                                                          1
bidi_cache_search + 139 (Emacs + 561395) [0x1000890f3] (running) 29
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 31
                                                        1
bidi_cache_iterator_state + 431 (Emacs + 554466) [0x1000875e2]
(running) 31
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 32
                                                      1
bidi_move_to_visually_next + 394 (Emacs + 553753) [0x100087319]
(running) 33
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 34
                                                      1
bidi_move_to_visually_next + 234 (Emacs + 553593) [0x100087279] 35
                                                        1
bidi_level_of_next_char + 1766 (Emacs + 556301) [0x100087d0d]
(running) 35
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 36
                                                        1
bidi_cache_iterator_state + 101 (Emacs + 554136) [0x100087498]
(running) 36
                                                      2
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 37-38
                                                        1
bidi_cache_iterator_state + 141 (Emacs + 554176) [0x1000874c0]
(running) 37
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 39
                                                        1
bidi_cache_iterator_state + 401 (Emacs + 554436) [0x1000875c4]
(running) 39
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 40
                                                        1
bidi_cache_iterator_state + 307 (Emacs + 554342) [0x100087566] 40
                                                      1
bidi_move_to_visually_next + 234 (Emacs + 553593) [0x100087279] 41
                                                        1
bidi_level_of_next_char + 1265 (Emacs + 555800) [0x100087b18]
(running) 41
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 42
                                                        1
bidi_cache_iterator_state + 133 (Emacs + 554168) [0x1000874b8]
(running) 42
                                                      1
bidi_move_to_visually_next + 226 (Emacs + 553585) [0x100087271]
(running) 43
                                                      1
bidi_move_to_visually_next + 584 (Emacs + 553943) [0x1000873d7]
(running) 44
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 45
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 45
                                                          1
bidi_cache_search + 217 (Emacs + 561473) [0x100089141] (running) 45
                                                      1
bidi_move_to_visually_next + 52 (Emacs + 553411) [0x1000871c3]
(running) 46
                                                      1
bidi_move_to_visually_next + 421 (Emacs + 553780) [0x100087334] 47
                                                      2
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 48-49
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 48
                                                          1
bidi_cache_search + 59 (Emacs + 561315) [0x1000890a3] (running) 48
                                                        1
bidi_cache_iterator_state + 14 (Emacs + 554049) [0x100087441]
(running) 49
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 51
                                                        1
bidi_cache_iterator_state + 45 (Emacs + 554080) [0x100087460]
(running) 51
                                                      1
bidi_move_to_visually_next + 226 (Emacs + 553585) [0x100087271]
(running) 52
                                                      1
bidi_move_to_visually_next + 349 (Emacs + 553708) [0x1000872ec]
(running) 53
                                                      1
bidi_move_to_visually_next + 28 (Emacs + 553387) [0x1000871ab]
(running) 54
                                                      2
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 55-56
                                                        1
bidi_cache_iterator_state + 422 (Emacs + 554457) [0x1000875d9]
(running) 55
                                                        1
bidi_cache_iterator_state + 307 (Emacs + 554342) [0x100087566] 56
                                                      1
bidi_move_to_visually_next + 449 (Emacs + 553808) [0x100087350]
(running) 57
                                                      1
bidi_cache_iterator_state + 1 (Emacs + 554036) [0x100087434] (running)
59
                                                      1
bidi_move_to_visually_next + 234 (Emacs + 553593) [0x100087279] 60
                                                        1
bidi_level_of_next_char + 8 (Emacs + 554543) [0x10008762f] (running)
60
                                                      1
bidi_move_to_visually_next + 97 (Emacs + 553456) [0x1000871f0] 61
                                                        1
bidi_line_init + 63 (Emacs + 553239) [0x100087117] (running) 61
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 62
                                                        1
bidi_cache_iterator_state + 56 (Emacs + 554091) [0x10008746b]
(running) 62
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 63
                                                      2
bidi_move_to_visually_next + 97 (Emacs + 553456) [0x1000871f0] 64-65
                                                        2
bidi_line_init + 174 (Emacs + 553350) [0x100087186] (running) 64-65
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 66
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 66
                                                          1
bidi_cache_search + 139 (Emacs + 561395) [0x1000890f3] (running) 66
                                                      1
bidi_level_of_next_char + 1 (Emacs + 554536) [0x100087628] (running)
67
                                                      1
bidi_cache_iterator_state + 0 (Emacs + 554035) [0x100087433] (running)
68
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 69
                                                        1
bidi_cache_iterator_state + 79 (Emacs + 554114) [0x100087482]
(running) 69
                                                      1
bidi_move_to_visually_next + 97 (Emacs + 553456) [0x1000871f0] 70
                                                        1
bidi_line_init + 4 (Emacs + 553180) [0x1000870dc] (running) 70
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 71
                                                      2
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 72-73
                                                        1
bidi_cache_iterator_state + 299 (Emacs + 554334) [0x10008755e]
(running) 72
                                                        1
bidi_cache_search + 1 (Emacs + 561257) [0x100089069] (running) 73
                                                      1
bidi_move_to_visually_next + 394 (Emacs + 553753) [0x100087319]
(running) 74
                                                      2
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 75-76
                                                        1
bidi_cache_iterator_state + 53 (Emacs + 554088) [0x100087468]
(running) 75
                                                        1
bidi_cache_iterator_state + 6 (Emacs + 554041) [0x100087439] (running)
76
                                                      1
bidi_move_to_visually_next + 97 (Emacs + 553456) [0x1000871f0] 77
                                                        1
bidi_line_init + 156 (Emacs + 553332) [0x100087174] (running) 77
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 79
                                                        1
bidi_cache_iterator_state + 484 (Emacs + 554519) [0x100087617]
(running) 79
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 80
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 81
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 81
                                                          1
bidi_cache_search + 12 (Emacs + 561268) [0x100089074] (running) 81
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 82
                                                      1
bidi_move_to_visually_next + 234 (Emacs + 553593) [0x100087279] 83
                                                        1
bidi_level_of_next_char + 58 (Emacs + 554593) [0x100087661] (running)
83
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 84
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 84
                                                          1
bidi_cache_search + 216 (Emacs + 561472) [0x100089140] (running) 84
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 85
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 86
                                                        1
bidi_cache_iterator_state + 288 (Emacs + 554323) [0x100087553]
(running) 86
                                                      1
bidi_move_to_visually_next + 234 (Emacs + 553593) [0x100087279] 87
                                                        1
bidi_level_of_next_char + 58 (Emacs + 554593) [0x100087661] (running)
87
                                                      1
bidi_move_to_visually_next + 6 (Emacs + 553365) [0x100087195]
(running) 88
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 89
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 89
                                                          1
bidi_cache_search + 161 (Emacs + 561417) [0x100089109] (running) 89
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 90
                                                        1
bidi_cache_iterator_state + 464 (Emacs + 554499) [0x100087603]
(running) 90
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 91
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 91
                                                          1
bidi_cache_search + 19 (Emacs + 561275) [0x10008907b] (running) 91
                                                      1
bidi_move_to_visually_next + 234 (Emacs + 553593) [0x100087279] 92
                                                        1
bidi_level_of_next_char + 36 (Emacs + 554571) [0x10008764b] (running)
92
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 93
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 94
                                                      1
bidi_move_to_visually_next + 572 (Emacs + 553931) [0x1000873cb] 95
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 95
                                                          1
bidi_cache_search + 4 (Emacs + 561260) [0x10008906c] (running) 95
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 96
                                                        1
bidi_cache_iterator_state + 50 (Emacs + 554085) [0x100087465] 96
                                                          1
bidi_cache_search + 217 (Emacs + 561473) [0x100089141] (running) 96
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 97
                                                      1
bidi_move_to_visually_next + 28 (Emacs + 553387) [0x1000871ab]
(running) 98
                                                      1
bidi_move_to_visually_next + 104 (Emacs + 553463) [0x1000871f7]
(running) 99
                                                      1
bidi_move_to_visually_next + 146 (Emacs + 553505) [0x100087221] 100
                                                      1
bidi_move_to_visually_next + 221 (Emacs + 553580) [0x10008726c] 101
                                                        1
bidi_cache_iterator_state + 491 (Emacs + 554526) [0x10008761e]
(running) 101
           0x100000000 -        0x1001c7fff  org.gnu.Emacs Version
25.1 (9.0)        <2CC2F7D2-C29A-3D70-BD86-D99A2D410D6A>
/usr/local/Cellar/emacs-plus/25.1/Emacs.app/Contents/MacOS/Emacs
Parent:          Emacs [83600]
Responsible:     Emacs [83600]
Responsible:     Emacs [83600]



In GNU Emacs 25.1.1 (x86_64-apple-darwin16.6.0, NS appkit-1504.83
Version 10.12.5 (Build 16F60a))
 of 2017-04-20 built on aaronmbp.local
Windowing system distributor 'Apple', version 10.3.1504
Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs-plus/25.1/share/info/emacs
 --prefix=/usr/local/Cellar/emacs-plus/25.1 --with-xml2 --without-dbus
 --with-gnutls --with-imagemagick --with-modules --with-rsvg --with-ns
 --disable-ns-self-contained'

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

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: Lisp Interaction

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:
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list...

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec password-cache 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 195868 7848)
 (symbols 48 19606 0)
 (miscs 40 51 204)
 (strings 32 15069 5484)
 (string-bytes 1 437664)
 (vectors 16 32844)
 (vector-slots 8 650068 5501)
 (floats 8 160 31)
 (intervals 56 225 0)
 (buffers 976 19))



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Eli Zaretskii
> From: Aaron Jensen <[hidden email]>
> Date: Thu, 20 Apr 2017 23:17:22 -0700
>
> With emacs -Q, executing:
>
> (setq header-line-format '(#("*
> [[elisp:(org-projectile:open-project%20\"foobar\")][xxxxxxxxxx]]" 0 1

Can you please show the Lisp code which generates this
header-line-format?

Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Eli Zaretskii
In reply to this post by Aaron Jensen
> From: Aaron Jensen <[hidden email]>
> Date: Thu, 20 Apr 2017 23:17:22 -0700
>
> With emacs -Q, executing:
>
> (setq header-line-format '(#("*
> [[elisp:(org-projectile:open-project%20\"foobar\")][xxxxxxxxxx]]" 0 1
> [...]
> Spins the CPU 100% until I kill emacs.

You are shooting yourself in the foot by having that "%20" in the
header-line-format.  Percent sign is special in mode-line and
header-line formats: it indicates a %-construct, see the node
"%-Constructs" in the ELisp manual.

I fixed the code to avoid the infloop in this case, but you should fix
your code, because the result will not be what you probably expect.

Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Aaron Jensen
Thanks for the quick fix and the info!

The code generating it was org-sticky-header
https://github.com/alphapapa/org-sticky-header/blob/master/org-sticky-header.el

I was investigating and infinite loop reported here:

https://github.com/alphapapa/org-sticky-header/issues/4

The org file that triggers the bug is:

* [[elisp:(org-projectile:open-project%20"foobar")][xxxxxxxxxx]]

which is generated by org-projectile

So, I'm guessing that org-sticky-header needs to escape or remove
elisp links before turning org headlines into a header?


On Fri, Apr 21, 2017 at 1:15 AM, Eli Zaretskii <[hidden email]> wrote:

>> From: Aaron Jensen <[hidden email]>
>> Date: Thu, 20 Apr 2017 23:17:22 -0700
>>
>> With emacs -Q, executing:
>>
>> (setq header-line-format '(#("*
>> [[elisp:(org-projectile:open-project%20\"foobar\")][xxxxxxxxxx]]" 0 1
>> [...]
>> Spins the CPU 100% until I kill emacs.
>
> You are shooting yourself in the foot by having that "%20" in the
> header-line-format.  Percent sign is special in mode-line and
> header-line formats: it indicates a %-construct, see the node
> "%-Constructs" in the ELisp manual.
>
> I fixed the code to avoid the infloop in this case, but you should fix
> your code, because the result will not be what you probably expect.
>
> Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Eli Zaretskii
> From: Aaron Jensen <[hidden email]>
> Date: Fri, 21 Apr 2017 07:29:00 -0700
> Cc: [hidden email]
>
> The code generating it was org-sticky-header
> https://github.com/alphapapa/org-sticky-header/blob/master/org-sticky-header.el
>
> I was investigating and infinite loop reported here:
>
> https://github.com/alphapapa/org-sticky-header/issues/4
>
> The org file that triggers the bug is:
>
> * [[elisp:(org-projectile:open-project%20"foobar")][xxxxxxxxxx]]
>
> which is generated by org-projectile

Thanks for the info.

> So, I'm guessing that org-sticky-header needs to escape or remove
> elisp links before turning org headlines into a header?

Yes, definitely.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Aaron Jensen
On Fri, Apr 21, 2017 at 7:51 AM, Eli Zaretskii <[hidden email]> wrote:
>> So, I'm guessing that org-sticky-header needs to escape or remove
>> elisp links before turning org headlines into a header?
>
> Yes, definitely.

Thanks. Maybe the author knows how, but for my benefit, how would I
escape %'s in a propertized string while maintaining properties? I
tried replace-regexp-in-string but that seems like it stripped the
properties (so my % became visible in the status line).



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Eli Zaretskii
> From: Aaron Jensen <[hidden email]>
> Date: Fri, 21 Apr 2017 08:34:21 -0700
> Cc: [hidden email]
>
> On Fri, Apr 21, 2017 at 7:51 AM, Eli Zaretskii <[hidden email]> wrote:
> >> So, I'm guessing that org-sticky-header needs to escape or remove
> >> elisp links before turning org headlines into a header?
> >
> > Yes, definitely.
>
> Thanks. Maybe the author knows how, but for my benefit, how would I
> escape %'s in a propertized string while maintaining properties?

You need to replace % with %%, and then put the property on the
result.  Or make the replacement string have the property.  I think.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Aaron Jensen
On Fri, Apr 21, 2017 at 10:31 AM, Eli Zaretskii <[hidden email]> wrote:
> You need to replace % with %%, and then put the property on the
> result.  Or make the replacement string have the property.  I think.

Right, the tricky bit is matching the properties that the % had. It
could either be in a link, or a headline itself, or... so we'd need a
way of scanning the string and replacing the % while maintaining
whatever properties it had.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Andreas Schwab-2
On Apr 21 2017, Aaron Jensen <[hidden email]> wrote:

> Right, the tricky bit is matching the properties that the % had. It
> could either be in a link, or a headline itself, or... so we'd need a
> way of scanning the string and replacing the % while maintaining
> whatever properties it had.

It's probably easier to reference the string indirectly through a
symbol, since that will suppress % handling.

Andreas.

--
Andreas Schwab, [hidden email]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Eli Zaretskii
In reply to this post by Aaron Jensen
> From: Aaron Jensen <[hidden email]>
> Date: Fri, 21 Apr 2017 11:01:59 -0700
> Cc: [hidden email]
>
> On Fri, Apr 21, 2017 at 10:31 AM, Eli Zaretskii <[hidden email]> wrote:
> > You need to replace % with %%, and then put the property on the
> > result.  Or make the replacement string have the property.  I think.
>
> Right, the tricky bit is matching the properties that the % had.

Doesn't text-properties-at fit the bill?



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Aaron Jensen
On Fri, Apr 21, 2017 at 11:47 AM, Eli Zaretskii <[hidden email]> wrote:

>> From: Aaron Jensen <[hidden email]>
>> Date: Fri, 21 Apr 2017 11:01:59 -0700
>> Cc: [hidden email]
>>
>> On Fri, Apr 21, 2017 at 10:31 AM, Eli Zaretskii <[hidden email]> wrote:
>> > You need to replace % with %%, and then put the property on the
>> > result.  Or make the replacement string have the property.  I think.
>>
>> Right, the tricky bit is matching the properties that the % had.
>
> Doesn't text-properties-at fit the bill?

I'm sure it would, yeah. I'm new to string manipulation in emacs, so I
was just having a hard time imagining what it would take to build the
equivalent of replace-regexp-in-string that also copied symbols, but I
can just look at the source of  replace-regexp-in-string and use
text-properties-at probably. Any way, I'll probably let the author
figure it out :) Thanks!



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Aaron Jensen
In reply to this post by Andreas Schwab-2
On Fri, Apr 21, 2017 at 11:32 AM, Andreas Schwab <[hidden email]> wrote:
> On Apr 21 2017, Aaron Jensen <[hidden email]> wrote:
>
>> Right, the tricky bit is matching the properties that the % had. It
>> could either be in a link, or a headline itself, or... so we'd need a
>> way of scanning the string and replacing the % while maintaining
>> whatever properties it had.
>
> It's probably easier to reference the string indirectly through a
> symbol, since that will suppress % handling.

Could you give an example of this? I'm not sure how to do this with
header-line-format.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Eli Zaretskii
> From: Aaron Jensen <[hidden email]>
> Date: Sat, 22 Apr 2017 07:40:45 -0700
> Cc: Eli Zaretskii <[hidden email]>, [hidden email]
>
> On Fri, Apr 21, 2017 at 11:32 AM, Andreas Schwab <[hidden email]> wrote:
> > It's probably easier to reference the string indirectly through a
> > symbol, since that will suppress % handling.
>
> Could you give an example of this? I'm not sure how to do this with
> header-line-format.

I think you can find many examples in bindings.el, where we set up the
mode-line format.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#26586: 25.1; header-line-format spins cpu

Aaron Jensen
On Sat, Apr 22, 2017 at 7:50 AM, Eli Zaretskii <[hidden email]> wrote:
> I think you can find many examples in bindings.el, where we set up the
> mode-line format.

Thank you, I was able to get this working and have pull-requested back
to org-sticky-header. I appreciate all the help and quick responses!



Loading...