GNU bug report logs - #9458
24.0.50; Searching in binary buffers

Previous Next

Package: emacs;

Reported by: Helmut Eller <eller.helmut <at> gmail.com>

Date: Wed, 7 Sep 2011 12:55:02 UTC

Severity: normal

Found in version 24.0.50

Done: Andreas Schwab <schwab <at> linux-m68k.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Helmut Eller <eller.helmut <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.0.50; Searching in binary buffers
Date: Wed, 07 Sep 2011 14:50:29 +0200
search-forward seems to work strangely in binary/unibyte buffers.
Create a file test.el containing this code:

(defvar test-string (unibyte-string #xce))

(with-temp-file "test.txt"
  (set-buffer-multibyte nil)
  (setq buffer-file-coding-system 'binary)
  (insert test-string))

(with-current-buffer (get-buffer-create "test.txt")
  (set-buffer-multibyte nil)
  (setq buffer-file-coding-system 'binary)
  (erase-buffer)
  (insert-file-contents "test.txt")
  (search-forward test-string))

Executing this with: emacs -Q -batch -l test.el
prints: 
Search failed: "Î"
[Exit 255]


The Lisp code creates a file test.txt for a single character ?\xce.  As
expected, hexdump -C test.txt prints: 
00000000  ce                                                |Î|
00000001


Opening and searching that character with Emacs fails.  That's
definitely not what I was expecting.  What's the proper way to search
those characters?






In GNU Emacs 24.0.50.4 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2011-09-05 on ix
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
configured using `configure  '--enable-asserts' '--enable-checking' '--with-gif=no' '--with-gnutls=no' 'CFLAGS=-g3 -O0''





This bug report was last modified 13 years and 321 days ago.

Previous Next


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