# HG changeset patch # User Eli Zaretskii # Date 1232811069 0 # Node ID 331a66ef20912e96f01ce60645a15c24886cc451 # Parent 5393fb4f28acb4cfb809e606c86c89eea942d236 (set-language-environment-coding-systems): If default-buffer-file-coding-system is nil, set up to have EOLs that are native for the underlying system-type. diff -r 5393fb4f28ac -r 331a66ef2091 lisp/international/mule-cmds.el --- a/lisp/international/mule-cmds.el Sat Jan 24 11:38:06 2009 +0000 +++ b/lisp/international/mule-cmds.el Sat Jan 24 15:31:09 2009 +0000 @@ -1933,7 +1933,25 @@ "Do various coding system setups for language environment LANGUAGE-NAME." (let* ((priority (get-language-info language-name 'coding-priority)) (default-coding (car priority)) - (eol-type (coding-system-eol-type default-buffer-file-coding-system))) + ;; If default-buffer-file-coding-system is nil, don't use + ;; coding-system-eol-type, because it treats nil as + ;; `no-conversion'. default-buffer-file-coding-system is set + ;; to nil by reset-language-environment, and in that case we + ;; want to have here the native EOL type for each platform. + ;; FIXME: there should be a common code that runs both on + ;; startup and here to set the default EOL type correctly. + ;; Right now, DOS/Windows platforms set this on dos-w32.el, + ;; which works only as long as the order of loading files at + ;; dump time and calling functions at startup is not modified + ;; significantly, i.e. as long as this function is called + ;; _after_ default-buffer-file-coding-system was set by + ;; dos-w32.el. + (eol-type + (if (null default-buffer-file-coding-system) + (cond ((memq system-type '(windows-nt ms-dos)) 1) + ((eq system-type 'macos) 2) + (t 0)) + (coding-system-eol-type default-buffer-file-coding-system)))) (when priority (set-default-coding-systems (if (memq eol-type '(0 1 2 unix dos mac))