Subject: 25.1.50; inconsistent docstring of file-ownership-preserved-p
From: Michael Albinus <[email-masked]>
To: [email-masked]
Date: Fri, 15 Jul 2016 20:29:03 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

The docstring of file-ownership-preserved-p says: "Return nil if FILE
does not exist...". However, the implementation contains the comment:

;; Return t if the file doesn't exist, since it's true that no
;; information would be lost by an (attempted) delete and create.

Given, that this comment and the corresponding implementation exist for
more than 20 years, I propose to fix the docstring.

In GNU Emacs 25.1.50.15 (x86_64-pc-linux-gnu, GTK+ Version 2.24.30)
 of 2016-07-13 built on detlef
Repository revision: d2533d72680f2c14730cf8699bb2cdd18eba4365
Windowing system distributor 'The X.Org Foundation', version 11.0.11803000
System Description:	Ubuntu 16.04 LTS

Recent messages:
Loading icomplete...done
Loading /home/albinus/.tramp...done
Loading /home/albinus/src/elpa/packages/debbugs/debbugs-autoloads.el (source)...done
Loading /home/albinus/src/elpa/packages/tramp-theme/tramp-theme-autoloads.el (source)...done
Loading erc...done
Making completion list...
Source file ‘/home/albinus/src/emacs/lisp/gnus/mm-decode.el’ newer than byte-compiled file

Configured using:
 'configure --with-file-notification=inotify'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GCONF GSETTINGS NOTIFY GNUTLS
LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK2 X11

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

Major mode: Lisp Interaction

Minor modes in effect:
  erc-notify-mode: t
  erc-notifications-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  display-time-mode: t
  shell-dirtrack-mode: t
  icomplete-mode: t
  show-paren-mode: t
  tooltip-mode: t
  global-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
  blink-cursor-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:
/home/albinus/src/elpa/packages/debbugs/debbugs-org hides /home/albinus/.emacs.d/elpa/debbugs-0.9.7/debbugs-org
/home/albinus/src/elpa/packages/debbugs/debbugs-gnu hides /home/albinus/.emacs.d/elpa/debbugs-0.9.7/debbugs-gnu
/home/albinus/src/elpa/packages/debbugs/debbugs hides /home/albinus/.emacs.d/elpa/debbugs-0.9.7/debbugs
/home/albinus/src/elpa/packages/debbugs/debbugs-autoloads hides /home/albinus/.emacs.d/elpa/debbugs-0.9.7/debbugs-autoloads
/home/albinus/src/elpa/packages/debbugs/debbugs-pkg hides /home/albinus/.emacs.d/elpa/debbugs-0.9.7/debbugs-pkg
/home/albinus/src/elpa/packages/debbugs/debbugs-browse hides /home/albinus/.emacs.d/elpa/debbugs-0.9.7/debbugs-browse
/home/albinus/.emacs.d/elpa/helm-20160629.116/helm-multi-match hides /home/albinus/.emacs.d/elpa/helm-core-20160627.324/helm-multi-match
~/lisp/telepathy hides /home/albinus/.emacs.d/elpa/telepathy-20131209.458/telepathy
/home/albinus/src/elpa/packages/tramp-theme/tramp-theme hides /home/albinus/.emacs.d/elpa/tramp-theme-0.1.1/tramp-theme
/home/albinus/src/elpa/packages/tramp-theme/tramp-theme-autoloads hides /home/albinus/.emacs.d/elpa/tramp-theme-0.1.1/tramp-theme-autoloads
/home/albinus/src/elpa/packages/tramp-theme/tramp-theme-pkg hides /home/albinus/.emacs.d/elpa/tramp-theme-0.1.1/tramp-theme-pkg
/home/albinus/.emacs.d/elpa/ada-mode-5.1.9/ada-stmt hides /home/albinus/src/emacs/lisp/progmodes/ada-stmt
/home/albinus/.emacs.d/elpa/ada-mode-5.1.9/ada-prj hides /home/albinus/src/emacs/lisp/progmodes/ada-prj
/home/albinus/.emacs.d/elpa/ada-mode-5.1.9/ada-xref hides /home/albinus/src/emacs/lisp/progmodes/ada-xref
/home/albinus/.emacs.d/elpa/ada-mode-5.1.9/ada-mode hides /home/albinus/src/emacs/lisp/progmodes/ada-mode
~/src/org-mode/lisp/ob-python hides /home/albinus/src/emacs/lisp/org/ob-python
~/src/org-mode/lisp/ob-scala hides /home/albinus/src/emacs/lisp/org/ob-scala
~/src/org-mode/lisp/ob-ref hides /home/albinus/src/emacs/lisp/org/ob-ref
~/src/org-mode/lisp/org-gnus hides /home/albinus/src/emacs/lisp/org/org-gnus
~/src/org-mode/lisp/ob-java hides /home/albinus/src/emacs/lisp/org/ob-java
~/src/org-mode/lisp/ob-css hides /home/albinus/src/emacs/lisp/org/ob-css
~/src/org-mode/lisp/org-bibtex hides /home/albinus/src/emacs/lisp/org/org-bibtex
~/src/org-mode/lisp/ob-ledger hides /home/albinus/src/emacs/lisp/org/ob-ledger
~/src/org-mode/lisp/ob-ruby hides /home/albinus/src/emacs/lisp/org/ob-ruby
~/src/org-mode/lisp/org-irc hides /home/albinus/src/emacs/lisp/org/org-irc
~/src/org-mode/lisp/ob-plantuml hides /home/albinus/src/emacs/lisp/org/ob-plantuml
~/src/org-mode/lisp/org-entities hides /home/albinus/src/emacs/lisp/org/org-entities
~/src/org-mode/lisp/org-agenda hides /home/albinus/src/emacs/lisp/org/org-agenda
~/src/org-mode/lisp/ox-html hides /home/albinus/src/emacs/lisp/org/ox-html
~/src/org-mode/lisp/ob-core hides /home/albinus/src/emacs/lisp/org/ob-core
~/src/org-mode/lisp/ox-md hides /home/albinus/src/emacs/lisp/org/ox-md
~/src/org-mode/lisp/ox hides /home/albinus/src/emacs/lisp/org/ox
~/src/org-mode/lisp/ob-sqlite hides /home/albinus/src/emacs/lisp/org/ob-sqlite
~/src/org-mode/lisp/org-compat hides /home/albinus/src/emacs/lisp/org/org-compat
~/src/org-mode/lisp/ob-gnuplot hides /home/albinus/src/emacs/lisp/org/ob-gnuplot
~/src/org-mode/lisp/ox-beamer hides /home/albinus/src/emacs/lisp/org/ox-beamer
~/src/org-mode/lisp/ob-exp hides /home/albinus/src/emacs/lisp/org/ob-exp
~/src/org-mode/lisp/ob-C hides /home/albinus/src/emacs/lisp/org/ob-C
~/src/org-mode/lisp/ob-awk hides /home/albinus/src/emacs/lisp/org/ob-awk
~/src/org-mode/lisp/ob-matlab hides /home/albinus/src/emacs/lisp/org/ob-matlab
~/src/org-mode/lisp/ox-org hides /home/albinus/src/emacs/lisp/org/ox-org
~/src/org-mode/lisp/org-archive hides /home/albinus/src/emacs/lisp/org/org-archive
~/src/org-mode/lisp/org-plot hides /home/albinus/src/emacs/lisp/org/org-plot
~/src/org-mode/lisp/org-install hides /home/albinus/src/emacs/lisp/org/org-install
~/src/org-mode/lisp/ob-octave hides /home/albinus/src/emacs/lisp/org/ob-octave
~/src/org-mode/lisp/ob-calc hides /home/albinus/src/emacs/lisp/org/ob-calc
~/src/org-mode/lisp/org-bbdb hides /home/albinus/src/emacs/lisp/org/org-bbdb
~/src/org-mode/lisp/ob-lilypond hides /home/albinus/src/emacs/lisp/org/ob-lilypond
~/src/org-mode/lisp/ox-odt hides /home/albinus/src/emacs/lisp/org/ox-odt
~/src/org-mode/lisp/ob-sass hides /home/albinus/src/emacs/lisp/org/ob-sass
~/src/org-mode/lisp/ob-lisp hides /home/albinus/src/emacs/lisp/org/ob-lisp
~/src/org-mode/lisp/org-indent hides /home/albinus/src/emacs/lisp/org/org-indent
~/src/org-mode/lisp/org-mouse hides /home/albinus/src/emacs/lisp/org/org-mouse
~/src/org-mode/lisp/org-macs hides /home/albinus/src/emacs/lisp/org/org-macs
~/src/org-mode/lisp/org-timer hides /home/albinus/src/emacs/lisp/org/org-timer
~/src/org-mode/lisp/org-pcomplete hides /home/albinus/src/emacs/lisp/org/org-pcomplete
~/src/org-mode/lisp/org-inlinetask hides /home/albinus/src/emacs/lisp/org/org-inlinetask
~/src/org-mode/lisp/ob-comint hides /home/albinus/src/emacs/lisp/org/ob-comint
~/src/org-mode/lisp/ob-org hides /home/albinus/src/emacs/lisp/org/ob-org
~/src/org-mode/lisp/ob-keys hides /home/albinus/src/emacs/lisp/org/ob-keys
~/src/org-mode/lisp/org-src hides /home/albinus/src/emacs/lisp/org/org-src
~/src/org-mode/lisp/org-ctags hides /home/albinus/src/emacs/lisp/org/org-ctags
~/src/org-mode/lisp/ob-clojure hides /home/albinus/src/emacs/lisp/org/ob-clojure
~/src/org-mode/lisp/ob-ocaml hides /home/albinus/src/emacs/lisp/org/ob-ocaml
~/src/org-mode/lisp/org-mobile hides /home/albinus/src/emacs/lisp/org/org-mobile
~/src/org-mode/lisp/ob-tangle hides /home/albinus/src/emacs/lisp/org/ob-tangle
~/src/org-mode/lisp/ob-asymptote hides /home/albinus/src/emacs/lisp/org/ob-asymptote
~/src/org-mode/lisp/ob-table hides /home/albinus/src/emacs/lisp/org/ob-table
~/src/org-mode/lisp/ob-makefile hides /home/albinus/src/emacs/lisp/org/ob-makefile
~/src/org-mode/lisp/ox-publish hides /home/albinus/src/emacs/lisp/org/ox-publish
~/src/org-mode/lisp/org-macro hides /home/albinus/src/emacs/lisp/org/org-macro
~/src/org-mode/lisp/ob-maxima hides /home/albinus/src/emacs/lisp/org/ob-maxima
~/src/org-mode/lisp/ox-man hides /home/albinus/src/emacs/lisp/org/ox-man
~/src/org-mode/lisp/ox-latex hides /home/albinus/src/emacs/lisp/org/ox-latex
~/src/org-mode/lisp/org-table hides /home/albinus/src/emacs/lisp/org/org-table
~/src/org-mode/lisp/org-colview hides /home/albinus/src/emacs/lisp/org/org-colview
~/src/org-mode/lisp/ob-haskell hides /home/albinus/src/emacs/lisp/org/ob-haskell
~/src/org-mode/lisp/org-version hides /home/albinus/src/emacs/lisp/org/org-version
~/src/org-mode/lisp/ox-texinfo hides /home/albinus/src/emacs/lisp/org/ox-texinfo
~/src/org-mode/lisp/ob-dot hides /home/albinus/src/emacs/lisp/org/ob-dot
~/src/org-mode/lisp/ob-lob hides /home/albinus/src/emacs/lisp/org/ob-lob
~/src/org-mode/lisp/ob-mscgen hides /home/albinus/src/emacs/lisp/org/ob-mscgen
~/src/org-mode/lisp/ob-js hides /home/albinus/src/emacs/lisp/org/ob-js
~/src/org-mode/lisp/ob-eval hides /home/albinus/src/emacs/lisp/org/ob-eval
~/src/org-mode/lisp/org-eshell hides /home/albinus/src/emacs/lisp/org/org-eshell
~/src/org-mode/lisp/org-feed hides /home/albinus/src/emacs/lisp/org/org-feed
~/src/org-mode/lisp/ob-R hides /home/albinus/src/emacs/lisp/org/ob-R
~/src/org-mode/lisp/org-crypt hides /home/albinus/src/emacs/lisp/org/org-crypt
~/src/org-mode/lisp/org-footnote hides /home/albinus/src/emacs/lisp/org/org-footnote
~/src/org-mode/lisp/ox-ascii hides /home/albinus/src/emacs/lisp/org/ox-ascii
~/src/org-mode/lisp/ob-screen hides /home/albinus/src/emacs/lisp/org/ob-screen
~/src/org-mode/lisp/org-w3m hides /home/albinus/src/emacs/lisp/org/org-w3m
~/src/org-mode/lisp/org-mhe hides /home/albinus/src/emacs/lisp/org/org-mhe
~/src/org-mode/lisp/org-attach hides /home/albinus/src/emacs/lisp/org/org-attach
~/src/org-mode/lisp/org-habit hides /home/albinus/src/emacs/lisp/org/org-habit
~/src/org-mode/lisp/ob hides /home/albinus/src/emacs/lisp/org/ob
~/src/org-mode/lisp/org-clock hides /home/albinus/src/emacs/lisp/org/org-clock
~/src/org-mode/lisp/org-list hides /home/albinus/src/emacs/lisp/org/org-list
~/src/org-mode/lisp/ob-perl hides /home/albinus/src/emacs/lisp/org/ob-perl
~/src/org-mode/lisp/ob-fortran hides /home/albinus/src/emacs/lisp/org/ob-fortran
~/src/org-mode/lisp/org-protocol hides /home/albinus/src/emacs/lisp/org/org-protocol
~/src/org-mode/lisp/ox-icalendar hides /home/albinus/src/emacs/lisp/org/ox-icalendar
~/src/org-mode/lisp/org-info hides /home/albinus/src/emacs/lisp/org/org-info
~/src/org-mode/lisp/org-docview hides /home/albinus/src/emacs/lisp/org/org-docview
~/src/org-mode/lisp/org-id hides /home/albinus/src/emacs/lisp/org/org-id
~/src/org-mode/lisp/org-faces hides /home/albinus/src/emacs/lisp/org/org-faces
~/src/org-mode/lisp/ob-emacs-lisp hides /home/albinus/src/emacs/lisp/org/ob-emacs-lisp
~/src/org-mode/lisp/org hides /home/albinus/src/emacs/lisp/org/org
~/src/org-mode/lisp/org-rmail hides /home/albinus/src/emacs/lisp/org/org-rmail
~/src/org-mode/lisp/ob-shen hides /home/albinus/src/emacs/lisp/org/ob-shen
~/src/org-mode/lisp/org-capture hides /home/albinus/src/emacs/lisp/org/org-capture
~/src/org-mode/lisp/org-element hides /home/albinus/src/emacs/lisp/org/org-element
~/src/org-mode/lisp/ob-ditaa hides /home/albinus/src/emacs/lisp/org/ob-ditaa
~/src/org-mode/lisp/ob-latex hides /home/albinus/src/emacs/lisp/org/ob-latex
~/src/org-mode/lisp/ob-io hides /home/albinus/src/emacs/lisp/org/ob-io
~/src/org-mode/lisp/org-datetree hides /home/albinus/src/emacs/lisp/org/org-datetree
~/src/org-mode/lisp/ob-picolisp hides /home/albinus/src/emacs/lisp/org/ob-picolisp
~/src/org-mode/lisp/ob-sql hides /home/albinus/src/emacs/lisp/org/ob-sql
~/src/org-mode/lisp/ob-scheme hides /home/albinus/src/emacs/lisp/org/ob-scheme
~/src/org-mode/lisp/org-loaddefs hides /home/albinus/src/emacs/lisp/org/org-loaddefs
~/src/tramp/lisp/tramp-smb hides /home/albinus/src/emacs/lisp/net/tramp-smb
~/src/tramp/lisp/tramp-uu hides /home/albinus/src/emacs/lisp/net/tramp-uu
~/src/tramp/lisp/tramp-adb hides /home/albinus/src/emacs/lisp/net/tramp-adb
~/src/tramp/lisp/tramp-cmds hides /home/albinus/src/emacs/lisp/net/tramp-cmds
~/src/tramp/lisp/tramp-cache hides /home/albinus/src/emacs/lisp/net/tramp-cache
~/src/tramp/lisp/trampver hides /home/albinus/src/emacs/lisp/net/trampver
~/src/tramp/lisp/tramp-ftp hides /home/albinus/src/emacs/lisp/net/tramp-ftp
~/src/tramp/lisp/tramp-sh hides /home/albinus/src/emacs/lisp/net/tramp-sh
~/src/tramp/lisp/tramp hides /home/albinus/src/emacs/lisp/net/tramp
~/src/tramp/lisp/tramp-loaddefs hides /home/albinus/src/emacs/lisp/net/tramp-loaddefs
~/lisp/dbus hides /home/albinus/src/emacs/lisp/net/dbus
~/src/tramp/lisp/tramp-gw hides /home/albinus/src/emacs/lisp/net/tramp-gw
~/src/tramp/lisp/tramp-gvfs hides /home/albinus/src/emacs/lisp/net/tramp-gvfs
~/src/tramp/lisp/tramp-compat hides /home/albinus/src/emacs/lisp/net/tramp-compat

Features:
(shadow sort mail-extr warnings emacsbug message puny rfc822 mml mml-sec
epa derived epg gnus-util rmail rmail-loaddefs mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils erc-notify
erc-desktop-notifications notifications dbus xml erc-list erc-menu
erc-join erc-ring erc-networks erc-pcomplete erc-track erc-match
erc-button wid-edit erc-fill erc-stamp erc-netsplit erc-goodies erc
erc-backend erc-compat thingatpt pp cperl-mode tramp-theme em-dirs
esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups
eshell esh-module esh-mode esh-util time tramp-sh docker-tramp
tramp-cache vagrant-tramp dash term disp-table ehelp tramp tramp-compat
tramp-loaddefs trampver ucs-normalize shell pcomplete comint ansi-color
ring format-spec advice ido jka-compr icomplete paren ps-print
ps-print-loaddefs ps-def lpr vc vc-dispatcher dired dired-loaddefs
finder-inf slime-autoloads url-auth info package epg-config url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cl-extra
help-mode easymenu cconv cl-loaddefs pcase cl-lib 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 newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow 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 charscript
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 dbusbind inotify
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 349762 10260)
 (symbols 48 34157 0)
 (miscs 40 483 164)
 (strings 32 65648 13495)
 (string-bytes 1 2026402)
 (vectors 16 50931)
 (vector-slots 8 888071 4158)
 (floats 8 527 64)
 (intervals 56 273 0)
 (buffers 976 13)
 (heap 1024 48528 1885))