@@ -1161,32 +1161,63 @@ After setting the stylevars run hooks according to STYLENAME
1161
1161
(prog1 (php-set-style (symbol-name coding-style))
1162
1162
(remove-hook 'hack-local-variables-hook #'php-mode-set-style-delay )))))
1163
1163
1164
+ (defun php-mode-debug--buffer (&optional command &rest args )
1165
+ " Return buffer for php-mode-debug, and execute `COMMAND' with `ARGS' ."
1166
+ (with-current-buffer (get-buffer-create " *PHP Mode DEBUG*" )
1167
+ (cl-case command
1168
+ (init (erase-buffer )
1169
+ (goto-address-mode ))
1170
+ (top (goto-char (point-min )))
1171
+ (insert (goto-char (point-max ))
1172
+ (apply #'insert args)))
1173
+ (current-buffer )))
1174
+
1175
+ (defun php-mode-debug--message (format-string &rest args )
1176
+ " Write message `FORMAT-STRING' and `ARGS' to debug buffer, like `message' ."
1177
+ (declare (indent 1 ))
1178
+ (php-mode-debug--buffer 'insert (apply #'format format-string args) " \n " ))
1179
+
1164
1180
(defun php-mode-debug ()
1165
1181
" Display informations useful for debugging PHP Mode."
1166
1182
(interactive )
1167
1183
(require 'cus-edit )
1168
- (message " --- PHP-MODE DEBUG BEGIN --- " )
1169
- (message " versions: %s ; %s " (emacs-version ) (php-mode-version))
1170
- (message " major-mode: %s " major-mode)
1171
- (message " minor-modes: %s "
1172
- (cl-loop for s in minor-mode-list
1173
- unless (string-match-p " global" (symbol-name s))
1174
- if (and (boundp s) (symbol-value s))
1175
- collect s))
1176
- (message " variables: %s "
1177
- (cl-loop for v in '(indent-tabs-mode tab-width)
1178
- collect (list v (symbol-value v))))
1179
- (message " custom variables: %s "
1180
- (cl-loop for (v type) in (custom-group-members 'php nil )
1181
- if (eq type 'custom-variable )
1182
- collect (list v (symbol-value v))))
1183
- (message " c-indentation-style: %s " c-indentation-style)
1184
- (message " c-style-variables: %s "
1185
- (cl-loop for v in c-style-variables
1186
- collect (list v (symbol-value v))))
1187
- (message " --- PHP-MODE DEBUG END --- " )
1188
- (switch-to-buffer " *Messages*" )
1189
- (goto-char (point-max )))
1184
+ (php-mode-debug--buffer 'init )
1185
+ (php-mode-debug--message " Feel free to report on GitHub what you noticed!" )
1186
+ (php-mode-debug--message " https://github.com/ejmr/php-mode/issues/new" )
1187
+ (php-mode-debug--message " " )
1188
+ (php-mode-debug--message " Pasting the following information on the issue will help us to investigate the cause." )
1189
+ (php-mode-debug--message " ```" )
1190
+ (php-mode-debug--message " --- PHP-MODE DEBUG BEGIN ---" )
1191
+ (php-mode-debug--message " versions: %s; %s" (emacs-version ) (php-mode-version))
1192
+ (php-mode-debug--message " package-version: %s"
1193
+ (let ((pkg (and (boundp 'package-alist )
1194
+ (cadr (assq 'php-mode package-alist)))))
1195
+ (when (and pkg (member (package-desc-status pkg) '(" unsigned" " dependency" )))
1196
+ (package-version-join (package-desc-version pkg)))))
1197
+ (php-mode-debug--message " major-mode: %s" major-mode)
1198
+ (php-mode-debug--message " minor-modes: %s"
1199
+ (cl-loop for s in minor-mode-list
1200
+ unless (string-match-p " global" (symbol-name s))
1201
+ if (and (boundp s) (symbol-value s))
1202
+ collect s))
1203
+ (php-mode-debug--message " variables: %s"
1204
+ (cl-loop for v in '(indent-tabs-mode tab-width)
1205
+ collect (list v (symbol-value v))))
1206
+ (php-mode-debug--message " custom variables: %s"
1207
+ (cl-loop for (v type) in (custom-group-members 'php nil )
1208
+ if (eq type 'custom-variable )
1209
+ collect (list v (symbol-value v))))
1210
+ (php-mode-debug--message " c-indentation-style: %s" c-indentation-style)
1211
+ (php-mode-debug--message " c-style-variables: %s"
1212
+ (cl-loop for v in c-style-variables
1213
+ unless (memq v '(c-doc-comment-style c-offsets-alist))
1214
+ collect (list v (symbol-value v))))
1215
+ (php-mode-debug--message " c-doc-comment-style: %s" c-doc-comment-style)
1216
+ (php-mode-debug--message " c-offsets-alist: %s" c-offsets-alist)
1217
+ (php-mode-debug--message " --- PHP-MODE DEBUG END ---" )
1218
+ (php-mode-debug--message " ```\n " )
1219
+ (php-mode-debug--message " Thank you!" )
1220
+ (pop-to-buffer (php-mode-debug--buffer 'top )))
1190
1221
1191
1222
;;;### autoload
1192
1223
(define-derived-mode php-mode c-mode " PHP"
0 commit comments