Mercurial > emacs
changeset 16767:6d837bb21c55
(skeleton-marks): New variable.
(skeleton-insert, skeleton-internal-1): Set skeleton-marks.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 28 Dec 1996 19:31:17 +0000 |
parents | beb94a5271e2 |
children | 5ff0874f1309 |
files | lisp/skeleton.el |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/skeleton.el Sat Dec 28 02:53:04 1996 +0000 +++ b/lisp/skeleton.el Sat Dec 28 19:31:17 1996 +0000 @@ -100,6 +100,11 @@ (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.") + ;; reduce the number of compiler warnings (defvar skeleton) (defvar skeleton-modified) @@ -250,6 +255,7 @@ \\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' & do next ELEMENT if previous moved point | do next ELEMENT if previous didn't move point -num delete num preceding characters (see `skeleton-untabify') @@ -299,6 +305,7 @@ (setq skeleton-regions (cdr skeleton-regions))) (let ((beg (point)) skeleton-modified skeleton-point resume: help input v1 v2) + (setq skeleton-marks nil) (unwind-protect (eval `(let ,skeleton-further-elements (skeleton-internal-list skeleton str))) @@ -431,6 +438,8 @@ ((eq element '|) (or skeleton-modified (setq skeleton (cdr skeleton)))) + ((eq element '@) + (setq skeleton-marks (cons (point) skeleton-marks))) ((eq 'quote (car-safe element)) (eval (nth 1 element))) ((or (stringp (car-safe element))