Oh excellent! You may be able to remove the need for the shell script by running something like:
(shell-command-to-string (format "csi -SAv \"%s\" || true" option-or-filename)) Thanks, -Dan On Fri, Nov 23, 2012 at 11:05 AM, Felix < [email protected]> wrote: > Hello! > > > Attached is a first go at flymake[1] support for Scheme code. > It is derived from flymake-lua.el and very simple. > > Put chicken-flymake in your PATH, make it executable, load > flymake-chicken.el > into your emacs, open some .scm file and do > > M-x flymake-chicken-mode > > Now, lines containing scrutinizer warnings (and other errors that show > a line number) are highlighted. > > I have not used this seriously yet, but it's sort of weirdly cool ... > > I have added the code to the git repository (see the "scripts" and "misc" > subdirectories). > > Suggestions are welcome. > > > cheers, > felix > > [1] http://www.emacswiki.org/emacs/FlyMake > > ;;;; flymake for CHICKEN > > ;; Taken from: > ;; https://github.com/sroccaserra/emacs/blob/master/flymake-lua.el > > ;; > ;; Flymake for Lua > ;; > ;; Usage: > ;; (require 'flymake-lua) > ;; (add-hook 'lua-mode-hook 'flymake-lua-load) > ;; > ;; Note: litterally stolen from Steve Purcell's Flymake Ruby. > ;; See > http://github.com/purcell/emacs.d/blob/master/site-lisp/flymake-ruby/flymake-ruby.el > ;; > > (require 'flymake) > > (defgroup flymake-chicken nil > "Flymake Chicken Customizations") > > (defcustom flymake-chicken-program "chicken-flymake" > "How to invoke csc." > :type 'file > :group 'flymake-chicken) > > (defun flymake-create-temp-in-system-tempdir (filename prefix) > (make-temp-file (or prefix "flymake-chicken"))) > > (defun flymake-chicken-init () > (list flymake-chicken-program > (list (flymake-init-create-temp-buffer-copy > 'flymake-create-temp-in-system-tempdir)))) > > (defvar flymake-chicken-allowed-file-name-masks > '(("\\.scm\\'" flymake-chicken-init))) > > (defvar flymake-chicken-err-line-patterns > '((" *(\\(.+\\):\\([0-9]+\\)) *" > 1 2) > ("\\(Error\\|Warning\\|Note\\): *(line \\([0-9.]*\\))" > nil 2))) > > ;(defvar flymake-lua-err-line-patterns > ; '(("^.*luac[0-9.]*\\(.exe\\)?: *\\(.*\\):\\([0-9]+\\): \\(.*\\)$" > ; 2 3 nil 4))) > > ;;;###autoload > (defun flymake-chicken-mode () > (interactive) > (when (and (not (null buffer-file-name)) (file-writable-p > buffer-file-name)) > (set (make-local-variable 'flymake-allowed-file-name-masks) > flymake-chicken-allowed-file-name-masks) > (set (make-local-variable 'flymake-err-line-patterns) > flymake-chicken-err-line-patterns) > (flymake-mode t))) > > (provide 'flymake-chicken) > > #!/bin/sh > # > # usage: chicken-flymake OPTION-OR-FILENAME ... > > csc -SAv "$@" || true > > _______________________________________________ > Chicken-users mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/chicken-users > >
_______________________________________________ Chicken-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/chicken-users
