mmm-mode icon indicating copy to clipboard operation
mmm-mode copied to clipboard

Error when restoring buffer

Open purcell opened this issue 12 years ago • 4 comments

Upon restarting Emacs, desktop.el restored a ruby buffer containing an sql-mode mmm region, and this error occurred. First time I've seen this particular message.

Debugger entered--Lisp error: (error "Font-lock trying to use keywords before setting them up")
  signal(error ("Font-lock trying to use keywords before setting them up"))
  error("Font-lock trying to use keywords before setting them up")
  font-lock-compile-keywords(nil)
  font-lock-fontify-keywords-region(917 1045 nil)
  font-lock-default-fontify-region(917 1045 nil)
  #[(reg) "@b\210\306   AA@\"\210\307\n =?\205  \"\210\f@\211A@)\310#\210\311\n\"\207" [reg mode mmm-previous-submode mmm-current-overlay func x mmm-set-current-pair mmm-set-local-variables nil mmm-save-changed-local-variables mmm-current-submode] 5]((917 1045 #<overlay from 917 to 1045 in multi_named.rb>))
  mapc(#[(reg) "@b\210\306  AA@\"\210\307\n =?\205  \"\210\f@\211A@)\310#\210\311\n\"\207" [reg mode mmm-previous-submode mmm-current-overlay func x mmm-set-current-pair mmm-set-local-variables nil mmm-save-changed-local-variables mmm-current-submode] 5] ((917 1045 #<overlay from 917 to 1045 in multi_named.rb>) (1275 1483 #<overlay from 1275 to 1483 in multi_named.rb>) (1701 1792 #<overlay from 1701 to 1792 in multi_named.rb>)))
  mmm-fontify-region-list(sql-mode ((917 1045 #<overlay from 917 to 1045 in multi_named.rb>) (1275 1483 #<overlay from 1275 to 1483 in multi_named.rb>) (1701 1792 #<overlay from 1701 to 1792 in multi_named.rb>)))
  #[(elt) "@\301N\205
\302@A\"\207" [elt mmm-font-lock-mode mmm-fontify-region-list] 3]((sql-mode (917 1045 #<overlay from 917 to 1045 in multi_named.rb>) (1275 1483 #<overlay from 1275 to 1483 in multi_named.rb>) (1701 1792 #<overlay from 1701 to 1792 in multi_named.rb>)))
  mapc(#[(elt) "@\301N\205
\302@A\"\207" [elt mmm-font-lock-mode mmm-fontify-region-list] 3] ((sql-mode (917 1045 #<overlay from 917 to 1045 in multi_named.rb>) (1275 1483 #<overlay from 1275 to 1483 in multi_named.rb>) (1701 1792 #<overlay from 1701 to 1792 in multi_named.rb>)) (ruby-mode (1 917 nil) (1045 1275 nil) (1483 1701 nil) (1792 1855 nil))))
  mmm-fontify-region(1 1855 nil)
  font-lock-fontify-region(1 1855)
  mmm-refontify-maybe(1 1855)
  mmm-apply-all()
  mmm-mode-on()

purcell avatar Mar 19 '13 08:03 purcell

If you close Emacs with this buffer and restore it again, does the error show up every time?

dgutov avatar Mar 19 '13 15:03 dgutov

Seems to, yes. It may be related to the position of point at start-up; that position is restored using session in my config, and I've seen issues in the past (now fixed) when, say an HTML buffer was restored with the point inside a js subregion.

purcell avatar Mar 19 '13 15:03 purcell

Can't reproduce, so far.

If I leave point inside the sql subregion when saving, after restoring the buffer is in sql-mode. :)

dgutov avatar Mar 19 '13 22:03 dgutov

I wonder if it's still there after https://github.com/purcell/mmm-mode/commit/b45a864379ed29309625db617d82227de5170ad5.

dgutov avatar Jul 05 '20 23:07 dgutov