"\\(charset\\)"
"\\)\\s-+\\)?"
;; Note starting with word-syntax character:
- "`\\(\\sw\\(\\sw\\|\\s_\\)+\\)'")))
+ "['`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]")))
(defun coding-system-change-eol-conversion (coding-system eol-type)
"Return a coding system which differs from CODING-SYSTEM in EOL conversion.
(with-output-to-temp-buffer (help-buffer)
(let ((elt (assoc input-method input-method-alist)))
(princ (format
- "Input method: %s (`%s' in mode line) for %s\n %s\n"
+ "Input method: %s (‘%s’ in mode line) for %s\n %s\n"
input-method (nth 3 elt) (nth 1 elt) (nth 4 elt))))))))))
(defun describe-current-input-method ()
or candidate translations corresponding to the sequence,
at point in the current buffer.
But, if this flag is non-nil, it displays them in echo area instead."
- :type 'hook
+ :type 'boolean
:group 'mule)
(defvar input-method-exit-on-invalid-key nil
(search-backward (symbol-name (car l)))
(help-xref-button 0 'help-coding-system (car l))
(goto-char (point-max))
- (insert " (`"
+ (insert " (‘"
(coding-system-mnemonic (car l))
- "' in mode line):\n\t"
- (coding-system-doc-string (car l))
+ "’ in mode line):\n\t"
+ (substitute-command-keys
+ (coding-system-doc-string (car l)))
"\n")
(let ((aliases (coding-system-aliases (car l))))
(when aliases
;; too, for setting things such as calendar holidays, ps-print paper
;; size, spelling dictionary.
+(declare-function w32-get-console-codepage "w32proc.c" ())
+(declare-function w32-get-console-output-codepage "w32proc.c" ())
+
(defun locale-translate (locale)
"Expand LOCALE according to `locale-translation-file-name', if possible.
For example, translate \"swedish\" into \"sv_SE.ISO8859-1\"."
(setq system-time-locale locale))
(if (string-match "^[a-z][a-z]" locale)
- (setq current-iso639-language (intern (match-string 0 locale)))))
+ ;; The value of 'current-iso639-language' is matched against
+ ;; the ':lang' property of font-spec objects when selecting
+ ;; and prioritizing available fonts for displaying
+ ;; characters; see fontset.c.
+ (setq current-iso639-language
+ ;; The call to 'downcase' is for w32, where the
+ ;; MS-Windows locale names are in caps, as in "ENU",
+ ;; the equivalent of the Posix "en_US". Since the
+ ;; match mentioned above uses memq, and ':lang'
+ ;; properties have lower-case values, the letter-case
+ ;; must match exactly.
+ (intern (downcase (match-string 0 locale))))))
(setq woman-locale
(or system-messages-locale
;; On Windows, override locale-coding-system,
;; default-file-name-coding-system, keyboard-coding-system,
- ;; terminal-coding-system with system codepage.
+ ;; terminal-coding-system with the ANSI or console codepage.
(when (and (eq system-type 'windows-nt)
(boundp 'w32-ansi-code-page))
- (let ((code-page-coding (intern (format "cp%d" w32-ansi-code-page))))
+ (let* ((code-page-coding
+ (intern (format "cp%d" (if noninteractive
+ (w32-get-console-codepage)
+ w32-ansi-code-page))))
+ (output-coding
+ (if noninteractive
+ (intern (format "cp%d" (w32-get-console-output-codepage)))
+ code-page-coding)))
(when (coding-system-p code-page-coding)
+ (or output-coding (setq output-coding code-page-coding))
(unless frame (setq locale-coding-system code-page-coding))
(set-keyboard-coding-system code-page-coding frame)
- (set-terminal-coding-system code-page-coding frame)
+ (set-terminal-coding-system output-coding frame)
(setq default-file-name-coding-system code-page-coding))))
(when (eq system-type 'darwin)