diff options
| author | Stefan Monnier | 2017-12-22 10:29:20 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2017-12-22 10:29:20 -0500 |
| commit | 639fe3dddfe67a75e4ad831d2240fd6420f81573 (patch) | |
| tree | 654af929363c8a55a034938eb4432619fd726dc3 | |
| parent | 168382db92d7ab9b8d7997b0bb91165b338e41e6 (diff) | |
| download | emacs-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.el | 61 |
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 |