On Tue, 19 May 2009 20:41:11 +1000, Lex wrote:
Hey,
sorry for the delay :(.
The first place is the "make in base directory" option is hard coded to only be applied to make custom and make all but not make object.
I suggest that:
- all filetype dependent commands are executed in the file's directory
(current behavior) 2. when no project is open, all non-file type dependent commands are run in the directory of the current file (current behavior) 3. when a project is open, each non-file type dependent command has its own selection to make in base path or directory of the current file. That way a user can set the behavior to suit the command. Note that this option does not require the command to be defined in the project as the option can just as usefully be added to the default make commands as to user set specific commands. The option works in the same way as the labels and commands will, ie a project value overrides preference value overrides default value.
Yes to 1 and 2, as it is the current behaviour :). I don't have such a strong opinion on 3). My concern would only be that things get more complicated by adding a 'execute in base path' option but OTOH why should we limit the new features again unnecessarily. So, if you like to, go for it.
The second piece of hard coded behavior is in the removal of error markers from files. Currently the "compile file" and "make object" commands clear errors only for the current file, but all other commands including "build file" clear the errors from all the open files. I don't understand why the first two commands only affect the current file as, although they compile/build just that file, they can still cause errors in other files through includes etc. Also the markers that are left in other files no longer have corresponding error messages in the compile window since these are cleared when the command is run, causing potential confusion as to why the error marker is there. Unless I have missed an important use-case I propose that all build menu commands clear all error markers each time, then there is no confusion about what caused the mark.
Yeah, the idea for not clearing the error markers of other files was, as you mentioned, that Compile/Build and Make Object only affects the current file. But you are also right, that previous error markers in other files gets more or less invalid after a new build command is executed, so I'd agree to clear them all unconditionally for every build command.
Regards, Enrico