Subject: bug#12983: 24.3.50; cd does not work

From: Vincent Belaïche <[email-masked]>
Date: Sat, 24 Nov 2012 22:25:33 +0100

Ok, I did not try with -Q, but here is what happens, I do `M-x rgrep'
and I get the error with that backtrace:

Debugger entered--Lisp error: (error "Cannot cd to c:/msys/1.0/local/projects/jpicedt/jpicedt/:  Permission denied")
  signal(error ("Cannot cd to c:/msys/1.0/local/projects/jpicedt/jpicedt/:  Permission denied"))
  error("Cannot cd to %s:  Permission denied" "c:/msys/1.0/local/projects/jpicedt/jpicedt/")
  (if (file-executable-p dir) nil (error "Cannot cd to %s:  Permission denied" dir))
  (unless (file-executable-p dir) (error "Cannot cd to %s:  Permission denied" dir))
  (if (not (file-directory-p dir)) (if (file-exists-p dir) (error "%s is not a directory" dir) (error "%s: no such directory" dir)) (unless (file-executable-p dir) (error "Cannot cd to %s:  Permission denied" dir)) (setq default-directory dir) (setq list-buffers-directory dir))
  cd-absolute("c:/msys/1.0/local/projects/jpicedt/jpicedt/")
  cd("c:/msys/1.0/local/projects/jpicedt/jpicedt/")
  compilation-start("find c:/msys/1.0/local/projects/jpicedt/jpicedt/ -type d \"(\" -path \"*/SCCS\" -o -path \"*/RCS\" -o -path \"*/CVS\" -o -path \"*/MCVS\" -o -path \"*/.svn\" -o -path \"*/.git\" -o -path \"*/.hg\" -o -path \"*/.bzr\" -o -path \"*/_MTN\" -o -path \"*/_darcs\" -o -path \"*/{arch}\" \")\" -prune -o ^\"^!^\" -type d \"(\" -name \".#*\" -o -name \"*.o\" -o -name \"*~\" -o -name \"*.bin\" -o -name \"*.bak\" -o -name \"*.obj\" -o -name \"*.map\" -o -name \"*.ico\" -o -name \"*.pif\" -o -name \"*.lnk\" -o -name \"*.a\" -o -name \"*.ln\" -o -name \"*.blg\" -o -name \"*.bbl\" -o -name \"*.dll\" -o -name \"*.drv\" -o -name \"*.vxd\" -o -name \"*.386\" -o -name \"*.elc\" -o -name \"*.lof\" -o -name \"*.glo\" -o -name \"*.idx\" -o -name \"*.lot\" -o -name \"*.dvi\" -o -name \"*.fmt\" -o -name \"*.tfm\" -o -name \"*.class\" -o -name \"*.fas\" -o -name \"*.lib\" -o -name \"*.mem\" -o -name \"*.x86f\" -o -name \"*.sparcf\" -o -name \"*.fasl\" -o -name \"*.ufsl\" -o -name \"*.fsl\" -o -name \"*.pfsl\" -o -name \"*.dfsl\" -o -name \"*.lo\" -o -name \"*.la\" -o -name \"*.gmo\" -o -name \"*.mo\" -o -name \"*.toc\" -o -name \"*.aux\" -o -name \"*.cp\" -o -name \"*.fn\" -o -name \"*.ky\" -o -name \"*.pg\" -o -name \"*.tp\" -o -name \"*.vr\" -o -name \"*.cps\" -o -name \"*.fns\" -o -name \"*.kys\" -o -name \"*.pgs\" -o -name \"*.tps\" -o -name \"*.vrs\" -o -name \"*.pyc\" -o -name \"*.pyo\" \")\" -prune -o  -type f \"(\" -iname \"*.java\" \")\" -exec grep  -nH -e \"HistoryModel\" {} +" grep-mode)
  rgrep("HistoryModel" "*.java" "c:/msys/1.0/local/projects/jpicedt/jpicedt/" nil)
  call-interactively(rgrep record nil)
  command-execute(rgrep record)
  execute-extended-command(nil "rgrep")
  call-interactively(execute-extended-command nil nil)

So, the question is why on earth do I have in files.el the following
code inside function `cd-absolute':

    (unless (file-executable-p dir)
      (error "Cannot cd to %s:  Permission denied" dir))

FYI, under MSWindows-XP with directory, calling file-executable-p returns nil
even though I have read access rights. 

BR,
  Vincent.

;;=====================================================================
In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
 of 2012-11-22 on CHOUNEK
Bzr revision: 110913 [email-masked]
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --cflags -I
 C:/Programme/GNU/installation/emacs-install/libXpm-3.5.7/include -I
 C:/Programme/GNU/installation/emacs-install/libXpm-3.5.7/src'

Important settings:
  value of $EMACSPATH: c:\Programme\NGNU\CVS;C:\Programme\GNU\GnuPG;c:\Programme\apache-ant-1.8.0\bin;c:\msys\1.0\bin;c:\msys\1.0\mingw\bin;
  value of $LANG: FRA
  locale-coding-system: cp1252
  default enable-multibyte-characters: t

Major mode: Dired by name

Minor modes in effect:
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  mail-abbrevs-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
SPC SPC SPC SPC SPC SPC SPC SPC SPC C-x 1 <down> <down> 
<down> <down> <down> <down> <down> SPC SPC SPC SPC 
C-x 1 <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
SPC SPC SPC SPC C-x 1 M-x r e c e n t f - f <return> 
<return> <end> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <up> <up> <return> 
M-x r g r e p <return> H i s t o r y M o d e l <return> 
<return> <M-backspace> <M-backspace> <M-backspace> 
<return> q M-x r e c e n t f - f <return> <return> 
C-s f u <down> C-s f i l e . C-r C-r <up> <C-home> 
C-s C-s e l C-r <up> <C-home> C-s f i l e . <home> 
C-x d C-a <right> <right> <right> C-k P r o <tab> m 
<tab> g n <tab> e m <tab> / l i s <tab> f i <tab> i 
<tab> <backspace> l <tab> s <tab> . e l <tab> <return> 
<return> C-x C-f C-g C-x b <return> C-x k <return> 
C-x C-f <up> C-a <C-right> <C-right> <C-right> <right> 
C-k i n s <tab> m <backspace> e <tab> m <tab> e m <tab> 
/ t r u <tab> / l i <tab> <backspace> <backspace> C-y 
<C-left> <C-left> <C-left> <M-backspace> <tab> <return> 
M-x e d i f f - b u f <tab> <return> <return> <return> 
SPC SPC <backspace> a SPC <switch-frame> <switch-frame> 
a q <switch-frame> <switch-frame> y C-x C-s C-x d <return> 
C-s f i l e s . <left> B y M-x r e <backspace> <backspace> 
b u g <tab> <tab> <M-backspace> r e <backspace> <backspace> 
<tab> <M-backspace> <M-backspace> r e p <tab> <tab> 
o <tab> r t - e m <tab> <return>

Recent messages:
Only white-space differences in region 2 
Quit this Ediff session? (y or n)  y
Saving file c:/Programme/GNU/Emacs/lisp/files.el...
Wrote c:/Programme/GNU/Emacs/lisp/files.el
Mark saved where search started
Byte-Compile files.el? (y or n)  y
Compiling c:/Programme/GNU/Emacs/lisp/files.el...done
Wrote c:/Programme/GNU/Emacs/lisp/files.elc
Byte-Compile: 1 file.
Making completion list... [3 times]

Load-path shadows:
c:/Programme/GNU/emacs-extension/lisp/auctex/prv-emacs hides c:/Programme/GNU/installation/auctex-install/auctex/preview/prv-emacs
c:/Programme/GNU/emacs-extension/lisp/auctex/preview hides c:/Programme/GNU/installation/auctex-install/auctex/preview/preview
c:/Programme/GNU/emacs-extension/lisp/preview-latex hides c:/Programme/GNU/installation/auctex-install/auctex/preview/preview-latex
c:/Programme/GNU/emacs-extension/lisp/auctex/toolbar-x hides c:/Programme/GNU/installation/auctex-install/auctex/toolbar-x
c:/Programme/GNU/emacs-extension/lisp/auctex/texmathp hides c:/Programme/GNU/installation/auctex-install/auctex/texmathp
c:/Programme/GNU/emacs-extension/lisp/auctex/tex hides c:/Programme/GNU/installation/auctex-install/auctex/tex
c:/Programme/GNU/emacs-extension/lisp/auctex/tex-style hides c:/Programme/GNU/installation/auctex-install/auctex/tex-style
c:/Programme/GNU/emacs-extension/lisp/tex-site hides c:/Programme/GNU/installation/auctex-install/auctex/tex-site
c:/Programme/GNU/emacs-extension/lisp/auctex/tex-mik hides c:/Programme/GNU/installation/auctex-install/auctex/tex-mik
c:/Programme/GNU/emacs-extension/lisp/auctex/tex-jp hides c:/Programme/GNU/installation/auctex-install/auctex/tex-jp
c:/Programme/GNU/emacs-extension/lisp/auctex/tex-info hides c:/Programme/GNU/installation/auctex-install/auctex/tex-info
c:/Programme/GNU/emacs-extension/lisp/auctex/tex-font hides c:/Programme/GNU/installation/auctex-install/auctex/tex-font
c:/Programme/GNU/emacs-extension/lisp/auctex/tex-fold hides c:/Programme/GNU/installation/auctex-install/auctex/tex-fold
c:/Programme/GNU/emacs-extension/lisp/auctex/tex-buf hides c:/Programme/GNU/installation/auctex-install/auctex/tex-buf
c:/Programme/GNU/emacs-extension/lisp/auctex/tex-bar hides c:/Programme/GNU/installation/auctex-install/auctex/tex-bar
c:/Programme/GNU/emacs-extension/lisp/auctex/plain-tex hides c:/Programme/GNU/installation/auctex-install/auctex/plain-tex
c:/Programme/GNU/emacs-extension/lisp/auctex/multi-prompt hides c:/Programme/GNU/installation/auctex-install/auctex/multi-prompt
c:/Programme/GNU/emacs-extension/lisp/auctex/latex hides c:/Programme/GNU/installation/auctex-install/auctex/latex
c:/Programme/GNU/emacs-extension/lisp/auctex/font-latex hides c:/Programme/GNU/installation/auctex-install/auctex/font-latex
c:/Programme/GNU/emacs-extension/lisp/auctex/context hides c:/Programme/GNU/installation/auctex-install/auctex/context
c:/Programme/GNU/emacs-extension/lisp/auctex/context-nl hides c:/Programme/GNU/installation/auctex-install/auctex/context-nl
c:/Programme/GNU/emacs-extension/lisp/auctex/context-en hides c:/Programme/GNU/installation/auctex-install/auctex/context-en
c:/Programme/GNU/emacs-extension/lisp/auctex/bib-cite hides c:/Programme/GNU/installation/auctex-install/auctex/bib-cite
c:/Programme/GNU/emacs-extension/lisp/auctex hides c:/Programme/GNU/installation/auctex-install/auctex/auctex
c:/Programme/GNU/installation/cedet-install/cedet/lisp/speedbar/loaddefs hides c:/Programme/GNU/installation/cedet-install/cedet/lisp/eieio/loaddefs
c:/Programme/GNU/installation/cedet-install/cedet/lisp/speedbar/loaddefs hides c:/Programme/GNU/installation/cedet-install/cedet/lisp/cedet/loaddefs
c:/Programme/GNU/installation/cedet-install/cedet/lisp/speedbar/loaddefs hides c:/Programme/GNU/Emacs/lisp/loaddefs
d:/msys/1.0/home/Vincent/.emacs.d/etc/custom hides c:/Programme/GNU/Emacs/lisp/custom
c:/Programme/GNU/installation/cedet-install/cedet/lisp/eieio/eieio hides c:/Programme/GNU/Emacs/lisp/emacs-lisp/eieio
c:/Programme/GNU/installation/cedet-install/cedet/lisp/eieio/eieio-speedbar hides c:/Programme/GNU/Emacs/lisp/emacs-lisp/eieio-speedbar
c:/Programme/GNU/installation/cedet-install/cedet/lisp/eieio/eieio-opt hides c:/Programme/GNU/Emacs/lisp/emacs-lisp/eieio-opt
c:/Programme/GNU/installation/cedet-install/cedet/lisp/eieio/eieio-datadebug hides c:/Programme/GNU/Emacs/lisp/emacs-lisp/eieio-datadebug
c:/Programme/GNU/installation/cedet-install/cedet/lisp/eieio/eieio-custom hides c:/Programme/GNU/Emacs/lisp/emacs-lisp/eieio-custom
c:/Programme/GNU/installation/cedet-install/cedet/lisp/eieio/eieio-base hides c:/Programme/GNU/Emacs/lisp/emacs-lisp/eieio-base
c:/Programme/GNU/installation/cedet-install/cedet/lisp/eieio/chart hides c:/Programme/GNU/Emacs/lisp/emacs-lisp/chart

Features:
(shadow emacsbug pcase flow-fill gnus-cite mm-archive gnus-async
gnus-bcklg gnus-ml nndraft nnmh nndoc nnfolder netrc gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 epg-config mm-view mml-smime smime dig mailcap nntp gnus-cache
gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start
gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems nnheader
network-stream starttls tls mailalias smtpmail auth-source
password-cache sendmail qp mail-extr sort mule-util texinfo tex advice
etags gnus-util message format-spec rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils gmm-utils mailheader whitespace calccomp
calc-alg smerge-mode diff-mode easy-mmode bug-reference add-log vc
vc-dispatcher ediff-vers vc-bzr find-func shell pcomplete find-dired
grep parse-time vc-cvs cc-langs cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs calc-menu
calc-forms cus-edit warnings compile comint ansi-color ring dired-aux
help-fns w32utils help-mode debug misearch multi-isearch picture
ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult
ediff-init ediff nroff-mode dired-x dired hl-line accents-ascii eieio
byte-opt bytecomp byte-compile cconv tex-mik preview-latex tex-site
auto-loads calc-mathfloat calc-math edmacro kmacro cl-macs gv java-init
cl nadvice cl-lib bsh-init recentf tree-widget wid-edit generic-x
easymenu template mailabbrev iswitchb cus-start cus-load calc-misc
calc-arith calc-ext calc calc-loaddefs calc-macs skeleton time-date
tooltip ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp
w32-common-fns disp-table w32-win w32-vars tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar 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 minibuffer button
faces cus-face macroexp files text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process w32 multi-tty emacs)