From c7b98a1c197f91ca0dc85b4eab629b3ef5da7b09 Mon Sep 17 00:00:00 2001 From: Gnus developers Date: Thu, 18 Aug 2011 22:12:47 +0000 Subject: [PATCH] Merge changes made in Gnus trunk. nnmairix.el (nnmairix-request-set-mark, nnmairix-goto-original-article): Remove adding of article to registry, since `gnus-registry-add-group' isn't available anymore. (nnmairix-determine-original-group-from-registry): Use `gnus-registry-get-id-key' since `gnus-registry-fetch-groups' isn't available anymore. gnus-spec.el (gnus-lrm-string): Use 8206 instead of ?\x200e to make things work in Emacs 22 and XEmacs, too. gnus-sum.el (gnus-summary-from-or-to-or-newsgroups): LRM-ify the default From. gnus-spec.el (gnus-lrm-string-p): New macro. (gnus-lrm-string): New constant. (gnus-summary-line-format-spec): LRM-ify the from. (gnus-tilde-max-form): LRM-ify string chopping. gnus-ems.el (gnus-string-mark-left-to-right): New function. --- lisp/gnus/ChangeLog | 22 ++++++++++++++++++++++ lisp/gnus/gnus-ems.el | 5 +++++ lisp/gnus/gnus-spec.el | 21 ++++++++++++++++++--- lisp/gnus/gnus-sum.el | 4 +++- lisp/gnus/nnmairix.el | 23 ++++------------------- 5 files changed, 52 insertions(+), 23 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 744f94da21d..230bd8a6508 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,5 +1,27 @@ +2011-08-18 David Engster + + * nnmairix.el (nnmairix-request-set-mark) + (nnmairix-goto-original-article): Remove adding of article to registry, + since `gnus-registry-add-group' isn't available anymore. + (nnmairix-determine-original-group-from-registry): Use + `gnus-registry-get-id-key' since `gnus-registry-fetch-groups' isn't + available anymore. + 2011-08-17 Lars Magne Ingebrigtsen + * gnus-spec.el (gnus-lrm-string): Use 8206 instead of ?\x200e to make + things work in Emacs 22 and XEmacs, too. + + * gnus-sum.el (gnus-summary-from-or-to-or-newsgroups): LRM-ify the + default From. + + * gnus-spec.el (gnus-lrm-string-p): New macro. + (gnus-lrm-string): New constant. + (gnus-summary-line-format-spec): LRM-ify the from. + (gnus-tilde-max-form): LRM-ify string chopping. + + * gnus-ems.el (gnus-string-mark-left-to-right): New function. + * message.el (message-is-yours-p): Allow disabling canlock checking (bug#9295). (message-shoot-gnksa-feet): Add `canlock-verify'. diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el index bc85e4960d4..aed471c38f4 100644 --- a/lisp/gnus/gnus-ems.el +++ b/lisp/gnus/gnus-ems.el @@ -209,6 +209,11 @@ (setq start end end nil)))))) +(defmacro gnus-string-mark-left-to-right (string) + (if (fboundp 'string-mark-left-to-right) + `(string-mark-left-to-right ,string) + string)) + (eval-and-compile ;; XEmacs does not have window-inside-pixel-edges (defalias 'gnus-window-inside-pixel-edges diff --git a/lisp/gnus/gnus-spec.el b/lisp/gnus/gnus-spec.el index 4682f512476..0fa64a84b75 100644 --- a/lisp/gnus/gnus-spec.el +++ b/lisp/gnus/gnus-spec.el @@ -90,6 +90,15 @@ text properties. This is only needed on XEmacs, as Emacs does this anyway." (declare-function gnus-summary-from-or-to-or-newsgroups "gnus-sum" (header gnus-tmp-from)) +(defmacro gnus-lrm-string-p (string) + (if (fboundp 'string-mark-left-to-rigth) + `(eq (aref ,string (1- (length ,string))) 8206) + nil)) + +(defvar gnus-lrm-string (if (ignore-errors (string 8206)) + (propertize (string 8206) 'invisible t) + "")) + (defun gnus-summary-line-format-spec () (insert gnus-tmp-unread gnus-tmp-replied gnus-tmp-score-char gnus-tmp-indentation) @@ -103,7 +112,9 @@ text properties. This is only needed on XEmacs, as Emacs does this anyway." (gnus-summary-from-or-to-or-newsgroups gnus-tmp-header gnus-tmp-from)))) (if (> (length val) 23) - (substring val 0 23) + (if (gnus-lrm-string-p val) + (concat (substring val 0 23) gnus-lrm-string) + (substring val 0 23)) val)) gnus-tmp-closing-bracket)) (point)) @@ -351,13 +362,17 @@ Return a list of updated types." `(if (> (,length-fun ,el) ,max) ,(if (< max-width 0) `(,substring-fun ,el (- (,length-fun ,el) ,max)) - `(,substring-fun ,el 0 ,max)) + `(if (gnus-lrm-string-p ,el) + (concat (,substring-fun ,el 0 ,max) ,gnus-lrm-string) + (,substring-fun ,el 0 ,max))) ,el) `(let ((val (eval ,el))) (if (> (,length-fun val) ,max) ,(if (< max-width 0) `(,substring-fun val (- (,length-fun val) ,max)) - `(,substring-fun val 0 ,max)) + `(if (gnus-lrm-string-p val) + (concat (,substring-fun val 0 ,max) ,gnus-lrm-string) + (,substring-fun val 0 ,max))) val))))) (defun gnus-tilde-cut-form (el cut-width) diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index dda9cb3fbf6..cd4699e6107 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -3709,7 +3709,9 @@ buffer that was in action when the last article was fetched." gnus-newsgroup-name)) 'nntp) (gnus-group-real-name gnus-newsgroup-name)))) (concat gnus-summary-newsgroup-prefix newsgroups))))) - (inline (gnus-summary-extract-address-component gnus-tmp-from))))) + (gnus-string-mark-left-to-right + (inline + (gnus-summary-extract-address-component gnus-tmp-from)))))) (defun gnus-summary-insert-line (gnus-tmp-header gnus-tmp-level gnus-tmp-current diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el index b82d6c2ee7b..3d1ac02b6aa 100644 --- a/lisp/gnus/nnmairix.el +++ b/lisp/gnus/nnmairix.el @@ -604,9 +604,7 @@ Other back ends might or might not work.") ;; Silence byte-compiler. (defvar gnus-registry-install) -(autoload 'gnus-registry-fetch-group "gnus-registry") -(autoload 'gnus-registry-fetch-groups "gnus-registry") -(autoload 'gnus-registry-add-group "gnus-registry") +(autoload 'gnus-registry-get-id-key "gnus-registry") (deffoo nnmairix-request-set-mark (group actions &optional server) (when server @@ -660,13 +658,7 @@ Other back ends might or might not work.") nnmairix-only-use-registry) (setq ogroup (nnmairix-determine-original-group-from-path - mid nnmairix-current-server)) - ;; if available and allowed, add this entry to the registry - (when (and (boundp 'gnus-registry-install) - gnus-registry-install) - (dolist (cur ogroup) - (unless (gnus-parameter-registry-ignore cur) - (gnus-registry-add-group mid cur))))) + mid nnmairix-current-server))) (unless ogroup (nnheader-message 3 "Unable to set mark: couldn't find original group for %s" mid) @@ -1630,14 +1622,7 @@ search in raw mode." ;; registry was not available or did not find article ;; so we search again with mairix in raw mode to get filename (setq allgroups - (nnmairix-determine-original-group-from-path mid server)) - ;; if available and allowed, add this entry to the registry - (when (and (not no-registry) - (boundp 'gnus-registry-install) - gnus-registry-install) - (dolist (cur allgroups) - (unless (gnus-parameter-registry-ignore cur) - (gnus-registry-add-group mid cur))))) + (nnmairix-determine-original-group-from-path mid server))) (if (> (length allgroups) 1) (setq group (gnus-completing-read @@ -1657,7 +1642,7 @@ search in raw mode." (set mid (concat "<" mid))) (unless (string-match ">$" mid) (set mid (concat mid ">"))) - (gnus-registry-fetch-groups mid))) + (gnus-registry-get-id-key mid 'group))) (defun nnmairix-determine-original-group-from-path (mid server) "Determine original group(s) for message-id MID from the file path. -- 2.39.2