Skip to content

Commit b3d50fc

Browse files
committed
auto merge of #9015 : MicahChalmer/rust/emacs-fixes-round-2, r=nikomatsakis
Here are fixes for more problems mentioned in #8787. I think I've addressed everything mentioned there except for @nikomatsakis's comment about match/patterns now. (This also fixes the bug in struct alignment that @pnkfelix mentioned from my earlier pull request #8872.) The biggest change here is to make fill-paragraph (M-q) and auto-fill-mode work inside different variations of multi-line and doc comments. Because of the way emacs paragraph fills work (callbacks interacting with global regexp variables that are used in odd ways) there were quite a few edge cases that I had to work around. The only way I was able to keep it all straight was to create some regression tests. They use the emacs lisp regression testing tool ERT, and are included as the last commit here. I added a few tests for indentation as well. I have not attempted to integrate the tests into the overall rust compiler build process, since I can't imagine anyone would want the compiler build to have a dependency on emacs. Maybe at some point tools like this get their own repositories? Just a thought. One other thought related to the tests: should there be a place to put these types of style samples that isn't specific to one text editor? Maybe as part of an official rust style guide, but in a form that would allow tools like this to pull out the samples and use them for tests?
2 parents f6b36c6 + a469734 commit b3d50fc

File tree

4 files changed

+568
-35
lines changed

4 files changed

+568
-35
lines changed

src/etc/emacs/README.md

+6
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,12 @@ marking, press x, and ELPA will install the packages for you (under
6868

6969
* or using <kbd>M-x package-install rust-mode
7070

71+
### Tests via ERT
72+
73+
The file `rust-mode-tests.el` contains tests that can be run via ERT. You can
74+
use `run_rust_emacs_tests.sh` to run them in batch mode, if emacs is somewhere
75+
in your `$PATH`.
76+
7177
### Known bugs
7278

7379
* Combining `global-whitespace-mode` and `rust-mode` is generally glitchy.

src/etc/emacs/run_rust_emacs_tests.sh

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# This runs the test for emacs rust-mode.
2+
# It must be possible to find emacs via PATH.
3+
emacs -batch -l rust-mode.el -l rust-mode-tests.el -f ert-run-tests-batch-and-exit

0 commit comments

Comments
 (0)