Closed andreas-roehler closed 8 months ago
With the word "type" at beginning of buffer. Inserting a space sends an error. AFAIU this is caused by hard-coded "7" in
(looking-back scala-indent:indent-on-words-re 7) in function scala-indent:indent-on-special-words
(looking-back scala-indent:indent-on-words-re 7)
scala-indent:indent-on-special-words
Backtrace below.
Debugger entered--Lisp error: (error "Invalid search bound (wrong side of point)") re-search-backward("\\(?:^\\s *\\<\\(ca\\(?:se\\|tch\\)\\|else\\|finally\\|yield\\)\\>\\)\\=" 7 t) looking-back("^\\s *\\<\\(ca\\(?:se\\|tch\\)\\|else\\|finally\\|yield\\)\\>" 7) (save-excursion (forward-char (- (or nil 1))) (looking-back scala-indent:indent-on-words-re 7)) (and (> (current-column) 4) (= (char-after (1- (or nil (point)))) 32) (= (char-syntax (char-after (1- (or (- (point) 1) (point))))) 119) (save-excursion (forward-char (- (or nil 1))) (looking-back scala-indent:indent-on-words-re 7)) (not (nth 8 (syntax-ppss)))) (if (and (> (current-column) 4) (= (char-after (1- (or nil (point)))) 32) (= (char-syntax (char-after (1- (or (- ... 1) (point))))) 119) (save-excursion (forward-char (- (or nil 1))) (looking-back scala-indent:indent-on-words-re 7)) (not (nth 8 (syntax-ppss)))) (progn (scala-indent:indent-line-to (scala-indent:calculate-indent-for-line)))) scala-indent:indent-on-special-words() self-insert-command(1 32) funcall-interactively(self-insert-command 1 32) call-interactively(self-insert-command nil nil) (prog1 (call-interactively cmd record-flag keys) (let* ((info (and t (and (symbolp cmd) (not (get cmd ...)) (get cmd 'byte-obsolete-info))))) (if info (progn (put cmd 'command-execute-obsolete-warned t) (message "%s" (macroexp--obsolete-warning cmd info "command" (help--key-description-fontified (where-is-internal ... nil t))))) nil))) (cond ((arrayp final) (if record-flag (progn (add-to-history 'command-history (list 'execute-kbd-macro final prefixarg) nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (let* ((info (and t (and ... ... ...)))) (if info (progn (put cmd 'command-execute-obsolete-warned t) (message "%s" (macroexp--obsolete-warning cmd info "command" ...))) nil))))) (let ((final cmd)) (while (progn (setq final (indirect-function final)) (if (autoloadp final) (setq final (autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 'command-history (list 'execute-kbd-macro final prefixarg) nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (let* ((info (and t ...))) (if info (progn (put cmd ... t) (message "%s" ...)) nil)))))) (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp (get cmd ...)) (eq (car ...) 'query))) (not (command-execute--query cmd))) (and (not query) disabled-command-function))) (if (not query) (progn (run-hooks 'disabled-command-function))) (let ((final cmd)) (while (progn (setq final (indirect-function final)) (if (autoloadp final) (setq final (autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history 'command-history (list ... final prefixarg) nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (let* ((info ...)) (if info (progn ... ...) nil))))))) (let ((prefixarg (if special nil (prog1 prefix-arg (setq current-prefix-arg prefix-arg) (setq prefix-arg nil) (if current-prefix-arg (progn (prefix-command-update)))))) query) (if (and (symbolp cmd) (get cmd 'disabled) (or (and (setq query (and (consp ...) (eq ... ...))) (not (command-execute--query cmd))) (and (not query) disabled-command-function))) (if (not query) (progn (run-hooks 'disabled-command-function))) (let ((final cmd)) (while (progn (setq final (indirect-function final)) (if (autoloadp final) (setq final (autoload-do-load final cmd))))) (cond ((arrayp final) (if record-flag (progn (add-to-history ... ... nil t))) (execute-kbd-macro final prefixarg)) (t (prog1 (call-interactively cmd record-flag keys) (let* (...) (if info ... nil)))))))) command-execute(self-insert-command)
Interesting. Can you give an example where it fails.
With the word "type" at beginning of buffer. Inserting a space sends an error. AFAIU this is caused by hard-coded "7" in
(looking-back scala-indent:indent-on-words-re 7)
in functionscala-indent:indent-on-special-words
Backtrace below.