summaryrefslogtreecommitdiff
path: root/lisp/nxml
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-07-27 14:01:10 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-07-27 14:01:10 +0200
commitd4fce7394345233026e6b427d90e0debe6c3e89e (patch)
treec8bc1f0f13f3da2983237ae814c098d078d73b60 /lisp/nxml
parent60511bd89dbc9cd5a3ee2bb615a118cb379fb956 (diff)
downloademacs-d4fce7394345233026e6b427d90e0debe6c3e89e.tar.gz
Only insert XML declarations in nxml-mode when the buffer is empty
* lisp/nxml/nxml-mode.el (nxml-mode): Don't insert the XML declaration unless it's an empty buffer (bug#24978). This avoids the problem of the declaration being inserted by mistake when opening XML files from archives and the like -- the file doesn't exist on the file system there, either, so it would typically lead to doubled XML declarations.
Diffstat (limited to 'lisp/nxml')
-rw-r--r--lisp/nxml/nxml-mode.el9
1 files changed, 3 insertions, 6 deletions
diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el
index ad78d086c74..623a6666627 100644
--- a/lisp/nxml/nxml-mode.el
+++ b/lisp/nxml/nxml-mode.el
@@ -530,16 +530,13 @@ Many aspects this mode can be customized using
(setq-local syntax-propertize-function #'nxml-syntax-propertize)
(add-hook 'change-major-mode-hook #'nxml-cleanup nil t)
- ;; Emacs 23 handles the encoding attribute on the xml declaration
- ;; transparently to nxml-mode, so there is no longer a need for the below
- ;; hook. The hook also had the drawback of overriding explicit user
- ;; instruction to save as some encoding other than utf-8.
- ;;(add-hook 'write-contents-hooks #'nxml-prepare-to-save)
(when (not (and (buffer-file-name) (file-exists-p (buffer-file-name))))
(when (and nxml-default-buffer-file-coding-system
(not (local-variable-p 'buffer-file-coding-system)))
(setq buffer-file-coding-system nxml-default-buffer-file-coding-system))
- (when nxml-auto-insert-xml-declaration-flag
+ ;; When starting a new file, insert the XML declaraction.
+ (when (and nxml-auto-insert-xml-declaration-flag
+ (zerop (buffer-size)))
(nxml-insert-xml-declaration)))
(setq font-lock-defaults