Package: emacs;
Reported by: Sebastien Vauban <sva-news <at> mygooglest.com>
Date: Sun, 11 May 2014 07:21:01 UTC
Severity: normal
Tags: notabug
Found in version 24.3.50
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Message #11 received at 17462 <at> debbugs.gnu.org (full text, mbox):
From: Sebastien Vauban <sva-news <at> mygooglest.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 17462 <at> debbugs.gnu.org Subject: Re: bug#17462: 24.3.50; bbdb-split: Invalid regexp: "Unmatched [ or [^" Date: Mon, 12 May 2014 10:07:15 +0200
Eli Zaretskii wrote: >> From: Sebastien Vauban <sva-news <at> mygooglest.com> >> Date: Sun, 11 May 2014 09:18:00 +0200 >> >> Reading emails within Gnus works for years too, though today I have >> apparently received an email that blocks the access to my "family-new" >> folder. >> >> See http://screencast.com/t/0xCWvhVjj. >> >> The net impact is that I can't open that "family-new" folder anymore... >> [...] >> Recent messages: >> Generating summary... >> bbdb-split: Invalid regexp: "Unmatched [ or [^" > ^^^^^^^^^^ > bbdb-split is not part of Emacs, so why do you think this is an Emacs > problem? I oversaw the fact BBDB wasn't in Emacs, sorry. > In any case, a Lisp backtrace would be nice. --8<---------------cut here---------------start------------->8--- Debugger entered--Lisp error: (invalid-regexp "Unmatched [ or [^") string-match("Name of sender <hidden <at> hotmail.com>, \"Name of receiver [\" <hidden <at> me.com>" " \n") bbdb-split("Name of sender <hidden <at> hotmail.com>, \"Name of receiver [\" <hidden <at> me.com>" ",") (length (bbdb-split to ",")) (let ((len (length (bbdb-split to ",")))) (cond ((= len 1) "»") (t "T"))) (cond ((and (string-match gnus-ignored-from-addresses to) (fboundp (quote bbdb-split))) (let ((len (length (bbdb-split to ",")))) (cond ((= len 1) "»") (t "T")))) ((and (string-match gnus-ignored-from-addresses (concat to ", " cc)) (fboundp (quote bbdb-split))) (if (< (length (bbdb-split (concat to ", " cc) ",")) 5) "C" "*")) (t " ")) (let* ((to (or (cdr (assoc (quote To) (aref header 9))) "")) (cc (or (cdr (assoc (quote Cc) (aref header 9))) ""))) (cond ((and (string-match gnus-ignored-from-addresses to) (fboundp (quote bbdb-split))) (let ((len (length (bbdb-split to ",")))) (cond ((= len 1) "»") (t "T")))) ((and (string-match gnus-ignored-from-addresses (concat to ", " cc)) (fboundp (quote bbdb-split))) (if (< (length (bbdb-split (concat to ", " cc) ",")) 5) "C" "*")) (t " "))) gnus-user-format-function-r(...) (format "%-15s %s " (let* ((val (eval (let ((val ...)) (if (> ... 15) (if ... ... ...) val)))) (need (- 15 (string-width val)))) (if (> need 0) (concat nil val (make-string need 32)) val)) (gnus-user-format-function-r gnus-tmp-header)) (insert (format "%-15s %s " (let* ((val (eval (let (...) (if ... ... val)))) (need (- 15 (string-width val)))) (if (> need 0) (concat nil val (make-string need 32)) val)) (gnus-user-format-function-r gnus-tmp-header))) (let (gnus-position) (gnus-add-text-properties (point) (progn (insert gnus-tmp-unread) (point)) (cons (quote face) (cons (list (quote leuven-gnus-linum) (quote default)) (quote (gnus-face t))))) (gnus-add-text-properties (point) (progn (insert gnus-tmp-replied) (point)) (cons (quote face) (cons (list (quote leuven-gnus-org-date) (quote default)) (quote (gnus-face t))))) (gnus-add-text-properties (point) (progn (insert gnus-tmp-score-char) (point)) (cons (quote face) (cons (list (quote leuven-gnus-score) (quote default)) (quote (gnus-face t))))) (insert " ") (gnus-add-text-properties (point) (progn (insert (format "%20s " (gnus-user-date (aref gnus-tmp-header 3)))) (point)) (cons (quote face) (cons (list (quote leuven-gnus-org-date) (quote default)) (quote (gnus-face t))))) (insert " ") (gnus-add-text-properties (point) (progn (insert (format " %4s " (gnus-summary-line-message-size gnus-tmp-header))) (point)) (cons (quote face) (cons (list (quote leuven-gnus-diredp-file-suffix) (quote default)) (quote (gnus-face t))))) (setq gnus-position (point)) (insert (format "%-15s %s " (let* ((val (eval (let ... ...))) (need (- 15 (string-width val)))) (if (> need 0) (concat nil val (make-string need 32)) val)) (gnus-user-format-function-r gnus-tmp-header))) (gnus-add-text-properties (point) (progn (insert " ") (point)) (cons (quote face) (cons (list (quote leuven-gnus-linum) (quote default)) (quote (gnus-face t))))) (insert (format "%s%s%s\n" gnus-tmp-thread-tree-header-string gnus-tmp-indentation gnus-tmp-subject-or-nil)) (if gnus-position (gnus-put-text-property gnus-position (1+ gnus-position) (quote gnus-position) t))) eval((let (gnus-position) (gnus-add-text-properties (point) (progn (insert gnus-tmp-unread) (point)) (cons (quote face) (cons (list (quote leuven-gnus-linum) (quote default)) (quote (gnus-face t))))) (gnus-add-text-properties (point) (progn (insert gnus-tmp-replied) (point)) (cons (quote face) (cons (list (quote leuven-gnus-org-date) (quote default)) (quote (gnus-face t))))) (gnus-add-text-properties (point) (progn (insert gnus-tmp-score-char) (point)) (cons (quote face) (cons (list (quote leuven-gnus-score) (quote default)) (quote (gnus-face t))))) (insert " ") (gnus-add-text-properties (point) (progn (insert (format "%20s " (gnus-user-date (aref gnus-tmp-header 3)))) (point)) (cons (quote face) (cons (list (quote leuven-gnus-org-date) (quote default)) (quote (gnus-face t))))) (insert " ") (gnus-add-text-properties (point) (progn (insert (format " %4s " (gnus-summary-line-message-size gnus-tmp-header))) (point)) (cons (quote face) (cons (list (quote leuven-gnus-diredp-file-suffix) (quote default)) (quote (gnus-face t))))) (setq gnus-position (point)) (insert (format "%-15s %s " (let* ((val (eval (let ... ...))) (need (- 15 (string-width val)))) (if (> need 0) (concat nil val (make-string need 32)) val)) (gnus-user-format-function-r gnus-tmp-header))) (gnus-add-text-properties (point) (progn (insert " ") (point)) (cons (quote face) (cons (list (quote leuven-gnus-linum) (quote default)) (quote (gnus-face t))))) (insert (format "%s%s%s\n" gnus-tmp-thread-tree-header-string gnus-tmp-indentation gnus-tmp-subject-or-nil)) (if gnus-position (gnus-put-text-property gnus-position (1+ gnus-position) (quote gnus-position) t)))) gnus-summary-prepare-threads(...) gnus-summary-prepare() gnus-summary-read-group-1("nnimap+mc:INBOX.family-new" nil t nil nil nil) gnus-summary-read-group("nnimap+mc:INBOX.family-new" nil t nil nil nil nil) gnus-group-read-group(nil t) gnus-group-select-group(nil) gnus-topic-select-group(nil) call-interactively(gnus-topic-select-group nil nil) command-execute(gnus-topic-select-group) --8<---------------cut here---------------end--------------->8--- IIUC, the sender has put a [ in my display name, and there is no protection against such when matching regexps. Best regards, Seb -- Sebastien Vauban
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.