unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#28483: 26.0.50; copy-directory does not create directories
@ 2017-09-17 19:10 Aaron Jensen
  2017-09-17 19:15 ` bug#28483: [PATCH] Fix copy-directory creating missing directory Aaron Jensen
  2017-09-17 19:20 ` bug#28483: 26.0.50; copy-directory does not create directories Aaron Jensen
  0 siblings, 2 replies; 13+ messages in thread
From: Aaron Jensen @ 2017-09-17 19:10 UTC (permalink / raw)
  To: 28483


(copy-directory "existing-dir" "not-existing-dir/" 'keeptime 'create
'copy-content)

The problem seems to be that copy-directory uses directory-name-p
instead of file-directory-p to detect whether or not the directory
exists.


In GNU Emacs 26.0.50 (build 1, x86_64-apple-darwin16.7.0, NS appkit-1504.83 Version 10.12.6 (Build 16G29))
 of 2017-09-13 built on aaron-mbpt.local
Repository revision: a0202fdc85ddc36b73a1c7c4f2d3ec45cd22c5e1
Windowing system distributor 'Apple', version 10.3.1504
Recent messages:
t
Type "q" to delete help window. [2 times]
copy-directory
newname /Users/aaronjensen/.emacs.d/.cache/.rollback/26.0/17-09-17_11.49.00/cider-20170905.1037/ wat t
t
Mark saved where search started [2 times]
Saving file /Users/aaronjensen/Source/emacs/lisp/files.el...
Wrote /Users/aaronjensen/Source/emacs/lisp/files.el
Wrote /Users/aaronjensen/Source/emacs/lisp/files.elc
Wrote /Users/aaronjensen/Source/emacs/lisp/files.{el,elc}

Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/info/emacs
 --prefix=/usr/local/Cellar/emacs-plus/HEAD-a0202fd_2 --with-xml2
 --without-dbus --with-gnutls --with-imagemagick --with-modules
 --with-rsvg --with-ns --disable-ns-self-contained'

Configured features:
JPEG RSVG IMAGEMAGICK NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS
NS MODULES

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

Major mode: Emacs-Lisp

Minor modes in effect:
  company-mode: t
  auto-compile-mode: t
  elisp-slime-nav-mode: t
  eros-mode: t
  lispyville-mode: t
  lispy-mode: t
  nameless-mode: t
  goto-address-prog-mode: t
  bug-reference-prog-mode: t
  auto-highlight-symbol-mode: t
  highlight-numbers-mode: t
  highlight-parentheses-mode: t
  rainbow-delimiters-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-git-gutter+-mode: t
  git-gutter+-mode: t
  projectile-mode: t
  recentf-mode: t
  evil-mc-mode: t
  hl-todo-mode: t
  global-spacemacs-whitespace-cleanup-mode: t
  spacemacs-whitespace-cleanup-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  winum-mode: t
  winner-mode: t
  volatile-highlights-mode: t
  global-vi-tilde-fringe-mode: t
  vi-tilde-fringe-mode: t
  pupo-mode: t
  purpose-mode: t
  spaceline-info-mode: t
  spaceline-helm-mode: t
  save-place-mode: t
  savehist-mode: t
  persp-mode: t
  magit-auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  flx-ido-mode: t
  eyebrowse-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-search-highlight-persist: t
  evil-search-highlight-persist: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-mode: t
  evil-lion-mode: t
  evil-escape-mode: t
  global-anzu-mode: t
  anzu-mode: t
  eval-sexp-fu-flash-mode: t
  editorconfig-mode: t
  global-edit-server-edit-mode: t
  dtrt-indent-mode: t
  diff-auto-refine-mode: t
  counsel-mode: t
  ivy-mode: t
  clean-aindent-mode: t
  aggressive-fill-paragraph-mode: t
  hybrid-mode: t
  which-key-mode: t
  override-global-mode: t
  global-undo-tree-mode: t
  undo-tree-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
  shell-dirtrack-mode: t
  ido-vertical-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  abbrev-mode: t
  hs-minor-mode: t

Load-path shadows:
/Users/aaronjensen/.emacs.d/elpa/26.0/org-mac-link-20170105.1723/org-mac-link hides /Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-mac-link
/Users/aaronjensen/.emacs.d/elpa/26.0/ht-20161015.1945/ht hides /Users/aaronjensen/.emacs.d/core/libs/ht
/Users/aaronjensen/.emacs.d/elpa/26.0/less-css-mode-20160930.2153/less-css-mode hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/textmodes/less-css-mode
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-texinfo hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-texinfo
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-publish hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-publish
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-org hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-org
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-odt hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-odt
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-md hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-md
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-man hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-man
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-latex hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-latex
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-icalendar hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-icalendar
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-html hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-html
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-beamer hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-beamer
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ox-ascii hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ox-ascii
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-w3m hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-w3m
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-version hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-version
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-timer hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-timer
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-table hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-table
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-src hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-src
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-rmail hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-rmail
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-protocol hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-protocol
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-plot hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-plot
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-pcomplete hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-pcomplete
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-mouse hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-mouse
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-mobile hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-mobile
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-mhe hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-mhe
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-macs hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-macs
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-macro hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-macro
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-loaddefs hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-loaddefs
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-list hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-list
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-lint hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-lint
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-irc hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-irc
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-install hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-install
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-inlinetask hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-inlinetask
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-info hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-info
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-indent hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-indent
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-id hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-id
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-habit hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-habit
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-gnus hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-gnus
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-footnote hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-footnote
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-feed hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-feed
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-faces hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-faces
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-eww hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-eww
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-eshell hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-eshell
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-entities hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-entities
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-element hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-element
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-docview hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-docview
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-datetree hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-datetree
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-ctags hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-ctags
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-crypt hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-crypt
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-compat hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-compat
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-colview hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-colview
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-clock hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-clock
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-capture hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-capture
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-bibtex hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-bibtex
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-bbdb hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-bbdb
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-attach hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-attach
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-archive hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-archive
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/org-agenda hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/org-agenda
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-tangle hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-tangle
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-table hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-table
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-stan hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-stan
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-sqlite hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-sqlite
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-sql hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-sql
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-shen hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-shen
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-shell hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-shell
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-sed hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-sed
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-screen hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-screen
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-scheme hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-scheme
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-sass hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-sass
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-ruby hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-ruby
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-ref hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-ref
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-R hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-R
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-python hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-python
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-processing hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-processing
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-plantuml hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-plantuml
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-picolisp hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-picolisp
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-perl hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-perl
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-org hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-org
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-octave hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-octave
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-ocaml hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-ocaml
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-mscgen hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-mscgen
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-maxima hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-maxima
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-matlab hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-matlab
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-makefile hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-makefile
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-lua hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-lua
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-lob hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-lob
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-lisp hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-lisp
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-lilypond hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-lilypond
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-ledger hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-ledger
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-latex hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-latex
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-keys hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-keys
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-js hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-js
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-java hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-java
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-J hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-J
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-io hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-io
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-haskell hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-haskell
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-groovy hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-groovy
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-gnuplot hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-gnuplot
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-fortran hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-fortran
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-forth hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-forth
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-exp hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-exp
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-eval hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-eval
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-emacs-lisp hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-emacs-lisp
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-ebnf hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-ebnf
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-dot hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-dot
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-ditaa hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-ditaa
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-css hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-css
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-core hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-core
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-coq hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-coq
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-comint hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-comint
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-clojure hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-clojure
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-calc hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-calc
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-C hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-C
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-awk hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-awk
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-asymptote hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-asymptote
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170911/ob-abc hides /usr/local/Cellar/emacs-plus/HEAD-a0202fd_2/share/emacs/26.0.50/lisp/org/ob-abc

Features:
(shadow sort mail-extr emacsbug sendmail executable counsel-projectile
dired-collapse f drupal-mode drupal/emacs-drush drupal/flycheck
drupal/phpcs drupal/ispell drupal/etags drupal/eldoc sql view php-mode
flymake flymake-proc flymake-ui cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs eieio-opt speedbar
sb-image ezimage dframe two-column iso-transl reposition mwim misearch
multi-isearch vc-git open-junk-file company-files company-keywords
company-etags company-gtags company-template company-dabbrev-code
company-dabbrev company-capf company-insert-selected php-extras company
auto-compile packed elisp-slime-nav eros flycheck-package package-lint
finder lispyville lispy iedit iedit-lib multiple-cursors-core
lispy-inline avy semantic/db semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet evil-ediff
ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init
ediff-util ediff edebug lispy-tags nameless goto-addr bug-reference
auto-highlight-symbol highlight-numbers parent-mode
highlight-parentheses hideshow rainbow-delimiters clojure-snippets
yasnippet elec-pair editorconfig-core editorconfig-core-handle
editorconfig-fnmatch cl-print debug git-gutter-fringe+ fringe-helper
git-gutter+ mm-archive network-stream starttls url-cache colir smex
projectile grep compile recentf tree-widget quiet-emacs fill-or-unfill
restore-frame-position contextual-menubar init-xclip init-flyspell
init-terminal-cursor evil-terminal-cursor-changer init-org
org-inlinetask init-magit evil-mc evil-mc-command-execute
evil-mc-command-record evil-mc-cursor-make evil-mc-region
evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands
evil-mc-common hl-todo ucs-utils persistent-soft list-utils font-utils
zone xterm-color spacemacs-whitespace-cleanup ws-butler winum winner
window-purpose-x imenu-list imenu ibuf-ext ibuffer ibuffer-loaddefs
volatile-highlights vi-tilde-fringe unicode-fonts tmux string-inflection
spacemacs-purpose-popwin 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 spaceline-config spaceline-segments spaceline
powerline powerline-separators color powerline-themes smartparens-config
smartparens-text smartparens-ruby saveplace savehist ruby-test-mode
pcre2el rxt re-builder ruby-mode smie popwin persp-mode osx-trash orgit
git-rebase magit-gh-pulls gh gh-users gh-issues gh-pulls gh-repos
gh-comments gh-gist gh-oauth gh-api logito gh-cache pcache eieio-base
gh-auth gh-url url-http tls gnutls url-auth url-gw nsm evil-magit
magit-obsolete magit-blame magit-stash magit-bisect magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-branch
magit-files magit-refs magit-status magit magit-repos magit-apply
magit-wip magit-log magit-diff smerge-mode magit-core magit-autorevert
magit-process magit-margin magit-mode magit-git magit-section
magit-popup git-commit magit-utils crm log-edit message puny dired
dired-loaddefs rfc822 mml mml-sec epa epg gnus-util rmail rmail-loaddefs
mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log with-editor
async-bytecomp async server ob-elixir ob-http ob-http-mode ob-restclient
restclient url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util mailcap linum ivy-hydra info+ image-mode
gh-common gh-profile s marshal flycheck-pos-tip pos-tip flycheck-flow
flycheck flx-ido eyebrowse evil-surround evil-search-highlight-persist
evil-numbers evil-lisp-state smartparens evil-lion evil-indent-plus
evil-exchange evil-escape evil-args evil-anzu anzu cider-eval-sexp-fu
eval-sexp-fu highlight editorconfig edit-server dtrt-indent
drupal/pcomplete rx docker-tramp tramp-cache diff-hl vc-dir ewoc vc
vc-dispatcher diff-mode counsel jka-compr esh-util etags xref project
swiper ivy flx delsel ivy-overlay ffap clean-aindent-mode
aggressive-fill-paragraph org-element avl-tree generator org org-macro
org-footnote org-pcomplete org-list org-faces org-entities noutline
outline org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob
ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs
org-loaddefs find-func cal-menu calendar cal-loaddefs dash adaptive-wrap
hybrid-mode exec-path-from-shell evil-evilified-state which-key
use-package diminish bind-key hydra lv cus-edit evil evil-integration
undo-tree diff evil-maps evil-commands flyspell ispell evil-jumps
evil-command-window evil-types evil-search evil-ex evil-macros
evil-repeat evil-states evil-core evil-common windmove thingatpt rect
evil-digraphs evil-vars info bind-map quelpa help-fns radix-tree
package-build mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr json map lisp-mnt hl-line xt-mouse
autorevert filenotify cl-extra disp-table wid-edit monokai-theme
finder-inf tramp tramp-compat tramp-loaddefs trampver shell pcomplete
comint ansi-color ring parse-time format-spec cus-start cus-load
init-sass init-php init-html init-evil core-configuration-layer
eieio-compat ht cl help-mode warnings package epg-config url-handlers
url-parse auth-source cl-seq password-cache url-vars eieio eieio-core
eieio-loaddefs ido-vertical-mode ido seq byte-opt bytecomp byte-compile
cconv core-spacemacs core-use-package-ext core-transient-state
core-micro-state core-toggle core-keybindings core-fonts-support
core-spacemacs-buffer core-funcs cl-macs gv core-themes-support
core-display-init core-jump core-release-management core-custom-settings
core-dotspacemacs core-command-line pcase core-debug edmacro kmacro
derived advice profiler easymenu cl-loaddefs cl-lib page-break-lines
easy-mmode subr-x time-date tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win 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 kqueue cocoa ns multi-tty make-network-process emacs)

Memory information:
((conses 16 1706186 1576957)
 (symbols 48 86264 46)
 (miscs 40 1795 4219)
 (strings 32 361663 146861)
 (string-bytes 1 10359082)
 (vectors 16 134081)
 (vector-slots 8 3856604 684583)
 (floats 8 568 3219)
 (intervals 56 82739 26409)
 (buffers 992 32))





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

* bug#28483: [PATCH] Fix copy-directory creating missing directory
  2017-09-17 19:10 bug#28483: 26.0.50; copy-directory does not create directories Aaron Jensen
@ 2017-09-17 19:15 ` Aaron Jensen
  2017-09-17 19:48   ` Philipp Stephani
  2017-09-17 19:20 ` bug#28483: 26.0.50; copy-directory does not create directories Aaron Jensen
  1 sibling, 1 reply; 13+ messages in thread
From: Aaron Jensen @ 2017-09-17 19:15 UTC (permalink / raw)
  To: 28483

* lisp/files.el (copy-directory): Use file-directory-p instead of
directory-name-p.
---
 lisp/files.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/files.el b/lisp/files.el
index c55c8097c1..b3a55af976 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -5540,7 +5540,7 @@ copy-directory
       (setq directory (directory-file-name (expand-file-name directory))
 	    newname (expand-file-name newname))

-      (cond ((not (directory-name-p newname))
+      (cond ((not (file-directory-p newname))
 	     ;; If NEWNAME is not a directory name, create it;
 	     ;; that is where we will copy the files of DIRECTORY.
 	     (make-directory newname parents))
--
2.13.2





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

* bug#28483: 26.0.50; copy-directory does not create directories
  2017-09-17 19:10 bug#28483: 26.0.50; copy-directory does not create directories Aaron Jensen
  2017-09-17 19:15 ` bug#28483: [PATCH] Fix copy-directory creating missing directory Aaron Jensen
@ 2017-09-17 19:20 ` Aaron Jensen
  2017-09-17 20:40   ` Paul Eggert
  1 sibling, 1 reply; 13+ messages in thread
From: Aaron Jensen @ 2017-09-17 19:20 UTC (permalink / raw)
  To: 28483; +Cc: Paul Eggert

[-- Attachment #1: Type: text/plain, Size: 280 bytes --]

It looks like this actually regressed
in e22794867d878d53675fcc91d2ef1ad2494a2ff2 and was an intentional change.

Paul, could you please take a look at my patch and see if it doesn’t
regress your intended change? Maybe there’s another cond necessary.

Thanks,

Aaron

[-- Attachment #2: Type: text/html, Size: 1216 bytes --]

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

* bug#28483: [PATCH] Fix copy-directory creating missing directory
  2017-09-17 19:15 ` bug#28483: [PATCH] Fix copy-directory creating missing directory Aaron Jensen
@ 2017-09-17 19:48   ` Philipp Stephani
  2017-09-17 20:19     ` Aaron Jensen
  0 siblings, 1 reply; 13+ messages in thread
From: Philipp Stephani @ 2017-09-17 19:48 UTC (permalink / raw)
  To: Aaron Jensen, 28483

[-- Attachment #1: Type: text/plain, Size: 1074 bytes --]

Aaron Jensen <aaronjensen@gmail.com> schrieb am So., 17. Sep. 2017 um
21:16 Uhr:

> * lisp/files.el (copy-directory): Use file-directory-p instead of
> directory-name-p.
> ---
>  lisp/files.el | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lisp/files.el b/lisp/files.el
> index c55c8097c1..b3a55af976 100644
> --- a/lisp/files.el
> +++ b/lisp/files.el
> @@ -5540,7 +5540,7 @@ copy-directory
>        (setq directory (directory-file-name (expand-file-name directory))
>             newname (expand-file-name newname))
>
> -      (cond ((not (directory-name-p newname))
> +      (cond ((not (file-directory-p newname))
>              ;; If NEWNAME is not a directory name, create it;
>              ;; that is where we will copy the files of DIRECTORY.
>              (make-directory newname parents))
>

This would reintroduce the security hole that
e22794867d878d53675fcc91d2ef1ad2494a2ff2 fixed.

Paul, maybe you want to add some comments to the places where you
introduced `directory-name-p' so that people don't attempt to revert these
changes?

[-- Attachment #2: Type: text/html, Size: 1489 bytes --]

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

* bug#28483: [PATCH] Fix copy-directory creating missing directory
  2017-09-17 19:48   ` Philipp Stephani
@ 2017-09-17 20:19     ` Aaron Jensen
  2017-09-18 17:40       ` Philipp Stephani
  0 siblings, 1 reply; 13+ messages in thread
From: Aaron Jensen @ 2017-09-17 20:19 UTC (permalink / raw)
  To: 28483, Philipp Stephani

On September 17, 2017 at 12:48:54 PM, Philipp Stephani
(p.stephani2@gmail.com(mailto:p.stephani2@gmail.com)) wrote:

> This would reintroduce the security hole that e22794867d878d53675fcc91d2ef1ad2494a2ff2 fixed.

Indeed, sorry about that. I’m attempting to patch the downstream
library that led me to this issue:
https://github.com/syl20bnr/spacemacs/pull/9600

> Paul, maybe you want to add some comments to the places where you introduced `directory-name-p' so that people don't attempt to revert these changes?

I’m not sure what Emac’s principles are on it, but perhaps an error
pointing to this change when attempting to copy to a non-existing
directory would help people in the future as well since this is a
change in behavior to an existing function w/o a deprecation.

Thanks,

Aaron





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

* bug#28483: 26.0.50; copy-directory does not create directories
  2017-09-17 19:20 ` bug#28483: 26.0.50; copy-directory does not create directories Aaron Jensen
@ 2017-09-17 20:40   ` Paul Eggert
  2017-09-17 23:12     ` Aaron Jensen
  2017-09-20 11:26     ` Eli Zaretskii
  0 siblings, 2 replies; 13+ messages in thread
From: Paul Eggert @ 2017-09-17 20:40 UTC (permalink / raw)
  To: Aaron Jensen, 28483-done

The recent security patch to copy-directory had the unintended side effect of 
refusing to make the destination directory when COPY-CONTENTS is non-nil and 
when the destination is a directory name. Sorry about that. I installed a patch 
in the emacs-26 branch, here:

http://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-26&id=37b5e661d298cbfe51422cd515b6696a1cdaa868

Please give it a try. As I think it fixes the bug, I'm boldly closing this bug 
report; we can reopen it if I'm wrong.





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

* bug#28483: 26.0.50; copy-directory does not create directories
  2017-09-17 20:40   ` Paul Eggert
@ 2017-09-17 23:12     ` Aaron Jensen
  2017-09-17 23:52       ` Paul Eggert
  2017-09-20 11:26     ` Eli Zaretskii
  1 sibling, 1 reply; 13+ messages in thread
From: Aaron Jensen @ 2017-09-17 23:12 UTC (permalink / raw)
  To: Paul Eggert, 28483-done

On September 17, 2017 at 1:40:50 PM, Paul Eggert
(eggert@cs.ucla.edu(mailto:eggert@cs.ucla.edu)) wrote:

> The recent security patch to copy-directory had the unintended side effect of
> refusing to make the destination directory when COPY-CONTENTS is non-nil and
> when the destination is a directory name. Sorry about that. I installed a patch
> in the emacs-26 branch, here:
>
> http://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-26&id=37b5e661d298cbfe51422cd515b6696a1cdaa868
>
> Please give it a try. As I think it fixes the bug, I'm boldly closing this bug
> report; we can reopen it if I'm wrong.

That fixed it for me. Thank you!

And thanks for pointing out the emacs-26 branch, that’s exciting. Do
fixes not typically get merged back into master until after the
release?





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

* bug#28483: 26.0.50; copy-directory does not create directories
  2017-09-17 23:12     ` Aaron Jensen
@ 2017-09-17 23:52       ` Paul Eggert
  0 siblings, 0 replies; 13+ messages in thread
From: Paul Eggert @ 2017-09-17 23:52 UTC (permalink / raw)
  To: Aaron Jensen, 28483-done

Aaron Jensen wrote:
> Do
> fixes not typically get merged back into master until after the
> release?

No, we typically merge them periodically well before then.





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

* bug#28483: [PATCH] Fix copy-directory creating missing directory
  2017-09-17 20:19     ` Aaron Jensen
@ 2017-09-18 17:40       ` Philipp Stephani
  0 siblings, 0 replies; 13+ messages in thread
From: Philipp Stephani @ 2017-09-18 17:40 UTC (permalink / raw)
  To: Aaron Jensen, 28483

[-- Attachment #1: Type: text/plain, Size: 652 bytes --]

Aaron Jensen <aaronjensen@gmail.com> schrieb am So., 17. Sep. 2017 um
22:19 Uhr:

>
> I’m not sure what Emac’s principles are on it, but perhaps an error
> pointing to this change when attempting to copy to a non-existing
> directory would help people in the future as well since this is a
> change in behavior to an existing function w/o a deprecation.
>
>
I think copy-directory is mostly used by libraries, so alerting the user
wouldn't help: the problem is in the libraries that invoke copy-directory.
That the behavior changed is unfortunate, but unavoidable due to security
concerns. The behavior changes are mentioned in NEWS.

[-- Attachment #2: Type: text/html, Size: 943 bytes --]

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

* bug#28483: 26.0.50; copy-directory does not create directories
  2017-09-17 20:40   ` Paul Eggert
  2017-09-17 23:12     ` Aaron Jensen
@ 2017-09-20 11:26     ` Eli Zaretskii
  2017-09-20 18:59       ` bug#28520: " Paul Eggert
  1 sibling, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2017-09-20 11:26 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 28483, aaronjensen

> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Sun, 17 Sep 2017 13:40:45 -0700
> 
> The recent security patch to copy-directory had the unintended side effect of 
> refusing to make the destination directory when COPY-CONTENTS is non-nil and 
> when the destination is a directory name. Sorry about that. I installed a patch 
> in the emacs-26 branch, here:
> 
> http://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-26&id=37b5e661d298cbfe51422cd515b6696a1cdaa868
> 
> Please give it a try. As I think it fixes the bug, I'm boldly closing this bug 
> report; we can reopen it if I'm wrong.

Thanks.

I still see a problem in copy-directory if I modify the original
recipe slightly: by having the directory ~/test2/a empty (in the
original recipe it included one file. ~/test2/a/e).  If that directory
is empty, it is not copied to the destination.  Moreover, the logic in
copy-directory transfers the modes and timestamp of the (not-copied)
directory to the destination directory, not to the copy.

I think the problem is in this line:

	  (cond
	   ((eq filetype t)       ; Directory but not a symlink.
	    (copy-directory file newname keep-time parents)) <<<<<<<<<<<

Instead of 'newname', there should be (file-name-as-directory newname)
there.  I think.






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

* bug#28520: bug#28483: 26.0.50; copy-directory does not create directories
  2017-09-20 11:26     ` Eli Zaretskii
@ 2017-09-20 18:59       ` Paul Eggert
  2017-09-20 19:54         ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Paul Eggert @ 2017-09-20 18:59 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 28483, Adam Plaice, 28520-done, aaronjensen, Tino Calancha

[-- Attachment #1: Type: text/plain, Size: 1007 bytes --]

On 09/20/2017 04:26 AM, Eli Zaretskii wrote:
> I think the problem is in this line:
>
> 	  (cond
> 	   ((eq filetype t)       ; Directory but not a symlink.
> 	    (copy-directory file newname keep-time parents)) <<<<<<<<<<<
>
> Instead of 'newname', there should be (file-name-as-directory newname)
> there.  I think.

Thanks for diagnosing the problem and for the fix. That fix should work, 
and I think we can improve on it slightly by using (copy-directory file 
target keep-time parents t), as this makes the cond branch more parallel 
with the other alternatives and avoids a call to file-name-as-directory. 
So I installed the attached patch into the emacs-26 branch to do that, 
and to add a test case for this bug. This patch should also fix 
Bug#28520 "Dired recursive copy of directory fails", so I'll CC: that 
bug report and boldly close it.

PS. Sorry, Adam, for misspelling your first name in the commit message. 
I'll try to remember to fix that when it spills out into the ChangeLog file.


[-- Attachment #2: 0001-Fix-new-copy-directory-bug-with-empty-dirs.patch --]
[-- Type: text/x-patch, Size: 2116 bytes --]

From b4531a78ded7efb0c133763b5efe1f4dab1aa4de Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 20 Sep 2017 11:49:12 -0700
Subject: [PATCH] Fix new copy-directory bug with empty dirs

Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
(Bug#28483#34).  This is another bug that I introduced in my
recent copy-directory changes.
* lisp/files.el (copy-directory): Work with empty subdirectories, too.
* test/lisp/files-tests.el (files-tests--copy-directory):
Test for this bug.
---
 lisp/files.el            | 2 +-
 test/lisp/files-tests.el | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/lisp/files.el b/lisp/files.el
index 0c30d40c13..f0a1f2380d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -5564,7 +5564,7 @@ copy-directory
 	      (filetype (car (file-attributes file))))
 	  (cond
 	   ((eq filetype t)       ; Directory but not a symlink.
-	    (copy-directory file newname keep-time parents))
+	    (copy-directory file target keep-time parents t))
 	   ((stringp filetype)    ; Symbolic link
 	    (make-symbolic-link filetype target t))
 	   ((copy-file file target t keep-time)))))
diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el
index f2a9a32180..285a884b69 100644
--- a/test/lisp/files-tests.el
+++ b/test/lisp/files-tests.el
@@ -399,11 +399,16 @@ files-tests--with-temp-file
 	 (dirname (file-name-as-directory dir))
 	 (source (concat dirname "source"))
 	 (dest (concat dirname "dest/new/directory/"))
-	 (file (concat (file-name-as-directory source) "file")))
+	 (file (concat (file-name-as-directory source) "file"))
+	 (source2 (concat dirname "source2"))
+	 (dest2 (concat dirname "dest/new2")))
     (make-directory source)
     (write-region "" nil file)
     (copy-directory source dest t t t)
     (should (file-exists-p (concat dest "file")))
+    (make-directory (concat (file-name-as-directory source2) "a") t)
+    (copy-directory source2 dest2)
+    (should (file-directory-p (concat (file-name-as-directory dest2) "a")))
     (delete-directory dir 'recursive)))
 
 (provide 'files-tests)
-- 
2.13.5


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

* bug#28520: bug#28483: 26.0.50; copy-directory does not create directories
  2017-09-20 18:59       ` bug#28520: " Paul Eggert
@ 2017-09-20 19:54         ` Eli Zaretskii
  2017-09-20 23:04           ` Adam Plaice
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2017-09-20 19:54 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 28483, plaice.adam+lists, 28520, aaronjensen, tino.calancha

> Cc: 28483@debbugs.gnu.org, aaronjensen@gmail.com, 28520-done@debbugs.gnu.org,
>  Adam Plaice <plaice.adam+lists@gmail.com>,
>  Tino Calancha <tino.calancha@gmail.com>
> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Wed, 20 Sep 2017 11:59:37 -0700
> 
> Thanks for diagnosing the problem and for the fix. That fix should work, 
> and I think we can improve on it slightly by using (copy-directory file 
> target keep-time parents t), as this makes the cond branch more parallel 
> with the other alternatives and avoids a call to file-name-as-directory. 
> So I installed the attached patch into the emacs-26 branch to do that, 
> and to add a test case for this bug.

Thanks, works for me.





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

* bug#28520: bug#28483: 26.0.50; copy-directory does not create directories
  2017-09-20 19:54         ` Eli Zaretskii
@ 2017-09-20 23:04           ` Adam Plaice
  0 siblings, 0 replies; 13+ messages in thread
From: Adam Plaice @ 2017-09-20 23:04 UTC (permalink / raw)
  To: Eli Zaretskii, Paul Eggert; +Cc: 28520, tino.calancha

Thanks for the very fast fix. The commit indeed resolves the problem for me.

Adam

> PS. Sorry, Adam, for misspelling your first name in the commit message. I'll try to remember to fix that when it spills out into the ChangeLog file.

Don't worry about it!





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

end of thread, other threads:[~2017-09-20 23:04 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-17 19:10 bug#28483: 26.0.50; copy-directory does not create directories Aaron Jensen
2017-09-17 19:15 ` bug#28483: [PATCH] Fix copy-directory creating missing directory Aaron Jensen
2017-09-17 19:48   ` Philipp Stephani
2017-09-17 20:19     ` Aaron Jensen
2017-09-18 17:40       ` Philipp Stephani
2017-09-17 19:20 ` bug#28483: 26.0.50; copy-directory does not create directories Aaron Jensen
2017-09-17 20:40   ` Paul Eggert
2017-09-17 23:12     ` Aaron Jensen
2017-09-17 23:52       ` Paul Eggert
2017-09-20 11:26     ` Eli Zaretskii
2017-09-20 18:59       ` bug#28520: " Paul Eggert
2017-09-20 19:54         ` Eli Zaretskii
2017-09-20 23:04           ` Adam Plaice

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