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