[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/international/mule-cmds.el [emacs-un
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/international/mule-cmds.el [emacs-unicode-2] |
Date: |
Mon, 06 Dec 2004 07:44:09 -0500 |
Index: emacs/lisp/international/mule-cmds.el
diff -c emacs/lisp/international/mule-cmds.el:1.242.2.8
emacs/lisp/international/mule-cmds.el:1.242.2.9
*** emacs/lisp/international/mule-cmds.el:1.242.2.8 Fri Nov 12 02:52:54 2004
--- emacs/lisp/international/mule-cmds.el Mon Dec 6 12:37:22 2004
***************
*** 649,656 ****
(let ((l codings)
mime-charset)
(while l
! (setq mime-charset (coding-system-get (car l) 'mime-charset))
! (if (and mime-charset (coding-system-p mime-charset))
(setcar l mime-charset))
(setq l (cdr l))))
--- 649,657 ----
(let ((l codings)
mime-charset)
(while l
! (setq mime-charset (coding-system-get (car l) :mime-charset))
! (if (and mime-charset (coding-system-p mime-charset)
! (coding-system-equal (car l) mime-charset))
(setcar l mime-charset))
(setq l (cdr l))))
***************
*** 890,1062 ****
;; If all the defaults failed, ask a user.
(unless coding-system
! ;; At first, if some defaults are unsafe, record at most 11
! ;; problematic characters and their positions for them by turning
! ;; (CODING ...)
! ;; into
! ;; ((CODING (POS . CHAR) (POS . CHAR) ...) ...)
! (if unsafe
! (if (stringp from)
! (setq unsafe
! (mapcar #'(lambda (coding)
! (cons coding
! (mapcar #'(lambda (pos)
! (cons pos (aref from pos)))
! (unencodable-char-position
! 0 (length from) coding
! 11 from))))
! unsafe))
! (setq unsafe
! (mapcar #'(lambda (coding)
! (cons coding
! (mapcar #'(lambda (pos)
! (cons pos (char-after pos)))
! (unencodable-char-position
! from to coding 11))))
! unsafe))))
!
! ;; Change each safe coding system to the corresponding
! ;; mime-charset name if it is also a coding system. Such a name
! ;; is more friendly to users.
! (let ((l codings)
! mime-charset)
! (while l
! (setq mime-charset (coding-system-get (car l) :mime-charset))
! (if (and mime-charset (coding-system-p mime-charset)
! (coding-system-equal (car l) mime-charset))
! (setcar l mime-charset))
! (setq l (cdr l))))
!
! ;; Don't offer variations with locking shift, which you
! ;; basically never want.
! (let (l)
! (dolist (elt codings (setq codings (nreverse l)))
! (unless (or (eq 'coding-category-iso-7-else
! (coding-system-category elt))
! (eq 'coding-category-iso-8-else
! (coding-system-category elt)))
! (push elt l))))
!
! ;; Remove raw-text, emacs-mule and no-conversion unless nothing
! ;; else is available.
! (setq codings
! (or (delq 'raw-text
! (delq 'emacs-mule
! (delq 'no-conversion codings)))
! '(raw-text emacs-mule no-conversion)))
!
! (let ((window-configuration (current-window-configuration)))
! (save-excursion
! ;; If some defaults are unsafe, make sure the offending
! ;; buffer is displayed.
! (when (and unsafe (not (stringp from)))
! (pop-to-buffer bufname)
! (goto-char (apply 'min (mapcar #'(lambda (x) (car (cadr x)))
! unsafe))))
! ;; Then ask users to select one from CODINGS while showing
! ;; the reason why none of the defaults are not used.
! (with-output-to-temp-buffer "*Warning*"
! (save-excursion
! (set-buffer standard-output)
! (if (not default-coding-system)
! (insert "No default coding systems to try for "
! (if (stringp from)
! (format "string \"%s\"." from)
! (format "buffer `%s'." bufname)))
! (insert
! "These default coding systems were tried to encode"
! (if (stringp from)
! (concat " \"" (if (> (length from) 10)
! (concat (substring from 0 10) "...\"")
! (concat from "\"")))
! (format " text\nin the buffer `%s'" bufname))
! ":\n")
! (let ((pos (point))
! (fill-prefix " "))
! (mapc #'(lambda (x) (princ " ") (princ (car x)))
! default-coding-system)
! (insert "\n")
! (fill-region-as-paragraph pos (point)))
! (when rejected
! (insert "These safely encodes the target text,
! but it is not recommended for encoding text in this context,
! e.g., for sending an email message.\n ")
! (mapc #'(lambda (x) (princ " ") (princ x)) rejected)
! (insert "\n"))
! (when unsafe
! (insert (if rejected "And the others"
! "However, each of them")
! " encountered these problematic characters:\n")
! (mapc
! #'(lambda (coding)
! (insert (format " %s:" (car coding)))
! (let ((i 0)
! (func1
! #'(lambda (bufname pos)
! (when (buffer-live-p (get-buffer bufname))
! (pop-to-buffer bufname)
! (goto-char pos))))
! (func2
! #'(lambda (bufname pos coding)
! (when (buffer-live-p (get-buffer bufname))
! (pop-to-buffer bufname)
! (if (< (point) pos)
! (goto-char pos)
! (forward-char 1)
! (search-unencodable-char coding)
! (forward-char -1))))))
! (dolist (elt (cdr coding))
! (insert " ")
! (if (stringp from)
! (insert (if (< i 10) (cdr elt) "..."))
! (if (< i 10)
! (insert-text-button
! (cdr elt)
! :type 'help-xref
! 'help-echo
! "mouse-2, RET: jump to this character"
! 'help-function func1
! 'help-args (list bufname (car elt)))
! (insert-text-button
! "..."
! :type 'help-xref
! 'help-echo
! "mouse-2, RET: next unencodable character"
! 'help-function func2
! 'help-args (list bufname (car elt)
! (car coding)))))
! (setq i (1+ i))))
! (insert "\n"))
! unsafe)
! (insert "\
! The first problematic character is at point in the displayed buffer,\n"
! (substitute-command-keys "\
! and \\[universal-argument] \\[what-cursor-position] will give information
about it.\n"))))
! (insert (if rejected
! "\nSelect the above, or "
! "\nSelect ")
! "\
! one of the following safe coding systems, or edit the buffer:\n")
! (let ((pos (point))
! (fill-prefix " "))
! (mapcar (function (lambda (x) (princ " ") (princ x)))
! codings)
! (insert "\n")
! (fill-region-as-paragraph pos (point)))
! (insert "Or specify any other coding system
! at the risk of losing the problematic characters.\n")))
!
! ;; Read a coding system.
! (setq default-coding-system (or (car safe) (car codings)))
! (setq coding-system
! (read-coding-system
! (format "Select coding system (default %s): "
! default-coding-system)
! default-coding-system))
! (setq last-coding-system-specified coding-system))
!
! (kill-buffer "*Warning*")
! (set-window-configuration window-configuration)))
(if (and coding-system (vectorp (coding-system-eol-type coding-system)))
(let ((eol (coding-system-eol-type buffer-file-coding-system)))
--- 891,898 ----
;; If all the defaults failed, ask a user.
(unless coding-system
! (setq coding-system (select-safe-coding-system-interactively
! from to codings unsafe rejected (car codings))))
(if (and coding-system (vectorp (coding-system-eol-type coding-system)))
(let ((eol (coding-system-eol-type buffer-file-coding-system)))
***************
*** 1927,1940 ****
(require (car required-features))
(setq required-features (cdr required-features))))
- ;; Don't invoke fontset-related functions if fontsets aren't
- ;; supported in this build of Emacs.
- (when (fboundp 'fontset-list)
- (let ((overriding-fontspec (get-language-info language-name
- 'overriding-fontspec)))
- (if overriding-fontspec
- (set-overriding-fontspec-internal overriding-fontspec))))
-
(let ((func (get-language-info language-name 'setup-function)))
(if (functionp func)
(funcall func)))
--- 1763,1768 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/international/mule-cmds.el [emacs-unicode-2],
Kenichi Handa <=