GNU bug report logs - #13084
boyer_moore crashes with certain characters in the case table

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> jurta.org>

Date: Wed, 5 Dec 2012 00:37:02 UTC

Severity: normal

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Juri Linkov <juri <at> jurta.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#13084: closed (boyer_moore crashes with certain characters in
 the case table)
Date: Wed, 12 Dec 2012 23:11:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 13 Dec 2012 01:05:09 +0200
with message-id <876246swgq.fsf <at> mail.jurta.org>
and subject line Re: bug#13084: boyer_moore crashes with certain characters in the case	table
has caused the debbugs.gnu.org bug report #13084,
regarding boyer_moore crashes with certain characters in the case table
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
13084: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13084
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Juri Linkov <juri <at> jurta.org>
To: bug-gnu-emacs <at> gnu.org
Subject: boyer_moore crashes with certain characters in the case table
Date: Wed, 05 Dec 2012 02:34:39 +0200
The minimal reproducible recipe for crashes in boyer_moore noticed in bug#13041:

1. emacs -Q

2. Eval in *scratch*:

(let ((table (standard-case-table)) canon)
  (setq canon (copy-sequence table))
  (aset canon #xff59 ?y)
  (set-char-table-extra-slot table 1 canon)
  (set-char-table-extra-slot table 2 nil)
  (set-standard-case-table table))

3. Start an activity that includes a search, e.g. `C-x 8 RET TAB'

The crash in boyer_moore is caused by fullwidth characters like #xff59
whose Unicode properties are:

  name: FULLWIDTH LATIN SMALL LETTER Y
  decomposition: (wide 121) (wide 'y')

However, the crash doesn't occur when the same fullwidth characters are
set to their downcase counterparts in lisp/international/characters.el:

  ;; Fullwidth Latin
  (setq c #xff21)
  (while (<= c #xff3a)
    (set-case-syntax-pair c (+ c #x20) tbl)
    (modify-category-entry c ?l)
    (modify-category-entry (+ c #x20) ?l)
    (setq c (1+ c)))


[Message part 3 (message/rfc822, inline)]
From: Juri Linkov <juri <at> jurta.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: handa <at> gnu.org, 13084-done <at> debbugs.gnu.org
Subject: Re: bug#13084: boyer_moore crashes with certain characters in the
	case	table
Date: Thu, 13 Dec 2012 01:05:09 +0200
> So what did you mean by "no more obstacles" above?

By obstacles I meant crashes that you fixed.
Thanks for that.  I'm closing this bug.


This bug report was last modified 12 years and 164 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.