{"thread":{"id":"12738","subject":"[PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","startedAt":"2008-03-18T05:22:36Z","lastAt":"2008-03-26T23:42:16Z","messageCount":11,"participants":["Christian Couder","Junio C Hamano","Xavier Maillard"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"72344","messageId":"20080318062236.7b5e515f.chriscool@tuxfamily.org","threadId":"12738","inReplyTo":null,"subject":"[PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Christian Couder","fromEmail":"chriscool@tuxfamily.org","sentAt":"2008-03-18T05:22:36Z","receivedAt":"2008-03-18T05:22:36Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"This patch implements reading values from \"man.<tool>.path\"\nconfiguration variables, and using these values as pathes to\nthe man viewer <tool>s when lauching them.\n\nThis makes it possible to use different version of the tools\nthan the one on the current PATH, or maybe a custom script.\n\nIn this patch we also try to launch \"konqueror\" using\n\"kfmclient\" even if a path to a konqueror binary is given\nin \"man.konqueror.path\".\n\nAnd we add warnings after \"exec\" calls in case of exec errors. \n\nSigned-off-by: Christian Couder <chriscool@tuxfamily.org>\n---\n help.c |   97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--\n 1 files changed, 94 insertions(+), 3 deletions(-)\n\ndiff --git a/help.c b/help.c\nindex ecaca77..fd88c22 100644\n--- a/help.c\n+++ b/help.c\n@@ -15,6 +15,12 @@ static struct man_viewer_list {\n \tstruct man_viewer_list *next;\n } *man_viewer_list;\n \n+static struct man_viewer_info_list {\n+\tstruct man_viewer_info_list *next;\n+\tconst char *info;\n+\tchar name[FLEX_ARRAY];\n+} *man_viewer_info_list;\n+\n enum help_format {\n \tHELP_FORMAT_MAN,\n \tHELP_FORMAT_INFO,\n@@ -48,6 +54,18 @@ static enum help_format parse_help_format(const char *format)\n \tdie(\"unrecognized help format '%s'\", format);\n }\n \n+static const char *get_man_viewer_info(const char *name)\n+{\n+\tstruct man_viewer_info_list *viewer;\n+\n+\tfor (viewer = man_viewer_info_list; viewer; viewer = viewer->next)\n+\t{\n+\t\tif (!strcasecmp(name, viewer->name))\n+\t\t\treturn viewer->info;\n+\t}\n+\treturn NULL;\n+}\n+\n static int check_emacsclient_version(void)\n {\n \tstruct strbuf buffer = STRBUF_INIT;\n@@ -99,8 +117,13 @@ static void exec_woman_emacs(const char *page)\n \tif (!check_emacsclient_version()) {\n \t\t/* This works only with emacsclient version >= 22. */\n \t\tstruct strbuf man_page = STRBUF_INIT;\n+\t\tconst char *path = get_man_viewer_info(\"woman\");\n+\n+\t\tif (!path)\n+\t\t\tpath = \"emacsclient\";\n \t\tstrbuf_addf(&man_page, \"(woman \\\"%s\\\")\", page);\n-\t\texeclp(\"emacsclient\", \"emacsclient\", \"-e\", man_page.buf, NULL);\n+\t\texeclp(path, \"emacsclient\", \"-e\", man_page.buf, NULL);\n+\t\twarning(\"failed to exec '%s': %s\", path, strerror(errno));\n \t}\n }\n \n@@ -109,14 +132,35 @@ static void exec_man_konqueror(const char *page)\n \tconst char *display = getenv(\"DISPLAY\");\n \tif (display && *display) {\n \t\tstruct strbuf man_page = STRBUF_INIT;\n+\t\tconst char *path = get_man_viewer_info(\"konqueror\");\n+\n+\t\t/* It's simpler to launch konqueror using kfmclient. */\n+\t\tif (path) {\n+\t\t\tconst char *file = strrchr(path, '/') + 1;\n+\t\t\tif (!strcmp(file, \"konqueror\")) {\n+\t\t\t\tchar *new = xstrdup(path);\n+\t\t\t\tchar *dest = strrchr(new, '/') + 1;\n+\n+\t\t\t\t/* strlen(\"konqueror\") == strlen(\"kfmclient\") */\n+\t\t\t\tstrcpy(dest, \"kfmclient\");\n+\t\t\t\tpath = new;\n+\t\t\t}\n+\t\t} else\n+\t\t\tpath = \"kfmclient\";\n \t\tstrbuf_addf(&man_page, \"man:%s(1)\", page);\n-\t\texeclp(\"kfmclient\", \"kfmclient\", \"newTab\", man_page.buf, NULL);\n+\t\texeclp(path, \"kfmclient\", \"newTab\", man_page.buf, NULL);\n+\t\twarning(\"failed to exec '%s': %s\", path, strerror(errno));\n \t}\n }\n \n static void exec_man_man(const char *page)\n {\n-\texeclp(\"man\", \"man\", page, NULL);\n+\tconst char *path = get_man_viewer_info(\"man\");\n+\n+\tif (!path)\n+\t\tpath = \"man\";\n+\texeclp(path, \"man\", page, NULL);\n+\twarning(\"failed to exec '%s': %s\", path, strerror(errno));\n }\n \n static void do_add_man_viewer(void (*exec)(const char *))\n@@ -144,6 +188,50 @@ static int add_man_viewer(const char *value)\n \treturn 0;\n }\n \n+static void do_add_man_viewer_info(const char *name,\n+\t\t\t\t   size_t len,\n+\t\t\t\t   const char *value)\n+{\n+\tstruct man_viewer_info_list *new = xcalloc(1, sizeof(*new) + len + 1);\n+\n+\tstrncpy(new->name, name, len);\n+\tnew->info = xstrdup(value);\n+\tnew->next = man_viewer_info_list;\n+\tman_viewer_info_list = new;\n+}\n+\n+static int add_man_viewer_path(const char *name,\n+\t\t\t       size_t len,\n+\t\t\t       const char *value)\n+{\n+\tif (!strncasecmp(\"man\", name, len) ||\n+\t    !strncasecmp(\"woman\", name, len) ||\n+\t    !strncasecmp(\"konqueror\", name, len))\n+\t\tdo_add_man_viewer_info(name, len, value);\n+\telse\n+\t\twarning(\"'%s': path for unsupported man viewer.\", name);\n+\n+\treturn 0;\n+}\n+\n+static int add_man_viewer_info(const char *var, const char *value)\n+{\n+\tconst char *name = var + 4;\n+\tconst char *subkey = strrchr(name, '.');\n+\n+\tif (!subkey)\n+\t\treturn error(\"Config with no key for man viewer: %s\", name);\n+\n+\tif (!strcmp(subkey, \".path\")) {\n+\t\tif (!value)\n+\t\t\treturn config_error_nonbool(var);\n+\t\treturn add_man_viewer_path(name, subkey - name, value);\n+\t}\n+\n+\twarning(\"'%s': unsupported man viewer sub key.\", subkey);\n+\treturn 0;\n+}\n+\n static int git_help_config(const char *var, const char *value)\n {\n \tif (!strcmp(var, \"help.format\")) {\n@@ -157,6 +245,9 @@ static int git_help_config(const char *var, const char *value)\n \t\t\treturn config_error_nonbool(var);\n \t\treturn add_man_viewer(value);\n \t}\n+\tif (!prefixcmp(var, \"man.\"))\n+\t\treturn add_man_viewer_info(var, value);\n+\n \treturn git_default_config(var, value);\n }\n \n-- \n1.5.4.4.685.g3070a.dirty\n"},{"id":"72364","messageId":"7vabkv7t4c.fsf@gitster.siamese.dyndns.org","threadId":"12738","inReplyTo":"20080318062236.7b5e515f.chriscool@tuxfamily.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-03-18T19:02:43Z","receivedAt":"2008-03-18T19:02:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Christian Couder <chriscool@tuxfamily.org> writes:\n\n> This makes it possible to use different version of the tools\n> than the one on the current PATH, or maybe a custom script.\n>\n> In this patch we also try to launch \"konqueror\" using\n> \"kfmclient\" even if a path to a konqueror binary is given\n> in \"man.konqueror.path\".\n\nIt may be true that allowing customizable paths may be more useful than\nnot allowing them, so I do not have fundamental objection to this\nenhancement.  However, I doubt this s/konqueror/kfmclient/ is a good idea.\n\nAs a general rule, if you allow the user to explicitly say \"instead of\nwhat you would normally use, use _this_\", you should not try to outsmart\nthe user by using something else that you derived from that \"_this_\" the\nuser gave you.\n\nIf the user wants to use kfmclient, then the user can say so.  If the user\nwants to really launch konq instead of using kfmclient for whatever\nreason, the outsmarting code will interfere and make it impossible.\n"},{"id":"72494","messageId":"200803200849.14664.chriscool@tuxfamily.org","threadId":"12738","inReplyTo":"7vabkv7t4c.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Christian Couder","fromEmail":"chriscool@tuxfamily.org","sentAt":"2008-03-20T07:49:14Z","receivedAt":"2008-03-20T07:49:14Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Le mardi 18 mars 2008, Junio C Hamano a écrit :\n> Christian Couder <chriscool@tuxfamily.org> writes:\n> > This makes it possible to use different version of the tools\n> > than the one on the current PATH, or maybe a custom script.\n> >\n> > In this patch we also try to launch \"konqueror\" using\n> > \"kfmclient\" even if a path to a konqueror binary is given\n> > in \"man.konqueror.path\".\n>\n> It may be true that allowing customizable paths may be more useful than\n> not allowing them, so I do not have fundamental objection to this\n> enhancement.  However, I doubt this s/konqueror/kfmclient/ is a good\n> idea.\n>\n> As a general rule, if you allow the user to explicitly say \"instead of\n> what you would normally use, use _this_\", you should not try to outsmart\n> the user by using something else that you derived from that \"_this_\" the\n> user gave you.\n>\n> If the user wants to use kfmclient, then the user can say so.  \n\nYes, but if the user just wants to use a konq that is not in the path, then \nthe konq specified with \"man.konqueror.path\" should behave the same as when \nusing the konq in the path. That means that we should also try to open a \nnew tab on an existing konq, and this will not be the case if we \nuse \"/path/konqueror URL\" instead of \"/path/kfmclient newTab URL\".\n\n> If the\n> user wants to really launch konq instead of using kfmclient for whatever\n> reason, the outsmarting code will interfere and make it impossible.\n\nI think it will still be possible using custom commands. I am working on the \npatch. It should be ready in a few days.\n\nThanks,\nChristian.\n"},{"id":"72526","messageId":"7vtzj1wd7u.fsf@gitster.siamese.dyndns.org","threadId":"12738","inReplyTo":"200803200849.14664.chriscool@tuxfamily.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-03-20T16:51:33Z","receivedAt":"2008-03-20T16:51:33Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Christian Couder <chriscool@tuxfamily.org> writes:\n\n> Yes, but if the user just wants to use a konq that is not in the path, then \n> the konq specified with \"man.konqueror.path\" should behave the same as when \n> using the konq in the path. That means that we should also try to open a \n> new tab on an existing konq, and this will not be the case if we \n> use \"/path/konqueror URL\" instead of \"/path/kfmclient newTab URL\".\n\nIf that inconsistency bothers you, you probably should rename the built-in\nkonqueror support to \"kfmclient\", which is more honest approach, I would\nthink.\n"},{"id":"72547","messageId":"200803210100.m2L10Emt031103@localhost.localdomain","threadId":"12738","inReplyTo":"7vabkv7t4c.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Xavier Maillard","fromEmail":"xma@gnu.org","sentAt":"2008-03-21T01:00:14Z","receivedAt":"2008-03-21T01:00:14Z","isPatch":true,"sender":{"key":"xma@gnu.org","avatar":null},"body":"\n   As a general rule, if you allow the user to explicitly say \"instead of\n   what you would normally use, use _this_\", you should not try to outsmart\n   the user by using something else that you derived from that \"_this_\" the\n   user gave you.\n\nI second that.\n\n\tXavier\n-- \nhttp://www.gnu.org\nhttp://www.april.org\nhttp://www.lolica.org\n"},{"id":"72581","messageId":"200803210823.47899.chriscool@tuxfamily.org","threadId":"12738","inReplyTo":"7vtzj1wd7u.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Christian Couder","fromEmail":"chriscool@tuxfamily.org","sentAt":"2008-03-21T07:23:47Z","receivedAt":"2008-03-21T07:23:47Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Le jeudi 20 mars 2008, Junio C Hamano a écrit :\n> Christian Couder <chriscool@tuxfamily.org> writes:\n> > Yes, but if the user just wants to use a konq that is not in the path,\n> > then the konq specified with \"man.konqueror.path\" should behave the\n> > same as when using the konq in the path. That means that we should also\n> > try to open a new tab on an existing konq, and this will not be the\n> > case if we use \"/path/konqueror URL\" instead of \"/path/kfmclient newTab\n> > URL\".\n>\n> If that inconsistency bothers you, you probably should rename the\n> built-in konqueror support to \"kfmclient\", which is more honest approach,\n> I would think.\n\nIt's perhaps more honest, but kfmclient is not as well known as konqueror.\n\nIsn't a documentation patch like this enough:\n\n------8<---------\n\ndiff --git a/Documentation/git-help.txt b/Documentation/git-help.txt\nindex 4c6cb21..0ece412 100644\n--- a/Documentation/git-help.txt\n+++ b/Documentation/git-help.txt\n@@ -87,7 +87,8 @@ is chosen. Only the following values are currently \nsupported:\n * \"man\": use the 'man' program as usual,\n * \"woman\": use 'emacsclient' to launch the \"woman\" mode in emacs\n (this only works starting with emacsclient versions 22),\n-* \"konqueror\": use a man KIO slave in konqueror.\n+* \"konqueror\": use kfmclient to open the man page in a new konqueror\n+tab.\n\n Multiple values may be given to this configuration variable. Their\n corresponding programs will be tried in the order listed in the\n\n------8<---------\n\nI also wonder if you want some changes in \"git-web--browse.sh\" as there is \nthe same logic ?\n\nThanks,\nChristian.\n"},{"id":"72583","messageId":"7vd4poqwu6.fsf@gitster.siamese.dyndns.org","threadId":"12738","inReplyTo":"200803210823.47899.chriscool@tuxfamily.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-03-21T08:56:33Z","receivedAt":"2008-03-21T08:56:33Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Christian Couder <chriscool@tuxfamily.org> writes:\n\n> Le jeudi 20 mars 2008, Junio C Hamano a écrit :\n> ...\n>> If that inconsistency bothers you, you probably should rename the\n>> built-in konqueror support to \"kfmclient\", which is more honest approach,\n>> I would think.\n>\n> It's perhaps more honest, but kfmclient is not as well known as konqueror.\n>\n> Isn't a documentation patch like this enough:\n\nI dunno.  I am not a KDE use to begin with.\n\nBut I am somewhat uncomfortable with this kind of magic, and very much\nmore so with basing the magic on the name of a binary.\n\nFor example, if a distro offers two versions of konq to co-exist on the\nsame system as konqueror-3 and konqueror-4 (with the usual symlink tricks\n/etc/alternatives/konqueror -> konqueror-3 and /usr/bin/konqueror ->\n/etc/alternatives/konqueror to make one version the systemwide default),\npeople who want a particular version may say /usr/bin/konqueror-4 and\nwould get frustrated to see kfmclient magic would not kick in.  By taking\nhonest route without magic, you would not have to worry about such\npotential confusion.\n"},{"id":"72716","messageId":"200803230100.m2N104Gb025279@localhost.localdomain","threadId":"12738","inReplyTo":"200803210823.47899.chriscool@tuxfamily.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Xavier Maillard","fromEmail":"xma@gnu.org","sentAt":"2008-03-23T01:00:04Z","receivedAt":"2008-03-23T01:00:04Z","isPatch":true,"sender":{"key":"xma@gnu.org","avatar":null},"body":"\n   Le jeudi 20 mars 2008, Junio C Hamano a écrit :\n   > Christian Couder <chriscool@tuxfamily.org> writes:\n   > > Yes, but if the user just wants to use a konq that is not in the path,\n   > > then the konq specified with \"man.konqueror.path\" should behave the\n   > > same as when using the konq in the path. That means that we should also\n   > > try to open a new tab on an existing konq, and this will not be the\n   > > case if we use \"/path/konqueror URL\" instead of \"/path/kfmclient newTab\n   > > URL\".\n   >\n   > If that inconsistency bothers you, you probably should rename the\n   > built-in konqueror support to \"kfmclient\", which is more honest approach,\n   > I would think.\n\n   It's perhaps more honest, but kfmclient is not as well known as konqueror.\n\nI am not a KDE user at all and it is true that outside from here,\nkonqueror is a well known program whereas kfmlient is not (by the\nway what is exactly kfmclient ?).\n\n   Isn't a documentation patch like this enough:\n\n   ------8<---------\n\n   diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt\n   index 4c6cb21..0ece412 100644\n   --- a/Documentation/git-help.txt\n   +++ b/Documentation/git-help.txt\n   @@ -87,7 +87,8 @@ is chosen. Only the following values are currently \n   supported:\n    * \"man\": use the 'man' program as usual,\n    * \"woman\": use 'emacsclient' to launch the \"woman\" mode in emacs\n    (this only works starting with emacsclient versions 22),\n   -* \"konqueror\": use a man KIO slave in konqueror.\n   +* \"konqueror\": use kfmclient to open the man page in a new konqueror\n   +tab.\n\nI find this clearer at user point of view than the older entry.\n\nRegards,\n\n\tXavier\n-- \nhttp://www.gnu.org\nhttp://www.april.org\nhttp://www.lolica.org\n"},{"id":"73002","messageId":"200803250719.02044.chriscool@tuxfamily.org","threadId":"12738","inReplyTo":"7vd4poqwu6.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Christian Couder","fromEmail":"chriscool@tuxfamily.org","sentAt":"2008-03-25T06:19:01Z","receivedAt":"2008-03-25T06:19:01Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Le vendredi 21 mars 2008, Junio C Hamano a écrit :\n> Christian Couder <chriscool@tuxfamily.org> writes:\n> >\n> > It's perhaps more honest, but kfmclient is not as well known as\n> > konqueror.\n> >\n> > Isn't a documentation patch like this enough:\n>\n> I dunno.  I am not a KDE use to begin with.\n>\n> But I am somewhat uncomfortable with this kind of magic, and very much\n> more so with basing the magic on the name of a binary.\n\nI think in this case it should be ok if it's properly documented.\n\nIt's good to have a consistent user interface with meaningfull names for the \navailable options. And we are right to try to do the same thing as when \nbrowsing an HTML man page.\n\nIn the documentation patch for \"man.<tool>.cmd\" that I will send just after \nthis email, there is also enough information to understand what is going on \nand to find a good way around the magic if needed.\n\nI can send the same kind of documentation patch for git-web--browse too, so \nwe are completely consistent.\n\n> For example, if a distro offers two versions of konq to co-exist on the\n> same system as konqueror-3 and konqueror-4 (with the usual symlink tricks\n> /etc/alternatives/konqueror -> konqueror-3 and /usr/bin/konqueror ->\n> /etc/alternatives/konqueror to make one version the systemwide default),\n> people who want a particular version may say /usr/bin/konqueror-4 and\n> would get frustrated to see kfmclient magic would not kick in.  By taking\n> honest route without magic, you would not have to worry about such\n> potential confusion.\n\nIn my experience KDE people have never changed the binary names like that. \nThey just use (or advice users to use) different directory names and change \nenvironment variables (QTDIR, KDEDIR and maybe others) to point to the new \ndirs.\n\nThanks,\nChristian.\n"},{"id":"73004","messageId":"7vzlsnpaj3.fsf@gitster.siamese.dyndns.org","threadId":"12738","inReplyTo":"200803250719.02044.chriscool@tuxfamily.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-03-25T06:45:04Z","receivedAt":"2008-03-25T06:45:04Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Christian Couder <chriscool@tuxfamily.org> writes:\n\n> Le vendredi 21 mars 2008, Junio C Hamano a écrit :\n> ...\n>> For example, if a distro offers two versions of konq to co-exist on the\n>> same system as konqueror-3 and konqueror-4 (with the usual symlink tricks\n>> /etc/alternatives/konqueror -> konqueror-3 and /usr/bin/konqueror ->\n>> /etc/alternatives/konqueror to make one version the systemwide default),\n>> people who want a particular version may say /usr/bin/konqueror-4 and\n>> would get frustrated to see kfmclient magic would not kick in.  By taking\n>> honest route without magic, you would not have to worry about such\n>> potential confusion.\n>\n> In my experience KDE people have never changed the binary names like that. \n> They just use (or advice users to use) different directory names and change \n> environment variables (QTDIR, KDEDIR and maybe others) to point to the new \n> dirs.\n\nI was more worried about what distro people do, not \"KDE people\".  For\nexample, Contents-i386.gz file from an unnamed distribution lists a\nhandful /usr/bin/k*[0-9] files with their counterparts without the\ntrailing digit.\n"},{"id":"73172","messageId":"200803270042.16822.chriscool@tuxfamily.org","threadId":"12738","inReplyTo":"7vzlsnpaj3.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH 1/2] help: use man viewer path from \"man.<tool>.path\" config var","fromName":"Christian Couder","fromEmail":"chriscool@tuxfamily.org","sentAt":"2008-03-26T23:42:16Z","receivedAt":"2008-03-26T23:42:16Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Le mardi 25 mars 2008, Junio C Hamano a écrit :\n> Christian Couder <chriscool@tuxfamily.org> writes:\n> >\n> > In my experience KDE people have never changed the binary names like\n> > that. They just use (or advice users to use) different directory names\n> > and change environment variables (QTDIR, KDEDIR and maybe others) to\n> > point to the new dirs.\n>\n> I was more worried about what distro people do, not \"KDE people\".  For\n> example, Contents-i386.gz file from an unnamed distribution lists a\n> handful /usr/bin/k*[0-9] files with their counterparts without the\n> trailing digit.\n\nYou are right. This is probably because of the current switch from KDE3 to \nKDE4. But as I could find no \"konqueror4\", we are probably safe for at \nleast a few years.\n\nBy the way I just sent a documentation patch to add a \"Note about konqueror\" \nin \"Documentation/git-web--browse.txt\", to be consistent with the note \nin \"Documentation/git-help.txt\".\n\nThanks,\nChristian.\n"}]}