Gnus development mailing list
 help / color / mirror / Atom feed
* Canonical list of marks with and without gnus-agent
@ 2003-05-12 11:09 Lloyd Zusman
  2003-05-12 14:42 ` Kevin Greiner
  2003-05-14  5:01 ` Michael R. Wolf
  0 siblings, 2 replies; 12+ messages in thread
From: Lloyd Zusman @ 2003-05-12 11:09 UTC (permalink / raw)


Is there any documentation that has in one, single location the
canonical list of marks that are defined when using gnus-agent, and when
not using gnus-agent?

Ideally, I'm looking for a 3-column list something like this:

                     character used     character used            
  Gnus mark name     with gnus-agent    without gnus-agent


"Gnus mark name" stands for the name of the defvar/defconst which
defines the mark character.

Thanks in advance.


-- 
 Lloyd Zusman
 ljz@asfast.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-12 11:09 Canonical list of marks with and without gnus-agent Lloyd Zusman
@ 2003-05-12 14:42 ` Kevin Greiner
  2003-05-12 15:25   ` Lloyd Zusman
  2003-05-14  5:01 ` Michael R. Wolf
  1 sibling, 1 reply; 12+ messages in thread
From: Kevin Greiner @ 2003-05-12 14:42 UTC (permalink / raw)


Lloyd Zusman <ljz@asfast.com> writes:

> Is there any documentation that has in one, single location the
> canonical list of marks that are defined when using gnus-agent, and when
> not using gnus-agent?
>
> Ideally, I'm looking for a 3-column list something like this:
>
>                      character used     character used            
>   Gnus mark name     with gnus-agent    without gnus-agent

As far as I know, there are NO marks that change characters depending
upon use of the agent.

The agent uses gnus-undownloaded-mark (-), gnus-downloaded-mark (+),
and gnus-downloadable-mark (%).  The two downloaded marks are stored
separately and displayed using their own format specifier (at least in
the later 5.9 series and now in 5.10) so I doubt that their of much
interest to you.  The gnus-downloadable-mark is the only one that
interacts with the other marks (i.e. ticked, read, etc).  

>
> "Gnus mark name" stands for the name of the defvar/defconst which
> defines the mark character.
>
> Thanks in advance.
>
>
> -- 
>  Lloyd Zusman
>  ljz@asfast.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-12 14:42 ` Kevin Greiner
@ 2003-05-12 15:25   ` Lloyd Zusman
  2003-05-12 19:18     ` Kevin Greiner
  0 siblings, 1 reply; 12+ messages in thread
From: Lloyd Zusman @ 2003-05-12 15:25 UTC (permalink / raw)


Kevin Greiner <kgreiner@xpediantsolutions.com> writes:

> Lloyd Zusman <ljz@asfast.com> writes:
>
>> Is there any documentation that has in one, single location the
>> canonical list of marks that are defined when using gnus-agent, and when
>> not using gnus-agent?
>>
>> Ideally, I'm looking for a 3-column list something like this:
>>
>>                      character used     character used            
>>   Gnus mark name     with gnus-agent    without gnus-agent
>
> As far as I know, there are NO marks that change characters depending
> upon use of the agent.
>
> The agent uses gnus-undownloaded-mark (-), gnus-downloaded-mark (+),
> and gnus-downloadable-mark (%).  The two downloaded marks are stored
> separately and displayed using their own format specifier (at least in
> the later 5.9 series and now in 5.10) so I doubt that their of much
> interest to you.  The gnus-downloadable-mark is the only one that
> interacts with the other marks (i.e. ticked, read, etc).  

Well, I'm glad that the marks are mostly the same between agent and
non-agent mode.

And yes, I've noticed that the '%' mark does indeed interact with
ticked, read, etc.  I have some custom elisp that makes use of mark
settings (ticked, read, etc.), and since I started agentizing, this code
has broken.  That's what prompted me to post the previous message.

So now I see that I need to understand this interaction between
gnus-downloadable-mark and the others, but nothing in the docs talks
about this interaction.

Could someone either describe this interaction, or else point me to the
location of an explanation?

Thanks.

-- 
 Lloyd Zusman
 ljz@asfast.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-12 15:25   ` Lloyd Zusman
@ 2003-05-12 19:18     ` Kevin Greiner
  2003-05-14 14:00       ` Lloyd Zusman
  0 siblings, 1 reply; 12+ messages in thread
From: Kevin Greiner @ 2003-05-12 19:18 UTC (permalink / raw)


Lloyd Zusman <ljz@asfast.com> writes:

> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>
>> Lloyd Zusman <ljz@asfast.com> writes:
>>
>>> Is there any documentation that has in one, single location the
>>> canonical list of marks that are defined when using gnus-agent, and when
>>> not using gnus-agent?
>>>
>>> Ideally, I'm looking for a 3-column list something like this:
>>>
>>>                      character used     character used            
>>>   Gnus mark name     with gnus-agent    without gnus-agent
>>
>> As far as I know, there are NO marks that change characters depending
>> upon use of the agent.
>>
>> The agent uses gnus-undownloaded-mark (-), gnus-downloaded-mark (+),
>> and gnus-downloadable-mark (%).  The two downloaded marks are stored
>> separately and displayed using their own format specifier (at least in
>> the later 5.9 series and now in 5.10) so I doubt that their of much
>> interest to you.  The gnus-downloadable-mark is the only one that
>> interacts with the other marks (i.e. ticked, read, etc).  
>
> Well, I'm glad that the marks are mostly the same between agent and
> non-agent mode.
>
> And yes, I've noticed that the '%' mark does indeed interact with
> ticked, read, etc.  I have some custom elisp that makes use of mark
> settings (ticked, read, etc.), and since I started agentizing, this code
> has broken.  That's what prompted me to post the previous message.
>
> So now I see that I need to understand this interaction between
> gnus-downloadable-mark and the others, but nothing in the docs talks
> about this interaction.
>
> Could someone either describe this interaction, or else point me to the
> location of an explanation?
>

All of the code is in gnus-sum.el but I don't think that will help.  The
downloadable mark is a manual mark.  If you haven't set it, it won't
be interferring with your code.  It might be better to simply post
your function then ask for comments.

Kevin



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-12 11:09 Canonical list of marks with and without gnus-agent Lloyd Zusman
  2003-05-12 14:42 ` Kevin Greiner
@ 2003-05-14  5:01 ` Michael R. Wolf
  1 sibling, 0 replies; 12+ messages in thread
From: Michael R. Wolf @ 2003-05-14  5:01 UTC (permalink / raw)


Lloyd Zusman <ljz@asfast.com> writes:

> Is there any documentation that has in one, single location the
> canonical list of marks that are defined when using gnus-agent, and when
> not using gnus-agent?
>
> Ideally, I'm looking for a 3-column list something like this:
>
>                      character used     character used            
>   Gnus mark name     with gnus-agent    without gnus-agent

I had asked for this previously, but been told that I was welcome to
join the documentation team.  I was so confused as a "user" that I
even dared to look at the code.  I was duly frightened, and haven't
returned to the code.

But I'll second the notion that a "user level" key would be very
helpful. Perhaps a gnus-summary-explain-marks (name for idea purposes
only, not a suggestion) function could do pop up a buffer (ala
<help-key>-b or <help-key>-m).  It would be a great key to learning.

Case in point. I just learned about "?" in the summary buffer tonight
by reading a posting. I alread knew about "u". If I had this help
mechhanism, I'd have learned about "?", too. I'm sure of it because
that's how I learn most of the extensions in any given package -- by
studying the keymap and keybindings, then reverse engineering what it
does and how it is helpful to me.

Yes, a third vote even, to a mark-map!!!!

-- 
Michael R. Wolf
    All mammals learn by playing!
        MichaelRunningWolf@att.net



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-12 19:18     ` Kevin Greiner
@ 2003-05-14 14:00       ` Lloyd Zusman
  2003-05-14 17:26         ` Kevin Greiner
  0 siblings, 1 reply; 12+ messages in thread
From: Lloyd Zusman @ 2003-05-14 14:00 UTC (permalink / raw)


Kevin Greiner <kgreiner@xpediantsolutions.com> writes:

> Lloyd Zusman <ljz@asfast.com> writes:
>>
>> [ ... ]
>>
>> So now I see that I need to understand this interaction between
>> gnus-downloadable-mark and the others, but nothing in the docs talks
>> about this interaction.
>>
>> Could someone either describe this interaction, or else point me to the
>> location of an explanation?
>>
>
> All of the code is in gnus-sum.el but I don't think that will help.  The
> downloadable mark is a manual mark.  If you haven't set it, it won't
> be interferring with your code.  It might be better to simply post
> your function then ask for comments.
>
> Kevin

Well, it's actually a group of functions, and it's easier if I just
explain verbally.

Before enabling gnus-agent, I used to set the `gnus-killed-mark' and
call `gnus-summary-mark-as-processable' on any articles that I later on
wanted to completely delete from a group.  I have my own function to do
this, and I've bound it to a keystroke that's convenient to me.

I wrote another function which gets the collection of processable
articles that are marked as "killed", and then calls
`gnus-summary-delete-article' on all of them.

But now under gnus-agent, either the "processable" or "killed" mark
doesn't work the same (I haven't debugged this yet, so I don't know
which one functions differently ... or it could even be both), and so my
second function doesn't return the same list of articles that I marked
with my first function.

I'm looking for a way to perform this same procedure that will work
when gnus-agent is either on or off.  That's why I wanted to get
a list of all the marks and their interpretations under both of these
modes.

Thanks in advance.


-- 
 Lloyd Zusman
 ljz@asfast.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-14 14:00       ` Lloyd Zusman
@ 2003-05-14 17:26         ` Kevin Greiner
  2003-05-14 21:01           ` Lloyd Zusman
  0 siblings, 1 reply; 12+ messages in thread
From: Kevin Greiner @ 2003-05-14 17:26 UTC (permalink / raw)


Lloyd Zusman <ljz@asfast.com> writes:

> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>
>> Lloyd Zusman <ljz@asfast.com> writes:
>>>
>>> [ ... ]
>>>
>>> So now I see that I need to understand this interaction between
>>> gnus-downloadable-mark and the others, but nothing in the docs talks
>>> about this interaction.
>>>
>>> Could someone either describe this interaction, or else point me to the
>>> location of an explanation?
>>>
>>
>> All of the code is in gnus-sum.el but I don't think that will help.  The
>> downloadable mark is a manual mark.  If you haven't set it, it won't
>> be interferring with your code.  It might be better to simply post
>> your function then ask for comments.
>>
>> Kevin
>
> Well, it's actually a group of functions, and it's easier if I just
> explain verbally.

No. It's easier to zip them up and either post or email them.  I can't
help at all with just a verbal description.  To put it simply, the
agent isn't supposed to introduce the effect that you are describing.
That means that either a) there is an obscure bug in the agent or b)
there is a bug in your functions.  In either case, a verbal
description will not let me reproduce the error here.

> Before enabling gnus-agent, I used to set the `gnus-killed-mark' and
> call `gnus-summary-mark-as-processable' on any articles that I later on
> wanted to completely delete from a group.  I have my own function to do
> this, and I've bound it to a keystroke that's convenient to me.
>
> I wrote another function which gets the collection of processable
> articles that are marked as "killed", and then calls
> `gnus-summary-delete-article' on all of them.
>
> But now under gnus-agent, either the "processable" or "killed" mark
> doesn't work the same (I haven't debugged this yet, so I don't know
> which one functions differently ... or it could even be both), and so my
> second function doesn't return the same list of articles that I marked
> with my first function.
>
> I'm looking for a way to perform this same procedure that will work
> when gnus-agent is either on or off.  That's why I wanted to get
> a list of all the marks and their interpretations under both of these
> modes.
>
> Thanks in advance.
>
>
> -- 
>  Lloyd Zusman
>  ljz@asfast.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-14 17:26         ` Kevin Greiner
@ 2003-05-14 21:01           ` Lloyd Zusman
  2003-05-15  5:29             ` Kevin Greiner
  0 siblings, 1 reply; 12+ messages in thread
From: Lloyd Zusman @ 2003-05-14 21:01 UTC (permalink / raw)


Kevin Greiner <kgreiner@xpediantsolutions.com> writes:

> Lloyd Zusman <ljz@asfast.com> writes:
>
>> [ ... ]
>>
>> Well, it's actually a group of functions, and it's easier if I just
>> explain verbally.
>
> No. It's easier to zip them up and either post or email them.  I can't
> help at all with just a verbal description.  To put it simply, the
> agent isn't supposed to introduce the effect that you are describing.
> That means that either a) there is an obscure bug in the agent or b)
> there is a bug in your functions.  In either case, a verbal
> description will not let me reproduce the error here.

OK.  Here's the function that marks the article:

  (defun my-gnus-summary-mark-as-killed-forward ()
    (interactive)
    (save-excursion
      (gnus-summary-mark-article-as-read gnus-killed-mark))
    ;; I forget why I had to do this, but when I wrote this
    ;; deletion system, it didn't work unless I made the
    ;; article processable.  But that was eons ago ...
    (gnus-summary-mark-as-processable 1))

... and here's the function that deletes all the marked articles:

  (defun ljz-expunge-all-killed (&optional quiet)
    (interactive)
    (let ((headers gnus-newsgroup-headers)
          (gnus-summary-expunge-below 1)
          (group gnus-newsgroup-name)
          (count 0)
          count-string plural article header data mark temp-processable)
      (while headers
        (setq header (car headers))
        (setq headers (cdr headers))
        (setq article (mail-header-number header))
        (setq data (gnus-data-find article))
        (setq mark (gnus-data-mark data))
        (when (eq mark gnus-killed-mark)
          (setq count (1+ count))
          (setq temp-processable (append temp-processable (list article)))))
      (if temp-processable
          (let ((gnus-newsgroup-processable temp-processable))
            ;; Do a total and unequivocal delete
            (my-gnus-summary-delete-article))
        (unless quiet
          (message "No articles have been marked as killed")))))

... and this is the function that does the "total and unequivocal
delete":

  (defun my-gnus-summary-delete-article (&optional N)
    (interactive "P")
    (let ((nnimap-expiry-target 'delete)
          ;; force a prompt
          (gnus-novice-user t))
      (gnus-summary-delete-article N)))

When I'm not running under gnus-agent, I can mark the articles with the
first function and delete the ones that are marked with the second
function.  But when gnus-agent is set to t, the marking doesn't occur
when I run the first function, and the second function therefore doesn't
see anything to delete.


-- 
 Lloyd Zusman
 ljz@asfast.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-14 21:01           ` Lloyd Zusman
@ 2003-05-15  5:29             ` Kevin Greiner
  2003-05-15 13:23               ` Lloyd Zusman
  0 siblings, 1 reply; 12+ messages in thread
From: Kevin Greiner @ 2003-05-15  5:29 UTC (permalink / raw)


Lloyd Zusman <ljz@asfast.com> writes:

> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>
>> Lloyd Zusman <ljz@asfast.com> writes:
>>
>>> [ ... ]
>>>
>>> Well, it's actually a group of functions, and it's easier if I just
>>> explain verbally.
>>
>> No. It's easier to zip them up and either post or email them.  I can't
>> help at all with just a verbal description.  To put it simply, the
>> agent isn't supposed to introduce the effect that you are describing.
>> That means that either a) there is an obscure bug in the agent or b)
>> there is a bug in your functions.  In either case, a verbal
>> description will not let me reproduce the error here.
>
> OK.  Here's the function that marks the article:
>
>   (defun my-gnus-summary-mark-as-killed-forward ()
>     (interactive)
>     (save-excursion
>       (gnus-summary-mark-article-as-read gnus-killed-mark))
>     ;; I forget why I had to do this, but when I wrote this
>     ;; deletion system, it didn't work unless I made the
>     ;; article processable.  But that was eons ago ...
>     (gnus-summary-mark-as-processable 1))

Well I'll be, you may just be right.  The
gnus-summary-mark-article-as-read method actually performs several
actions to remove the article from various lists then calls
gnus-request-update-mark to have the backend update the mark.  I'm
going to assume (because I can't remember your ever stating this) that
when you say you're using the agent, you mean that you're unplugged
from the net.  If that is the case, the unplugged backend is nnagent
NOT the nnimap that you expect.  This means that the new mark is
queued for future synchronization.

I'm not at all familiar with the actual queuing code.  It is quite
possible that calling (gnus-data-find article) as shown below will
return some value other than gnus-killed-mark UNTIL synchronization
has occurred.

> ... and here's the function that deletes all the marked articles:
>
>   (defun ljz-expunge-all-killed (&optional quiet)
>     (interactive)
>     (let ((headers gnus-newsgroup-headers)
>           (gnus-summary-expunge-below 1)
>           (group gnus-newsgroup-name)
>           (count 0)
>           count-string plural article header data mark temp-processable)
>       (while headers
>         (setq header (car headers))
>         (setq headers (cdr headers))
>         (setq article (mail-header-number header))
>         (setq data (gnus-data-find article))
>         (setq mark (gnus-data-mark data))
>         (when (eq mark gnus-killed-mark)
>           (setq count (1+ count))
>           (setq temp-processable (append temp-processable (list article)))))
>       (if temp-processable
>           (let ((gnus-newsgroup-processable temp-processable))
>             ;; Do a total and unequivocal delete
>             (my-gnus-summary-delete-article))
>         (unless quiet
>           (message "No articles have been marked as killed")))))
>
> ... and this is the function that does the "total and unequivocal
> delete":
>
>   (defun my-gnus-summary-delete-article (&optional N)
>     (interactive "P")
>     (let ((nnimap-expiry-target 'delete)
>           ;; force a prompt
>           (gnus-novice-user t))
>       (gnus-summary-delete-article N)))
>
> When I'm not running under gnus-agent, I can mark the articles with the
> first function and delete the ones that are marked with the second
> function.  But when gnus-agent is set to t, the marking doesn't occur
> when I run the first function, and the second function therefore doesn't
> see anything to delete.

What happens if you use the process mark then call
gnus-summary-delete-article without a prefix?  Did it delete the
processable articles? Does this always work for you?

If it works, then these may be of use to you.  Pls note that I simply
typed these into the message.  These functions have not been compiled,
tested, or validated in any way.

(defvar ljz-delete-list nil)

(defun my-gnus-summary-mark-as-killed-forward ()
  (interactive)
  (save-excursion
    ;; Prepend the current article to ljz-delete-list
    (setq ljz-delete-list (cons (gnus-summary-article-number) ljz-delete-list))
    (gnus-summary-mark-article-as-read gnus-killed-mark)))

(defun ljz-expunge-all-killed (&optional quiet)
  (interactive)
  (cond (ljz-delete-list
         (let ((gnus-newsgroup-processable ljz-delete-list))
           (my-gnus-summary-delete-article)
           (setq ljz-delete-list nil)))
        (quiet
         nil)
        (t
         (message "No articles have been marked as killed"))))

The my-gnus-summary-delete-article is unchanged.

Kevin




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-15  5:29             ` Kevin Greiner
@ 2003-05-15 13:23               ` Lloyd Zusman
  2003-05-15 14:29                 ` Lloyd Zusman
  0 siblings, 1 reply; 12+ messages in thread
From: Lloyd Zusman @ 2003-05-15 13:23 UTC (permalink / raw)


Kevin Greiner <kgreiner@xpediantsolutions.com> writes:

> Lloyd Zusman <ljz@asfast.com> writes:
>
>> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>>
>>> Lloyd Zusman <ljz@asfast.com> writes:
>>>
>>>> [ ... ]
>>>>
>>>> Well, it's actually a group of functions, and it's easier if I just
>>>> explain verbally.
>>>
>>> No. It's easier to zip them up and either post or email them.  I can't
>>> help at all with just a verbal description.  To put it simply, the
>>> agent isn't supposed to introduce the effect that you are describing.
>>> That means that either a) there is an obscure bug in the agent or b)
>>> there is a bug in your functions.  In either case, a verbal
>>> description will not let me reproduce the error here.
>>
>> OK.  Here's the function that marks the article:
>>
>>   (defun my-gnus-summary-mark-as-killed-forward ()
>>     (interactive)
>>     (save-excursion
>>       (gnus-summary-mark-article-as-read gnus-killed-mark))
>>     ;; I forget why I had to do this, but when I wrote this
>>     ;; deletion system, it didn't work unless I made the
>>     ;; article processable.  But that was eons ago ...
>>     (gnus-summary-mark-as-processable 1))
>
> Well I'll be, you may just be right.  The
> gnus-summary-mark-article-as-read method actually performs several
> actions to remove the article from various lists then calls
> gnus-request-update-mark to have the backend update the mark.  I'm
> going to assume (because I can't remember your ever stating this) that
> when you say you're using the agent, you mean that you're unplugged
> from the net.  If that is the case, the unplugged backend is nnagent
> NOT the nnimap that you expect.  This means that the new mark is
> queued for future synchronization.

Well I'm not running unplugged ... I'm always using a live net
connection.  I recently started using gnus-agent solely because its
caching capabilities speed up nnimap.

So ... I think my solution might be to find a way to set a mark on an
article without going through all that logic in
gnus-summary-mark-articile-as-read.  In this case, I just want to put a
mark on an article, and that's it.

So now, I'm going to dig through gnus-sum.el and try to find a
lower level way to mark an article.


> I'm not at all familiar with the actual queuing code.  It is quite
> possible that calling (gnus-data-find article) as shown below will
> return some value other than gnus-killed-mark UNTIL synchronization
> has occurred.

That sounds likely.


>> [ ... ]
>
> What happens if you use the process mark then call
> gnus-summary-delete-article without a prefix?  Did it delete the
> processable articles? Does this always work for you?

I'll check this out a little later and post my results.


> If it works, then these may be of use to you.  Pls note that I simply
> typed these into the message.  These functions have not been compiled,
> tested, or validated in any way.
>
> [ ... etc. ... ]

Thank you very much.  I'll check this function out a little later, as
well.

Stay tuned ...


-- 
 Lloyd Zusman
 ljz@asfast.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-15 13:23               ` Lloyd Zusman
@ 2003-05-15 14:29                 ` Lloyd Zusman
  2003-05-15 15:18                   ` Kevin Greiner
  0 siblings, 1 reply; 12+ messages in thread
From: Lloyd Zusman @ 2003-05-15 14:29 UTC (permalink / raw)


I solved the problem.

I had bound the "@" key to my my-gnus-summmary-mark-as-killed-forward
function, but that binding was overridden to gnus-agent-toggle-mark when
the agent was running.

The reason I didn't catch this is because if I'm in the summary buffer
and type `C-h k' followed by the "@" key, gnus incorrectly tells me that
this key is still bound to my-gnus-summmary-mark-as-killed-forward.  For
some reason, the gnus-agent bindings that are in affect don't show up
when I query a key binding via `C-h k' in the summary buffer.

So once I realized this, all I needed to do was to install a
gnus-agent-summary-mode-hook which binds "@" to my function and "J@" to
gnus-agent-toggle-mark.  Now, everything works the way I want.

This begs the question as to why the gnus-agent keybindings don't show
up when a key is queried in the summary buffer, but now that everything
is working for me again, this is merely an academic question.  :)

Thank you very much for your help.


Lloyd Zusman <ljz@asfast.com> writes:

> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>
>> Lloyd Zusman <ljz@asfast.com> writes:
>>
>>> Kevin Greiner <kgreiner@xpediantsolutions.com> writes:
>>>
>>>> Lloyd Zusman <ljz@asfast.com> writes:
>>>>
>>>>> [ ... ]
>>>>>
>>>>> Well, it's actually a group of functions, and it's easier if I just
>>>>> explain verbally.
>>>>
>>>> No. It's easier to zip them up and either post or email them.  I can't
>>>> help at all with just a verbal description.  To put it simply, the
>>>> agent isn't supposed to introduce the effect that you are describing.
>>>> That means that either a) there is an obscure bug in the agent or b)
>>>> there is a bug in your functions.  In either case, a verbal
>>>> description will not let me reproduce the error here.
>>>
>>> OK.  Here's the function that marks the article:
>>>
>>>   (defun my-gnus-summary-mark-as-killed-forward ()
>>>     (interactive)
>>>     (save-excursion
>>>       (gnus-summary-mark-article-as-read gnus-killed-mark))
>>>     ;; I forget why I had to do this, but when I wrote this
>>>     ;; deletion system, it didn't work unless I made the
>>>     ;; article processable.  But that was eons ago ...
>>>     (gnus-summary-mark-as-processable 1))
>>
>> Well I'll be, you may just be right.  The
>> gnus-summary-mark-article-as-read method actually performs several
>> actions to remove the article from various lists then calls
>> gnus-request-update-mark to have the backend update the mark.  I'm
>> going to assume (because I can't remember your ever stating this) that
>> when you say you're using the agent, you mean that you're unplugged
>> from the net.  If that is the case, the unplugged backend is nnagent
>> NOT the nnimap that you expect.  This means that the new mark is
>> queued for future synchronization.
>
> Well I'm not running unplugged ... I'm always using a live net
> connection.  I recently started using gnus-agent solely because its
> caching capabilities speed up nnimap.
>
> So ... I think my solution might be to find a way to set a mark on an
> article without going through all that logic in
> gnus-summary-mark-articile-as-read.  In this case, I just want to put a
> mark on an article, and that's it.
>
> So now, I'm going to dig through gnus-sum.el and try to find a
> lower level way to mark an article.
>
>
>> I'm not at all familiar with the actual queuing code.  It is quite
>> possible that calling (gnus-data-find article) as shown below will
>> return some value other than gnus-killed-mark UNTIL synchronization
>> has occurred.
>
> That sounds likely.
>
>
>>> [ ... ]
>>
>> What happens if you use the process mark then call
>> gnus-summary-delete-article without a prefix?  Did it delete the
>> processable articles? Does this always work for you?
>
> I'll check this out a little later and post my results.
>
>
>> If it works, then these may be of use to you.  Pls note that I simply
>> typed these into the message.  These functions have not been compiled,
>> tested, or validated in any way.
>>
>> [ ... etc. ... ]
>
> Thank you very much.  I'll check this function out a little later, as
> well.
>
> Stay tuned ...
>
>
> -- 
>  Lloyd Zusman
>  ljz@asfast.com

-- 
 Lloyd Zusman
 ljz@asfast.com



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Canonical list of marks with and without gnus-agent
  2003-05-15 14:29                 ` Lloyd Zusman
@ 2003-05-15 15:18                   ` Kevin Greiner
  0 siblings, 0 replies; 12+ messages in thread
From: Kevin Greiner @ 2003-05-15 15:18 UTC (permalink / raw)


Lloyd Zusman <ljz@asfast.com> writes:

> I solved the problem.
>
> I had bound the "@" key to my my-gnus-summmary-mark-as-killed-forward
> function, but that binding was overridden to gnus-agent-toggle-mark when
> the agent was running.
>
> The reason I didn't catch this is because if I'm in the summary buffer
> and type `C-h k' followed by the "@" key, gnus incorrectly tells me that
> this key is still bound to my-gnus-summmary-mark-as-killed-forward.  For
> some reason, the gnus-agent bindings that are in affect don't show up
> when I query a key binding via `C-h k' in the summary buffer.
>
> So once I realized this, all I needed to do was to install a
> gnus-agent-summary-mode-hook which binds "@" to my function and "J@" to
> gnus-agent-toggle-mark.  Now, everything works the way I want.
>
> This begs the question as to why the gnus-agent keybindings don't show
> up when a key is queried in the summary buffer, but now that everything
> is working for me again, this is merely an academic question.  :)
>

:)) :))

Thanks for the update.

Kevin



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2003-05-15 15:18 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-12 11:09 Canonical list of marks with and without gnus-agent Lloyd Zusman
2003-05-12 14:42 ` Kevin Greiner
2003-05-12 15:25   ` Lloyd Zusman
2003-05-12 19:18     ` Kevin Greiner
2003-05-14 14:00       ` Lloyd Zusman
2003-05-14 17:26         ` Kevin Greiner
2003-05-14 21:01           ` Lloyd Zusman
2003-05-15  5:29             ` Kevin Greiner
2003-05-15 13:23               ` Lloyd Zusman
2003-05-15 14:29                 ` Lloyd Zusman
2003-05-15 15:18                   ` Kevin Greiner
2003-05-14  5:01 ` Michael R. Wolf

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