GNU bug report logs - #79257
31.0.50; flymake's ruby-backend test fails with ruby 3.4.5

Previous Next

Package: emacs;

Reported by: john muhl <jm <at> pub.pink>

Date: Sat, 16 Aug 2025 20:18:01 UTC

Severity: normal

Found in version 31.0.50

Done: Dmitry Gutov <dmitry <at> gutov.dev>

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Dmitry Gutov <dmitry <at> gutov.dev>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#79257: closed (31.0.50; flymake's ruby-backend test fails
 with ruby 3.4.5)
Date: Tue, 26 Aug 2025 21:12:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 27 Aug 2025 00:10:58 +0300
with message-id <79168838-7581-4f0a-bf34-85fc2db2428a <at> gutov.dev>
and subject line Re: bug#79257: 31.0.50; flymake's ruby-backend test fails with ruby 3.4.5
has caused the debbugs.gnu.org bug report #79257,
regarding 31.0.50; flymake's ruby-backend test fails with ruby 3.4.5
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
79257: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79257
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: john muhl <jm <at> pub.pink>
To: bug-gnu-emacs <at> gnu.org
Subject: 31.0.50; flymake's ruby-backend test fails with ruby 3.4.5
Date: Sat, 16 Aug 2025 15:17:28 -0500
The test passes with Ruby 3.3.8:

$ ruby --version
ruby 3.3.8 (2025-04-09 revision b200bad6cd) [x86_64-linux-gnu]

$ make -C test lisp/progmodes/flymake-tests.log
make: Entering directory '/root/emacs/test'
  GEN      lisp/progmodes/flymake-tests.log
make: Leaving directory '/root/emacs/test'

$ cat test/lisp/progmodes/flymake-tests.log
Running 10 tests (2025-08-16 20:14:31+0000, selector `(not (or (tag :unstable) (tag :nativecomp)))')
   passed   1/10  different-diagnostic-types (1.064348 sec)
   passed   2/10  dummy-backends (1.001868 sec)
   passed   3/10  eob-region-and-trailing-newline (0.000263 sec)
   passed   4/10  foreign-diagnostics (2.039984 sec)
   passed   5/10  included-c-header-files (2.038547 sec)
   passed   6/10  perl-backend (1.013309 sec)
   passed   7/10  recurrent-backend (1.002002 sec)
   passed   8/10  ruby-backend (1.015112 sec)
   passed   9/10  warning-predicate-function-gcc (1.017387 sec)
   passed  10/10  warning-predicate-rx-gcc (1.019503 sec)

Ran 10 tests, 10 results as expected, 0 unexpected (2025-08-16 20:14:42+0000, 11.213646 sec)

Then fails with 3.4.5:

$ ruby --version
ruby 3.4.5 (2025-07-16 revision 20cda200d3) +PRISM [x86_64-linux]

$ make -C test lisp/progmodes/flymake-tests.log
make[1]: Entering directory '/root/emacs/test'
  GEN      lisp/progmodes/flymake-tests.log
Running 10 tests (2025-08-16 20:09:51+0000, selector `(not (or (tag :unstable) (tag :nativecomp)))')
   passed   1/10  different-diagnostic-types (1.066408 sec)
   passed   2/10  dummy-backends (1.001843 sec)
   passed   3/10  eob-region-and-trailing-newline (0.000216 sec)
   passed   4/10  foreign-diagnostics (2.041202 sec)
   passed   5/10  included-c-header-files (2.038718 sec)
   passed   6/10  perl-backend (1.014080 sec)
   passed   7/10  recurrent-backend (1.002050 sec)
Test ruby-backend backtrace:
  signal(ert-test-failed (((should (eq 'flymake-error (face-at-point))
  ert-fail(((should (eq 'flymake-error (face-at-point))) :form (eq fly
  (if (unwind-protect (setq value-41 (apply fn-39 args-40)) (setq form
  (let (form-description-43) (if (unwind-protect (setq value-41 (apply
  (let ((value-41 'ert-form-evaluation-aborted-42)) (let (form-descrip
  (let* ((fn-39 #'eq) (args-40 (condition-case err (list 'flymake-erro
  #f(lambda () [t] (flymake-goto-next-error) (let* ((fn-34 #'eq) (args
  funcall(#f(lambda () [t] (flymake-goto-next-error) (let* ((fn-34 #'e
  (save-excursion (if sev-pred-supplied-p (progn (setq flymake-proc-di
  (save-current-buffer (set-buffer buffer) (save-excursion (if sev-pre
  (unwind-protect (save-current-buffer (set-buffer buffer) (save-excur
  (let* ((file (expand-file-name file flymake-tests-data-directory)) (
  (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((m
  (let* ((sev-pred-supplied-p (plist-member --cl-rest-- ':severity-pre
  flymake-tests--call-with-fixture(#f(lambda () [t] (flymake-goto-next
  (let* ((process-environment (cons (format "HOME=%s" tempdir) process
  (progn (let* ((process-environment (cons (format "HOME=%s" tempdir) 
  (unwind-protect (progn (let* ((process-environment (cons (format "HO
  (let* ((coding-system-for-write nil) (temp-file (file-name-as-direct
  #f(lambda () [ruby-mode-hook t] (let* ((fn-29 #'executable-find) (ar
  #f(compiled-function () #<bytecode 0xf2de8ace0c80c71>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0xf2de8ace0c80c71>
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name ruby-backend :documentation "Test the
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
  ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
  eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test ruby-backend condition:
    (ert-test-failed
     ((should (eq 'flymake-error (face-at-point))) :form
      (eq flymake-error flymake-warning) :value nil))
   FAILED   8/10  ruby-backend (1.013506 sec) at lisp/progmodes/flymake-tests.el:123
   passed   9/10  warning-predicate-function-gcc (1.017136 sec)
   passed  10/10  warning-predicate-rx-gcc (1.019550 sec)

Ran 10 tests, 9 results as expected, 1 unexpected (2025-08-16 20:10:02+0000, 11.275721 sec)

1 unexpected results:
   FAILED  ruby-backend


[Message part 3 (message/rfc822, inline)]
From: Dmitry Gutov <dmitry <at> gutov.dev>
To: john muhl <jm <at> pub.pink>, Eli Zaretskii <eliz <at> gnu.org>
Cc: 79257-done <at> debbugs.gnu.org
Subject: Re: bug#79257: 31.0.50; flymake's ruby-backend test fails with ruby
 3.4.5
Date: Wed, 27 Aug 2025 00:10:58 +0300
On 26/08/2025 17:08, john muhl wrote:
> That output is from running ruby directly from the command line
> not from ruby-flymake-simple. I had different ruby versions
> installed to compare output and it was easier to do that from
> outside Emacs and using the full path to the executable rather
> than fiddling with PATH or messing with symlinks.
> 
>    $ cat test/lisp/progmodes/flymake-resources/test.rb | ruby -w -c
>    -:3: warning: statement not reached
>    ruby: -:5: syntax errors found (SyntaxError)
> 
>    $ cat test/lisp/progmodes/flymake-resources/test.rb | /usr/bin/ruby -w -c
>    -:3: warning: statement not reached
>    /usr/bin/ruby: -:5: syntax errors found (SyntaxError)
> 
> r-f-s always does “ruby -w -c” like the first example so it
> doesn’t get an absolute path in the output.

Great! Thanks, I've shortened it.


This bug report was last modified 15 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.