bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#14755: Trunk bootstrap failure


From: Ari Roponen
Subject: bug#14755: Trunk bootstrap failure
Date: Sun, 30 Jun 2013 15:48:25 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Angelo Graziosi <angelo.graziosi@alice.it> writes:

> As suspected (see this thread:
> http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg01328.html)
> the bootstrap failure of trunk r.113227 probably isn't platform
> dependent. Not only it fails on Cygwin but also on Kubuntu. You need
> only to bootstrap on a *clean clean* tree.
>
>   Angelo
>

I got the same failure, too. This commit seems to cause it:

  revno: 113220 [merge]
  committer: K. Handa <handa@gnu.org>
  branch nick: trunk
  timestamp: Sat 2013-06-29 12:46:39 +0900
  message:
    Add the coding system prefer-utf-8.
  
The above commit added this to `select-safe-coding-system':

  @@ -1029,6 +1029,11 @@
              (error "Save aborted"))))
         (when (and tick (/= tick (buffer-chars-modified-tick)))
        (error "Canceled because the buffer was modified"))
  +      (if (and (eq (coding-system-type coding-system) 'undecided)
  +            (coding-system-get coding-system :prefer-utf-8)
  +            (< (- to from) (- (position-bytes to) (position-bytes from))))
  +       (setq coding-system
  +             (coding-system-change-text-conversion coding-system 'utf-8)))
         coding-system)))

This code fails when the "Kludgy feature" mentioned in the docstring is
used: if FROM is a string, the string is the target text, and TO is
ignored.

The following patch seems to fix the problem. Remember to delete
src/bootstrap-emacs, so that the patched version is used.

=== modified file 'lisp/international/mule-cmds.el'
--- lisp/international/mule-cmds.el     2013-06-28 14:42:55 +0000
+++ lisp/international/mule-cmds.el     2013-06-30 06:07:06 +0000
@@ -1031,7 +1031,9 @@
        (error "Canceled because the buffer was modified"))
       (if (and (eq (coding-system-type coding-system) 'undecided)
               (coding-system-get coding-system :prefer-utf-8)
-              (< (- to from) (- (position-bytes to) (position-bytes from))))
+              (if (stringp from)
+                  (multibyte-string-p from)
+                (< (- to from) (- (position-bytes to) (position-bytes from)))))
          (setq coding-system
                (coding-system-change-text-conversion coding-system 'utf-8)))
       coding-system)))

-- 
Ari Roponen





reply via email to

[Prev in Thread] Current Thread [Next in Thread]