+2001-03-23 Stefan Monnier <monnier@cs.yale.edu>
+
+ * skeleton.el (skeleton-internal-list): Fix bogus logic.
+ (skeleton-pair-insert-maybe): Don't pair after a backslash.
+
2001-03-23 Kenichi Handa <handa@etl.go.jp>
- * international/encoded-kb.el (encoded-kbd-self-insert-ccl): Call
- ccl-execute-on-string directly so that CCL program handling
+ * international/encoded-kb.el (encoded-kbd-self-insert-ccl):
+ Call ccl-execute-on-string directly so that CCL program handling
multibyte sequence can work correctly.
(encoded-kbd-setup-keymap): Fix the default value of `valid-codes'
property of the coding system.
_ 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
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))
"*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.")
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
(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"))