Skip to main content
added 467 characters in body
Source Link
phils
  • 53.1k
  • 3
  • 84
  • 127

For the original question (repeating my comment):

As others have pointed out, that value needs to be a string: "/usr/bin/php". You need to manually type the quotes because add-dir-local-variable has no idea what type of value is required/valid for any given variable, so string values need to be made explicit. (Despite looking like a file path, the value you'd actually entered was a symbol rather than a string.)


For the revised/new question:

((nil . ((pony-settings (make-pony-project ...

is the same as:

((nil . ((pony-settings . ((make-pony-project ...

So you're setting pony-settings to ((make-pony-project ...))

And it sounds like that form is then evaluated like so:

((make-pony-project ...))

Hence:

eval: Invalid function: (make-pony-project ...)

Because while make-pony-project may be the name of a function, the form (make-pony-project ...) is not the name of a function.

So in summary, I suspect you're missing a dot. You probably wanted Try:

((nil . ((pony-settings . (make-pony-project ...

See also the "Notation" heading at https://www.emacswiki.org/emacs/DirectoryVariables#toc1

((nil . ((pony-settings (make-pony-project ...

is the same as:

((nil . ((pony-settings . ((make-pony-project ...

So you're setting pony-settings to ((make-pony-project ...))

And it sounds like that form is then evaluated like so:

((make-pony-project ...))

Hence:

eval: Invalid function: (make-pony-project ...)

So in summary, you're missing a dot. You probably wanted:

((nil . ((pony-settings . (make-pony-project ...

See also the "Notation" heading at https://www.emacswiki.org/emacs/DirectoryVariables#toc1

For the original question (repeating my comment):

As others have pointed out, that value needs to be a string: "/usr/bin/php". You need to manually type the quotes because add-dir-local-variable has no idea what type of value is required/valid for any given variable, so string values need to be made explicit. (Despite looking like a file path, the value you'd actually entered was a symbol rather than a string.)


For the revised/new question:

((nil . ((pony-settings (make-pony-project ...

is the same as:

((nil . ((pony-settings . ((make-pony-project ...

So you're setting pony-settings to ((make-pony-project ...))

And it sounds like that form is then evaluated like so:

((make-pony-project ...))

Hence:

eval: Invalid function: (make-pony-project ...)

Because while make-pony-project may be the name of a function, the form (make-pony-project ...) is not the name of a function.

So in summary, I suspect you're missing a dot. Try:

((nil . ((pony-settings . (make-pony-project ...

See also the "Notation" heading at https://www.emacswiki.org/emacs/DirectoryVariables#toc1

Source Link
phils
  • 53.1k
  • 3
  • 84
  • 127

((nil . ((pony-settings (make-pony-project ...

is the same as:

((nil . ((pony-settings . ((make-pony-project ...

So you're setting pony-settings to ((make-pony-project ...))

And it sounds like that form is then evaluated like so:

((make-pony-project ...))

Hence:

eval: Invalid function: (make-pony-project ...)

So in summary, you're missing a dot. You probably wanted:

((nil . ((pony-settings . (make-pony-project ...

See also the "Notation" heading at https://www.emacswiki.org/emacs/DirectoryVariables#toc1