@@ -1161,32 +1161,63 @@ After setting the stylevars run hooks according to STYLENAME
11611161 (prog1 (php-set-style (symbol-name coding-style))
11621162 (remove-hook 'hack-local-variables-hook #'php-mode-set-style-delay )))))
11631163
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+
11641180(defun php-mode-debug ()
11651181 " Display informations useful for debugging PHP Mode."
11661182 (interactive )
11671183 (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 )))
11901221
11911222;;;### autoload
11921223(define-derived-mode php-mode c-mode " PHP"
0 commit comments