]> git.eshelyaron.com Git - emacs.git/commitdiff
gnus-html.el (gnus-html-image-fetched): Don't kill the temporary buffer after being...
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 24 Jan 2011 04:10:19 +0000 (04:10 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Mon, 24 Jan 2011 04:10:19 +0000 (04:10 +0000)
shr.el (shr-image-fetched): Ditto.
shr.el (shr-image-fetched): Avoid having point move in the article buffer.
gnus-html.el (gnus-html-image-fetched): Kill the buffer anyway, and fix the bug in url-http.el instead.
shr.el (shr-image-fetched): Ditto.
gravatar.el (gravatar-retrieve): Be silent when retrieving.
gnus-gravatar.el (gnus-gravatar-insert): Don't move point around in the article buffer.
 (gnus-gravatar-insert): Use blank space from the current buffer to avoid breaking text properties.  This makes X-Sent updating work again.
gnus-art.el (gnus-article-read-summary-keys): Don't call disabled commands.

lisp/gnus/ChangeLog
lisp/gnus/gnus-art.el
lisp/gnus/gnus-gravatar.el
lisp/gnus/gravatar.el
lisp/gnus/shr.el

index 8bd8732ade44e3691fa0127265adf73cd8777107..9780b6f4c07493731838624961074dcc4fd6f535 100644 (file)
@@ -1,3 +1,31 @@
+2011-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-article-read-summary-keys): Don't call disabled
+       commands.
+
+       * gnus-gravatar.el (gnus-gravatar-insert): Don't move point around
+       in the article buffer.
+       (gnus-gravatar-insert): Use blank space from the current buffer to
+       avoid breaking text properties.  This makes X-Sent updating work again.
+
+       * gravatar.el (gravatar-retrieve): Be silent when retrieving.
+
+2011-01-23  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-html.el (gnus-html-image-fetched): Kill the buffer anyway, and
+       fix the bug in url-http.el instead.
+
+       * shr.el (shr-image-fetched): Ditto.
+
+       * shr.el (shr-image-fetched): Avoid having point move in the article
+       buffer.
+
+       * gnus-html.el (gnus-html-image-fetched): Don't kill the temporary
+       buffer after being called.  It's apparently being killed by url.el, and
+       killing it made point move to end-of-buffer in a random buffer.
+
+       * shr.el (shr-image-fetched): Ditto.
+
 2011-01-23  Julien Danjou  <julien@danjou.info>
 
        * mm-decode.el (mm-inline-media-tests): Change text/org to text/x-org.
index 430590d9abb42a9949fe9bc5a007955bde0abf3b..06817e941a09ff1147a4195affe0b25f234b5a89 100644 (file)
@@ -6432,6 +6432,8 @@ not have a face in `gnus-article-boring-faces'."
            (ding)
          (unless (member keys nosave-in-article)
            (set-buffer gnus-article-current-summary))
+         (when (get func 'disabled)
+           (error "Function %s disabled" func))
          (call-interactively func)
          (setq new-sum-point (point)))
        (when (member keys nosave-but-article)
@@ -6460,8 +6462,11 @@ not have a face in `gnus-article-boring-faces'."
                 (select-window win))))
        (setq in-buffer (current-buffer))
        ;; We disable the pick minor mode commands.
-       (if (and (setq func (let (gnus-pick-mode)
-                             (key-binding keys t)))
+       (setq func (let (gnus-pick-mode)
+                    (key-binding keys t)))
+       (when (get func 'disabled)
+         (error "Function %s disabled" func))
+       (if (and func
                 (functionp func)
                 (condition-case code
                     (progn
index 53d1310a0949a3083e7c24ef59cb7d298a2a0d87..ae17d5b5abda68203642e5c3c8627be219c2feb1 100644 (file)
@@ -80,37 +80,44 @@ If nil, default to `gravatar-size'."
   "Insert GRAVATAR for ADDRESS in HEADER in current article buffer.
 Set image category to CATEGORY."
   (unless (eq gravatar 'error)
-    (gnus-with-article-headers
-      ;; The buffer can be gone at this time
-      (when (buffer-live-p (current-buffer))
-        (gnus-article-goto-header header)
-        (mail-header-narrow-to-field)
-        (let ((real-name (car address))
-              (mail-address (cadr address)))
-          (when (if real-name
-                   (re-search-forward
-                    (concat (gnus-replace-in-string
-                             (regexp-quote real-name) "[\t ]+" "[\t\n ]+")
-                            "\\|"
-                            (regexp-quote mail-address))
-                    nil t)
-                 (search-forward mail-address nil t))
-           (goto-char (1- (match-beginning 0)))
-            ;; If we're on the " quoting the name, go backward
-            (when (looking-at "[\"<]")
-              (goto-char (1- (point))))
-            ;; Do not do anything if there's already a gravatar. This can
-            ;; happens if the buffer has been regenerated in the mean time, for
-            ;; example we were fetching someaddress, and then we change to
-            ;; another mail with the same someaddress.
-            (unless (memq 'gnus-gravatar (text-properties-at (point)))
-              (let ((point (point)))
-                (unless (featurep 'xemacs)
-                  (setq gravatar (append gravatar gnus-gravatar-properties)))
-                (gnus-put-image gravatar nil category)
-                (put-text-property point (point) 'gnus-gravatar address)
-                (gnus-add-wash-type category)
-                (gnus-add-image category gravatar)))))))))
+    (with-current-buffer gnus-article-buffer
+      (let ((mark (point-marker))
+           (inhibit-read-only t)
+           (inhibit-point-motion-hooks t)
+           (case-fold-search t))
+       (save-restriction
+         (article-narrow-to-head)
+         ;; The buffer can be gone at this time
+         (when (buffer-live-p (current-buffer))
+           (gnus-article-goto-header header)
+           (mail-header-narrow-to-field)
+           (let ((real-name (car address))
+                 (mail-address (cadr address)))
+             (when (if real-name
+                       (re-search-forward
+                        (concat (gnus-replace-in-string
+                                 (regexp-quote real-name) "[\t ]+" "[\t\n ]+")
+                                "\\|"
+                                (regexp-quote mail-address))
+                        nil t)
+                     (search-forward mail-address nil t))
+               (goto-char (1- (match-beginning 0)))
+               ;; If we're on the " quoting the name, go backward
+               (when (looking-at "[\"<]")
+                 (goto-char (1- (point))))
+               ;; Do not do anything if there's already a gravatar. This can
+               ;; happens if the buffer has been regenerated in the mean time, for
+               ;; example we were fetching someaddress, and then we change to
+               ;; another mail with the same someaddress.
+               (unless (memq 'gnus-gravatar (text-properties-at (point)))
+                 (let ((point (point)))
+                   (unless (featurep 'xemacs)
+                     (setq gravatar (append gravatar gnus-gravatar-properties)))
+                   (gnus-put-image gravatar (buffer-substring (point) (1+ point)) category)
+                   (put-text-property point (point) 'gnus-gravatar address)
+                   (gnus-add-wash-type category)
+                   (gnus-add-image category gravatar)))))))
+       (goto-char (marker-position mark))))))
 
 ;;;###autoload
 (defun gnus-treat-from-gravatar (&optional force)
index 158347fb0041597ee047d5b824958a50b16e0b55..cb857fca89bde6f8901ad1f0ba3559043bd1b8b5 100644 (file)
@@ -108,9 +108,15 @@ If no image available, return 'error."
 You can provide a list of argument to pass to CB in CBARGS."
   (let ((url (gravatar-build-url mail-address)))
     (if (gravatar-cache-expired url)
-        (url-retrieve url
-                      'gravatar-retrieved
-                      (list cb (when cbargs cbargs)))
+       (let ((args (list url
+                         'gravatar-retrieved
+                         (list cb (when cbargs cbargs)))))
+         (when (> (length (if (featurep 'xemacs)
+                              (cdr (split-string (function-arglist 'url-retrieve)))
+                            (help-function-arglist 'url-retrieve)))
+                  4)
+           (setq args (nconc args (list t))))
+         (apply #'url-retrieve args))
       (apply cb
                (with-temp-buffer
                  (mm-disable-multibyte)
index 6e681d6736581dbfe5cd7a252cb6829ddd6974c1..75929b29e05d864327dd57ae009f37b3c0ebb9b4 100644 (file)
@@ -462,11 +462,12 @@ redirects somewhere else."
              (search-forward "\r\n\r\n" nil t))
       (let ((data (buffer-substring (point) (point-max))))
         (with-current-buffer buffer
-          (let ((alt (buffer-substring start end))
-               (inhibit-read-only t))
-           (delete-region start end)
-           (goto-char start)
-           (shr-put-image data alt))))))
+         (save-excursion
+           (let ((alt (buffer-substring start end))
+                 (inhibit-read-only t))
+             (delete-region start end)
+             (goto-char start)
+             (shr-put-image data alt)))))))
   (kill-buffer (current-buffer)))
 
 (defun shr-put-image (data alt)