all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute
@ 2018-03-19  3:39 Aaron Jensen
  2018-03-19  3:50 ` bug#30852: (27.0.50; infinite loop in internal-get-lisp-face-attribute) Aaron Jensen
  2018-03-19  6:54 ` bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute Eli Zaretskii
  0 siblings, 2 replies; 5+ messages in thread
From: Aaron Jensen @ 2018-03-19  3:39 UTC (permalink / raw)
  To: 30852


This could be a bug in a package: eterm-256color but I wanted to report
it in case it's an emacs bug.

0. Install https://github.com/dieggsy/eterm-256color devel branch
1. emacs -Q
2. (require 'eterm-256color-mode)
3. (add-hook 'term-mode-hook #'eterm-256color-mode)
4. M-x ansi-term

It's possible that you'll need a color prompt to trigger the inf loop,
I'm not sure.

Here is the trace of where it is stuck:

internal-get-lisp-face-attribute
face-attribute
face-foreground
unknown
mapcar
eterm-256color-handle-colors
unknown
unknown
eterm-256color-handle-ansi-escape
apply
term-handle-ansi-escape
term-emulate-terminal

via:

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00000001002a29bd emacs`assq_no_quit(key=0x000000000204ed50, list=0x00000001152f10f3) at fns.c:1422
    frame #1: 0x000000010016a4d3 emacs`lface_from_face_name_no_resolve(f=0x0000000105008bb0, face_name=0x000000000204ed50, signal_p=true) at xfaces.c:1859
    frame #2: 0x000000010015f372 emacs`lface_from_face_name(f=0x0000000105008bb0, face_name=0x000000000204ed50, signal_p=true) at xfaces.c:1884
    frame #3: 0x000000010016309c emacs`Finternal_get_lisp_face_attribute(symbol=0x000000000204ed50, keyword=0x0000000000000a50, frame=0x0000000000000000) at xfaces.c:3589
    frame #4: 0x0000000100299c01 emacs`funcall_subr(subr=0x0000000100454e80, numargs=3, args=0x00007ffeefbf4420) at eval.c:2901
    frame #5: 0x000000010029890d emacs`Ffuncall(nargs=4, args=0x00007ffeefbf4418) at eval.c:2821
    frame #6: 0x0000000100322d7a emacs`exec_byte_code(bytestr=0x00000001004c3b1c, vector=0x00000001004c3b3d, maxdepth=0x000000000000002e, args_template=0x000000000000100a, nargs=4, args=0x00007ffeefbf4f78) at bytecode.c:632
    frame #7: 0x000000010029a014 emacs`funcall_lambda(fun=0x00000001004c3aed, nargs=4, arg_vector=0x00007ffeefbf4f58) at eval.c:3022
    frame #8: 0x0000000100298955 emacs`Ffuncall(nargs=5, args=0x00007ffeefbf4f50) at eval.c:2823
    frame #9: 0x0000000100322d7a emacs`exec_byte_code(bytestr=0x00000001004c3cdc, vector=0x00000001004c3cfd, maxdepth=0x0000000000000022, args_template=0x0000000000000c06, nargs=3, args=0x00007ffeefbf5a40) at bytecode.c:632
    frame #10: 0x000000010029a014 emacs`funcall_lambda(fun=0x00000001004c3cad, nargs=3, arg_vector=0x00007ffeefbf5a28) at eval.c:3022
    frame #11: 0x0000000100298955 emacs`Ffuncall(nargs=4, args=0x00007ffeefbf5a20) at eval.c:2823
    frame #12: 0x0000000100322d7a emacs`exec_byte_code(bytestr=0x0000000101fc6e04, vector=0x00000001174e1815, maxdepth=0x0000000000000016, args_template=0x0000000000000406, nargs=1, args=0x00007ffeefbf64f8) at bytecode.c:632
    frame #13: 0x000000010029a014 emacs`funcall_lambda(fun=0x0000000117951dc5, nargs=1, arg_vector=0x00007ffeefbf64f0) at eval.c:3022
    frame #14: 0x0000000100298955 emacs`Ffuncall(nargs=2, args=0x00007ffeefbf64e8) at eval.c:2823
    frame #15: 0x0000000100299414 emacs`call1(fn=0x0000000117951dc5, arg1=0x000000000204ed50) at eval.c:2672
    frame #16: 0x00000001002b123c emacs`mapcar1(leni=8, vals=0x00007ffeefbf65b0, fn=0x0000000117951dc5, seq=0x000000010223c215) at fns.c:2449
    frame #17: 0x00000001002b55ff emacs`Fmapcar(function=0x0000000117951dc5, sequence=0x000000010223c215) at fns.c:2538
    frame #18: 0x0000000100299bce emacs`funcall_subr(subr=0x00000001007b7038, numargs=2, args=0x00007ffeefbf6be0) at eval.c:2898
    frame #19: 0x000000010029890d emacs`Ffuncall(nargs=3, args=0x00007ffeefbf6bd8) at eval.c:2821
    frame #20: 0x0000000100322d7a emacs`exec_byte_code(bytestr=0x0000000101fc6e24, vector=0x0000000115f3d805, maxdepth=0x000000000000002a, args_template=0x0000000000000806, nargs=1, args=0x00007ffeefbf77f8) at bytecode.c:632
    frame #21: 0x000000010029a014 emacs`funcall_lambda(fun=0x0000000116741ba5, nargs=1, arg_vector=0x00007ffeefbf77f0) at eval.c:3022
    frame #22: 0x0000000100298955 emacs`Ffuncall(nargs=2, args=0x00007ffeefbf77e8) at eval.c:2823
    frame #23: 0x0000000100322d7a emacs`exec_byte_code(bytestr=0x0000000101fc6ea4, vector=0x000000011671b435, maxdepth=0x0000000000000012, args_template=0x000000000000080a, nargs=2, args=0x00007ffeefbf82e8) at bytecode.c:632
    frame #24: 0x000000010029a014 emacs`funcall_lambda(fun=0x0000000118a1c9c5, nargs=2, arg_vector=0x00007ffeefbf82d8) at eval.c:3022
    frame #25: 0x0000000100298955 emacs`Ffuncall(nargs=3, args=0x00007ffeefbf82d0) at eval.c:2823
    frame #26: 0x0000000100322d7a emacs`exec_byte_code(bytestr=0x0000000101fc6ec4, vector=0x00000001174e17c5, maxdepth=0x000000000000003e, args_template=0x0000000000001416, nargs=5, args=0x00007ffeefbf8ed0) at bytecode.c:632
    frame #27: 0x000000010029a014 emacs`funcall_lambda(fun=0x000000011754f765, nargs=5, arg_vector=0x00007ffeefbf8ea8) at eval.c:3022
    frame #28: 0x0000000100298955 emacs`Ffuncall(nargs=6, args=0x00007ffeefbf8ea0) at eval.c:2823
    frame #29: 0x0000000100322d7a emacs`exec_byte_code(bytestr=0x0000000101fc7054, vector=0x0000000117995bd5, maxdepth=0x0000000000000046, args_template=0x0000000000000606, nargs=4, args=0x00007ffeefbf99d0) at bytecode.c:632
    frame #30: 0x000000010029a014 emacs`funcall_lambda(fun=0x0000000117951d95, nargs=4, arg_vector=0x00007ffeefbf99c8) at eval.c:3022
    frame #31: 0x0000000100298955 emacs`Ffuncall(nargs=5, args=0x00007ffeefbf99c0) at eval.c:2823
    frame #32: 0x00000001002986d0 emacs`Fapply(nargs=3, args=0x00007ffeefbfa338) at eval.c:2441
    frame #33: 0x0000000100299ac8 emacs`funcall_subr(subr=0x00000001007b5b68, numargs=3, args=0x00007ffeefbfa338) at eval.c:2876
    frame #34: 0x000000010029890d emacs`Ffuncall(nargs=4, args=0x00007ffeefbfa330) at eval.c:2821
    frame #35: 0x0000000100322d7a emacs`exec_byte_code(bytestr=0x0000000101c1282c, vector=0x0000000102b71675, maxdepth=0x0000000000000016, args_template=0x0000000000000202, nargs=3, args=0x00007ffeefbfae78) at bytecode.c:632
    frame #36: 0x000000010029a014 emacs`funcall_lambda(fun=0x000000010622cd45, nargs=3, arg_vector=0x00007ffeefbfae78) at eval.c:3022
    frame #37: 0x0000000100298955 emacs`Ffuncall(nargs=4, args=0x00007ffeefbfae70) at eval.c:2823
    frame #38: 0x0000000100322d7a emacs`exec_byte_code(bytestr=0x00000001121aa2b4, vector=0x00000001056107f5, maxdepth=0x000000000000006e, args_template=0x000000000000080a, nargs=2, args=0x00007ffeefbfbe58) at bytecode.c:632
    frame #39: 0x000000010029a014 emacs`funcall_lambda(fun=0x00000001055d1dc5, nargs=2, arg_vector=0x00007ffeefbfbe48) at eval.c:3022
    frame #40: 0x0000000100298955 emacs`Ffuncall(nargs=3, args=0x00007ffeefbfbe40) at eval.c:2823
    frame #41: 0x00000001002986d0 emacs`Fapply(nargs=2, args=0x00007ffeefbfc658) at eval.c:2441
    frame #42: 0x000000010027d775 emacs`apply1(fn=0x0000000001b071a0, arg=0x0000000115a135b3) at eval.c:2657
    frame #43: 0x0000000100342dd1 emacs`read_process_output_call(fun_and_args=0x0000000115a135a3) at process.c:5797
    frame #44: 0x00000001002899da emacs`internal_condition_case_1(bfun=(emacs`read_process_output_call at process.c:5796), arg=0x0000000115a135a3, handlers=0x0000000000004920, hfun=(emacs`read_process_output_error_handler at process.c:5802)) at eval.c:1356
    frame #45: 0x0000000100342d5c emacs`read_and_dispose_of_process_output(p=0x0000000115f3dc00, chars="\x1b[1m\x1b[7m%\x1b[27m\x1b[1m\x1b[m                                                                                                                                                                                      \r \r", nbytes=206, coding=0x0000000119c0da30) at process.c:6008
    frame #46: 0x000000010033d271 emacs`read_process_output(proc=0x0000000115f3dc05, channel=26) at process.c:5919
    frame #47: 0x000000010033bdfa emacs`wait_reading_process_output(time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=0x0000000000000000, wait_proc=0x0000000000000000, just_wait_proc=0) at process.c:5616
    frame #48: 0x0000000100008e14 emacs`sit_for(timeout=0x000000000000007a, reading=true, display_option=1) at dispnew.c:5804
    frame #49: 0x000000010017d90c emacs`read_char(commandflag=1, map=0x0000000115a0fe23, prev_event=0x0000000000000000, used_mouse_menu=0x00007ffeefbfe9d7, end_time=0x0000000000000000) at keyboard.c:2723
    frame #50: 0x00000001001790ae emacs`read_key_sequence(keybuf=0x00007ffeefbfecf0, bufsize=30, prompt=0x0000000000000000, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9137
    frame #51: 0x0000000100177c5b emacs`command_loop_1 at keyboard.c:1370
    frame #52: 0x000000010028991f emacs`internal_condition_case(bfun=(emacs`command_loop_1 at keyboard.c:1260), handlers=0x0000000000004920, hfun=(emacs`cmd_error at keyboard.c:939)) at eval.c:1332
    frame #53: 0x000000010018cf6c emacs`command_loop_2(ignore=0x0000000000000000) at keyboard.c:1111
    frame #54: 0x0000000100289128 emacs`internal_catch(tag=0x000000000000ba00, func=(emacs`command_loop_2 at keyboard.c:1107), arg=0x0000000000000000) at eval.c:1097
    frame #55: 0x0000000100176c38 emacs`command_loop at keyboard.c:1090
    frame #56: 0x0000000100176aa0 emacs`recursive_edit_1 at keyboard.c:696
    frame #57: 0x0000000100176dd4 emacs`Frecursive_edit at keyboard.c:767
    frame #58: 0x0000000100174a33 emacs`main(argc=1, argv=0x00007ffeefbff358) at emacs.c:1724
    frame #59: 0x00007fff5f500115 libdyld.dylib`start + 1
    frame #60: 0x00007fff5f500115 libdyld.dylib`start + 1


In GNU Emacs 27.0.50 (build 1, x86_64-apple-darwin17.4.0, NS appkit-1561.20 Version 10.13.3 (Build 17D102))
 of 2018-03-18 built on aaron-mbt.local
Repository revision: 667cdf421ff64b1fe736f75e8a7f8864de1b5026
Windowing system distributor 'Apple', version 10.3.1561
System Description:  Mac OS X 10.13.3

Recent messages:
Starting new Ispell process aspell with default dictionary...
Spacemacs is ready.
Warning: desktop file appears to be in use by PID 40925.
Using it may cause conflicts.  Use it anyway? (y or n) y
Wrote /Users/aaronjensen/.emacs.d/.cache/.emacs.desktop.lock
Desktop: 1 frame, 0 buffers restored.
Loading /Users/aaronjensen/.emacs-private.el (source)...done
Loading /Users/aaronjensen/.emacs.d/.cache/recentf...done
Open the quickhelp.
Skipping check for new version (reason: dotfile)

Configured using:
 'configure --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/opt/emacs-plus/share/info/emacs
 --prefix=/usr/local/opt/emacs-plus 'CFLAGS=-g -O0
 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/libxml2
 -I/usr/local/opt/imagemagick@6/include' 'LDFLAGS=-g
 -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib
 -lxml2 -lz -lpthread -licucore''

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

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

Minor modes in effect:
  recentf-mode: t
  auto-dim-other-buffers-mode: t
  global-git-gutter+-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  desktop-save-mode: t
  global-wakatime-mode: t
  wakatime-mode: t
  global-spacemacs-whitespace-cleanup-mode: t
  spacemacs-whitespace-cleanup-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  winum-mode: t
  winner-mode: t
  pupo-mode: t
  purpose-mode: t
  volatile-highlights-mode: t
  global-vi-tilde-fringe-mode: t
  vi-tilde-fringe-mode: t
  save-place-mode: t
  savehist-mode: t
  projectile-rails-global-mode: t
  projectile-mode: t
  persp-mode: t
  global-origami-mode: t
  origami-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  flx-ido-mode: t
  eyebrowse-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-search-highlight-persist: t
  evil-search-highlight-persist: t
  show-smartparens-global-mode: t
  evil-lion-mode: t
  evil-escape-mode: t
  global-anzu-mode: t
  anzu-mode: t
  eval-sexp-fu-flash-mode: t
  editorconfig-mode: t
  diff-auto-refine-mode: t
  counsel-mode: t
  ivy-mode: t
  delete-selection-mode: t
  clean-aindent-mode: t
  hybrid-mode: t
  which-key-mode: t
  override-global-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  evil-mode: t
  evil-local-mode: t
  spacemacs-leader-override-mode: t
  global-spacemacs-leader-override-mode: t
  global-hl-line-mode: t
  xterm-mouse-mode: t
  global-auto-revert-mode: t
  shell-dirtrack-mode: t
  ido-vertical-mode: t
  global-page-break-lines-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/ht-20180129.1434/ht hides /Users/aaronjensen/.emacs.d/core/libs/ht
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/inf-ruby-20180309.433/inf-ruby hides /usr/local/share/emacs/site-lisp/ruby/inf-ruby
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-stan hides /Users/aaronjensen/Source/emacs/lisp/org/ob-stan
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-comint hides /Users/aaronjensen/Source/emacs/lisp/org/ob-comint
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-exp hides /Users/aaronjensen/Source/emacs/lisp/org/ob-exp
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-ctags hides /Users/aaronjensen/Source/emacs/lisp/org/org-ctags
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-eshell hides /Users/aaronjensen/Source/emacs/lisp/org/org-eshell
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-emacs-lisp hides /Users/aaronjensen/Source/emacs/lisp/org/ob-emacs-lisp
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-gnus hides /Users/aaronjensen/Source/emacs/lisp/org/org-gnus
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-texinfo hides /Users/aaronjensen/Source/emacs/lisp/org/ox-texinfo
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob hides /Users/aaronjensen/Source/emacs/lisp/org/ob
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-version hides /Users/aaronjensen/Source/emacs/lisp/org/org-version
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-shell hides /Users/aaronjensen/Source/emacs/lisp/org/ob-shell
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-attach hides /Users/aaronjensen/Source/emacs/lisp/org/org-attach
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-C hides /Users/aaronjensen/Source/emacs/lisp/org/ob-C
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-macs hides /Users/aaronjensen/Source/emacs/lisp/org/org-macs
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-entities hides /Users/aaronjensen/Source/emacs/lisp/org/org-entities
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-dot hides /Users/aaronjensen/Source/emacs/lisp/org/ob-dot
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-sql hides /Users/aaronjensen/Source/emacs/lisp/org/ob-sql
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-irc hides /Users/aaronjensen/Source/emacs/lisp/org/org-irc
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-datetree hides /Users/aaronjensen/Source/emacs/lisp/org/org-datetree
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-macro hides /Users/aaronjensen/Source/emacs/lisp/org/org-macro
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-eval hides /Users/aaronjensen/Source/emacs/lisp/org/ob-eval
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-haskell hides /Users/aaronjensen/Source/emacs/lisp/org/ob-haskell
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-asymptote hides /Users/aaronjensen/Source/emacs/lisp/org/ob-asymptote
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-mhe hides /Users/aaronjensen/Source/emacs/lisp/org/org-mhe
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-abc hides /Users/aaronjensen/Source/emacs/lisp/org/ob-abc
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-keys hides /Users/aaronjensen/Source/emacs/lisp/org/ob-keys
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-org hides /Users/aaronjensen/Source/emacs/lisp/org/ox-org
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-awk hides /Users/aaronjensen/Source/emacs/lisp/org/ob-awk
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-groovy hides /Users/aaronjensen/Source/emacs/lisp/org/ob-groovy
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-shen hides /Users/aaronjensen/Source/emacs/lisp/org/ob-shen
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-icalendar hides /Users/aaronjensen/Source/emacs/lisp/org/ox-icalendar
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-octave hides /Users/aaronjensen/Source/emacs/lisp/org/ob-octave
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-scheme hides /Users/aaronjensen/Source/emacs/lisp/org/ob-scheme
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-mobile hides /Users/aaronjensen/Source/emacs/lisp/org/org-mobile
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-processing hides /Users/aaronjensen/Source/emacs/lisp/org/ob-processing
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-ledger hides /Users/aaronjensen/Source/emacs/lisp/org/ob-ledger
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-picolisp hides /Users/aaronjensen/Source/emacs/lisp/org/ob-picolisp
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-colview hides /Users/aaronjensen/Source/emacs/lisp/org/org-colview
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-R hides /Users/aaronjensen/Source/emacs/lisp/org/ob-R
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-table hides /Users/aaronjensen/Source/emacs/lisp/org/org-table
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-html hides /Users/aaronjensen/Source/emacs/lisp/org/ox-html
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-fortran hides /Users/aaronjensen/Source/emacs/lisp/org/ob-fortran
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-plantuml hides /Users/aaronjensen/Source/emacs/lisp/org/ob-plantuml
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-perl hides /Users/aaronjensen/Source/emacs/lisp/org/ob-perl
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-sqlite hides /Users/aaronjensen/Source/emacs/lisp/org/ob-sqlite
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-sed hides /Users/aaronjensen/Source/emacs/lisp/org/ob-sed
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-ditaa hides /Users/aaronjensen/Source/emacs/lisp/org/ob-ditaa
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-w3m hides /Users/aaronjensen/Source/emacs/lisp/org/org-w3m
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-ruby hides /Users/aaronjensen/Source/emacs/lisp/org/ob-ruby
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-habit hides /Users/aaronjensen/Source/emacs/lisp/org/org-habit
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-screen hides /Users/aaronjensen/Source/emacs/lisp/org/ob-screen
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-mouse hides /Users/aaronjensen/Source/emacs/lisp/org/org-mouse
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-css hides /Users/aaronjensen/Source/emacs/lisp/org/ob-css
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-inlinetask hides /Users/aaronjensen/Source/emacs/lisp/org/org-inlinetask
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-lisp hides /Users/aaronjensen/Source/emacs/lisp/org/ob-lisp
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-pcomplete hides /Users/aaronjensen/Source/emacs/lisp/org/org-pcomplete
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-lint hides /Users/aaronjensen/Source/emacs/lisp/org/org-lint
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-id hides /Users/aaronjensen/Source/emacs/lisp/org/org-id
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-vala hides /Users/aaronjensen/Source/emacs/lisp/org/ob-vala
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-rmail hides /Users/aaronjensen/Source/emacs/lisp/org/org-rmail
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-capture hides /Users/aaronjensen/Source/emacs/lisp/org/org-capture
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-sass hides /Users/aaronjensen/Source/emacs/lisp/org/ob-sass
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-tangle hides /Users/aaronjensen/Source/emacs/lisp/org/ob-tangle
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-calc hides /Users/aaronjensen/Source/emacs/lisp/org/ob-calc
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-java hides /Users/aaronjensen/Source/emacs/lisp/org/ob-java
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-compat hides /Users/aaronjensen/Source/emacs/lisp/org/org-compat
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-info hides /Users/aaronjensen/Source/emacs/lisp/org/org-info
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-beamer hides /Users/aaronjensen/Source/emacs/lisp/org/ox-beamer
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-coq hides /Users/aaronjensen/Source/emacs/lisp/org/ob-coq
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-protocol hides /Users/aaronjensen/Source/emacs/lisp/org/org-protocol
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-element hides /Users/aaronjensen/Source/emacs/lisp/org/org-element
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-lob hides /Users/aaronjensen/Source/emacs/lisp/org/ob-lob
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-mscgen hides /Users/aaronjensen/Source/emacs/lisp/org/ob-mscgen
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-python hides /Users/aaronjensen/Source/emacs/lisp/org/ob-python
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-latex hides /Users/aaronjensen/Source/emacs/lisp/org/ob-latex
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-agenda hides /Users/aaronjensen/Source/emacs/lisp/org/org-agenda
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-bbdb hides /Users/aaronjensen/Source/emacs/lisp/org/org-bbdb
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-ocaml hides /Users/aaronjensen/Source/emacs/lisp/org/ob-ocaml
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-ref hides /Users/aaronjensen/Source/emacs/lisp/org/ob-ref
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-lilypond hides /Users/aaronjensen/Source/emacs/lisp/org/ob-lilypond
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-table hides /Users/aaronjensen/Source/emacs/lisp/org/ob-table
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-clojure hides /Users/aaronjensen/Source/emacs/lisp/org/ob-clojure
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-indent hides /Users/aaronjensen/Source/emacs/lisp/org/org-indent
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-plot hides /Users/aaronjensen/Source/emacs/lisp/org/org-plot
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-latex hides /Users/aaronjensen/Source/emacs/lisp/org/ox-latex
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-docview hides /Users/aaronjensen/Source/emacs/lisp/org/org-docview
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-src hides /Users/aaronjensen/Source/emacs/lisp/org/org-src
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-duration hides /Users/aaronjensen/Source/emacs/lisp/org/org-duration
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-makefile hides /Users/aaronjensen/Source/emacs/lisp/org/ob-makefile
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-ebnf hides /Users/aaronjensen/Source/emacs/lisp/org/ob-ebnf
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-clock hides /Users/aaronjensen/Source/emacs/lisp/org/org-clock
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-forth hides /Users/aaronjensen/Source/emacs/lisp/org/ob-forth
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-odt hides /Users/aaronjensen/Source/emacs/lisp/org/ox-odt
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-publish hides /Users/aaronjensen/Source/emacs/lisp/org/ox-publish
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-archive hides /Users/aaronjensen/Source/emacs/lisp/org/org-archive
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-org hides /Users/aaronjensen/Source/emacs/lisp/org/ob-org
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-eww hides /Users/aaronjensen/Source/emacs/lisp/org/org-eww
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-lua hides /Users/aaronjensen/Source/emacs/lisp/org/ob-lua
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-bibtex hides /Users/aaronjensen/Source/emacs/lisp/org/org-bibtex
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-faces hides /Users/aaronjensen/Source/emacs/lisp/org/org-faces
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-man hides /Users/aaronjensen/Source/emacs/lisp/org/ox-man
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-list hides /Users/aaronjensen/Source/emacs/lisp/org/org-list
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-md hides /Users/aaronjensen/Source/emacs/lisp/org/ox-md
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-loaddefs hides /Users/aaronjensen/Source/emacs/lisp/org/org-loaddefs
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org hides /Users/aaronjensen/Source/emacs/lisp/org/org
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-J hides /Users/aaronjensen/Source/emacs/lisp/org/ob-J
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox-ascii hides /Users/aaronjensen/Source/emacs/lisp/org/ox-ascii
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-matlab hides /Users/aaronjensen/Source/emacs/lisp/org/ob-matlab
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ox hides /Users/aaronjensen/Source/emacs/lisp/org/ox
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-timer hides /Users/aaronjensen/Source/emacs/lisp/org/org-timer
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-core hides /Users/aaronjensen/Source/emacs/lisp/org/ob-core
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-feed hides /Users/aaronjensen/Source/emacs/lisp/org/org-feed
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-io hides /Users/aaronjensen/Source/emacs/lisp/org/ob-io
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-gnuplot hides /Users/aaronjensen/Source/emacs/lisp/org/ob-gnuplot
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-js hides /Users/aaronjensen/Source/emacs/lisp/org/ob-js
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-footnote hides /Users/aaronjensen/Source/emacs/lisp/org/org-footnote
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-maxima hides /Users/aaronjensen/Source/emacs/lisp/org/ob-maxima
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/ob-hledger hides /Users/aaronjensen/Source/emacs/lisp/org/ob-hledger
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-install hides /Users/aaronjensen/Source/emacs/lisp/org/org-install
/Users/aaronjensen/.emacs.d/elpa/27.0/develop/org-plus-contrib-20180312/org-crypt hides /Users/aaronjensen/Source/emacs/lisp/org/org-crypt

Features:
(shadow sort editorconfig-core editorconfig-core-handle
editorconfig-fnmatch mail-extr emacsbug sendmail colir smex recentf
tree-widget face-remap auto-dim-other-buffers git-gutter-fringe+
fringe-helper git-gutter+ git-commit with-editor magit-git magit-section
magit-utils crm magit-popup async-bytecomp async log-edit message rmc
puny rfc822 mml mml-sec epa gnus-util rmail rmail-loaddefs mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log desktop frameset
wakatime-mode contextual-menubar quiet-emacs fill-or-unfill
init-macos-terminal-copy-paste init-terminal-cursor
evil-terminal-cursor-changer init-org init-magit evil-mc
evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make
evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars
evil-mc-known-commands evil-mc-common hl-todo persistent-soft list-utils
pcache eieio-base font-utils server zone xterm-color
spacemacs-whitespace-cleanup ws-butler winum winner
spacemacs-purpose-popwin window-purpose-x imenu-list imenu
window-purpose window-purpose-fixes window-purpose-prefix-overload
window-purpose-switch window-purpose-layout window-purpose-core
window-purpose-configuration window-purpose-utils volatile-highlights
vi-tilde-fringe unicode-fonts tmux string-inflection smartparens-config
smartparens-text smartparens-ruby saveplace savehist ruby-test-mode
pcre2el rxt re-builder projectile-rails rake f inflections inf-ruby
ruby-mode smie projectile grep ibuf-ext ibuffer ibuffer-loaddefs popwin
persp-mode osx-trash origami origami-parsers s linum ivy-hydra info+
image-mode google-c-style flycheck-pos-tip pos-tip flycheck find-func
flx-ido eyebrowse evil-surround evil-search-highlight-persist
evil-numbers evil-lisp-state smartparens dash evil-lion evil-indent-plus
evil-exchange evil-escape evil-args evil-anzu anzu eval-sexp-fu
highlight font-lock+ frame-fns avoid editorconfig noutline outline
doom-modeline let-alist powerline-separators color all-the-icons
all-the-icons-faces data-material data-weathericons data-octicons
data-fileicons data-faicons data-alltheicons memoize diff-hl vc-dir ewoc
vc vc-dispatcher diff-mode counsel dired dired-loaddefs compile esh-util
etags xref project swiper ivy flx delsel ivy-overlay ffap
clean-aindent-mode adaptive-wrap gh-common marshal rx docker-tramp
tramp-cache hybrid-mode evil-evilified-state which-key use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core hydra lv
exec-path-from-shell cus-edit cus-start cus-load evil evil-integration
undo-tree diff evil-maps evil-commands reveal flyspell ispell evil-jumps
evil-command-window evil-types evil-search evil-ex evil-macros
evil-repeat evil-states evil-core evil-common windmove thingatpt rect
evil-digraphs diminish evil-vars bind-map quelpa help-fns radix-tree
package-build mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr lisp-mnt hl-line xt-mouse
autorevert filenotify cl-extra disp-table wid-edit monokai-theme info
finder-inf patch-server init-sass init-php init-html init-evil tramp
trampver tramp-compat tramp-loaddefs shell pcomplete comint ansi-color
ring parse-time format-spec ido-vertical-mode ido core-spacemacs
core-use-package-ext core-transient-state core-micro-state core-toggle
core-keybindings core-fonts-support core-themes-support
core-display-init core-jump core-release-management core-custom-settings
core-configuration-layer eieio-compat core-spacemacs-buffer core-funcs
core-dotspacemacs ht cl help-mode warnings package url-handlers
url-parse auth-source cl-seq password-cache json map url-vars seq eieio
byte-opt bytecomp byte-compile cconv eieio-core eieio-loaddefs epg
epg-config core-command-line pcase core-debug edmacro kmacro derived
cl-macs gv advice profiler easymenu cl-loaddefs cl-lib page-break-lines
easy-mmode core-emacs-backports subr-x time-date tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win
ucs-normalize mule-util term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors 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 composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray 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 lcms2 multi-tty make-network-process emacs)

Memory information:
((conses 16 957738 859870)
 (symbols 48 60482 2)
 (miscs 40 280 561)
 (strings 32 188350 120720)
 (string-bytes 1 5820556)
 (vectors 16 87066)
 (vector-slots 8 1535751 494150)
 (floats 8 767 767)
 (intervals 56 4351 289)
 (buffers 992 12))





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

* bug#30852: (27.0.50; infinite loop in internal-get-lisp-face-attribute)
  2018-03-19  3:39 bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute Aaron Jensen
@ 2018-03-19  3:50 ` Aaron Jensen
  2018-03-19  4:59   ` Aaron Jensen
  2018-03-19  6:54 ` bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute Eli Zaretskii
  1 sibling, 1 reply; 5+ messages in thread
From: Aaron Jensen @ 2018-03-19  3:50 UTC (permalink / raw)
  To: 30852

After stepping through this, it looks like it may be eterm-256color that
is inf looping. Please disregard this for now and I'll respond after
figuring it out one way or the other for sure.

We're discussing here: https://github.com/dieggsy/eterm-256color/issues/5





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

* bug#30852: (27.0.50; infinite loop in internal-get-lisp-face-attribute)
  2018-03-19  3:50 ` bug#30852: (27.0.50; infinite loop in internal-get-lisp-face-attribute) Aaron Jensen
@ 2018-03-19  4:59   ` Aaron Jensen
  0 siblings, 0 replies; 5+ messages in thread
From: Aaron Jensen @ 2018-03-19  4:59 UTC (permalink / raw)
  To: 30852

close 30852
quit

This appears to be a problem in the library.





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

* bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute
  2018-03-19  3:39 bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute Aaron Jensen
  2018-03-19  3:50 ` bug#30852: (27.0.50; infinite loop in internal-get-lisp-face-attribute) Aaron Jensen
@ 2018-03-19  6:54 ` Eli Zaretskii
  2018-03-19 14:56   ` Aaron Jensen
  1 sibling, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2018-03-19  6:54 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 30852

> From: Aaron Jensen <aaronjensen@gmail.com>
> Date: Sun, 18 Mar 2018 20:39:29 -0700
> 
> This could be a bug in a package: eterm-256color but I wanted to report
> it in case it's an emacs bug.
> 
> 0. Install https://github.com/dieggsy/eterm-256color devel branch
> 1. emacs -Q
> 2. (require 'eterm-256color-mode)
> 3. (add-hook 'term-mode-hook #'eterm-256color-mode)
> 4. M-x ansi-term
> 
> It's possible that you'll need a color prompt to trigger the inf loop,
> I'm not sure.
> 
> Here is the trace of where it is stuck:
> 
> internal-get-lisp-face-attribute

Are you that saying eterm-256color causes Emacs to create a face alist
that is a circular list?

> * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
>   * frame #0: 0x00000001002a29bd emacs`assq_no_quit(key=0x000000000204ed50, list=0x00000001152f10f3) at fns.c:1422
>     frame #1: 0x000000010016a4d3 emacs`lface_from_face_name_no_resolve(f=0x0000000105008bb0, face_name=0x000000000204ed50, signal_p=true) at xfaces.c:1859

Can you show the value of f->face_alist in this frame #1?





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

* bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute
  2018-03-19  6:54 ` bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute Eli Zaretskii
@ 2018-03-19 14:56   ` Aaron Jensen
  0 siblings, 0 replies; 5+ messages in thread
From: Aaron Jensen @ 2018-03-19 14:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 30852

On Sun, Mar 18, 2018 at 11:54 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> Are you that saying eterm-256color causes Emacs to create a face alist
> that is a circular list?

No, the problem, which I do not fully understand, is here:

https://github.com/dieggsy/eterm-256color/blob/a43f38a7d78364c34efde10dfce0d518f9f4df62/eterm-256color.el#L126-L156

(defun eterm-256color-handle-ansi-escape (handle-fun &rest args)
  (pcase-let
      (((or ;; Parameters from Emacs 27.
         `(,proc ,params ,char)
         ;; Parameters up to Emacs 26.
         (and
          `(,proc ,char)
          (let params
            ;; Hack the dynamic vars into a list.
            (delq nil
                  (delq -1
                        (list
                         (bound-and-true-p term-terminal-previous-parameter-4)
                         (bound-and-true-p term-terminal-previous-parameter-3)
                         (bound-and-true-p term-terminal-previous-parameter-2)
                         (bound-and-true-p term-terminal-previous-parameter)
                         (bound-and-true-p term-terminal-parameter)))))))
        args))
    (if (eq char '?m)
        (while params
          (pcase params
            (`(38 5 ,color256 . ,_)
             (eterm-256color-handle-colors color256 'fg)
             (setq params (nthcdr 3 params)))
            (`(48 5 ,color256 . ,_)
             (eterm-256color-handle-colors color256 'bg)
             (setq params (nthcdr 3 params)))
            (`(,x . ,_)
             (eterm-256color-handle-colors x)
             (setq params (cdr params)))))
      (apply handle-fun args))))

Specifically, what happens is that the `(setq params ...)` are
ineffective. `params` is always bound to what it is bound to via the
pcase-let. This only happens the first time this function is run--I'm
guessing if `params` is already bound as a variable (as it would be
the second time) then the `setq` and the `let` affect the same thing.

Changing the while loop to this fixes the bug:

(setq my-params params)
(while my-params
  (pcase my-params
    (`(38 5 ,color256 . ,_)
     (eterm-256color-handle-colors color256 'fg)
     (setq my-params (nthcdr 3 my-params)))
    (`(48 5 ,color256 . ,_)
     (eterm-256color-handle-colors color256 'bg)
     (setq my-params (nthcdr 3 my-params)))
    (`(,x . ,_)
     (eterm-256color-handle-colors x)
     (setq my-params (cdr my-params)))))





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

end of thread, other threads:[~2018-03-19 14:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-19  3:39 bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute Aaron Jensen
2018-03-19  3:50 ` bug#30852: (27.0.50; infinite loop in internal-get-lisp-face-attribute) Aaron Jensen
2018-03-19  4:59   ` Aaron Jensen
2018-03-19  6:54 ` bug#30852: 27.0.50; infinite loop in internal-get-lisp-face-attribute Eli Zaretskii
2018-03-19 14:56   ` Aaron Jensen

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.