mmm-mode
                                
                                
                                
                                    mmm-mode copied to clipboard
                            
                            
                            
                        Error when restoring buffer
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()
                                    
                                    
                                    
                                
If you close Emacs with this buffer and restore it again, does the error show up every time?
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.
Can't reproduce, so far.
If I leave point inside the sql subregion when saving, after restoring the buffer is in sql-mode. :)
I wonder if it's still there after https://github.com/purcell/mmm-mode/commit/b45a864379ed29309625db617d82227de5170ad5.