From 4543590ca9e6b6d07bc77c03ceec5bdcccfe19ef Mon Sep 17 00:00:00 2001 From: "Jose A. Ortega Ruiz" Date: Sun, 11 Jan 2009 18:01:52 +0100 Subject: [PATCH] FUEL: Electric indentation for ] and } fixed. --- misc/fuel/factor-mode.el | 12 +++++++----- misc/fuel/fuel-font-lock.el | 1 - misc/fuel/fuel-syntax.el | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/misc/fuel/factor-mode.el b/misc/fuel/factor-mode.el index d862b71da0..4164e14c5e 100644 --- a/misc/fuel/factor-mode.el +++ b/misc/fuel/factor-mode.el @@ -111,7 +111,7 @@ code in the buffer." (= (- be (point)) (current-indentation)) (= ln (line-number-at-pos be))) (fuel-syntax--indentation-at bs)) - ((or (fuel-syntax--is-eol bs) + ((or (fuel-syntax--is-last-char bs) (not (eq ?\ (char-after (1+ bs))))) (fuel-syntax--increased-indentation (fuel-syntax--indentation-at bs))) @@ -238,15 +238,17 @@ code in the buffer." ;;; Keymap: -(defun factor-mode-insert-and-indent (n) +(defun factor-mode--insert-and-indent (n) (interactive "*p") - (self-insert-command n) + (let ((start (point))) + (self-insert-command n) + (save-excursion (font-lock-fontify-region start (point)))) (indent-according-to-mode)) (defvar factor-mode-map (let ((map (make-sparse-keymap))) - (define-key map [?\]] 'factor-mode-insert-and-indent) - (define-key map [?}] 'factor-mode-insert-and-indent) + (define-key map [?\]] 'factor-mode--insert-and-indent) + (define-key map [?}] 'factor-mode--insert-and-indent) (define-key map "\C-m" 'newline-and-indent) (define-key map "\C-co" 'factor-mode-visit-other-file) (define-key map "\C-c\C-o" 'factor-mode-visit-other-file) diff --git a/misc/fuel/fuel-font-lock.el b/misc/fuel/fuel-font-lock.el index bcddf82d18..b12be1eac7 100644 --- a/misc/fuel/fuel-font-lock.el +++ b/misc/fuel/fuel-font-lock.el @@ -107,7 +107,6 @@ (list (cons 'font-lock-syntactic-keywords fuel-syntax--syntactic-keywords)))))) - ;;; Fontify strings as Factor code: diff --git a/misc/fuel/fuel-syntax.el b/misc/fuel/fuel-syntax.el index e8c5d296ad..8bb7a6d6ef 100644 --- a/misc/fuel/fuel-syntax.el +++ b/misc/fuel/fuel-syntax.el @@ -260,7 +260,7 @@ (defsubst fuel-syntax--looking-at-emptiness () (looking-at "^[ ]*$\\|$")) -(defsubst fuel-syntax--is-eol (pos) +(defsubst fuel-syntax--is-last-char (pos) (save-excursion (goto-char (1+ pos)) (fuel-syntax--looking-at-emptiness)))