comparison lisp/unicode.el @ 4551:6812571bfcb9

Fix some bugs.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 13 Mar 2008 10:21:01 +0100
parents 68d1ca56cffa
children 017044266245
comparison
equal deleted inserted replaced
4550:1217f19ce196 4551:6812571bfcb9
622 (check-argument-type #'integer-or-marker-p begin) 622 (check-argument-type #'integer-or-marker-p begin)
623 (check-argument-type #'integer-or-marker-p end) 623 (check-argument-type #'integer-or-marker-p end)
624 (let* ((skip-chars-arg unicode-query-coding-skip-chars-arg) 624 (let* ((skip-chars-arg unicode-query-coding-skip-chars-arg)
625 (ranges (make-range-table)) 625 (ranges (make-range-table))
626 (looking-at-arg (concat "[" skip-chars-arg "]")) 626 (looking-at-arg (concat "[" skip-chars-arg "]"))
627 fail-range-start fail-range-end previous-fail char-after 627 fail-range-start fail-range-end previous-fail char-after failed
628 failed extent) 628 extent)
629 (save-excursion 629 (save-excursion
630 (when highlightp
631 (map-extents #'(lambda (extent ignored-arg)
632 (when (eq 'query-coding-warning-face
633 (extent-face extent))
634 (delete-extent extent))) buffer begin end))
630 (goto-char begin buffer) 635 (goto-char begin buffer)
631 (skip-chars-forward skip-chars-arg end buffer) 636 (skip-chars-forward skip-chars-arg end buffer)
632 (while (< (point buffer) end) 637 (while (< (point buffer) end)
633 (message 638 ; (message
634 "fail-range-start is %S, previous-fail %S, point is %S, end is %S" 639 ; "fail-range-start is %S, previous-fail %S, point is %S, end is %S"
635 fail-range-start previous-fail (point buffer) end) 640 ; fail-range-start previous-fail (point buffer) end)
636 (setq char-after (char-after (point buffer) buffer) 641 (setq char-after (char-after (point buffer) buffer)
637 fail-range-start (point buffer)) 642 fail-range-start (point buffer))
638 (while (and 643 (while (and
639 (< (point buffer) end) 644 (< (point buffer) end)
640 (not (looking-at looking-at-arg)) 645 (not (looking-at looking-at-arg))
644 (setq char-after (char-after (point buffer) buffer) 649 (setq char-after (char-after (point buffer) buffer)
645 failed t)) 650 failed t))
646 (if (= fail-range-start (point buffer)) 651 (if (= fail-range-start (point buffer))
647 ;; The character can actually be encoded by the coding 652 ;; The character can actually be encoded by the coding
648 ;; system; check the characters past it. 653 ;; system; check the characters past it.
649 (forward-char 1 buffer) 654 (forward-char 1 buffer)
650 ;; Can't be encoded; note this. 655 ;; Can't be encoded; note this.
651 (when errorp 656 (when errorp
652 (error 'text-conversion-error 657 (error 'text-conversion-error
653 (format "Cannot encode %s using coding system" 658 (format "Cannot encode %s using coding system"
654 (buffer-substring fail-range-start (point buffer) 659 (buffer-substring fail-range-start (point buffer)