[Top][All Lists]
[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