Gnus development mailing list
 help / color / mirror / Atom feed
From: Dan Christensen <jdc@uwo.ca>
To: ding@gnus.org
Subject: Re: [PATCH 0/2] two minor fixes for new/empty nnimap group handling
Date: Sun, 12 Jul 2015 13:01:03 -0400	[thread overview]
Message-ID: <87io9pz4xc.fsf@uwo.ca> (raw)
In-Reply-To: <87y4im57as.fsf@ericabrahamsen.net>

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Dan Christensen <jdc@uwo.ca> writes:
>>
>>> Could nnmairix be adjusted to make an extra call at some point to
>>> activate the appropriate group?  Maybe it needs to call
>>> nnimap-request-group-scan instead of nnimap-request-group, now that
>>> 447c5 changed the behaviour of the latter?
>>
>> I think this is probably the right solution. I'm still convinced that
>> nnimap should do something in the group creation process to register the
>> group with Gnus, but you're right that your problem is likely a direct
>> result of "request-group" getting split into "request-group" and
>> "request-group-scan", and nnmairix not being edited to follow.
>>
>> I'm a little bit out of my depth here, but give this patch a whirl and
>> see how it goes.
>
> Dammit, I think that was wrong. Would you try it anyway, then unapply it
> and try this one instead?

I tried the first, the second, and both, and didn't notice any change.
(I still had your nnimap.el patches applied as well.)

Here is the backtrace with the patch nnmairix-scan-imap-groups.patch
applied.

Dan

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  string-match("^[^:]+:" nil)
  (if (string-match "^[^:]+:" gname) (substring gname (match-end 0)) gname)
  (let ((gname (nth 0 info))) (if (string-match "^[^:]+:" gname) (substring gname (match-end 0)) gname))
  (nnimap-decode-gnus-group (let ((gname (nth 0 info))) (if (string-match "^[^:]+:" gname) (substring gname (match-end 0)) gname)))
  (setq params (nth 5 info) group (nnimap-decode-gnus-group (let ((gname (nth 0 info))) (if (string-match "^[^:]+:" gname) (substring gname (match-end 0)) gname))) active (cdr (assq (quote active) params)) unexist (assq (quote unexist) (nth 3 info)) uidvalidity (cdr (assq (quote uidvalidity) params)) modseq (cdr (assq (quote modseq) params)))
  (while --dolist-tail-- (setq info (car --dolist-tail--)) (setq params (nth 5 info) group (nnimap-decode-gnus-group (let ((gname (nth 0 info))) (if (string-match "^[^:]+:" gname) (substring gname (match-end 0)) gname))) active (cdr (assq (quote active) params)) unexist (assq (quote unexist) (nth 3 info)) uidvalidity (cdr (assq (quote uidvalidity) params)) modseq (cdr (assq (quote modseq) params))) (progn (or (and (vectorp nnimap-object) (>= (length nnimap-object) 13) (memq (aref nnimap-object 0) cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-examined) (quote nnimap))) (let* ((v nnimap-object)) (aset v 10 group))) (if (and qresyncp uidvalidity active modseq unexist) (setq sequences (cons (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" (utf7-encode group t) (nnimap-quirk "QRESYNC") uidvalidity modseq) (quote qresync) nil group (quote qresync)) sequences)) (let ((command (if uidvalidity "EXAMINE" "SELECT")) start) (if (and active uidvalidity unexist) (setq start (max 1 (- (cdr active) 100))) (progn (or (and (vectorp nnimap-object) (>= ... 13) (memq ... cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-initial-resync) (quote nnimap))) (let* ((v nnimap-object)) (aset v 12 (+ ... 1)))) (setq start 1)) (setq sequences (cons (list (nnimap-send-command "%s %S" command (utf7-encode group t)) (nnimap-send-command "UID FETCH %d:* FLAGS" start) start group command) sequences)))) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (let ((--dolist-tail-- infos) info) (while --dolist-tail-- (setq info (car --dolist-tail--)) (setq params (nth 5 info) group (nnimap-decode-gnus-group (let ((gname (nth 0 info))) (if (string-match "^[^:]+:" gname) (substring gname (match-end 0)) gname))) active (cdr (assq (quote active) params)) unexist (assq (quote unexist) (nth 3 info)) uidvalidity (cdr (assq (quote uidvalidity) params)) modseq (cdr (assq (quote modseq) params))) (progn (or (and (vectorp nnimap-object) (>= (length nnimap-object) 13) (memq (aref nnimap-object 0) cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-examined) (quote nnimap))) (let* ((v nnimap-object)) (aset v 10 group))) (if (and qresyncp uidvalidity active modseq unexist) (setq sequences (cons (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" (utf7-encode group t) (nnimap-quirk "QRESYNC") uidvalidity modseq) (quote qresync) nil group (quote qresync)) sequences)) (let ((command (if uidvalidity "EXAMINE" "SELECT")) start) (if (and active uidvalidity unexist) (setq start (max 1 (- ... 100))) (progn (or (and ... ... ...) (error "%s accessing a non-%s" ... ...)) (let* (...) (aset v 12 ...))) (setq start 1)) (setq sequences (cons (list (nnimap-send-command "%s %S" command ...) (nnimap-send-command "UID FETCH %d:* FLAGS" start) start group command) sequences)))) (setq --dolist-tail-- (cdr --dolist-tail--))))
  (progn (let ((--dolist-tail-- infos) info) (while --dolist-tail-- (setq info (car --dolist-tail--)) (setq params (nth 5 info) group (nnimap-decode-gnus-group (let ((gname ...)) (if (string-match "^[^:]+:" gname) (substring gname ...) gname))) active (cdr (assq (quote active) params)) unexist (assq (quote unexist) (nth 3 info)) uidvalidity (cdr (assq (quote uidvalidity) params)) modseq (cdr (assq (quote modseq) params))) (progn (or (and (vectorp nnimap-object) (>= (length nnimap-object) 13) (memq (aref nnimap-object 0) cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-examined) (quote nnimap))) (let* ((v nnimap-object)) (aset v 10 group))) (if (and qresyncp uidvalidity active modseq unexist) (setq sequences (cons (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" ... ... uidvalidity modseq) (quote qresync) nil group (quote qresync)) sequences)) (let ((command (if uidvalidity "EXAMINE" "SELECT")) start) (if (and active uidvalidity unexist) (setq start (max 1 ...)) (progn (or ... ...) (let* ... ...)) (setq start 1)) (setq sequences (cons (list ... ... start group command) sequences)))) (setq --dolist-tail-- (cdr --dolist-tail--)))))
  (let ((qresyncp (nnimap-capability "QRESYNC")) params groups sequences active uidvalidity modseq group unexist) (progn (let ((--dolist-tail-- infos) info) (while --dolist-tail-- (setq info (car --dolist-tail--)) (setq params (nth 5 info) group (nnimap-decode-gnus-group (let (...) (if ... ... gname))) active (cdr (assq (quote active) params)) unexist (assq (quote unexist) (nth 3 info)) uidvalidity (cdr (assq (quote uidvalidity) params)) modseq (cdr (assq (quote modseq) params))) (progn (or (and (vectorp nnimap-object) (>= ... 13) (memq ... cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-examined) (quote nnimap))) (let* ((v nnimap-object)) (aset v 10 group))) (if (and qresyncp uidvalidity active modseq unexist) (setq sequences (cons (list ... ... nil group ...) sequences)) (let ((command ...) start) (if (and active uidvalidity unexist) (setq start ...) (progn ... ...) (setq start 1)) (setq sequences (cons ... sequences)))) (setq --dolist-tail-- (cdr --dolist-tail--))))) sequences)
  (save-current-buffer (set-buffer (nnimap-buffer)) (erase-buffer) (progn (or (and (vectorp nnimap-object) (>= (length nnimap-object) 13) (memq (aref nnimap-object 0) cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-group) (quote nnimap))) (let* ((v nnimap-object)) (aset v 1 nil))) (progn (or (and (vectorp nnimap-object) (>= (length nnimap-object) 13) (memq (aref nnimap-object 0) cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-initial-resync) (quote nnimap))) (let* ((v nnimap-object)) (aset v 12 0))) (let ((qresyncp (nnimap-capability "QRESYNC")) params groups sequences active uidvalidity modseq group unexist) (progn (let ((--dolist-tail-- infos) info) (while --dolist-tail-- (setq info (car --dolist-tail--)) (setq params (nth 5 info) group (nnimap-decode-gnus-group (let ... ...)) active (cdr (assq ... params)) unexist (assq (quote unexist) (nth 3 info)) uidvalidity (cdr (assq ... params)) modseq (cdr (assq ... params))) (progn (or (and ... ... ...) (error "%s accessing a non-%s" ... ...)) (let* (...) (aset v 10 group))) (if (and qresyncp uidvalidity active modseq unexist) (setq sequences (cons ... sequences)) (let (... start) (if ... ... ... ...) (setq sequences ...))) (setq --dolist-tail-- (cdr --dolist-tail--))))) sequences))
  (progn (save-current-buffer (set-buffer (nnimap-buffer)) (erase-buffer) (progn (or (and (vectorp nnimap-object) (>= (length nnimap-object) 13) (memq (aref nnimap-object 0) cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-group) (quote nnimap))) (let* ((v nnimap-object)) (aset v 1 nil))) (progn (or (and (vectorp nnimap-object) (>= (length nnimap-object) 13) (memq (aref nnimap-object 0) cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-initial-resync) (quote nnimap))) (let* ((v nnimap-object)) (aset v 12 0))) (let ((qresyncp (nnimap-capability "QRESYNC")) params groups sequences active uidvalidity modseq group unexist) (progn (let ((--dolist-tail-- infos) info) (while --dolist-tail-- (setq info (car --dolist-tail--)) (setq params (nth 5 info) group (nnimap-decode-gnus-group ...) active (cdr ...) unexist (assq ... ...) uidvalidity (cdr ...) modseq (cdr ...)) (progn (or ... ...) (let* ... ...)) (if (and qresyncp uidvalidity active modseq unexist) (setq sequences ...) (let ... ... ...)) (setq --dolist-tail-- (cdr --dolist-tail--))))) sequences)))
  (if (and (nnimap-change-group nil server) infos) (progn (save-current-buffer (set-buffer (nnimap-buffer)) (erase-buffer) (progn (or (and (vectorp nnimap-object) (>= (length nnimap-object) 13) (memq (aref nnimap-object 0) cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-group) (quote nnimap))) (let* ((v nnimap-object)) (aset v 1 nil))) (progn (or (and (vectorp nnimap-object) (>= (length nnimap-object) 13) (memq (aref nnimap-object 0) cl-struct-nnimap-tags)) (error "%s accessing a non-%s" (quote nnimap-initial-resync) (quote nnimap))) (let* ((v nnimap-object)) (aset v 12 0))) (let ((qresyncp (nnimap-capability "QRESYNC")) params groups sequences active uidvalidity modseq group unexist) (progn (let ((--dolist-tail-- infos) info) (while --dolist-tail-- (setq info ...) (setq params ... group ... active ... unexist ... uidvalidity ... modseq ...) (progn ... ...) (if ... ... ...) (setq --dolist-tail-- ...)))) sequences))))
  nnimap-retrieve-group-data-early("rocky" (nil))
  (let ((sequences (nnimap-retrieve-group-data-early server (list info)))) (nnimap-finish-retrieve-group-infos server (list info) sequences t) (setq active (nth 2 (assoc group nnimap-current-infos))))
  (progn (let ((sequences (nnimap-retrieve-group-data-early server (list info)))) (nnimap-finish-retrieve-group-infos server (list info) sequences t) (setq active (nth 2 (assoc group nnimap-current-infos)))))
  (if (or (not dont-check) (not (setq active (nth 2 (assoc group nnimap-current-infos))))) (progn (let ((sequences (nnimap-retrieve-group-data-early server (list info)))) (nnimap-finish-retrieve-group-infos server (list info) sequences t) (setq active (nth 2 (assoc group nnimap-current-infos))))))
  (progn (if (or (not dont-check) (not (setq active (nth 2 (assoc group nnimap-current-infos))))) (progn (let ((sequences (nnimap-retrieve-group-data-early server (list info)))) (nnimap-finish-retrieve-group-infos server (list info) sequences t) (setq active (nth 2 (assoc group nnimap-current-infos)))))) (erase-buffer) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t)
  (if result (progn (if (or (not dont-check) (not (setq active (nth 2 (assoc group nnimap-current-infos))))) (progn (let ((sequences (nnimap-retrieve-group-data-early server ...))) (nnimap-finish-retrieve-group-infos server (list info) sequences t) (setq active (nth 2 (assoc group nnimap-current-infos)))))) (erase-buffer) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t))
  (save-current-buffer (set-buffer nntp-server-buffer) (if result (progn (if (or (not dont-check) (not (setq active (nth 2 ...)))) (progn (let ((sequences ...)) (nnimap-finish-retrieve-group-infos server (list info) sequences t) (setq active (nth 2 ...))))) (erase-buffer) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t)))
  (let ((result (nnimap-change-group (if (and (not dont-check) (assoc group nnimap-current-infos)) nil group) server)) active) (save-current-buffer (set-buffer nntp-server-buffer) (if result (progn (if (or (not dont-check) (not (setq active ...))) (progn (let (...) (nnimap-finish-retrieve-group-infos server ... sequences t) (setq active ...)))) (erase-buffer) (insert (format "211 %d %d %d %S\n" (- (cdr active) (car active)) (car active) (cdr active) group)) t))))
  nnimap-request-group("zz_mairix-nnmairixsearch-1" "rocky")
  apply(nnimap-request-group ("zz_mairix-nnmairixsearch-1" "rocky"))
  nnmairix-call-backend("request-group" "zz_mairix-nnmairixsearch-1" "rocky")
  (save-excursion (nnmairix-call-backend "request-group" folder nnmairix-backend-server) (set-buffer nnmairix-mairix-output-buffer) (goto-char (point-min)) (re-search-forward "^Matched.*messages") (nnheader-message 7 (match-string 0)) (set-buffer nntp-server-buffer) (goto-char (point-min)) (let ((status (read (current-buffer))) (total (read (current-buffer))) (low (read (current-buffer))) (high (read (current-buffer))) (corr (gnus-group-get-parameter qualgroup (quote numcorr) t))) (if (= status 211) (progn (if (and corr (> (+ ... high) 0)) (progn (if (car corr) (progn ... ...)) (setq low (+ low ...) high (+ high ...))) (if (member nnmairix-backend nnmairix-delete-and-create-on-change) (progn (gnus-group-set-parameter qualgroup ... ...)))) (erase-buffer) (insert (format "%d %d %d %d %s" status total low high (let (...) (if ... ... gname)))) t) (progn (nnheader-report (quote nnmairix) "Error calling back end on group %s" folder) nil))))
  nnmairix-request-group-with-article-number-correction("zz_mairix-nnmairixsearch-1" "nnmairix+mairixserver:nnmairixsearch")
  (if (and fast allowfast) t (nnmairix-request-group-with-article-number-correction folder qualgroup))
  (cond ((zerop rval) (nnmairix-call-backend "open-server" nnmairix-backend-server) (if (eq nnmairix-backend (quote nnml)) (progn (if nnmairix-rename-files-for-nnml (progn (nnmairix-rename-files-consecutively mfolder))) (nnml-generate-nov-databases-directory mfolder nil t))) (nnmairix-call-backend "request-scan" folder nnmairix-backend-server) (if (eq nnmairix-backend (quote nnimap)) (progn (nnmairix-call-backend "request-group-scan" folder nnmairix-backend-server))) (if (and fast allowfast) t (nnmairix-request-group-with-article-number-correction folder qualgroup))) ((and (= rval 1) (save-current-buffer (set-buffer nnmairix-mairix-output-buffer) (goto-char (point-min)) (looking-at "^Matched 0 messages"))) (nnheader-message 5 "Mairix: No matches found.") (set-buffer nntp-server-buffer) (erase-buffer) (insert (concat "211 0 1 0 " group)) t) (t (nnheader-report (quote nnmairix) "Error running mairix. See buffer %s for details" nnmairix-mairix-output-buffer) nil))
  (cond ((not folder) (nnheader-report (quote nnmairix) "Check folder parameter for group %s" group) nil) ((not query) (save-current-buffer (set-buffer nntp-server-buffer) (erase-buffer) (insert (concat "211 0 1 0 " group)) t)) (t (setq mfolder (if (and nnmairix-hidden-folders (not (string-match "^\\." folder))) (concat "." folder) folder)) (if (eq nnmairix-backend (quote nnml)) (progn (setq folderpath (cadr (assoc (quote nnml-directory) backendmethod))) (if (not folderpath) (progn (setq folderpath nnml-directory))))) (if (eq nnmairix-backend (quote nnmaildir)) (progn (setq folderpath (cadr (assoc (quote directory) backendmethod))))) (if folderpath (progn (setq mfolder (concat (file-name-as-directory (expand-file-name folderpath)) mfolder)))) (setq rval (if (and fast allowfast) 0 (nnmairix-call-mairix-binary (split-string nnmairix-mairix-command) mfolder query threads))) (cond ((zerop rval) (nnmairix-call-backend "open-server" nnmairix-backend-server) (if (eq nnmairix-backend (quote nnml)) (progn (if nnmairix-rename-files-for-nnml (progn ...)) (nnml-generate-nov-databases-directory mfolder nil t))) (nnmairix-call-backend "request-scan" folder nnmairix-backend-server) (if (eq nnmairix-backend (quote nnimap)) (progn (nnmairix-call-backend "request-group-scan" folder nnmairix-backend-server))) (if (and fast allowfast) t (nnmairix-request-group-with-article-number-correction folder qualgroup))) ((and (= rval 1) (save-current-buffer (set-buffer nnmairix-mairix-output-buffer) (goto-char (point-min)) (looking-at "^Matched 0 messages"))) (nnheader-message 5 "Mairix: No matches found.") (set-buffer nntp-server-buffer) (erase-buffer) (insert (concat "211 0 1 0 " group)) t) (t (nnheader-report (quote nnmairix) "Error running mairix. See buffer %s for details" nnmairix-mairix-output-buffer) nil))))
  (let* ((qualgroup (if server (gnus-group-prefixed-name group (list (quote nnmairix) server)) group)) (folder (gnus-group-get-parameter qualgroup (quote folder))) (allowfast (gnus-group-get-parameter qualgroup (quote allow-fast))) (query (gnus-group-get-parameter qualgroup (quote query) t)) (threads (gnus-group-get-parameter qualgroup (quote threads))) (backendmethod (gnus-server-to-method (format "%s:%s" (symbol-name nnmairix-backend) nnmairix-backend-server))) rval mfolder folderpath args) (cond ((not folder) (nnheader-report (quote nnmairix) "Check folder parameter for group %s" group) nil) ((not query) (save-current-buffer (set-buffer nntp-server-buffer) (erase-buffer) (insert (concat "211 0 1 0 " group)) t)) (t (setq mfolder (if (and nnmairix-hidden-folders (not (string-match "^\\." folder))) (concat "." folder) folder)) (if (eq nnmairix-backend (quote nnml)) (progn (setq folderpath (cadr (assoc ... backendmethod))) (if (not folderpath) (progn (setq folderpath nnml-directory))))) (if (eq nnmairix-backend (quote nnmaildir)) (progn (setq folderpath (cadr (assoc ... backendmethod))))) (if folderpath (progn (setq mfolder (concat (file-name-as-directory ...) mfolder)))) (setq rval (if (and fast allowfast) 0 (nnmairix-call-mairix-binary (split-string nnmairix-mairix-command) mfolder query threads))) (cond ((zerop rval) (nnmairix-call-backend "open-server" nnmairix-backend-server) (if (eq nnmairix-backend (quote nnml)) (progn (if nnmairix-rename-files-for-nnml ...) (nnml-generate-nov-databases-directory mfolder nil t))) (nnmairix-call-backend "request-scan" folder nnmairix-backend-server) (if (eq nnmairix-backend (quote nnimap)) (progn (nnmairix-call-backend "request-group-scan" folder nnmairix-backend-server))) (if (and fast allowfast) t (nnmairix-request-group-with-article-number-correction folder qualgroup))) ((and (= rval 1) (save-current-buffer (set-buffer nnmairix-mairix-output-buffer) (goto-char ...) (looking-at "^Matched 0 messages"))) (nnheader-message 5 "Mairix: No matches found.") (set-buffer nntp-server-buffer) (erase-buffer) (insert (concat "211 0 1 0 " group)) t) (t (nnheader-report (quote nnmairix) "Error running mairix. See buffer %s for details" nnmairix-mairix-output-buffer) nil)))))
  nnmairix-request-group("nnmairixsearch" "mairixserver" nil ("nnmairix+mairixserver:nnmairixsearch" 3 nil nil (nnmairix "mairixserver" (nnmairix-backend nnimap) (nnmairix-backend-server "rocky") (nnmairix-mairix-command "mairix") (nnmairix-hidden-folders t) (nnmairix-default-group "nnmairixsearch")) ((query "test" "d:1w-") (folder . "zz_mairix-nnmairixsearch-1") (threads))))
  gnus-activate-group("nnmairix+mairixserver:nnmairixsearch" scan nil (nnmairix "mairixserver" (nnmairix-backend nnimap) (nnmairix-backend-server "rocky") (nnmairix-mairix-command "mairix") (nnmairix-hidden-folders t) (nnmairix-default-group "nnmairixsearch")))
  gnus-group-get-new-news-this-group()
  (save-excursion (nnmairix-open-server (nth 1 method)) (set-buffer gnus-group-buffer) (setq info (nth 2 (symbol-value (intern-soft group gnus-newsrc-hashtb)))) (set (intern group gnus-active-hashtb) nil) (gnus-info-clear-data info) (nnmairix-delete-recreate-group group) (if (member nnmairix-backend nnmairix-delete-and-create-on-change) (progn (if corr (progn (setcar corr t) (gnus-group-set-parameter group (quote numcorr) corr))))) (gnus-group-jump-to-group group) (gnus-group-get-new-news-this-group))
  (if (eq (nth 0 method) (quote nnmairix)) (save-excursion (nnmairix-open-server (nth 1 method)) (set-buffer gnus-group-buffer) (setq info (nth 2 (symbol-value (intern-soft group gnus-newsrc-hashtb)))) (set (intern group gnus-active-hashtb) nil) (gnus-info-clear-data info) (nnmairix-delete-recreate-group group) (if (member nnmairix-backend nnmairix-delete-and-create-on-change) (progn (if corr (progn (setcar corr t) (gnus-group-set-parameter group (quote numcorr) corr))))) (gnus-group-jump-to-group group) (gnus-group-get-new-news-this-group)) (error "`nnmairix-update-and-clear-marks' called with non-nnmairix group"))
  (let ((method (or method (gnus-find-method-for-group group))) (corr (gnus-group-get-parameter group (quote numcorr) t)) info) (if (or (gnus-group-prefixed-p group) (not method)) nil (setq group (gnus-group-prefixed-name group method))) (if (eq (nth 0 method) (quote nnmairix)) (save-excursion (nnmairix-open-server (nth 1 method)) (set-buffer gnus-group-buffer) (setq info (nth 2 (symbol-value (intern-soft group gnus-newsrc-hashtb)))) (set (intern group gnus-active-hashtb) nil) (gnus-info-clear-data info) (nnmairix-delete-recreate-group group) (if (member nnmairix-backend nnmairix-delete-and-create-on-change) (progn (if corr (progn (setcar corr t) (gnus-group-set-parameter group ... corr))))) (gnus-group-jump-to-group group) (gnus-group-get-new-news-this-group)) (error "`nnmairix-update-and-clear-marks' called with non-nnmairix group")))
  nnmairix-update-and-clear-marks("nnmairix+mairixserver:nnmairixsearch")
  (let* ((qualgroup (gnus-group-prefixed-name nnmairix-default-group (list (quote nnmairix) (nth 1 server))))) (set-buffer gnus-group-buffer) (if (stringp query) (progn (setq query (split-string query)))) (gnus-group-set-parameter qualgroup (quote query) query) (if (symbolp threads) (if (eq threads (quote t)) (progn (gnus-group-set-parameter qualgroup (quote threads) t))) (if (< threads 0) (progn (gnus-group-set-parameter qualgroup (quote threads) nil)))) (nnmairix-update-and-clear-marks qualgroup) (if (equal (symbol-value (intern-soft qualgroup gnus-active-hashtb)) (quote (1 . 0))) nil (gnus-group-read-group nil t qualgroup)))
  nnmairix-search("test d:1w-")
  call-interactively(nnmairix-search record nil)
  command-execute(nnmairix-search record)
  execute-extended-command(nil "nnmairix-search")
  call-interactively(execute-extended-command nil nil)




  reply	other threads:[~2015-07-12 17:01 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-01 11:37 Bjørn Mork
2015-07-01 11:37 ` [PATCH 1/2] nnimap.el (nnimap-request-group): don't make nil into a list Bjørn Mork
2015-07-01 11:37 ` [PATCH 2/2] nnimap.el (nnimap-request-group): group could be empty Bjørn Mork
2015-07-01 11:50 ` [PATCH 0/2] two minor fixes for new/empty nnimap group handling Alan Schmitt
2015-07-01 12:23   ` Bjørn Mork
2015-07-01 13:49     ` Alan Schmitt
2015-07-02  2:18 ` Nikolaus Rath
2015-07-06  2:45 ` Eric Abrahamsen
2015-07-06  8:40   ` Bjørn Mork
2015-07-06 15:11     ` Eric Abrahamsen
2015-07-06 15:32 ` Dan Christensen
2015-07-07  2:48   ` Eric Abrahamsen
2015-07-07 23:12     ` Dan Christensen
2015-07-08  4:20       ` Eric Abrahamsen
2015-07-08 21:45         ` Dan Christensen
2015-07-09  1:53           ` Eric Abrahamsen
2015-07-09  2:52             ` Dan Christensen
2015-07-09 13:47               ` Dan Christensen
2015-07-10  2:41                 ` Eric Abrahamsen
2015-07-10 12:42                   ` Dan Christensen
2015-07-12  4:11               ` Eric Abrahamsen
2015-07-12  4:27                 ` Eric Abrahamsen
2015-07-12 17:01                   ` Dan Christensen [this message]
2015-07-13  5:36                     ` Eric Abrahamsen
2015-07-08 12:41       ` Eric Abrahamsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87io9pz4xc.fsf@uwo.ca \
    --to=jdc@uwo.ca \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).