Comment 4 for bug 610646

Revision history for this message
nurikabe (nurikabe) wrote :

Seeing this again with the latest update. See the attached sample. I get the following backtrace first; thereafter the chunk jumping occurs.

  (if (mumamo-fun-eq this-line-major1 main-major) (let (... ...) (mumamo-msgindent " In main major mode") (forward-line 0) (skip-chars-backward " \n
\f") (forward-line 0) (if ... ... ... ...) (mumamo-msgindent " In main major mode B") (setq last-parent-major-indent ...)) (mumamo-msgindent " In sub major mode") (let (... ... ind-zero ... ind-on-first-sub-line) (save-restriction ... ... ... ...)))
  (cond (template-indent-abs (setq want-indent ...)) (leaving-submode (mumamo-msgindent " leaving last-parent-major-indent=%s" last-parent-major-indent) (if ... ... ... ...)) (entering-submode (setq this-line-indent-major ...) (mumamo-msgindent " this-line-indent-major=%s, major-mode=%s this0=%s" this-line-indent-major major-mode this-line-major0) (mumamo-msgindent " mumamo-submode-indent-offset=%s" mumamo-submode-indent-offset) (unless ... ...) (setq want-indent ...) (unless ... ...) (when ... ...) (if want-indent ... ...) (mumamo-msgindent " enter sub.want-indent=%s, curr=%s, last-main=%s" want-indent ... last-parent-major-indent)) (t (setq this-line-indent-major ...) (mumamo-msgindent " this-line-indent-major=%s" this-line-indent-major) (unless ... ...) (if ... ... ... ...)))
  (let* ((start-point ...) (prev-line-chunk0 ...) (prev-line-chunk2 ...) (prev-line-chunk3 ...) (prev-line-major0 ...) (prev-line-major1 ...) (prev-line-major2 ...) (prev-line-major3 ...) (prev-depth0 ...) (prev-depth2 ...) (prev-depth3 ...) (this-line-chunks ...) (this-line-chunk0 ...) (this-line-chunk2 ...) (this-line-chunk3 ...) (this-line-major0 ...) (this-line-major1 ...) (this-line-major2 ...) (this-line-major3 ...) (this-depth0 ...) (this-depth2 ...) (this-depth3 ...) this-line-indent-major major-indent-line-function (main-major ...) (old-indent ...) (next-entering-submode ...) (entering-submode ...) (leaving-submode ...) want-indent want-indent-major got-indent (here-on-line ...) this-pending-undo-list (n1-while 0) (n2-while 0) (n3-while 0) (this-line-indentor-chunk ...) (this-line-indentor-prev ...) (this-line-is-indentor ...) (this-template-shift ...) (prev-template-indentor ...) (prev-template-shift-rec ...) (template-shift ...) (template-indent-abs ...)) (when template-shift (unless template-indent-abs)) (when (and leaving-submode entering-submode) (message "Do not know how to indent here (both leaving and entering sub chunks)")) (when (or leaving-submode entering-submode) (unless last-parent-major-indent ...)) (mumamo-msgindent " leaving-submode=%s, entering-submode=%s" leaving-submode entering-submode) (when template-indent-abs (setq entering-submode nil) (setq leaving-submode nil)) (cond (template-indent-abs ...) (leaving-submode ... ...) (entering-submode ... ... ... ... ... ... ... ... ...) (t ... ... ... ...)) (when want-indent (indent-line-to want-indent) (when want-indent-major ...)) (goto-char here-on-line) (list this-line-chunks last-parent-major-indent next-entering-submode))
  mumamo-indent-line-function-1(nil nil nil)
  (let ((here ...) fontification-functions rng-nxml-auto-validate-flag (before-text ...)) (mumamo-indent-line-function-1 nil nil nil) (if before-text (back-to-indentation) (goto-char here)))
  mumamo-indent-line-function()
  indent-for-tab-command(nil)
  call-interactively(indent-for-tab-command nil nil)