emacs-devel
[Top][All Lists]
Advanced

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

Re: 23.0.60; Segmentation fault loading auto-lang.el


From: Kenichi Handa
Subject: Re: 23.0.60; Segmentation fault loading auto-lang.el
Date: Wed, 09 Apr 2008 11:19:43 +0900
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/23.0.60 (i686-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

In article <address@hidden>, Chong Yidong <address@hidden> writes:

> > Any Lisp program that depends on the result of
> > string-as-unibyte (thus Emacs' internal character
> > representation) won't work in Emacs 23.

> I see.  However, maybe the following change to regexp-opt-group in
> regexp-opt.el would make things a little more predictable.  What do you
> think?

I agree because that change will avoid a unibyte string
being changed to multibyte by accident.

But, I've just downloaded auto-lang.el and found that it
has codes something like this:

(string-as-multibyte
 (regexp-opt
  (mapcar 'string-as-unibyte
          (append
           al-german-common-words
           al-german-8bit-words
           nil))))

All of them should be changed to this simple form:
  (regexp-opt (append al-german-common-words al-german-8bit-words))

The above german case works just by chance, but
al-danish-common-words doesn't.  You'll see peculiar 8-bit
codes in it.

And, the file should have a coding tag.

---
Kenichi Handa
address@hidden

> *** trunk/lisp/emacs-lisp/regexp-opt.el.~1.37.~       2008-03-14 
> 17:17:34.000000000 -0400
> --- trunk/lisp/emacs-lisp/regexp-opt.el       2008-04-08 12:46:49.000000000 
> -0400
> ***************
> *** 226,232 ****
  
>             ;; Otherwise, divide the list into those that start with a
>             ;; particular letter and those that do not, and recurse on them.
> !           (let* ((char (char-to-string (string-to-char (car strings))))
>                    (half1 (all-completions char strings))
>                    (half2 (nthcdr (length half1) strings)))
>               (concat open-group
> --- 226,232 ----
  
>             ;; Otherwise, divide the list into those that start with a
>             ;; particular letter and those that do not, and recurse on them.
> !           (let* ((char (substring (car strings) 0 1))
>                    (half1 (all-completions char strings))
>                    (half2 (nthcdr (length half1) strings)))
>               (concat open-group







reply via email to

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