emacs - (eval (...)) in a flychecker command doesn't work with command symbols -


flycheck emacs library background compilation of source files. can add own "checkers" (ways of compiling files) manual.

i'm trying add compiler needs find few files in relative directory current file. have function me, called (process filename). when building terminal command execute file, can use (eval form) compute parameters on fly. here's relevant part of checker's definition:

(flycheck-declare-checker unity-csharp-flychecker   "given c-sharp file, looks unity file , tries build using mdtool."    :command '("mdtool" "build"      (eval '(process source-original)))    ...) 

source-original special symbol substituted buffer-file-name @ execution time.

unfortunately when try use checker, error:

invalid result evaluation of (quote (process source-original)): (process source-original) 

am using (eval) incorrectly here? how can access source-original within can pass (process)? appreciated.

this correct form:

(flycheck-declare-checker unity-csharp-flychecker   "given c-sharp file, looks unity file , tries build using mdtool."    :command '("mdtool" "build"      (eval (process buffer-file-name)))    ...) 

thanks bruce conner getting me remove quote before (process ...). gave me new error:

error: (void-variable source-original) 

so dug source , saw there no symbol substitution before evaluation. assumed because given symbols using buffer-file-name wouldn't work, tried , does. don't know if there ramifications approach down road.


Comments