Subject: bug#4917 closed by Dan Nicolaescu <[email-masked]> (Re: bug#4917: Error: Attempt to modify read-only object)

From: [email-masked] (Emacs bug Tracking System)
Date: Fri, 13 Nov 2009 02:50:04 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#4917: Error: Attempt to modify read-only object

It has been closed by Dan Nicolaescu <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Dan Nicolaescu <[email-masked]> by
replying to this email.

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

Subject: Re: bug#4917: Error: Attempt to modify read-only object
From: Dan Nicolaescu <[email-masked]>
To: [email-masked]
Cc: Juri Linkov <[email-masked]>
Date: Thu, 12 Nov 2009 18:41:53 -0800 (PST)

Dan Nicolaescu <[email-masked]> writes:

  > Juri Linkov <[email-masked]> writes:
  > 
  >   > Starting Emacs fails with the error:
  >   > 
  >   >   Warning (initialization): An error occurred while loading `/home/juri/.emacs':
  >   > 
  >   >   error: Attempt to modify read-only object
  >   > 
  >   >   To ensure normal operation, you should investigate and remove the
  >   >   cause of the error in your initialization file.  Start Emacs with
  >   >   the `--debug-init' option to view a complete error backtrace.
  >   > 
  >   > Starting Emacs with the `--debug-init' option displays:
  >   > 
  >   >   Debugger entered--Lisp error: (error "Attempt to modify read-only object")
  >   >     delete(("\\`\357\273\277" . utf-8-with-signature) (("\\`BABYL OPTIONS:[ 	]*-\\*-[ 	]*rmail[ 	]*-\\*-" . no-conversion) ("\\`\376\377" . utf-16be-with-signature) ("\\`\377\376" . utf-16le-with-signature) ("\\`\357\273\277" . utf-8-with-signature) ("\\`;ELC" . emacs-mule)))
  >   >     (setq auto-coding-regexp-alist (delete (rassoc ... auto-coding-regexp-alist) auto-coding-regexp-alist))
  >   > 
  >   > The reason of this error in .emacs is the lines that remove a match
  >   > for `utf-8-with-signature' from `auto-coding-regexp-alist' that allows
  >   > to always display the BOM (Byte-order mark signature) to be able
  >   > to remove it without the need to visit files literally:
  >   > 
  >   >   (setq auto-coding-regexp-alist
  >   > 	(delete (rassoc 'utf-8-with-signature auto-coding-regexp-alist)
  >   > 		auto-coding-regexp-alist))
  >   > 
  >   > Before yesterday there were no problems with this.
  > 
  > This is mine, too aggressive use of purecopy.
  > auto-coding-regexp-alist needs to be changed like this:
  > 
  > (defcustom auto-coding-regexp-alist
  >   (mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg)))
  >   '(("\\`BABYL OPTIONS:[ \t]*-\\*-[ \t]*rmail[ \t]*-\\*-"  . no-conversion)
  > [....]
  > 
  > I'll check it in when I get a chance.  If it's in your way, please feel
  > free to do it earlier.

Fixed.  Thanks for catching this.

Subject: Error: Attempt to modify read-only object
From: Juri Linkov <[email-masked]>
To: [email-masked]
Date: Fri, 13 Nov 2009 02:01:37 +0200

Starting Emacs fails with the error:

  Warning (initialization): An error occurred while loading `/home/juri/.emacs':

  error: Attempt to modify read-only object

  To ensure normal operation, you should investigate and remove the
  cause of the error in your initialization file.  Start Emacs with
  the `--debug-init' option to view a complete error backtrace.

Starting Emacs with the `--debug-init' option displays:

  Debugger entered--Lisp error: (error "Attempt to modify read-only object")
    delete(("\\`\357\273\277" . utf-8-with-signature) (("\\`BABYL OPTIONS:[ 	]*-\\*-[ 	]*rmail[ 	]*-\\*-" . no-conversion) ("\\`\376\377" . utf-16be-with-signature) ("\\`\377\376" . utf-16le-with-signature) ("\\`\357\273\277" . utf-8-with-signature) ("\\`;ELC" . emacs-mule)))
    (setq auto-coding-regexp-alist (delete (rassoc ... auto-coding-regexp-alist) auto-coding-regexp-alist))

The reason of this error in .emacs is the lines that remove a match
for `utf-8-with-signature' from `auto-coding-regexp-alist' that allows
to always display the BOM (Byte-order mark signature) to be able
to remove it without the need to visit files literally:

  (setq auto-coding-regexp-alist
	(delete (rassoc 'utf-8-with-signature auto-coding-regexp-alist)
		auto-coding-regexp-alist))

Before yesterday there were no problems with this.

-- 
Juri Linkov
http://www.jurta.org/emacs/