Mercurial > emacs
changeset 36967:cebc3019a629
(skeleton-internal-list): Fix bogus logic.
(skeleton-pair-insert-maybe): Don't pair after a backslash.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 23 Mar 2001 17:49:58 +0000 |
parents | d672c5699e29 |
children | bcf99bb19125 |
files | lisp/skeleton.el |
diffstat | 1 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/skeleton.el Fri Mar 23 17:20:52 2001 +0000 +++ b/lisp/skeleton.el Fri Mar 23 17:49:58 2001 +0000 @@ -264,8 +264,8 @@ _ interesting point, interregion here > indent line (or interregion if > _) according to major mode @ add position to `skeleton-positions' - & do next ELEMENT if previous moved point - | do next ELEMENT if previous didn't move point + & do next ELEMENT iff previous moved point + | do next ELEMENT iff previous didn't move point -num delete num preceding characters (see `skeleton-untabify') resume: skipped, continue here if quit is signaled nil skipped @@ -383,9 +383,9 @@ opoint) (or str (setq str `(setq str (skeleton-read ',(car skeleton) nil ,recursive)))) - (when (and (eq (car skeleton) '\n) - (save-excursion (beginning-of-line) (looking-at "[ \t]*$"))) - (setq skeleton (cons '> (cdr skeleton)))) + (when (and (eq (cadr skeleton) '\n) + (<= (current-column) (current-indentation))) + (setq skeleton (cons nil (cons '> (cddr skeleton))))) (while (setq skeleton-modified (eq opoint (point)) opoint (point) skeleton (cdr skeleton)) @@ -509,7 +509,7 @@ "*If this is nil, paired insertion is inhibited before or inside a word.") -(defvar skeleton-pair-filter (lambda ()) +(defvar skeleton-pair-filter (lambda () nil) "Attempt paired insertion if this function returns nil, before inserting. This allows for context-sensitive checking whether pairing is appropriate.") @@ -530,6 +530,8 @@ is visible the pair is wrapped around it depending on `skeleton-autowrap'. Else, if `skeleton-pair-on-word' is non-nil or we are not before or inside a word, and if `skeleton-pair-filter' returns nil, pairing is performed. +Pairing is also prohibited if we are right after a quoting character +such as backslash. If a match is found in `skeleton-pair-alist', that is inserted, else the defaults are used. These are (), [], {}, <> and `' for the @@ -541,6 +543,7 @@ (skeleton-end-hook)) (if (or arg (not skeleton-pair) + (memq (char-syntax (preceding-char)) '(?\\ ?/)) (and (not mark) (or overwrite-mode (if (not skeleton-pair-on-word) (looking-at "\\w"))