GNU bug report logs - #8954
23.3.50; flymake handles read-only directories badly

Previous Next

Package: emacs;

Reported by: Reuben Thomas <rrt <at> sc3d.org>

Date: Tue, 28 Jun 2011 21:44:02 UTC

Severity: normal

Found in version 23.3.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Reuben Thomas <rrt <at> sc3d.org>
Subject: bug#8954: closed (Re: bug#8954: 23.3.50; flymake handles
 read-only directories badly)
Date: Wed, 11 Apr 2012 00:24:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#8954: 23.3.50; flymake handles read-only directories badly

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 8954 <at> debbugs.gnu.org.

-- 
8954: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8954
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Reuben Thomas <rrt <at> sc3d.org>
Cc: 8954-done <at> debbugs.gnu.org
Subject: Re: bug#8954: 23.3.50; flymake handles read-only directories badly
Date: Tue, 10 Apr 2012 20:22:20 -0400
> If I open a system include file, and have flymake-mode in my
> c-mode-hook, I get:

> Note: file is write protected
> flymake-save-buffer-in-file: Opening output file: permission denied, /usr/include/regex_flymake.h

> and (the actual bug) the buffer displayed is not regex.h

I've installed the patch below which should fix the worst part of
this bug.


        Stefan


=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2012-04-10 23:34:25 +0000
+++ lisp/ChangeLog	2012-04-11 00:20:36 +0000
@@ -1,3 +1,7 @@
+2012-04-11  Stefan Monnier  <monnier <at> iro.umontreal.ca>
+
+	* progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954).
+
 2012-04-10  Sébastien Gross  <seb <at> chezwam.org>  (tiny change)
 
 	* progmodes/hideshow.el (hs-hide-all): Don't infloop on comments

=== modified file 'lisp/progmodes/flymake.el'
--- lisp/progmodes/flymake.el	2012-02-08 02:12:24 +0000
+++ lisp/progmodes/flymake.el	2012-04-10 23:06:08 +0000
@@ -1356,8 +1356,12 @@
       (setq flymake-timer
             (run-at-time nil 1 'flymake-on-timer-event (current-buffer)))
 
-      (when flymake-start-syntax-check-on-find-file
-        (flymake-start-syntax-check)))))
+      (when (and flymake-start-syntax-check-on-find-file
+                 ;; Since we write temp files in current dir, there's no point
+                 ;; trying if the directory is read-only (bug#8954).
+                 (file-writable-p (file-name-directory buffer-file-name)))
+        (with-demoted-errors
+          (flymake-start-syntax-check))))))
 
    ;; Turning the mode OFF.
    (t


[Message part 3 (message/rfc822, inline)]
From: Reuben Thomas <rrt <at> sc3d.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.3.50; flymake handles read-only directories badly
Date: Tue, 28 Jun 2011 22:43:15 +0100
If I open a system include file, and have flymake-mode in my
c-mode-hook, I get:

Note: file is write protected
flymake-save-buffer-in-file: Opening output file: permission denied, /usr/include/regex_flymake.h

and (the actual bug) the buffer displayed is not regex.h

Maybe flymake should use temporary directories under /tmp to create its
temporary copies of files in non-user-writable directories?


In GNU Emacs 23.3.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.4)
 of 2011-06-16 on skwd
Windowing system distributor `The X.Org Foundation', version 11.0.11001000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lua

Minor modes in effect:
  shell-dirtrack-mode: t
  flyspell-mode: t
  recentf-mode: t
  show-paren-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  iswitchb-mode: t
  icomplete-mode: t
  global-whitespace-mode: t
  global-auto-revert-mode: t
  desktop-save-mode: t
  nxhtml-menu-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
e s k t o p SPC i s SPC n o t SPC s a v e d ; SPC i 
n SPC p a r t i c u l a r , SPC i t ' s SPC n o t SPC 
a u t o - s a v e d SPC ( I S-SPC h a v e SPC c o d 
e d SPC <backspace> <backspace> SPC t o SPC s a v e 
SPC i n t <backspace> <backspace> <backspace> t h e 
SPC d e s k t o p SPC i n SPC m y SPC a u t o C-h C-g 
C-c C-g C-x 5 2 <switch-frame> C-x C-f ~ / . e m a 
c s . C-x C-d C-f C-g C-x C-f <M-backspace> <M-backspace> 
<M-backspace> <M-backspace> <M-backspace> <M-backspace> 
<M-backspace> <M-backspace> <backspace> ~ / . e m a 
c s . d / <tab> <tab> v a <tab> <return> M-x g C-g 
C-s C-a C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n <switch-frame> - s a v 
e - h o o k ) . M-q C-x # C-g C-x C-c C-g C-c C-c n 
y e s <return> <help-echo> <help-echo> <help-echo> 
C-] <switch-frame> C-] C-] C-] C-x d <up> <up> <up> 
<up> <return> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> C-x 1 <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> C 
<up> <up> <up> <up> <return> y <help-echo> <help-echo> 
d x y e s <return> q C-x k <return> <switch-frame> 
<help-echo> C-x 5 0 M-x r e p o r t - m a <backspace> 
<backspace> e m a c s - b u g <return>

Recent messages:
Trying passive mode...on
Doing CD...done
Listing /ftp.aldisc.com:/sites/default/files/...done
Overwrite `/ftp.aldisc.com:/sites/default/files/banner-graphic.jpg'? [Type yn!q or C-h] 
Overwrite `/ftp.aldisc.com:/sites/default/files/banner-graphic.jpg'? [Type yn!q or C-h] y
Copying /home/rrt/Downloads/banner-graphic.jpg to /ftp.aldisc.com:/sites/default/files/...done
Copy: 1 of 1
Copy: 1 file
1 of 1 deletions
1 deletion done

Load-path shadows:
/home/rrt/local/share/emacs/nxhtml/util/rnc-mode hides /usr/share/emacs-snapshot/site-lisp/rnc-mode/rnc-mode
/home/rrt/local/share/emacs/nxhtml/related/php-mode hides /home/rrt/local/share/emacs/site-lisp/php-mode
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary-init hides /usr/local/share/emacs/23.3.50/site-lisp/dictionary-el/dictionary-init
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/dictionary hides /usr/local/share/emacs/23.3.50/site-lisp/dictionary-el/dictionary
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/link hides /usr/local/share/emacs/23.3.50/site-lisp/dictionary-el/link
/home/rrt/.emacs.d/elpa/dictionary-1.8.7/connection hides /usr/local/share/emacs/23.3.50/site-lisp/dictionary-el/connection
/home/rrt/local/share/emacs/site-lisp/graphviz-dot-mode hides /usr/local/share/emacs/23.3.50/site-lisp/emacs-goodies-el/graphviz-dot-mode
/home/rrt/local/share/emacs/site-lisp/dict hides /usr/local/share/emacs/23.3.50/site-lisp/emacs-goodies-el/dict
/usr/share/emacs-snapshot/site-lisp/ruby1.8-elisp/ruby-mode hides /usr/local/share/emacs/23.3.50/lisp/progmodes/ruby-mode
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/local/share/emacs/23.3.50/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/local/share/emacs/23.3.50/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/local/share/emacs/23.3.50/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/local/share/emacs/23.3.50/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/local/share/emacs/23.3.50/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex-fptex hides /usr/share/emacs/site-lisp/auctex/tex-fptex
/usr/local/share/emacs/23.3.50/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/local/share/emacs/23.3.50/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/local/share/emacs/23.3.50/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/local/share/emacs/23.3.50/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/local/share/emacs/23.3.50/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex

Features:
(gnus-msg gnus-art mm-uu mml2015 epg-config mm-view smime dig gnus-sum
nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec
gnus-int gnus-range gnus-win gnus gnus-ems shadow sort mail-extr message
sendmail ecomplete rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev
nnheader mm-util mail-prsvr gmm-utils mailheader canlock sha1 hex-util
hashcash mail-utils emacsbug multi-isearch css-mode help-mode view
conf-mode newcomment ange-ftp tramp-imap tramp-gw tramp-fish tramp-smb
tramp-cache tramp-ftp tramp-cmds tramp auth-source gnus-util netrc
time-date shell password-cache format-spec tramp-compat trampver
dired-aux dired inform-mode make-mode vc-git face-remap filladapt
flyspell completing-help recentf tree-widget wid-edit uniquify paren
savehist minibuf-eldef iswitchb icomplete whitespace autorevert time
desktop as-external wrap-to-fill cus-start cus-load server
nxhtml-autostart nxhtml-autoload moz majmodpri rnc-mode nxhtml-menu
web-autoload nxhtml-base php-mode etags cc-langs cc-mode cc-fonts
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs speedbar
sb-image ezimage dframe lua-mode regexp-opt ropemacs pymacs ffap ispell
flymake compile comint ring smart-quotes auto-dictionary-autoloads
c-eldoc-autoloads dictionary-autoloads diff-git-autoloads
dired-isearch-autoloads full-ack-autoloads guess-style-autoloads
kill-ring-search-autoloads magit-autoloads mv-shell-autoloads
tumble-autoloads http-post-simple-autoloads package reporter advice
advice-preload yasnippet help-fns derived edmacro kmacro easymenu assoc
cl cl-19 muse-autoloads emacs-goodies-el emacs-goodies-custom
emacs-goodies-loaddefs easy-mmode preview-latex tex-site auto-loads
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
font-setting tool-bar dnd fontset image fringe lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind system-font-setting
font-render-setting gtk x-toolkit x multi-tty emacs)

-- 
http://rrt.sc3d.org/



This bug report was last modified 13 years and 101 days ago.

Previous Next


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