all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#8282: sgml-xml-auto-coding-function() should respect the *-with-signature-* coding
@ 2011-03-18  5:56 LIN Sumang
  2011-03-18  7:10 ` bug#8283: " LIN Sumang
  0 siblings, 1 reply; 2+ messages in thread
From: LIN Sumang @ 2011-03-18  5:56 UTC (permalink / raw)
  To: 8282

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

Hi,

I am using Emacs 23.2.1. I think sgml-xml-auto-coding-function() should
respect the *-with-signature-* coding.

Consider the scenario below:
1. xml file with the signature \376\377 at beginning of the file and the
first line is
<?xml version="1.0" encoding="utf-16be"?>
2. edit this file and save it. sgml-xml-auto-coding-function will use the
utf-16be to save the file.
3. open the file again, get messed.

In this case sgml-xml-auto-coding-function() shouldn't change the coding and
if it really need to change the coding, it should append the
*-with-signature-* to the selected coding.

sgml-html-meta-auto-coding-function() should have same problem.

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

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

* bug#8283: sgml-xml-auto-coding-function() should respect the *-with-signature-* coding
  2011-03-18  5:56 bug#8282: sgml-xml-auto-coding-function() should respect the *-with-signature-* coding LIN Sumang
@ 2011-03-18  7:10 ` LIN Sumang
  0 siblings, 0 replies; 2+ messages in thread
From: LIN Sumang @ 2011-03-18  7:10 UTC (permalink / raw)
  To: 8283

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

I wrote a simple function for *workaround*. Hope it helps.

(defun sgml-xml-auto-coding-function-utf (size)
  (let* ((selected-coding (sgml-xml-auto-coding-function size))
         (selected (symbol-name selected-coding))
         (current-coding buffer-file-coding-system)
         (current (symbol-name current-coding))
         )
    (if (and (string-match "^utf-" selected)
             (string-match "^utf-.+\\(-with-signature.*\\)" current))
        (if (string= selected (substring current 0 (length selected)))
            current-coding
          ;; current=utf-cc-xxxx; selected=utf-ss; new -> utf-ss-xxxx
          (let ((sig (match-string 1 current))
                new)
            (string-match "^utf-\\(.+\\)" selected)
            (setq new (match-string 1 selected))
            (setq new (intern (concat "utf-" new sig)))
            (if (coding-system-p new)
                new
              selected-coding
              )))
      selected-coding))
    )

On Fri, Mar 18, 2011 at 1:56 PM, LIN Sumang <linsumang@gmail.com> wrote:

> Hi,
>
> I am using Emacs 23.2.1. I think sgml-xml-auto-coding-function() should
> respect the *-with-signature-* coding.
>
> Consider the scenario below:
> 1. xml file with the signature \376\377 at beginning of the file and the
> first line is
> <?xml version="1.0" encoding="utf-16be"?>
> 2. edit this file and save it. sgml-xml-auto-coding-function will use the
> utf-16be to save the file.
> 3. open the file again, get messed.
>
> In this case sgml-xml-auto-coding-function() shouldn't change the coding
> and if it really need to change the coding, it should append the
> *-with-signature-* to the selected coding.
>
> sgml-html-meta-auto-coding-function() should have same problem.
>
>
>

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

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

end of thread, other threads:[~2011-03-18  7:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-18  5:56 bug#8282: sgml-xml-auto-coding-function() should respect the *-with-signature-* coding LIN Sumang
2011-03-18  7:10 ` bug#8283: " LIN Sumang

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.