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-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
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)
(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
(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."
(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