GNU bug report logs - #46203
28.0.50; flymake doesn't start in java-mode; here is debugger output

Previous Next

Package: emacs;

Reported by: Pankaj Jangid <pankaj <at> codeisgreat.org>

Date: Sun, 31 Jan 2021 05:34:01 UTC

Severity: normal

Tags: moreinfo, patch

Merged with 61668

Found in version 28.0.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Lian Hung Hon <hon.lianhung <at> gmail.com>
To: 46203 <at> debbugs.gnu.org
Subject: bug#46203: 28.0.50; flymake doesn't start in java-mode; here is debugger output
Date: Sun, 14 Mar 2021 12:43:55 +0800
[Message part 1 (text/plain, inline)]
In flymake-proc.el:

(defun flymake-proc--delete-temp-directory (dir-name)
  "Attempt to delete temp dir created by
`flymake-proc-create-temp-with-folder-structure', do not fail on error."
  (let* ((temp-dir    temporary-file-directory)
(suffix      (substring dir-name (1+ (length (directory-file-name
temp-dir))))))
    (while (> (length suffix) 0)
      (setq suffix (directory-file-name suffix))
      ;;+(flymake-log 0 "suffix=%s" suffix)
      (flymake-proc--safe-delete-directory
       (file-truename (expand-file-name suffix temp-dir)))
      (setq suffix (file-name-directory suffix)))))

Line 901 should be

  (let* ((temp-dir    (file-truename temporary-file-directory))

This is because the default value of variable temporary-file-directory
might be abbreviated, so substring does not work correctly. For example, on
my system (Windows) the default value is
"c:/Users/HECTOR~1/AppData/Local/Temp/". It ended up trying to delete my
source directory (!), but fortunately permission is denied.

A workaround is to manually set temporary-file-directory in .emacs to the
correct full path.

Regards,
Hon
[Message part 2 (text/html, inline)]

This bug report was last modified 1 year and 285 days ago.

Previous Next


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