(defvar skeleton-debug nil
"*If non-nil `define-skeleton' will override previous definition.")
-(defvar skeleton-marks nil
- "Variable used to keep the list of positions marked with @ after
-skeleton insertion. The list is in the reverse order of the insertion
-order. This list is reseted before skeleton insertion.")
+(defvar skeleton-positions nil
+ "List of positions marked with @, after skeleton insertion.
+The list describes the most recent skeleton insertion, and its elements
+are integer buffer positions in the reverse order of the insertion order.")
;; reduce the number of compiler warnings
(defvar skeleton)
\\n go to next line and indent according to mode
_ interesting point, interregion here, point after termination
> indent line (or interregion if > _) according to major mode
- @ add position to `skeleton-marks'
+ @ add position to `skeleton-positions'
& do next ELEMENT if previous moved point
| do next ELEMENT if previous didn't move point
-num delete num preceding characters (see `skeleton-untabify')
(setq skeleton-regions (cdr skeleton-regions)))
(let ((beg (point))
skeleton-modified skeleton-point resume: help input v1 v2)
- (setq skeleton-marks nil)
+ (setq skeleton-positions nil)
(unwind-protect
(eval `(let ,skeleton-further-elements
(skeleton-internal-list skeleton str)))
(or skeleton-modified
(setq skeleton (cdr skeleton))))
((eq element '@)
- (setq skeleton-marks (cons (point) skeleton-marks)))
+ (setq skeleton-positions (cons (point) skeleton-positions)))
((eq 'quote (car-safe element))
(eval (nth 1 element)))
((or (stringp (car-safe element))