aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2017-12-22 10:29:20 -0500
committerStefan Monnier2017-12-22 10:29:20 -0500
commit639fe3dddfe67a75e4ad831d2240fd6420f81573 (patch)
tree654af929363c8a55a034938eb4432619fd726dc3
parent168382db92d7ab9b8d7997b0bb91165b338e41e6 (diff)
downloademacs-639fe3dddfe67a75e4ad831d2240fd6420f81573.tar.gz
emacs-639fe3dddfe67a75e4ad831d2240fd6420f81573.zip
* lisp/progmodes/cperl-mode.el: Split table for electric kwd abbrevs
(cperl-mode-electric-keywords-abbrev-table): New abbrev table. (cperl-mode-abbrev-table): Use it.
-rw-r--r--lisp/progmodes/cperl-mode.el61
1 files changed, 34 insertions, 27 deletions
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index c4f1ff2ec76..ed53a1974e8 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -1060,35 +1060,42 @@ versions of Emacs."
1060(eval-when-compile 1060(eval-when-compile
1061 (mapc #'require '(imenu easymenu etags timer man info))) 1061 (mapc #'require '(imenu easymenu etags timer man info)))
1062 1062
1063(define-abbrev-table 'cperl-mode-abbrev-table 1063(define-abbrev-table 'cperl-mode-electric-keywords-abbrev-table
1064 ;; FIXME: Use a separate abbrev table for that, enabled conditionally, 1064 (mapcar (lambda (x)
1065 ;; as we did with python-mode-skeleton-abbrev-table! 1065 (let ((name (car x))
1066 (when (cperl-val 'cperl-electric-keywords) 1066 (fun (cadr x)))
1067 '( 1067 (list name name fun :system t)))
1068 ("if" "if" cperl-electric-keyword :system t) 1068 '(("if" cperl-electric-keyword)
1069 ("elsif" "elsif" cperl-electric-keyword :system t) 1069 ("elsif" cperl-electric-keyword)
1070 ("while" "while" cperl-electric-keyword :system t) 1070 ("while" cperl-electric-keyword)
1071 ("until" "until" cperl-electric-keyword :system t) 1071 ("until" cperl-electric-keyword)
1072 ("unless" "unless" cperl-electric-keyword :system t) 1072 ("unless" cperl-electric-keyword)
1073 ("else" "else" cperl-electric-else :system t) 1073 ("else" cperl-electric-else)
1074 ("continue" "continue" cperl-electric-else :system t) 1074 ("continue" cperl-electric-else)
1075 ("for" "for" cperl-electric-keyword :system t) 1075 ("for" cperl-electric-keyword)
1076 ("foreach" "foreach" cperl-electric-keyword :system t) 1076 ("foreach" cperl-electric-keyword)
1077 ("formy" "formy" cperl-electric-keyword :system t) 1077 ("formy" cperl-electric-keyword)
1078 ("foreachmy" "foreachmy" cperl-electric-keyword :system t) 1078 ("foreachmy" cperl-electric-keyword)
1079 ("do" "do" cperl-electric-keyword :system t) 1079 ("do" cperl-electric-keyword)
1080 ("=pod" "=pod" cperl-electric-pod :system t) 1080 ("=pod" cperl-electric-pod)
1081 ("=begin" "=begin" cperl-electric-pod 0 :system t) 1081 ("=begin" cperl-electric-pod t)
1082 ("=over" "=over" cperl-electric-pod :system t) 1082 ("=over" cperl-electric-pod)
1083 ("=head1" "=head1" cperl-electric-pod :system t) 1083 ("=head1" cperl-electric-pod)
1084 ("=head2" "=head2" cperl-electric-pod :system t) 1084 ("=head2" cperl-electric-pod)
1085 ("pod" "pod" cperl-electric-pod :system t) 1085 ("pod" cperl-electric-pod)
1086 ("over" "over" cperl-electric-pod :system t) 1086 ("over" cperl-electric-pod)
1087 ("head1" "head1" cperl-electric-pod :system t) 1087 ("head1" cperl-electric-pod)
1088 ("head2" "head2" cperl-electric-pod :system t))) 1088 ("head2" cperl-electric-pod)))
1089 "Abbrev table in use in CPerl mode buffers.") 1089 "Abbrev table for electric keywords. Controlled by `cperl-electric-keywords'."
1090 :case-fixed t
1091 :enable-function (lambda () (cperl-val 'cperl-electric-keywords)))
1092
1093(define-abbrev-table 'cperl-mode-abbrev-table ()
1094 "Abbrev table in use in CPerl mode buffers."
1095 :parents (list cperl-mode-electric-keywords-abbrev-table))
1090 1096
1091(when (boundp 'edit-var-mode-alist) 1097(when (boundp 'edit-var-mode-alist)
1098 ;; FIXME: What package uses this?
1092 (add-to-list 'edit-var-mode-alist '(perl-mode (regexp . "^cperl-")))) 1099 (add-to-list 'edit-var-mode-alist '(perl-mode (regexp . "^cperl-"))))
1093 1100
1094(defvar cperl-mode-map 1101(defvar cperl-mode-map