diff lisp/coding.el @ 4551:6812571bfcb9

Fix some bugs.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 13 Mar 2008 10:21:01 +0100
parents 68d1ca56cffa
children 75654496fa0e
line wrap: on
line diff
--- a/lisp/coding.el	Mon Jan 21 22:54:43 2008 +0100
+++ b/lisp/coding.el	Thu Mar 13 10:21:01 2008 +0100
@@ -299,8 +299,13 @@
   (check-argument-type #'integer-or-marker-p begin)
   (check-argument-type #'integer-or-marker-p end)
   (let* ((safe-charsets
-          (coding-system-get coding-system 'safe-charsets))
-         (safe-chars (coding-system-get coding-system 'safe-chars))
+          (or (coding-system-get coding-system 'safe-charsets)
+	      (coding-system-get (coding-system-base coding-system)
+				 'safe-charsets)))
+         (safe-chars
+	  (or (coding-system-get coding-system 'safe-chars)
+	      (coding-system-get (coding-system-base coding-system)
+				 'safe-chars)))
          (skip-chars-arg
           (gethash safe-charsets
                    default-query-coding-region-safe-charset-skip-chars-map))
@@ -313,6 +318,11 @@
 		     (mapconcat #'charset-skip-chars-string
 				safe-charsets "")
 		     default-query-coding-region-safe-charset-skip-chars-map)))
+    (when highlightp
+      (map-extents #'(lambda (extent ignored-arg)
+		       (when (eq 'query-coding-warning-face
+				 (extent-face extent))
+			 (delete-extent extent))) buffer begin end))
     (if (and (zerop (length skip-chars-arg)) (null safe-chars))
 	(progn
 	    ;; Uh-oh, nothing known about this coding system. Fail.