Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
Moritz Bunkus
Meh, I now fail at creating a minimal test case. Will try again in the next couple of days and file an issue on Github if I succeed. Forget about it for the moment, please :)
Clément Pit-Claudel
Sounds good, thanks! :)
Moritz Bunkus
Oooooh I think I know what happens. Please check if the following makes sense:
  1. I'm only setting flycheck-perl-executable, I'm not defining my own checker.
  2. The default Perl checker has :standard-input t set.
  3. My custom executable set in 1. does not read from STDIN, it only uses the file name passed to it as a command-line argument.
  4. flycheck starts my executable in the background.
  5. My executable does its thing & runs the costly check. My executable does not read from STDIN.
  6. flycheck tries to write the current buffer's content to the sub-process's STDIN. This only works with very small buffers (< 512 bytes, maybe?) which are buffered by the C library (or operating system). If the current buffer is larger, though, the C library will block as the sub-process isn't reading its STDIN and Emacs's output buffer is full. Here's where the hang happens.
  7. As soon as my executable ends, Emacs's sub-process terminates, flycheck's attempted write operation fails.
Clément Pit-Claudel
Yep, that makes complete sense
Moritz Bunkus
Yeeaah, simply adding 'cat > /dev/null' at the start of my binary makes this problem go away. Another method might be to really define a generic flycheck checker instead of re-using the existing Perl checker (and disabling that one).
Thanks for the help! And the work on flycheck. I really love it.
Clément Pit-Claudel
Yup, I think defining a new checker is the right way to go :) Thanks for the kind words!
Moritz Bunkus
BTW, one tiny bug I did notice during my tests was that flycheck-compile shell-escapes the binary to execute without running expand-file-name on it. When setting flycheck-perl-executable to ~/bin/myperlcheck or something like that, flycheck-compile will escape that to \~/bin/myperlcheck, and that will fail as there's no such binary.
Clément Pit-Claudel
Good point. I wonder if this was by design when sebastian wrote that part. Is there a good way to just expand ~? The problem otherwise is that if we get python3.5 as the checker name, don't find it in PATH, and expand it to /the/current/directory/python3.5, users will be mightily confused.
hello, I've noticed in my repo some new files generated, starting with flycheck_ in the name . Can I disable this feature, please? I guess flycheck is responsible for it.
Jonathan Leonard
hi, i have flycheck-clj-kondo installed but when i run flycheck-verify-setup on a clojurescript file, it says no checkers are installed which understand that file.
can anyone help me troubleshoot it?
flycheck-clj-kondo is a melpa package and it was installed successfully
Jonathan Leonard
looks like melpa might be down
or hobbling along at reduced capacity
partcularly: elpa.gnu.org apparently
Clément Pit-Claudel
@chama-chomo These are temporary files created to feed to the checker. Flycheck should remove them automatically. If your checker supports input on stdin, these wont be needed. Alternatively you can set flycheck to only check your file upon saving it.
ok thanks
Is there an official way to do what I tried in a .dir-locals.el https://pastebin.com/53XVB4g1, i.e. to disable flycheck for all "wscript" files? Also, what about disabling for "*.suffix" files?
Clément Pit-Claudel
@fleimgruber Your code looks reasonable, though you shouldn't put a lambda in there. Does it work if you remove it?
If I try that, then I get this error File local-variables error: (invalid-function (when (string= (file-name-nondirectory buffer-file-name) wscript) (flycheck-mode 0)))
Alex Brick
Hi all. Can anyone help me with the php-phpcs checker? I get an error when I run it with flycheck-compile, but there are no errors in the list:
Compilation started at Wed Nov 20 15:30:05

/home/abrick/bin/phpcs-core --report\=checkstyle -q --stdin-path\=REDACTED/src/Entity/Group.php - < REDACTED/src/Entity/Group.php
<?xml version="1.0" encoding="UTF-8"?>
<checkstyle version="3.5.0">
<file name="src/Entity/Group.php">
 <error line="6" column="1" severity="error" message="Use statements should be sorted alphabetically. The first wrong one is App\Constant\Role." source="SlevomatCodingStandard.Namespaces.AlphabeticallySortedUses.IncorrectlyOrderedUses"/>

Compilation exited abnormally with code 2 at Wed Nov 20 15:30:05
flycheck-current-errors is a variable defined in ‘flycheck.el’.
Its value is nil
Local in buffer Group.php; global value is the same.

  Automatically becomes buffer-local when set.

A list of all errors and warnings in the current buffer.
Julio Borja Barra
how can I check what command flycheck is running to check my current file?
can I see log messages like in Messages somehow?
George Michokostas

I just install flycheck and I am trying to make it work with eslint but I for some reason it can't find the .eslintrc.js in my project

This is what I get when I do verify setup

  javascript-eslint (disabled)
    - may enable:  Automatically disabled!
    - executable:  Found at /usr/local/bin/eslint
    - config file: missing or incorrect

Flycheck Mode is enabled.  Use C-u C-c ! x to enable disabled


Flycheck version: 32snapshot (package: 20191121.2139)
Emacs version:    26.3
System:           x86_64-apple-darwin18.2.0
Window system:    ns
eslint -v v5.13.0 if that helps
Is there a timeline / roadmap for Flycheck 32 available?
I am using emacs with the setup (lsp/ccls/flycheck). I am also using the option:
flycheck-check-syntax-automatically '(mode-enabled save)
However, flycheck still displays errors in the buffer while editing and before saving the buffer.
Ivan Yonchovski
@hisnawi check lsp-ui-flycheck-live-reporting
@yyoncho thank you. will check that out. It worked :)
Lareb Khalil Syed
I am new here, I am facing an issue, I have enabled run on save buffer, now whenever I save by typescript buffer, with typescript-tide and typescript-tslint check enabled, the emacs freezes for a couple of second.
Does any one else has this issue?
Hello, I'm getting this error whenever I open emacs:
error while checking syntax automatically wrong-type-argument wholenump, nil
I believe this is related to flycheck? Has anyone seen this before?
Can flycheck be used for custom compilers. For example, if my company uses their own compiler can I use that compiler with flycheck? I think the flycheck-define-checker function can do it, but our command line has to be initialized with a special command before our compiler can be run.
I'm using flycheck with markdown. I have a .markdownlint.json file in project root, but running flycheck-verify-setup reports that markdownlint is disable because the configuration file was not found. what can I do?
Nicolas Gimenez
Hi there! I'm using Spacemacs & Flycheck with Javascript-Eslint. Overall, it works. But at a specific error, when typing flycheck-next-error, it refuses to go on.
I must move the cursor down the file for flycheck-next-error to work again. See the attached .gif. Do you guys have any clue where this comes from?
Evan Hackett
Hey I'm having difficulty enabling a checker. I'm trying to enable javascript-standard in spacemacs. The executable is found, but I don't know how to enable it.
Screenshot from 2020-04-30 11-43-53.png
Clément Pit-Claudel
@evanhackett just reverting your buffer should work. What you're seeing is what happens when a package gets installed after the buffer is first opened.
Michael Wayne Goodman
I recently updated my OS and now flycheck is running mypy from within a package instead of the project root. E.g., say I have myproject/ as the project root, and I open myproject/mypackage/mymodule.py, it is running mypy with myproject/mypackage/ as the default-directory instead of myproject/.
This used to work and I'm not sure what has changed. I think I'm using the same Emacs config. I don't have (nor did I have before) any .dir-locals file, nor any mypy.ini or setup.cfg file in the project root. I see that the upcoming version 32 of flycheck will allow for better configuration for these landmark config files, but is there anything I can do now?
Michael Wayne Goodman
Er, by "within a package" I was using Python terminology. I meant "within a subdirectory". Also some more info: making a blank mypy.ini file in the project root did not help it find the right top-level directory. And I'm opening Emacs from the project root directory.
Clément Pit-Claudel
@goodmami You can install Flycheck from melpa, and you'll get the latest version; if things don't workfor you there, please open a new issue, or post in an existing one on the tracker
Michael Wayne Goodman
@cpitclaudel thanks I'll try the latest version
Thor Michael Støre
Hey! I'm having a small issue getting pylint to run right through flycheck. I have a project directory with a root source directory beneath it, when I run pylint from the command line for the whole source directory it works fine, while when I specify a single file I need to add that source directory to the python path or I get import errors. But if I try that in emacs by setting PYTHONPATH in .dir-locals for that project, and opening a source file in that directory with flycheck enabled, I still get import errors from pylint. Does flycheck not pass on environment variables? It's no real problem if that's the way it is supposed to be, as-is I tweak sys.path in .pylintrc, I just wanted to avoid that since it's a less general solution.
Clément Pit-Claudel
@thormick_gitlab Indeed, binaries are started with the same environment as emacs was started with. It's a bit odd that you need to change PYTHON_PATH. Could you check if flycheck/flycheck#1771 helps?