* bug#8954: 23.3.50; flymake handles read-only directories badly
@ 2011-06-28 21:43 Reuben Thomas
2012-04-11 0:22 ` Stefan Monnier
0 siblings, 1 reply; 2+ messages in thread
From: Reuben Thomas @ 2011-06-28 21:43 UTC (permalink / raw)
To: 8954
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/
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#8954: 23.3.50; flymake handles read-only directories badly
2011-06-28 21:43 bug#8954: 23.3.50; flymake handles read-only directories badly Reuben Thomas
@ 2012-04-11 0:22 ` Stefan Monnier
0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2012-04-11 0:22 UTC (permalink / raw)
To: Reuben Thomas; +Cc: 8954-done
> 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@iro.umontreal.ca>
+
+ * progmodes/flymake.el (flymake-mode): Beware read-only dirs (bug#8954).
+
2012-04-10 Sébastien Gross <seb@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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-04-11 0:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-28 21:43 bug#8954: 23.3.50; flymake handles read-only directories badly Reuben Thomas
2012-04-11 0:22 ` Stefan Monnier
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).