<feed xmlns='http://www.w3.org/2005/Atom'>
<title>flymake-rust.git, branch next</title>
<subtitle>rust integration for emacs' flymake</subtitle>
<id>https://git.spork.org/flymake-rust.git/atom?h=next</id>
<link rel='self' href='https://git.spork.org/flymake-rust.git/atom?h=next'/>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/'/>
<updated>2022-02-19T03:06:02Z</updated>
<entry>
<title>Assign copyright to the FSF, since I’ve completed my paperwork.</title>
<updated>2022-02-19T03:06:02Z</updated>
<author>
<name>Brian Cully</name>
<email>bjc@kublai.com</email>
</author>
<published>2022-02-19T03:06:02Z</published>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/commit/?id=80a6a082a9a8672a087db15a756f93e373fbab9f'/>
<id>urn:sha1:80a6a082a9a8672a087db15a756f93e373fbab9f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add TODO file.</title>
<updated>2021-02-25T17:07:17Z</updated>
<author>
<name>Brian Cully</name>
<email>bjc@kublai.com</email>
</author>
<published>2021-02-25T17:01:05Z</published>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/commit/?id=a23b5fd474c55f34d54d99f5ad1a59ef28b3d883'/>
<id>urn:sha1:a23b5fd474c55f34d54d99f5ad1a59ef28b3d883</id>
<content type='text'>
Need to track this stuff somewhere that’s not just the source files.
</content>
</entry>
<entry>
<title>A bunch of fixes.</title>
<updated>2021-02-25T13:58:52Z</updated>
<author>
<name>Brian Cully</name>
<email>bjc@kublai.com</email>
</author>
<published>2021-02-25T02:22:09Z</published>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/commit/?id=cf412740aabae885d5bd735b4874a3456d6cbdeb'/>
<id>urn:sha1:cf412740aabae885d5bd735b4874a3456d6cbdeb</id>
<content type='text'>
  * Get cargo checker working with non-main source files by making
  some assumptions about the crate path we’re given in cargo’s check
  output.

  * Attempt to fix TRAMP issues in Emacs 28.0.50. These may be due to
  bugs in TRAMP, in nativecomp, or maybe I just wrote some broken code
  that happens to work in 27.1.

    - Simplify output buffer names so they don’t ever have TRAMP paths

  * Use a generator for JSON parsing. This makes the code much easier
  to read, IMHO.

  * Skip past newlines when processing JSON. Now I no longer need to
  catch errors from the parser, since end-of-file shouldn’t be
  encountered anymore by the parser.
</content>
</entry>
<entry>
<title>Allow the rustc checker to run between saves.</title>
<updated>2021-02-25T13:41:28Z</updated>
<author>
<name>Brian Cully</name>
<email>bjc@kublai.com</email>
</author>
<published>2021-02-22T15:56:18Z</published>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/commit/?id=c5b12f62aa415a1183c399c7a842d90cf82841dd'/>
<id>urn:sha1:c5b12f62aa415a1183c399c7a842d90cf82841dd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Minor code changes</title>
<updated>2021-02-25T13:41:19Z</updated>
<author>
<name>Brian Cully</name>
<email>bjc@kublai.com</email>
</author>
<published>2021-02-22T03:50:17Z</published>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/commit/?id=c735494681f71bb0b64cae865b554cd056045f62'/>
<id>urn:sha1:c735494681f71bb0b64cae865b554cd056045f62</id>
<content type='text'>
  * mapc -&gt; dolist

  * cond -&gt; pcase
    I find pcase to be easier to read when it can be used, which, in
    this case, is everywhere cond was being used.

  * use some thread-last.

  * Fix URL in comment header.

  * Add package version to defcustom strings.

  * Have rustc dump build results to /dev/null.

  * Fix URL in header comments.

  * Tell rustc to send output files to /dev/null

  * Add ‘tools’ keyword to package.

  * Add autoload for setup, use filename in comment header.

  * Get rid of single use macro.

  * Calculate flymake proc buffer names from source buffer name, not
    file.

  * Update comments.
</content>
</entry>
<entry>
<title>Merge pull request #1 from bjc/rustc-support</title>
<updated>2021-02-22T14:21:24Z</updated>
<author>
<name>Brian Cully</name>
<email>bjc@kublai.com</email>
</author>
<published>2021-02-22T14:21:24Z</published>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/commit/?id=0d400b729c510e8abeca07ce811255239f7d0e65'/>
<id>urn:sha1:0d400b729c510e8abeca07ce811255239f7d0e65</id>
<content type='text'>
Add support for checking with rustc.</content>
</entry>
<entry>
<title>Add support for checking with rustc.</title>
<updated>2021-02-22T14:09:33Z</updated>
<author>
<name>Brian Cully</name>
<email>bjc@kublai.com</email>
</author>
<published>2021-02-21T16:19:11Z</published>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/commit/?id=cfec7d35afa31164ca50156c472b98f6be961111'/>
<id>urn:sha1:cfec7d35afa31164ca50156c472b98f6be961111</id>
<content type='text'>
Using the rust compiler directly is, in general, weaker than using
cargo because it’s not workspace-aware, and thus can’t tell that the
missing ‘main’ function is actually in a different file somewhere
else.

However, rustc does allow me to pass rust code on standard input,
which means I can run checks between file saves, which is at least
somewhat useful.

Unfortunately, while both rustc and cargo can be told to use JSON, and
the objects roughly match, it has enough deviation to require slight
code rework all over the place, to the point that it honestly probably
would have been easier, and had less code duplication, to just use
regexp on the human readable stuff.

In addition to rustc, this patch also makes the following changes:

  * Emacs 27 is required, because I’m using ‘executable-find’ with the
    option second argument. This is needed so remote paths can be
    found for the checkers if the file being checked is also remote.

  * Removed the process filter. Now I’m only checking when everything
    is done. This simplified the code quite a lot, and shouldn’t be
    any slower.

  * Checker output is now processed on the idle timer with a very
    short delay. This retains something very close to previous speed
    and should prevent issues where a bug in the processing causes
    Emacs to appear to lock up.
</content>
</entry>
<entry>
<title>Fix off-by-one error for byte start/end.</title>
<updated>2021-02-21T17:18:52Z</updated>
<author>
<name>Brian Cully</name>
<email>bjc@kublai.com</email>
</author>
<published>2021-02-21T17:14:51Z</published>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/commit/?id=85b96b90393c39ca62b1f0b3ab0ed769d97973c9'/>
<id>urn:sha1:85b96b90393c39ca62b1f0b3ab0ed769d97973c9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Initial commit.</title>
<updated>2021-02-21T15:54:54Z</updated>
<author>
<name>Brian Cully</name>
<email>bjc@kublai.com</email>
</author>
<published>2021-02-21T15:54:54Z</published>
<link rel='alternate' type='text/html' href='https://git.spork.org/flymake-rust.git/commit/?id=63ef5484351e7fdf1bfa87b04f16be0dfee02007'/>
<id>urn:sha1:63ef5484351e7fdf1bfa87b04f16be0dfee02007</id>
<content type='text'>
</content>
</entry>
</feed>
