;; This file is part of GNU Emacs.
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
("\\.xml\\'" flymake-xml-init)
("\\.html?\\'" flymake-xml-init)
("\\.cs\\'" flymake-simple-make-init)
- ("\\.pl\\'" flymake-perl-init)
+ ("\\.p[ml]\\'" flymake-perl-init)
+ ("\\.php[345]?\\'" flymake-php-init)
("\\.h\\'" flymake-master-make-header-init flymake-master-cleanup)
("\\.java\\'" flymake-simple-make-java-init flymake-simple-java-cleanup)
("[0-9]+\\.tex\\'" flymake-master-tex-init flymake-master-cleanup)
nil))))
(defun flymake-save-buffer-in-file (file-name)
- (save-restriction
- (widen)
- (make-directory (file-name-directory file-name) 1)
- (write-region (point-min) (point-max) file-name nil 566))
+ (make-directory (file-name-directory file-name) 1)
+ (write-region nil nil file-name nil 566)
(flymake-log 3 "saved buffer %s in file %s" (buffer-name) file-name))
(defun flymake-save-string-to-file (file-name data)
(flymake-log 3 "received %d byte(s) of output from process %d"
(length output) (process-id process))
- (when source-buffer
+ (when (buffer-live-p source-buffer)
(with-current-buffer source-buffer
(flymake-parse-output-and-residual output)))))
has-flymake-overlays))
(defface flymake-errline
- ;;+ '((((class color)) (:foreground "OrangeRed" :bold t :underline t))
- ;;+ '((((class color)) (:underline "OrangeRed"))
- '((((class color)) (:background "LightPink"))
+ '((((class color) (background dark)) (:background "Firebrick4"))
+ (((class color) (background light)) (:background "LightPink"))
(t (:bold t)))
"Face used for marking error lines."
:group 'flymake)
(defface flymake-warnline
- '((((class color)) (:background "LightBlue2"))
+ '((((class color) (background dark)) (:background "DarkBlue"))
+ (((class color) (background light)) (:background "LightBlue2"))
(t (:bold t)))
"Face used for marking warning lines."
:group 'flymake)
1 3 nil 4)
;; perl
("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1)
+ ;; PHP
+ ("\\(?:Parse\\|Fatal\\) error: \\(.*\\) in \\(.*\\) on line \\([0-9]+\\)" 2 3 nil 1)
;; LaTeX warnings (fileless) ("\\(LaTeX \\(Warning\\|Error\\): .*\\) on input line \\([0-9]+\\)" 20 3 nil 1)
;; ant/javac
(" *\\(\\[javac\\] *\\)?\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)\:\\([0-9]+\\)\:[ \t\n]*\\(.+\\)"
(file-name-directory buffer-file-name))))
(list "perl" (list "-wc " local-file))))
+;;;; php-specific init-cleanup routines
+(defun flymake-php-init ()
+ (let* ((temp-file (flymake-init-create-temp-buffer-copy
+ 'flymake-create-temp-inplace))
+ (local-file (file-relative-name
+ temp-file
+ (file-name-directory buffer-file-name))))
+ (list "php" (list "-f" local-file "-l"))))
+
;;;; tex-specific init-cleanup routines
(defun flymake-get-tex-args (file-name)
;;(list "latex" (list "-c-style-errors" file-name))