X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fietf-drums.el;h=4d99cea760840c3bfc974daf8c1ee7e8b0a280e1;hb=d7925de009d5e3047e07e52657d7312d9f97979c;hp=2aef1dda28f49b2895d8c359b78bc86128a5ee58;hpb=b4c8b9c2f02b306ce8e717de299878ef445c50aa;p=gnus diff --git a/lisp/ietf-drums.el b/lisp/ietf-drums.el index 2aef1dda2..4d99cea76 100644 --- a/lisp/ietf-drums.el +++ b/lisp/ietf-drums.el @@ -1,25 +1,22 @@ ;;; ietf-drums.el --- Functions for parsing RFC822bis headers -;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006 Free Software Foundation, Inc. +;; Copyright (C) 1998-2011 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -41,7 +38,6 @@ ;;; Code: (eval-when-compile (require 'cl)) -(require 'time-date) (require 'mm-util) (defvar ietf-drums-no-ws-ctl-token "\001-\010\013\014\016-\037\177" @@ -125,9 +121,18 @@ backslash and doublequote.") (setq c (char-after)) (cond ((eq c ?\") - (forward-sexp 1)) + (condition-case err + (forward-sexp 1) + (error (goto-char (point-max))))) ((eq c ?\() - (delete-region (point) (progn (forward-sexp 1) (point)))) + (delete-region + (point) + (condition-case nil + (with-syntax-table (copy-syntax-table ietf-drums-syntax-table) + (modify-syntax-entry ?\" "w") + (forward-sexp 1) + (point)) + (error (point-max))))) (t (forward-char 1)))) (buffer-string)))) @@ -200,7 +205,9 @@ backslash and doublequote.") (buffer-substring (1+ (point)) (progn (forward-sexp 1) (1- (point)))))))) - (t (error "Unknown symbol: %c" c)))) + (t + (message "Unknown symbol: %c" c) + (forward-char 1)))) ;; If we found no display-name, then we look for comments. (if display-name (setq display-string @@ -287,5 +294,4 @@ a list of address strings." (provide 'ietf-drums) -;;; arch-tag: 379a0191-dbae-4ca6-a0f5-d4202c209ef9 ;;; ietf-drums.el ends here