@@ -327,6 +327,7 @@ as a function. Call with AS-NUMBER keyword to compare by `version<'.
327
327
328
328
(defvar php-mode-map
329
329
(let ((map (make-sparse-keymap " PHP Mode" )))
330
+ (set-keymap-parent map c-mode-base-map)
330
331
; ; Remove menu item for c-mode
331
332
(define-key map [menu-bar C] nil )
332
333
@@ -1150,14 +1151,14 @@ After setting the stylevars run hook `php-mode-STYLENAME-hook'."
1150
1151
table))
1151
1152
1152
1153
;;;### autoload
1153
- (define-derived-mode php-mode c -mode " PHP"
1154
+ (define-derived-mode php-mode php-base -mode " PHP"
1154
1155
" Major mode for editing PHP code.
1155
1156
1156
1157
\\ {php-mode-map}"
1157
1158
:syntax-table php-mode-syntax-table
1158
- ; ; :after-hook (c-update-modeline )
1159
- ; ; (setq abbrev-mode t )
1160
-
1159
+ :after-hook (progn (c-make-noise-macro-regexps )
1160
+ ( c-make-macro-with-semi-re )
1161
+ ( c-update-modeline ))
1161
1162
(unless (string= php-mode-cc-version c-version)
1162
1163
(php-mode-debug-reinstall nil ))
1163
1164
@@ -1168,8 +1169,16 @@ After setting the stylevars run hook `php-mode-STYLENAME-hook'."
1168
1169
:warning ))
1169
1170
1170
1171
(c-initialize-cc-mode t )
1172
+ (setq abbrev-mode t )
1173
+
1174
+ ; ; Must be called once as c-mode to enable font-lock for Heredoc.
1175
+ ; ; TODO: This call may be removed in the future.
1176
+ (c-common-init 'c-mode )
1177
+
1171
1178
(c-init-language-vars php-mode)
1172
1179
(c-common-init 'php-mode )
1180
+ (cc-imenu-init cc-imenu-c-generic-expression)
1181
+
1173
1182
(setq-local c-auto-align-backslashes nil )
1174
1183
1175
1184
(setq-local comment-start " // " )
@@ -1252,7 +1261,7 @@ After setting the stylevars run hook `php-mode-STYLENAME-hook'."
1252
1261
(advice-add 'acm-backend-tabnine-candidate-expand
1253
1262
:filter-args #'php-acm-backend-tabnine-candidate-expand-filter-args )
1254
1263
1255
- (when (>= emacs-major-version 25 )
1264
+ (when (eval-when-compile ( >= emacs-major-version 25 ) )
1256
1265
(with-silent-modifications
1257
1266
(save-excursion
1258
1267
(let* ((start (point-min ))
0 commit comments