]> git.eshelyaron.com Git - emacs.git/commitdiff
Default Emacs to UTF-8 instead of Latin-1
authorGlenn Morris <rgm@gnu.org>
Sat, 12 Sep 2020 11:37:23 +0000 (13:37 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 12 Sep 2020 11:37:31 +0000 (13:37 +0200)
* doc/emacs/mule.texi (File Name Coding): Document it.

* lisp/international/mule-cmds.el (reset-language-environment):
Default to utf-8 instead of latin-1.

* lisp/mail/sendmail.el (default-sendmail-coding-system): Ditto.

* lisp/mh-e/mh-comp.el (mh-send-letter): Ditto.

doc/emacs/mule.texi
etc/NEWS
lisp/international/mule-cmds.el
lisp/mail/sendmail.el
lisp/mh-e/mh-comp.el

index 6eff0ca0d22c148f38c669a564e941391defaf23..b78019020a62f2cddc5dcec211ae7ed0c77dbb1e 100644 (file)
@@ -1215,11 +1215,8 @@ system can encode.
 
   If @code{file-name-coding-system} is @code{nil}, Emacs uses a
 default coding system determined by the selected language environment,
-and stored in the @code{default-file-name-coding-system} variable.
-@c FIXME?  Is this correct?  What is the "default language environment"?
-In the default language environment, non-@acronym{ASCII} characters in
-file names are not encoded specially; they appear in the file system
-using the internal Emacs representation.
+and stored in the @code{default-file-name-coding-system} variable
+(normally UTF-8).
 
 @cindex file-name encoding, MS-Windows
 @vindex w32-unicode-filenames
index 50ba39cb44faf1c3389ddc0ea9052e612990413b..8ff62b6dc05193270fe55f057ea43d2f8f426188 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -85,6 +85,12 @@ useful on systems such as FreeBSD which ships only with "etc/termcap".
 \f
 * Changes in Emacs 28.1
 
++++
+*** Emacs now defaults to UTF-8 instead of ISO-8859-1.
+This is only for the default, where the user has set no LANG (or
+similar) variable or environment.  This change should lead to no
+user-visible changes for normal usage.
+
 +++
 ** New variables that hold default buffer names for shell output.
 The new constants 'shell-command-buffer-name' and
index ccc8ac9f9e64d36aed4d84a35d37c3f2de9c7d14..e3155dfc52c476b764e5d03a8b650e01a4013c68 100644 (file)
@@ -1799,13 +1799,11 @@ The default status is as follows:
    'raw-text)
 
   (set-default-coding-systems nil)
-  (setq default-sendmail-coding-system 'iso-latin-1)
-  ;; On Darwin systems, this should be utf-8-unix, but when this file is loaded
-  ;; that is not yet defined, so we set it in set-locale-environment instead.
-  ;; [Actually, it seems to work fine to use utf-8-unix here, and not just
-  ;; on Darwin.  The previous comment seems to be outdated?
-  ;; See patch at https://debbugs.gnu.org/15803 ]
-  (setq default-file-name-coding-system 'iso-latin-1-unix)
+  (setq default-sendmail-coding-system 'utf-8)
+  (setq default-file-name-coding-system (if (memq system-type
+                                                  '(window-nt ms-dos))
+                                            'iso-latin-1-unix
+                                          'utf-8-unix))
   ;; Preserve eol-type from existing default-process-coding-systems.
   ;; On non-unix-like systems in particular, these may have been set
   ;; carefully by the user, or by the startup code, to deal with the
@@ -1821,8 +1819,10 @@ The default status is as follows:
        (input-coding
         (condition-case nil
             (coding-system-change-text-conversion
-             (cdr default-process-coding-system) 'iso-latin-1)
-          (coding-system-error 'iso-latin-1))))
+             (cdr default-process-coding-system)
+             (if (memq system-type '(window-nt ms-dos)) 'iso-latin-1 'utf-8))
+          (coding-system-error
+           (if (memq system-type '(window-nt ms-dos)) 'iso-latin-1 'utf-8)))))
     (setq default-process-coding-system
          (cons output-coding input-coding)))
 
index dd6eecbfd093496c772ec21cbcdd9fec435b18fc..7610939e575a960c735486264e3204ab460fe708 100644 (file)
@@ -975,7 +975,7 @@ but lower priority than the local value of `buffer-file-coding-system'.
 See also the function `select-message-coding-system'.")
 
 ;;;###autoload
-(defvar default-sendmail-coding-system 'iso-latin-1
+(defvar default-sendmail-coding-system 'utf-8
   "Default coding system for encoding the outgoing mail.
 This variable is used only when `sendmail-coding-system' is nil.
 
index f7e30bfbb3d5cbc70058a7e67fbe85118a9073d9..8a69adbb756a6ffe0ac5dddd4dfbf4ec4ebea907 100644 (file)
@@ -305,6 +305,7 @@ message and scan line."
   (let ((draft-buffer (current-buffer))
         (file-name buffer-file-name)
         (config mh-previous-window-config)
+        ;; FIXME this is subtly different to select-message-coding-system.
         (coding-system-for-write
          (if (fboundp 'select-message-coding-system)
              (select-message-coding-system) ; Emacs has this since at least 21.1
@@ -318,7 +319,7 @@ message and scan line."
              (or (and (boundp 'sendmail-coding-system) sendmail-coding-system)
                  (and (default-boundp 'buffer-file-coding-system)
                       (default-value 'buffer-file-coding-system))
-                 'iso-latin-1)))))
+                 'utf-8)))))
     ;; Older versions of spost do not support -msgid and -mime.
     (unless mh-send-uses-spost-flag
       ;; Adding a Message-ID field looks good, makes it easier to search for