unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Pierre Rouleau <prouleau001@gmail.com>
To: 49644@debbugs.gnu.org
Subject: bug#49644: 27.2; copy-directory fails when Unix socket file is present in the source directory tree
Date: Mon, 19 Jul 2021 11:04:39 -0400	[thread overview]
Message-ID: <EDC76903-A7BE-445C-904A-CF0B6D22ED37@gmail.com> (raw)

There is no Emacs crash involved here.  It's just a feature request.

Try `copy-directory' on a directory tree that contains one Unix socket.
Something like "~/elpa/gnupg" which often contains Unix socket files.
This will fail with an error stating that the Unix socket cannot be
copied.

Although its true that Unix sockets cannot be copied, it would be nice
to offer the users the ability to copy the directory tree anyway,
skipping the Unix socket files.

The function `copy-directory' does not provide a mechanism to skip the
copy of such files, so it becomes impossible to copy a directory tree
that contains such a file.  It would be useful to add argument to
provide the ability to skip such files.   Currently, the only way is to
override or advise the function `copy-file' when using `copy-directory'.

The cond clause at the end of `copy-directory' only supports
directories, symbolic links and normal files.  It does not support Unix
socket, which cannot be copied.  In some conditions users may want to
copy the directory tree even in the presence of Unix socket
files. Adding an optional argument for that would increase the
usefulness of the function while allowing user's code to document the
fact that they want (or don't want) to skip things like Unix sockets.

The latest version of files.el code in
https://github.com/emacs-mirror/emacs/blob/master/lisp/files.el#L6148 
still behaves like this.


In GNU Emacs 27.2 (build 1, x86_64-apple-darwin18.7.0)
of 2021-03-25 built on Mojave
System Description:  Mac OS X 10.14.6

Recent messages:
Generating autoloads for ztree-view.el...done
  INFO     Scraping files for pel-bundle-autoloads.el...100% 
Generating autoloads for ztree.el...done
  INFO     Scraping files for pel-bundle-autoloads.el...done
Wrote /Users/roup/.emacs.d/pel-bundle/pel-bundle-autoloads.el [2 times]
Restart Emacs to complete the process!
Type "q" in help window to delete it.
mouse-2, RET: find function's definition
\ is undefined
uncompressing files.el.gz...done

Configured using:
'configure --disable-silent-rules
--enable-locallisppath=/usr/local/share/emacs/site-lisp
--infodir=/usr/local/Cellar/emacs/27.2/share/info/emacs
--prefix=/usr/local/Cellar/emacs/27.2 --with-gnutls --without-x
--with-xml2 --without-dbus --with-modules --without-ns
--without-imagemagick --without-selinux'

Configured features:
NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB MODULES THREADS JSON PDUMPER GMP

Important settings:
  value of $LANG: en_CA.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  ido-everywhere: t
  which-key-mode: t
  winner-mode: t
  key-chord-mode: t
  lispy-mode: t
  flyspell-mode: t
  superword-mode: t
  global-anzu-mode: t
  anzu-mode: t
  recentf-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  menu-bar-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/Users/roup/.emacs.d/utils/origami hides /Users/roup/.emacs.d/elpa/origami-20200331.1019/origami
/Users/roup/.emacs.d/utils/origami-parsers hides /Users/roup/.emacs.d/elpa/origami-20200331.1019/origami-parsers
/Users/roup/.emacs.d/utils/sr-speedbar hides /Users/roup/.emacs.d/elpa/sr-speedbar-20161025.831/sr-speedbar
/Users/roup/.emacs.d/elpa/lispy-20210121.926/elpa hides /Users/roup/.emacs.d/elpa/ivy-20210602.1349/elpa
/Users/roup/.emacs.d/elpa/lfe-mode-20210603.1241/lfe-indent hides /usr/local/share/emacs/site-lisp/lfe/lfe-indent
/Users/roup/.emacs.d/elpa/lfe-mode-20210603.1241/lfe-mode hides /usr/local/share/emacs/site-lisp/lfe/lfe-mode
/Users/roup/.emacs.d/elpa/lfe-mode-20210603.1241/inferior-lfe hides /usr/local/share/emacs/site-lisp/lfe/inferior-lfe
/Users/roup/.emacs.d/elpa/rtags-20210313.1541/rtags hides /usr/local/share/emacs/site-lisp/rtags/rtags
/Users/roup/.emacs.d/elpa/rtags-xref-20200310.1909/rtags-xref hides /usr/local/share/emacs/site-lisp/rtags/rtags-xref
/Users/roup/.emacs.d/elpa/seq-2.22/seq hides /usr/local/Cellar/emacs/27.2/share/emacs/27.2/lisp/emacs-lisp/seq

Features:
(shadow sort mail-extr emacsbug message rmc puny format-spec rfc822 mml
mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils jka-compr windmove eieio-opt
warnings emacros autoload lisp-mnt pel-setup pel-package pel-elpa
pel-filedir smex time benchmark-init-modes pel-benchmark ace-link
pel-skels-generic counsel xdg dired-x dired dired-loaddefs compile
comint ansi-color ido-grid ido pel-completion pel-seq which-key winner
pel-xref pel-text-transform pel-read pel-navigate pel-scroll key-seq
pel-key-chord key-chord term/xterm xterm tempo pel-skels-elisp
pel-text-insert pel-window pel-tempo pel-skels pel-prompt lispy pcase
swiper cl-extra ivy flx ivy-faces ivy-overlay colir color delsel
lispy-inline avy noutline outline easy-mmode etags fileloop generator
xref project edebug backtrace help-fns radix-tree help-mode lispy-tags
mode-local find-func pel__hydra hydra ring lv pel-lispy regexp-opt
flyspell pel-spell ispell cap-words superword subword imenu+ pel-imenu
imenu pel_keys anzu advice thingatpt recentf tree-widget wid-edit
speedbar sb-image ezimage image dframe pel-autoload pel--keys-macros
pel--options pel--macros pel--base pel finder-inf info tool-bar edmacro
kmacro package easymenu browse-url url-handlers url-parse auth-source
cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json
subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
timer select mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer 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 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 kqueue multi-tty make-network-process emacs)

Memory information:
((conses 16 443285 23771)
(symbols 48 29623 1)
(strings 32 142354 5578)
(string-bytes 1 4079491)
(vectors 16 39237)
(vector-slots 8 884160 78722)
(floats 8 267 653)
(intervals 56 762 0)
(buffers 1000 16))





             reply	other threads:[~2021-07-19 15:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-19 15:04 Pierre Rouleau [this message]
2021-07-19 16:10 ` bug#49644: 27.2; copy-directory fails when Unix socket file is present in the source directory tree Eli Zaretskii
2021-07-19 19:50   ` Pierre Rouleau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=EDC76903-A7BE-445C-904A-CF0B6D22ED37@gmail.com \
    --to=prouleau001@gmail.com \
    --cc=49644@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).