Subject: bug#18034: closed (Bug #18034: toggle-read-only used in the code)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 26 Jun 2016 05:41:02 +0000

Your bug report

#18034: toggle-read-only used in the code

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
18034: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18034
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Bug #18034: toggle-read-only used in the code
From: Noam Postavsky <[email-masked]>
To: GNU bug tracker automated control server <[email-masked]>, [email-masked]
Date: Sun, 26 Jun 2016 01:40:30 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

# I accidentally marked 18034 fixed due to typo but I meant 18039
fixed 18039 25.0.94
quit

However, this bug is fixed as well. I ran the find+gawk expression
against emacs-25 sources, only 3 occurences left, and they are
acceptable uses kept for backwards compat reasons. I've added context
to each hit:

~/src/emacs$ find emacs-25/lisp/ -type f -name \*.el       -exec gawk
'FILENAME ~ /\<files\.el$/ || /^\s*[;"]|"$/ { next; }
                  /[^-[:alnum:]]toggle-read-only\>/ {
                      print FILENAME ":" FNR ":\t" $0;
                  }' {} +

;; toggle-read-only is obsolete since 24.3, but since vc-t-r-o was made
;; obsolete earlier, it is ok for the latter to be an alias to the former,
;; since the latter will be removed first.  We can't just make it
;; an alias for read-only-mode, since that is not 100% the same.
emacs-25/lisp/vc/vc-hooks.el:573:    (defalias 'vc-toggle-read-only
'toggle-read-only)

    (substitute-key-definition
     'read-only-mode 'hide-ifdef-toggle-outside-read-only map)
    ;; `toggle-read-only' is obsoleted by `read-only-mode'.
    (substitute-key-definition
emacs-25/lisp/progmodes/hideif.el:195:         'toggle-read-only
'hide-ifdef-toggle-outside-read-only map)

    (define-key map [remap read-only-mode] 'dired-toggle-read-only)
    ;; `toggle-read-only' is an obsolete alias for `read-only-mode'
emacs-25/lisp/dired.el:1561:        (define-key map [remap
toggle-read-only] 'dired-toggle-read-only)

Subject: toggle-read-only used in the code
From: Ivan Shmakov <[email-masked]>
To: [email-masked]
Date: Tue, 15 Jul 2014 18:44:28 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Package:  emacs
Severity: minor

	Even though toggle-read-only was marked as obsolete back in
	2012, there’re still a handful of references to it remaining in
	the code, most notably in vc/*.el.  Consider, e. g.:

$ find lisp/ -type f -name \*.el \
      -exec gawk 'FILENAME ~ /\<files\.el$/ || /^\s*[;"]|"$/ { next; }
                  /[^-[:alnum:]]toggle-read-only\>/ {
                      print FILENAME ":" FNR ":\t" $0;
                  }' {} + 
lisp/dired.el:1553:	    (define-key map [remap toggle-read-only] 'dired-toggle-read-only)
lisp/progmodes/hideif.el:192:	     'toggle-read-only 'hide-ifdef-toggle-outside-read-only map)
lisp/vc/vc-hooks.el:637:	  'vc-toggle-read-only 'toggle-read-only "24.1")
lisp/vc/ediff-init.el:1349:	(defvar ediff-toggle-read-only-function 'toggle-read-only
lisp/vc/ediff-util.el:1030:					   'toggle-read-only)
lisp/vc/ediff-util.el:1031:					  (file-writable 'toggle-read-only)
lisp/vc/ediff-util.el:1042:			   (setq toggle-ro-cmd 'toggle-read-only))
lisp/vc/ediff-util.el:1057:			   (setq toggle-ro-cmd 'toggle-read-only)
lisp/vc/ediff-util.el:1063:			 (string-match "toggle-read-only" (symbol-name toggle-ro-cmd)))
$ 

	For one thing, typing A or B in when using Ediff results in the
	respective message:

`toggle-read-only' is an obsolete command (as of 24.3); use `read-only-mode' instead.

	I suggest these be replaced with read-only-mode as appropriate.

	TIA.

-- 
FSF associate member #7257	http://boycottsystemd.org/
commit e7b7bf65b489c5890c4f64245769b8dc5c7fd916
Author:     Stefan Monnier <[email-masked]>
AuthorDate: Wed Aug 29 11:11:51 2012 -0400

    * lisp/files.el (read-only-mode): New minor mode.
    (toggle-read-only): Use it and mark obsolete.
    (find-file--read-only):
    * lisp/vc/vc.el (vc-next-action, vc-checkout):
    * lisp/vc/vc-cvs.el (vc-cvs-checkout):
    * lisp/obsolete/vc-mcvs.el (vc-mcvs-update):
    * lisp/ffap.el (ffap--toggle-read-only): Update callers.