Le samedi 1 mars 2008, Junio C Hamano a écrit : > Xavier Maillard <xma@xxxxxxx> writes: > > This patch makes it possible to view man pages using other tools > > than the "man" program. It also implements support for emacs' > > "woman" and konqueror with the man KIO slave to view man pages. > > > > Note that "emacsclient" is used with option "-e" to launch "woman" > > on GNU emacs and this works only on versions >= 22. > > > > Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx> > > Amended-by: Xavier Maillard <xma@xxxxxxx> > > When you do something like this, please CC the original author > to keep him in the loop. Yes please. > I really do not think doing it this way would scale. What if > somebody prefers konq under X, and otherwise woman but wants to > fall back to man? > > I do not think checking emacsclient version _every time_ is a > good idea either, but for the sake of discussing an alternative > approach, let's say that is fine. > > How about allowing multi-valued man.viewer like this: > > [man] > viewer = woman > viewer = konqueror > viewer = man I tried the above in my .git/config and I get: $ git config man.viewer woman error: More than one value for the key man.viewer: konqueror error: More than one value for the key man.viewer: man so I guess this can work only in C. > and have: > > static struct man_viewer { > char *name; > void (*exec)(const char *); > } viewers[] = { > { "woman", exec_woman }, > { "konqueror", exec_konqueror }, > { "man", exec_man }, > { NULL, }, > }; > > Then you can iterate the man.viewer values, ask the viewer's > exec() function to show the page (or return when it is not > in an environment that it can be useful). > > show_man_page() would become: > > for (each viewer in user's config) > viewer.exec(page); /* will return when unable */ > die("no man viewer handled the request"); Great idea, I will see if I can do that in some latter patches. Thanks, Christian. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html