;; How far is the first character on this line
;; from the beginning of the line?
(save-excursion
- (+ (pos-offset) (skip-chars-forward " \t"))
+ (beginning-of-line)
+ (skip-chars-forward " \t")
)
)
(beginning-of-line)
;; Now insert indent-column spaces.
- (while (< 0 indent-column)
- (insert " ")
- (setq indent-column (- indent-column 1)))
+ (let ((indent-remaining indent-column))
+ (while (< 0 indent-remaining)
+ (insert " ")
+ (setq indent-remaining (- indent-remaining 1)))
+ )
;; The text on the current line just moved left/right some amount;
;; call it text-delta. We want to move the point that same distance.
(let ((text-delta (- (first-char-offset) orig-first-char-offset)))
(goto-char (+ orig-point text-delta))
)
+
+ ;; The point should never wind up to the left of indent-column, so
+ ;; if it's there, move it over to indent-column.
+ (if (< (point-offset) indent-column)
+ (goto-char (+ (beginning-of-line-pos) indent-column))
+ )
)
)
)
(defun nagios-calculate-indent()
"Calculate the level of indentation."
- ;; We're either inside a block, or we aren't.
+ ;; We're either inside a block, or we aren't.
;; Initialize the indent variable to either nagios-indent-level
;; or 0 depending on whether or not we're in a block.
(let ((indent (if (nagios-in-block)
- (setq indent nagios-indent-level)
+ nagios-indent-level
0)
)
)