* gnus-art.el (gnus-mime-security-verify-or-decrypt): Don't narrow to a point
authorKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 2 Aug 2007 10:01:23 +0000 (10:01 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 2 Aug 2007 10:01:23 +0000 (10:01 +0000)
 here in order to keep the window start.
(gnus-insert-mime-security-button): Make a button overlay without the front
 stickiness.
(gnus-mime-display-security): Goto the end of a button.

* gnus-group.el (gnus-group-name-at-point): Fix regexps.

lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-group.el

index f1301b6..251b7cd 100644 (file)
@@ -1,3 +1,13 @@
+2007-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-art.el (gnus-mime-security-verify-or-decrypt): Don't narrow to
+       a point here in order to keep the window start.
+       (gnus-insert-mime-security-button): Make a button overlay without the
+       front stickiness.
+       (gnus-mime-display-security): Goto the end of a button.
+
+       * gnus-group.el (gnus-group-name-at-point): Fix regexps.
+
 2007-08-01  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-group.el (gnus-group-name-at-point): Rewrite; rename from
index 9560886..221229a 100644 (file)
@@ -7919,18 +7919,15 @@ For example:
        point (inhibit-read-only t))
     (if region
        (goto-char (car region)))
-    (save-restriction
-      (narrow-to-region (point) (point))
-      (with-current-buffer (mm-handle-multipart-original-buffer handle)
-       (let* ((mm-verify-option 'known)
-              (mm-decrypt-option 'known)
-              (nparts (mm-possibly-verify-or-decrypt (cdr handle) handle)))
-         (unless (eq nparts (cdr handle))
-           (mm-destroy-parts (cdr handle))
-           (setcdr handle nparts))))
-      (setq point (point))
-      (gnus-mime-display-security handle)
-      (goto-char (point-max)))
+    (setq point (point))
+    (with-current-buffer (mm-handle-multipart-original-buffer handle)
+      (let* ((mm-verify-option 'known)
+            (mm-decrypt-option 'known)
+            (nparts (mm-possibly-verify-or-decrypt (cdr handle) handle)))
+       (unless (eq nparts (cdr handle))
+         (mm-destroy-parts (cdr handle))
+         (setcdr handle nparts))))
+    (gnus-mime-display-security handle)
     (when region
       (delete-region (point) (cdr region))
       (set-marker (car region) nil)
@@ -8019,7 +8016,7 @@ For example:
                (1- (point))
              (point)))
     (when gnus-article-button-face
-      (gnus-overlay-put (gnus-make-overlay b e)
+      (gnus-overlay-put (gnus-make-overlay b e nil t)
                         'face gnus-article-button-face))
     (widget-convert-button
      'link b e
@@ -8052,7 +8049,8 @@ For example:
     (mm-set-handle-multipart-parameter
      handle 'gnus-region
      (cons (set-marker (make-marker) (point-min))
-          (set-marker (make-marker) (point-max))))))
+          (set-marker (make-marker) (point-max))))
+    (goto-char (point-max))))
 
 (defun gnus-mime-security-run-function (function)
   "Run FUNCTION with the security part under point."
index cec5a2c..7a92d5b 100644 (file)
@@ -2119,28 +2119,33 @@ be permanent."
       (let ((group (gnus-group-group-name)))
        (when group
          (gnus-group-decoded-name group)))
-    (let ((regexp "[\t ]*\\(nn[a-z]+\\(?:\\+[^][\C-@-*,/:-@\\^`{-\C-?]+\\)?:\
+    (let ((regexp "[][\C-@-\t\v-*,/:-@\\^`{-\C-?]*\
+\\(nn[a-z]+\\(?:\\+[^][\C-@-*,/:-@\\^`{-\C-?]+\\)?:\
 \[^][\C-@-*,./:-@\\^`{-\C-?]+\\(?:\\.[^][\C-@-*,./:-@\\^`{-\C-?]+\\)*\
 \\|[^][\C-@-*,./:-@\\^`{-\C-?]+\\(?:\\.[^][\C-@-*,./:-@\\^`{-\C-?]+\\)+\\)")
          (start (point))
          (case-fold-search nil))
       (prog1
-         (if (or (and (not (memq (char-after) '(?\t ?\n ? )))
-                      (skip-chars-backward "^\t "))
-                 (and (looking-at "[\t ]*$")
+         (if (or (and (not (or (eobp)
+                               (looking-at "[][\C-@-*,/:-@\\^`{-\C-?]")))
+                      (skip-chars-backward "^][\C-@-\t\v-*,/:-@\\^`{-\C-?"
+                                           (point-at-bol)))
+                 (and (looking-at "[][\C-@-\t\v-*,/:-@\\^`{-\C-?]*$")
                       (progn
-                        (skip-chars-backward "\t ")
-                        (skip-chars-backward "^\t ")))
-                 (string-match "\\`[\t ]*\\'" (buffer-substring (point-at-bol)
-                                                                (point))))
+                        (skip-chars-backward "][\C-@-\t\v-*,/:-@\\^`{-\C-?")
+                        (skip-chars-backward "^][\C-@-\t\v-*,/:-@\\^`{-\C-?"
+                                             (point-at-bol))))
+                 (string-match "\\`[][\C-@-\t\v-*,/:-@\\^`{-\C-?]*\\'"
+                               (buffer-substring (point-at-bol) (point))))
              (when (looking-at regexp)
                (match-string 1))
            (let (group distance)
              (when (looking-at regexp)
                (setq group (match-string 1)
                      distance (- (match-beginning 1) (match-beginning 0))))
-             (skip-chars-backward "\t ")
-             (skip-chars-backward "^\t ")
+             (skip-chars-backward "][\C-@-\t\v-*,/:-@\\^`{-\C-?")
+             (skip-chars-backward "^][\C-@-\t\v-*,/:-@\\^`{-\C-?"
+                                  (point-at-bol))
              (if (looking-at regexp)
                  (if (and group (<= distance (- start (match-end 0))))
                      group