[PATCH] interface responsiveness take 2

Pavel Roskin proski at gnu.org
Thu Sep 26 17:14:06 UTC 2002


Hello, Jindrich!

> here is a better version of the previous patch, fixed and separated.

Thank you very much!

> 1) copy.patch - fixes the event handling in copy file dialog

I have applied this patch.  Yes, it really helps.

> 2) findfile.patch - adds additional event checking into the grepping 
> function to make the dialog react during grepping inside a file (I agree 
> this is a bit hackish but seems to work and without threads it's hard to 
> make a better solution)

The problem really needs to be addressed, but dlg_process_event() looks
wrong here.  I need some time to evaluate possible alternatives.  That's
what I meant when I wrote that I don't want the dialog code to be spread
all over the sources.

> 3) vfsopen.patch - makes it possible to interrupt file load operation on 
> vfs (typically slow ftp & accidentally pressing f3 on a large file)

If you add enable_interrupt_key(), shouldn't you also add 
disable_interrupt_key() somewhere?

The the patch for ext.c cannot be applied - that code was completely 
rewritten.  I think that the new code should be fine.  But ...

If I only apply the patch for vfs/direntry.c to the CVS version, and 
then try to open an file on FTP in the viewer, then the first Ctrl-C 
causes mc to restart loading.  Only the second Ctrl-C stops loading.

I'll have a closer look later.

> 4) viewintr.patch - Ctrl-G during file load without MMAP reverts to 
> growing view (test - eg. NTFS partition); get_bottom_first in growing 
> view can be interrupted (test - M-! ls -lR on root and pressing End); 
> search can be interrupted

That's a big patch, it will take some time to review.  You could speed up 
this process by writing a better explanation.

I don't think that any user will be able to "guess" that:
1) mmap has failed
1) s/he needs to switch to the growing view
2) Ctrl-G is the key to do it

> 5) viewsearch.patch - block_search modified to use a lookup table to 
> lower comparison count

I believe you have mixed two things here - interrupt handling and the
lookup table.

-- 
Regards,
Pavel Roskin




More information about the mc-devel mailing list