unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#40140: 26.3; Renaming a directory with an external tool
@ 2020-03-19 22:53 Nicolas Gimenez
  2020-03-21 14:08 ` Tomas Nordin
  0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Gimenez @ 2020-03-19 22:53 UTC (permalink / raw)
  To: 40140


[-- Attachment #1.1: Type: text/plain, Size: 29539 bytes --]

Hi!


Right after renaming a directory with an external tool when Emacs is 
visiting a file in that directory, Emacs doesn't change the open file 
buffers directory association.

It would probably be better to open a prompt where one can navigate to a 
new target directory.


Steps to reproduce:

1) Create file and directory 
'/home/nicolas/elixir_learn/mastery/test/support/tmp/test.ex' within 
Spacemacs.

2) Edit file, still from Spacemacs add dummy info. Save file.

3) Save file 
'/home/nicolas/elixir_learn/mastery/test/support/tmp/test.ex from Spacemacs

4) Switch to bash in an external terminal and run: "mv 
/home/nicolas/elixir_learn/mastery/test/support/tmp 
/home/nicolas/elixir_learn/mastery/test/support/tmp2". (Emacs still open 
in another OS's frame.)

5) Get back to Emacs. Attempt to write file from Emacs, minibuffer in 
the bottom shows: "Please answer y or n. Directory 
'/home/nicolas/elixir_learn/mastery/test/support/tmp/' does not exist; 
create? (y or n)"

6) I answer "y".

7) Minibuffer shows: "Wrote 
/home/nicolas/elixir_learn/mastery/test/support/tmp/test.ex"

8) See screenshots attached. Now there are two directories "tmp" and "tmp2":

*[nicolas@pc-31 ~]$* *ls -Rlrt 
/home/nicolas/elixir_learn/mastery/test/support/*
/home/nicolas/elixir_learn/mastery/test/support/:
total 12
-rw-r--r--. 1 nicolas nicolas  237 Mar 19 23:01 quiz_builders.exs
drwxr-xr-x. 2 nicolas nicolas 4096 Mar 19 23:29 tmp2
drwxr-xr-x. 2 nicolas nicolas 4096 Mar 19 23:32 tmp
*
/home/nicolas/elixir_learn/mastery/test/support/tmp2:
*total 4*
*-rw-r--r--. 1 nicolas nicolas 33 Mar 19 23:29 test.ex*
****
/home/nicolas/elixir_learn/mastery/test/support/tmp:
*total 4*
*-rw-r--r--. 1 nicolas nicolas 34 Mar 19 23:32 test.ex


It also happens in vanilla Emacs. Steps to reproduce (from 
https://github.com/syl20bnr/spacemacs/issues/9266):

  * Open an existing file, for example: |C-x C-f| |c:/tmp/a.txt| |RET|
  * Open a shell: |M-x shell RET|
  * Navigate to the root: |cd /|
  * Rename the directory: |rename tmp tmp2| (in non-Windows: |mv tmp tmp2|)
  * Switch back to the window with the open file: |C-x o|
  * Try to save the file: |C-x C-s|
  * A prompt is shown:

    Directory 'c:/tmp/' does not exist; create? (y or n)



Thank you!



Here is the information extracted from M-x report-emacs-bug in Emacs:


In GNU Emacs 26.3 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.24.13)
  of 2019-12-10 built on buildhw-07.phx2.fedoraproject.org
Windowing system distributor 'Fedora Project', version 11.0.12006000
Recent messages:
LSP :: Connected to [elixir-ls:8145].
This package is deprecated and will be removed from Melpa. Please, use 
lsp-mode instead 
https://elixirforum.com/t/emacs-elixir-setup-configuration-wiki/
Indenting region...done
Saving file /home/nicolas/elixir_learn/mastery/test/support/tmp/test.ex...
Wrote /home/nicolas/elixir_learn/mastery/test/support/tmp/test.ex
Saving file /home/nicolas/elixir_learn/mastery/test/support/tmp/test.ex...
Directory ‘/home/nicolas/elixir_learn/mastery/test/support/tmp/’ does 
not exist; create? (y or n) y
Wrote /home/nicolas/elixir_learn/mastery/test/support/tmp/test.ex
Auto-evilification could not remap these functions in map ‘edebug-mode-map’:
    - ‘edebug-Go-nonstop-mode’ originally mapped on ‘G’

Configured using:
  'configure --build=x86_64-redhat-linux-gnu
  --host=x86_64-redhat-linux-gnu --program-prefix=
  --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
  --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
  --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
  --libexecdir=/usr/libexec --localstatedir=/var
  --sharedstatedir=/var/lib --mandir=/usr/share/man
  --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
  --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
  --with-gpm=no --with-xwidgets --with-modules
  build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu
  'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security
  -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
  -fstack-protector-strong -grecord-gcc-switches
  -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
  -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
  -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
  LDFLAGS=-Wl,-z,relro
  PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS GLIB NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS LCMS2

Important settings:
   value of $LANG: en_US.UTF-8
   value of $XMODIFIERS: @im=ibus
   locale-coding-system: utf-8-unix

Major mode: Messages

Minor modes in effect:
   helm-descbinds-mode: t
   helm-mode: t
   helm-flx-mode: t
   helm--remap-mouse-mode: t
   global-evil-surround-mode: t
   evil-surround-mode: t
   global-magit-file-mode: t
   diff-auto-refine-mode: t
   flycheck-pos-tip-mode: t
   global-flycheck-mode: t
   show-smartparens-global-mode: t
   pupo-mode: t
   purpose-mode: t
   evil-escape-mode: t
   global-git-gutter+-mode: t
   global-git-commit-mode: t
   async-bytecomp-package-mode: t
   recentf-mode: t
   dap-tooltip-mode: t
   dap-ui-mode: t
   projectile-mode: t
   treemacs-filewatch-mode: t
   treemacs-follow-mode: t
   treemacs-git-mode: deferred
   treemacs-fringe-indicator-mode: t
   dap-mode: t
   yas-global-mode: t
   yas-minor-mode: t
   winner-mode: t
   winum-mode: t
   global-vi-tilde-fringe-mode: t
   vi-tilde-fringe-mode: t
   spaceline-info-mode: t
   spaceline-helm-mode: t
   save-place-mode: t
   savehist-mode: t
   persp-mode: t
   global-hl-todo-mode: t
   eyebrowse-mode: t
   global-anzu-mode: t
   anzu-mode: t
   editorconfig-mode: t
   clean-aindent-mode: t
   which-key-mode: t
   override-global-mode: t
   global-undo-tree-mode: t
   undo-tree-mode: t
   shell-dirtrack-mode: t
   evil-mode: t
   evil-local-mode: t
   spacemacs-leader-override-mode: t
   global-spacemacs-leader-override-mode: t
   global-hl-line-mode: t
   xterm-mouse-mode: t
   global-auto-revert-mode: t
   ido-vertical-mode: t
   global-page-break-lines-mode: t
   tooltip-mode: t
   global-eldoc-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   buffer-read-only: t
   column-number-mode: t
   line-number-mode: t
   transient-mark-mode: t

Load-path shadows:
/home/nicolas/.emacs.d/elpa/26.3/develop/magit-section-20200226.1251/magit-section 
hides 
/home/nicolas/.emacs.d/elpa/26.3/develop/magit-20200303.124/magit-section
/home/nicolas/.emacs.d/elpa/26.3/develop/dash-20200119.2310/dash hides 
/home/nicolas/.emacs.d/core/libs/dash
/home/nicolas/.emacs.d/elpa/26.3/develop/ht-20200217.2331/ht hides 
/home/nicolas/.emacs.d/core/libs/ht
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erlang-start 
hides /usr/share/emacs/site-lisp/erlang/erlang-start
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erldoc 
hides /usr/share/emacs/site-lisp/erlang/erldoc
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erlang 
hides /usr/share/emacs/site-lisp/erlang/erlang
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erlang-eunit 
hides /usr/share/emacs/site-lisp/erlang/erlang-eunit
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erlang-skels 
hides /usr/share/emacs/site-lisp/erlang/erlang-skels
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erlang-pkg 
hides /usr/share/emacs/site-lisp/erlang/erlang-pkg
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erlang-test 
hides /usr/share/emacs/site-lisp/erlang/erlang-test
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erlang-skels-old 
hides /usr/share/emacs/site-lisp/erlang/erlang-skels-old
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erlang-edoc 
hides /usr/share/emacs/site-lisp/erlang/erlang-edoc
/home/nicolas/.emacs.d/elpa/26.3/develop/erlang-20200220.2206/erlang-flymake 
hides /usr/share/emacs/site-lisp/erlang/erlang-flymake
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-asymptote 
hides /usr/share/emacs/26.3/lisp/org/ob-asymptote
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-haskell 
hides /usr/share/emacs/26.3/lisp/org/ob-haskell
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-pcomplete 
hides /usr/share/emacs/26.3/lisp/org/org-pcomplete
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-html 
hides /usr/share/emacs/26.3/lisp/org/ox-html
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-mouse 
hides /usr/share/emacs/26.3/lisp/org/org-mouse
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-capture 
hides /usr/share/emacs/26.3/lisp/org/org-capture
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-table 
hides /usr/share/emacs/26.3/lisp/org/ob-table
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-shell 
hides /usr/share/emacs/26.3/lisp/org/ob-shell
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-ref 
hides /usr/share/emacs/26.3/lisp/org/ob-ref
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-emacs-lisp 
hides /usr/share/emacs/26.3/lisp/org/ob-emacs-lisp
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-plot 
hides /usr/share/emacs/26.3/lisp/org/org-plot
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-eval 
hides /usr/share/emacs/26.3/lisp/org/ob-eval
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-datetree 
hides /usr/share/emacs/26.3/lisp/org/org-datetree
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-vala 
hides /usr/share/emacs/26.3/lisp/org/ob-vala
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-lisp 
hides /usr/share/emacs/26.3/lisp/org/ob-lisp
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-coq 
hides /usr/share/emacs/26.3/lisp/org/ob-coq
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-maxima 
hides /usr/share/emacs/26.3/lisp/org/ob-maxima
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org 
hides /usr/share/emacs/26.3/lisp/org/org
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-sass 
hides /usr/share/emacs/26.3/lisp/org/ob-sass
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-icalendar 
hides /usr/share/emacs/26.3/lisp/org/ox-icalendar
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-css 
hides /usr/share/emacs/26.3/lisp/org/ob-css
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-mobile 
hides /usr/share/emacs/26.3/lisp/org/org-mobile
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-ctags 
hides /usr/share/emacs/26.3/lisp/org/org-ctags
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-lint 
hides /usr/share/emacs/26.3/lisp/org/org-lint
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-texinfo 
hides /usr/share/emacs/26.3/lisp/org/ox-texinfo
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-core 
hides /usr/share/emacs/26.3/lisp/org/ob-core
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-beamer 
hides /usr/share/emacs/26.3/lisp/org/ox-beamer
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-stan 
hides /usr/share/emacs/26.3/lisp/org/ob-stan
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-hledger 
hides /usr/share/emacs/26.3/lisp/org/ob-hledger
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-indent 
hides /usr/share/emacs/26.3/lisp/org/org-indent
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-colview 
hides /usr/share/emacs/26.3/lisp/org/org-colview
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-duration 
hides /usr/share/emacs/26.3/lisp/org/org-duration
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-mscgen 
hides /usr/share/emacs/26.3/lisp/org/ob-mscgen
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-crypt 
hides /usr/share/emacs/26.3/lisp/org/org-crypt
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-inlinetask 
hides /usr/share/emacs/26.3/lisp/org/org-inlinetask
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-list 
hides /usr/share/emacs/26.3/lisp/org/org-list
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-matlab 
hides /usr/share/emacs/26.3/lisp/org/ob-matlab
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-scheme 
hides /usr/share/emacs/26.3/lisp/org/ob-scheme
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox 
hides /usr/share/emacs/26.3/lisp/org/ox
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-perl 
hides /usr/share/emacs/26.3/lisp/org/ob-perl
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-lob 
hides /usr/share/emacs/26.3/lisp/org/ob-lob
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-latex 
hides /usr/share/emacs/26.3/lisp/org/ob-latex
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-sqlite 
hides /usr/share/emacs/26.3/lisp/org/ob-sqlite
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-compat 
hides /usr/share/emacs/26.3/lisp/org/org-compat
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-lua 
hides /usr/share/emacs/26.3/lisp/org/ob-lua
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-C 
hides /usr/share/emacs/26.3/lisp/org/ob-C
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-ascii 
hides /usr/share/emacs/26.3/lisp/org/ox-ascii
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-entities 
hides /usr/share/emacs/26.3/lisp/org/org-entities
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-macs 
hides /usr/share/emacs/26.3/lisp/org/org-macs
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-picolisp 
hides /usr/share/emacs/26.3/lisp/org/ob-picolisp
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-attach 
hides /usr/share/emacs/26.3/lisp/org/org-attach
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-ebnf 
hides /usr/share/emacs/26.3/lisp/org/ob-ebnf
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-lilypond 
hides /usr/share/emacs/26.3/lisp/org/ob-lilypond
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-forth 
hides /usr/share/emacs/26.3/lisp/org/ob-forth
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-install 
hides /usr/share/emacs/26.3/lisp/org/org-install
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-agenda 
hides /usr/share/emacs/26.3/lisp/org/org-agenda
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-protocol 
hides /usr/share/emacs/26.3/lisp/org/org-protocol
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-macro 
hides /usr/share/emacs/26.3/lisp/org/org-macro
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-table 
hides /usr/share/emacs/26.3/lisp/org/org-table
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-R 
hides /usr/share/emacs/26.3/lisp/org/ob-R
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-io 
hides /usr/share/emacs/26.3/lisp/org/ob-io
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-makefile 
hides /usr/share/emacs/26.3/lisp/org/ob-makefile
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-processing 
hides /usr/share/emacs/26.3/lisp/org/ob-processing
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-dot 
hides /usr/share/emacs/26.3/lisp/org/ob-dot
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-tangle 
hides /usr/share/emacs/26.3/lisp/org/ob-tangle
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-src 
hides /usr/share/emacs/26.3/lisp/org/org-src
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-latex 
hides /usr/share/emacs/26.3/lisp/org/ox-latex
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-ledger 
hides /usr/share/emacs/26.3/lisp/org/ob-ledger
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-faces 
hides /usr/share/emacs/26.3/lisp/org/org-faces
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-clojure 
hides /usr/share/emacs/26.3/lisp/org/ob-clojure
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-groovy 
hides /usr/share/emacs/26.3/lisp/org/ob-groovy
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-footnote 
hides /usr/share/emacs/26.3/lisp/org/org-footnote
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-screen 
hides /usr/share/emacs/26.3/lisp/org/ob-screen
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-sed 
hides /usr/share/emacs/26.3/lisp/org/ob-sed
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-org 
hides /usr/share/emacs/26.3/lisp/org/ob-org
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-odt 
hides /usr/share/emacs/26.3/lisp/org/ox-odt
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-gnuplot 
hides /usr/share/emacs/26.3/lisp/org/ob-gnuplot
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-timer 
hides /usr/share/emacs/26.3/lisp/org/org-timer
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-calc 
hides /usr/share/emacs/26.3/lisp/org/ob-calc
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-exp 
hides /usr/share/emacs/26.3/lisp/org/ob-exp
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob 
hides /usr/share/emacs/26.3/lisp/org/ob
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-man 
hides /usr/share/emacs/26.3/lisp/org/ox-man
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-shen 
hides /usr/share/emacs/26.3/lisp/org/ob-shen
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-js 
hides /usr/share/emacs/26.3/lisp/org/ob-js
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-element 
hides /usr/share/emacs/26.3/lisp/org/org-element
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-publish 
hides /usr/share/emacs/26.3/lisp/org/ox-publish
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-octave 
hides /usr/share/emacs/26.3/lisp/org/ob-octave
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-comint 
hides /usr/share/emacs/26.3/lisp/org/ob-comint
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-J 
hides /usr/share/emacs/26.3/lisp/org/ob-J
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-ruby 
hides /usr/share/emacs/26.3/lisp/org/ob-ruby
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-sql 
hides /usr/share/emacs/26.3/lisp/org/ob-sql
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-clock 
hides /usr/share/emacs/26.3/lisp/org/org-clock
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-archive 
hides /usr/share/emacs/26.3/lisp/org/org-archive
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-md 
hides /usr/share/emacs/26.3/lisp/org/ox-md
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-java 
hides /usr/share/emacs/26.3/lisp/org/ob-java
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-awk 
hides /usr/share/emacs/26.3/lisp/org/ob-awk
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-ocaml 
hides /usr/share/emacs/26.3/lisp/org/ob-ocaml
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-python 
hides /usr/share/emacs/26.3/lisp/org/ob-python
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-id 
hides /usr/share/emacs/26.3/lisp/org/org-id
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-plantuml 
hides /usr/share/emacs/26.3/lisp/org/ob-plantuml
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ox-org 
hides /usr/share/emacs/26.3/lisp/org/ox-org
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-fortran 
hides /usr/share/emacs/26.3/lisp/org/ob-fortran
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-ditaa 
hides /usr/share/emacs/26.3/lisp/org/ob-ditaa
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/ob-abc 
hides /usr/share/emacs/26.3/lisp/org/ob-abc
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-feed 
hides /usr/share/emacs/26.3/lisp/org/org-feed
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-version 
hides /usr/share/emacs/26.3/lisp/org/org-version
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-habit 
hides /usr/share/emacs/26.3/lisp/org/org-habit
/home/nicolas/.emacs.d/elpa/26.3/develop/org-plus-contrib-20200302/org-loaddefs 
hides /usr/share/emacs/26.3/lisp/org/org-loaddefs
/home/nicolas/.emacs.d/elpa/26.3/develop/map-2.1/map hides 
/usr/share/emacs/26.3/lisp/emacs-lisp/map
/home/nicolas/.emacs.d/elpa/26.3/develop/let-alist-1.0.6/let-alist hides 
/usr/share/emacs/26.3/lisp/emacs-lisp/let-alist

Features:
(shadow sort mail-extr emacsbug sendmail helm-command helm-elisp
helm-eval edebug helm-info ffap flx helm-descbinds helm-mode helm-files
helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp
helm-utils helm-help helm-types helm-flx helm helm-source
helm-multi-match helm-lib evil-surround mmm-mode mmm-univ mmm-class
mmm-region mmm-auto mmm-vars mmm-utils mmm-compat ol-eww ol-rmail ol-mhe
ol-irc ol-info ol-gnus nnir gnus-sum gnus-group gnus-undo gnus-start
gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int
gnus-range gnus-win gnus nnheader ol-docview doc-view jka-compr
ol-bibtex bibtex ol-bbdb ol-w3m smartparens-org ob-elixir orgit
evil-magit git-rebase magit-bookmark magit-submodule magit-obsolete
magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push
magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log which-func magit-diff
smerge-mode magit-core magit-autorevert magit-margin magit-transient
magit-process magit-mode org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-footnote org-src ob-comint org-pcomplete org-list
org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval
org-table ol org-keys org-compat org-macs org-loaddefs cal-menu calendar
cal-loaddefs flycheck-mix company-lsp vc-git diff-mode hi-lock
evil-matchit evil-matchit-sdk company-oddmuse company-keywords
company-etags etags company-gtags company-dabbrev-code company-dabbrev
company-files company-capf company-cmake company-xcode company-clang
company-semantic company-eclim company-template company-bbdb company
lsp-ui lsp-ui-flycheck lsp-ui-doc xwidget image-mode browse-url
treemacs-bookmarks bookmark pp lsp-ui-imenu lsp-ui-peek lsp-ui-sideline
view lsp-yaml lsp-xml lsp-vhdl lsp-vetur lsp-html lsp-verilog
lsp-terraform lsp-solargraph lsp-rust lsp-pyls lsp-pwsh lsp-perl
lsp-metals lsp-json lsp-intelephense lsp-haxe lsp-go lsp-gdscript
lsp-fsharp lsp-eslint lsp-erlang lsp-elm lsp-dls lsp-dart lsp-css
lsp-csharp lsp-clojure goto-addr bug-reference auto-highlight-symbol
evil-lisp-state flycheck-credo flycheck-pos-tip pos-tip flycheck
highlight-numbers parent-mode highlight-parentheses hideshow
rainbow-delimiters smartparens-config smartparens-markdown
smartparens-text smartparens-elixir smartparens elixir-mode
elixir-format pkg-info url-http url url-proxy url-privacy url-expand
url-methods url-history mailcap url-auth url-cookie url-domsuf url-gw
find-func epl elixir-smie smie editorconfig-core
editorconfig-core-handle editorconfig-fnmatch spacemacs-purpose-popwin
window-purpose-x imenu-list window-purpose window-purpose-fixes
window-purpose-prefix-overload window-purpose-switch let-alist
window-purpose-layout window-purpose-core window-purpose-configuration
window-purpose-utils evil-escape git-gutter-fringe+ fringe-helper
git-gutter+ git-commit with-editor async-bytecomp async transient server
magit-git magit-section magit-utils crm log-edit message dired
dired-loaddefs rfc822 mml mml-sec epa gnus-util rmail rmail-loaddefs
mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log tramp
tramp-compat tramp-loaddefs trampver ucs-normalize parse-time recentf
dap-elixir dap-mouse dap-ui lsp-treemacs treemacs-projectile projectile
grep ibuf-ext ibuffer ibuffer-loaddefs treemacs-persp treemacs-evil
treemacs treemacs-compatibility treemacs-mode treemacs-interface
treemacs-extensions treemacs-persistence treemacs-mouse-interface
treemacs-tag-follow-mode treemacs-filewatch-mode treemacs-tags
treemacs-follow-mode treemacs-rendering treemacs-async
treemacs-workspaces treemacs-dom treemacs-visuals
treemacs-fringe-indicator treemacs-scope pulse treemacs-faces
treemacs-icons treemacs-themes treemacs-core-utils pfuture ace-window
avy treemacs-macros treemacs-customization gdb-mi gud bui bui-list
bui-info bui-entry bui-core bui-history bui-button bui-utils dap-mode
dap-overlays lsp-clients lsp lsp-mode yasnippet-snippets
clojure-snippets yasnippet elec-pair xref project url-util tree-widget
spinner network-stream puny nsm rmc starttls tls gnutls markdown-mode
json map imenu ewoc em-glob esh-util dash-functional compile bindat
winner diminish xterm-color ws-butler winum vi-tilde-fringe
symbol-overlay string-inflection spaceline-config spaceline-segments
spaceline powerline powerline-separators color powerline-themes
saveplace savehist popwin persp-mode cl hl-todo eyebrowse
evil-unimpaired f s evil-textobj-line evil-anzu anzu editorconfig
noutline outline clean-aindent-mode helm-easymenu hybrid-mode
evil-evilified-state which-key use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
use-package-core hydra lv cus-edit cus-start cus-load evil
evil-keybindings evil-integration undo-tree diff evil-maps evil-commands
reveal flyspell ispell evil-jumps evil-command-window evil-types
evil-search evil-ex shell pcomplete comint ansi-color evil-macros
evil-repeat evil-states evil-core evil-common windmove thingatpt rect
evil-digraphs evil-vars ring bind-map quelpa mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr lisp-mnt help-fns radix-tree hl-line xt-mouse autorevert
filenotify cl-extra disp-table wid-edit spacemacs-dark-theme
spacemacs-common format-spec info finder-inf ido-vertical-mode ido
core-spacemacs core-spacebind inline core-use-package-ext
core-transient-state core-micro-state core-toggle core-keybindings
core-fonts-support core-themes-support core-display-init core-jump
core-release-management core-custom-settings core-configuration-layer
eieio-compat core-progress-bar core-spacemacs-buffer core-funcs ht dash
help-mode warnings package url-handlers url-parse auth-source cl-seq
password-cache url-vars seq eieio byte-opt bytecomp byte-compile cconv
eieio-core eieio-loaddefs epg epg-config core-command-line pcase
core-debug edmacro kmacro derived cl-macs gv profiler easymenu
cl-loaddefs cl-lib core-hooks page-break-lines easy-mmode core-env
load-env-vars rx core-dotspacemacs advice core-emacs-backports subr-x
core-dumper erlang-start time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting xwidget-internal move-toolbar
gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 1048179 983283)
  (symbols 48 78491 87)
  (miscs 40 1444 3197)
  (strings 32 242283 133623)
  (string-bytes 1 8188000)
  (vectors 16 114952)
  (vector-slots 8 2216972 534664)
  (floats 8 806 3813)
  (intervals 56 5245 7164)
  (buffers 992 53))



[-- Attachment #1.2: Type: text/html, Size: 35009 bytes --]

[-- Attachment #2: two_tmps.png --]
[-- Type: image/png, Size: 5814 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#40140: 26.3; Renaming a directory with an external tool
  2020-03-19 22:53 bug#40140: 26.3; Renaming a directory with an external tool Nicolas Gimenez
@ 2020-03-21 14:08 ` Tomas Nordin
  2021-06-14 14:25   ` Lars Ingebrigtsen
  0 siblings, 1 reply; 3+ messages in thread
From: Tomas Nordin @ 2020-03-21 14:08 UTC (permalink / raw)
  To: Nicolas Gimenez, 40140

Hello Nicolas

Nicolas Gimenez <n.gimenez66@gmail.com> writes:

> Hi!
>
>
> Right after renaming a directory with an external tool when Emacs is 
> visiting a file in that directory, Emacs doesn't change the open file 
> buffers directory association.
>
> It would probably be better to open a prompt where one can navigate to a 
> new target directory.
>
>
> Steps to reproduce:
>
> 1) Create file and directory 
> '/home/nicolas/elixir_learn/mastery/test/support/tmp/test.ex' within 
> Spacemacs.
>
> 2) Edit file, still from Spacemacs add dummy info. Save file.
>
> 3) Save file 
> '/home/nicolas/elixir_learn/mastery/test/support/tmp/test.ex from Spacemacs
>
> 4) Switch to bash in an external terminal and run: "mv 
> /home/nicolas/elixir_learn/mastery/test/support/tmp 
> /home/nicolas/elixir_learn/mastery/test/support/tmp2". (Emacs still open 
> in another OS's frame.)
>
> 5) Get back to Emacs. Attempt to write file from Emacs, minibuffer in 
> the bottom shows: "Please answer y or n. Directory 
> '/home/nicolas/elixir_learn/mastery/test/support/tmp/' does not exist; 
> create? (y or n)"

If you try this experiment with any other text editor I think you will
see similar effects. I tried with gedit and vim and got the
corresponding effects.

Using Emacs in this case I would do C-x C-w and then navigate to the
existing directory, then one with the new name tmp2. Then I will have to
allow over-writing the copy of test.ex on disc in tmp2.

I think the text editor cannot assume that the buffer holding test.ex is
to be associated with the file in the new directory. The buffer-file
association is broken by the external renaming of the directory.

Best regards
--
Tomas





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#40140: 26.3; Renaming a directory with an external tool
  2020-03-21 14:08 ` Tomas Nordin
@ 2021-06-14 14:25   ` Lars Ingebrigtsen
  0 siblings, 0 replies; 3+ messages in thread
From: Lars Ingebrigtsen @ 2021-06-14 14:25 UTC (permalink / raw)
  To: Tomas Nordin; +Cc: Nicolas Gimenez, 40140

Tomas Nordin <tomasn@posteo.net> writes:

>> 5) Get back to Emacs. Attempt to write file from Emacs, minibuffer in 
>> the bottom shows: "Please answer y or n. Directory 
>> '/home/nicolas/elixir_learn/mastery/test/support/tmp/' does not exist; 
>> create? (y or n)"
>
> If you try this experiment with any other text editor I think you will
> see similar effects. I tried with gedit and vim and got the
> corresponding effects.

I don't really think there's anything reasonable Emacs can do (by
itself) in these cases -- what should happen here depends on each
individual case (the tree is totally gone; it's moved somewhere else;
etc), so that has to be left to the user, like Tomas says:

> Using Emacs in this case I would do C-x C-w and then navigate to the
> existing directory, then one with the new name tmp2. Then I will have to
> allow over-writing the copy of test.ex on disc in tmp2.

So I'm closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-14 14:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-19 22:53 bug#40140: 26.3; Renaming a directory with an external tool Nicolas Gimenez
2020-03-21 14:08 ` Tomas Nordin
2021-06-14 14:25   ` Lars Ingebrigtsen

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).