discuss@mandoc.bsd.lv
 help / color / mirror / Atom feed
* "cannot parse date" for a seemingly valid .Dd parameter
@ 2014-08-27 14:58 LÉVAI Dániel
  2014-08-27 15:07 ` Kristaps Dzonsons
  0 siblings, 1 reply; 13+ messages in thread
From: LÉVAI Dániel @ 2014-08-27 14:58 UTC (permalink / raw)
  To: discuss

Hi!

$ mdocml -V
mandoc 1.13.1

For a .Dd line eg. like this:

.Dd August 27, 2014

mandoc tells me this:
WARNING: cannot parse date, using it verbatim: August 27, 2014

This is on Linux, btw. I don't remember 1.12.x having any issues with
this kind of date, but I may be wrong.

Funny thing is, that on OpenBSD 5.5 with mandoc 1.13.0, this date format
is accepted.


Daniel

-- 
LÉVAI Dániel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-27 14:58 "cannot parse date" for a seemingly valid .Dd parameter LÉVAI Dániel
@ 2014-08-27 15:07 ` Kristaps Dzonsons
  2014-08-27 15:15   ` LÉVAI Dániel
  0 siblings, 1 reply; 13+ messages in thread
From: Kristaps Dzonsons @ 2014-08-27 15:07 UTC (permalink / raw)
  To: discuss

Daniel,

Is your locale set?  This format works fine in HEAD, both on OpenBSD and 
Linux (Debian testing).

Best,

Kristaps
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-27 15:07 ` Kristaps Dzonsons
@ 2014-08-27 15:15   ` LÉVAI Dániel
  2014-08-28  0:43     ` Ingo Schwarze
  0 siblings, 1 reply; 13+ messages in thread
From: LÉVAI Dániel @ 2014-08-27 15:15 UTC (permalink / raw)
  To: discuss

On sze, aug 27, 2014 at 17:07:43 +0200, Kristaps Dzonsons wrote:
> Daniel,
> 
> Is your locale set?  This format works fine in HEAD, both on OpenBSD and
> Linux (Debian testing).

Yes, that was my first suspicion:
$ locale
LANG=en_US.UTF-8
LC_CTYPE=hu_HU.UTF-8
LC_NUMERIC=hu_HU.UTF-8
LC_TIME=hu_HU.UTF-8
LC_COLLATE=hu_HU.UTF-8
LC_MONETARY=hu_HU.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=hu_HU.UTF-8
LC_NAME=hu_HU.UTF-8
LC_ADDRESS=hu_HU.UTF-8
LC_TELEPHONE=hu_HU.UTF-8
LC_MEASUREMENT=hu_HU.UTF-8
LC_IDENTIFICATION=hu_HU.UTF-8
LC_ALL=


Where can I get hold of the portable version's source repo?


Daniel

-- 
LÉVAI Dániel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-27 15:15   ` LÉVAI Dániel
@ 2014-08-28  0:43     ` Ingo Schwarze
  2014-08-28  8:39       ` LÉVAI Dániel
  0 siblings, 1 reply; 13+ messages in thread
From: Ingo Schwarze @ 2014-08-28  0:43 UTC (permalink / raw)
  To: LÉVAI Dániel; +Cc: discuss

Hi Daniel,

LÉVAI Dániel wrote on Wed, Aug 27, 2014 at 05:15:13PM +0200:

> On sze, aug 27, 2014 at 17:07:43 +0200, Kristaps Dzonsons wrote:

>> Is your locale set?  This format works fine in HEAD,
>> both on OpenBSD and Linux (Debian testing).

> Yes, that was my first suspicion:
> $ locale
> LANG=en_US.UTF-8
> LC_CTYPE=hu_HU.UTF-8
> LC_NUMERIC=hu_HU.UTF-8
> LC_TIME=hu_HU.UTF-8
> LC_COLLATE=hu_HU.UTF-8
> LC_MONETARY=hu_HU.UTF-8
> LC_MESSAGES=en_US.UTF-8
> LC_PAPER=hu_HU.UTF-8
> LC_NAME=hu_HU.UTF-8
> LC_ADDRESS=hu_HU.UTF-8
> LC_TELEPHONE=hu_HU.UTF-8
> LC_MEASUREMENT=hu_HU.UTF-8
> LC_IDENTIFICATION=hu_HU.UTF-8
> LC_ALL=

After some code reading and some experimentation, i'm still quite
unsure where the problem might lie, i fail to reproduce but need
additional information.  Please apply the debugging patch appended
below (not intended for commit) to anoncvs HEAD, and run:

 $ ./configure
 $ make

Then please show me the output of the following sequence of commands:

 $ locale
 $ ./mandoc -Wall test.1 > /dev/null
 $ ./mandoc -Wall -Tlocale test.1 > /dev/null

with a suitable file test.1 exhibiting the problem.

Please also show me the config.h generated from ./configure.

> Where can I get hold of the portable version's source repo?

 $ cvs -d anoncvs@mdocml.bsd.lv:/cvs mdocml

Thanks,
  Ingo


diff --git a/main.c b/main.c
index e0380e9..9102143 100644
--- a/main.c
+++ b/main.c
@@ -24,6 +24,7 @@
 #include <ctype.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <locale.h>
 #include <stdio.h>
 #include <stdint.h>
 #include <stdlib.h>
@@ -119,6 +120,9 @@ main(int argc, char *argv[])
 	int		 options;
 	int		 c;
 
+	fprintf(stderr, "main: LC_TIME = %s\n",
+	    setlocale(LC_TIME, NULL));
+
 	progname = strrchr(argv[0], '/');
 	if (progname == NULL)
 		progname = argv[0];
diff --git a/mandoc.c b/mandoc.c
index be3e264..090f948 100644
--- a/mandoc.c
+++ b/mandoc.c
@@ -23,6 +23,7 @@
 #include <ctype.h>
 #include <errno.h>
 #include <limits.h>
+#include <locale.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -455,8 +456,11 @@ a2time(time_t *t, const char *fmt, const char *p)
 
 	memset(&tm, 0, sizeof(struct tm));
 
+	fprintf(stderr, "a2time: LC_TIME = %s\n",
+	    setlocale(LC_TIME, NULL));
 	pp = NULL;
 #if HAVE_STRPTIME
+	fprintf(stderr, "a2time: calling strptime()\n");
 	pp = strptime(p, fmt, &tm);
 #endif
 	if (NULL != pp && '\0' == *pp) {
diff --git a/term_ascii.c b/term_ascii.c
index ab62902..e1cf67c 100644
--- a/term_ascii.c
+++ b/term_ascii.c
@@ -81,9 +81,13 @@ ascii_init(enum termenc enc, char *outopts)
 
 #if HAVE_WCHAR
 	if (TERMENC_ASCII != enc) {
+		fprintf(stderr, "ascii_init: LC_TIME = %s\n",
+		    setlocale(LC_TIME, NULL));
 		v = TERMENC_LOCALE == enc ?
 		    setlocale(LC_ALL, "") :
 		    setlocale(LC_CTYPE, "en_US.UTF-8");
+		fprintf(stderr, "ascii_init: LC_TIME = %s\n",
+		    setlocale(LC_TIME, NULL));
 		if (NULL != v && MB_CUR_MAX > 1) {
 			p->enc = enc;
 			p->advance = locale_advance;
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-28  0:43     ` Ingo Schwarze
@ 2014-08-28  8:39       ` LÉVAI Dániel
  2014-08-28 16:11         ` Ingo Schwarze
  0 siblings, 1 reply; 13+ messages in thread
From: LÉVAI Dániel @ 2014-08-28  8:39 UTC (permalink / raw)
  To: discuss

On cs, aug 28, 2014 at 02:43:42 +0200, Ingo Schwarze wrote:
> Hi Daniel,
> 
> LÉVAI Dániel wrote on Wed, Aug 27, 2014 at 05:15:13PM +0200:
> 
> > On sze, aug 27, 2014 at 17:07:43 +0200, Kristaps Dzonsons wrote:
> 
> >> Is your locale set?  This format works fine in HEAD,
> >> both on OpenBSD and Linux (Debian testing).
> 
> > Yes, that was my first suspicion:
> > $ locale
> > LANG=en_US.UTF-8
> > LC_CTYPE=hu_HU.UTF-8
> > LC_NUMERIC=hu_HU.UTF-8
> > LC_TIME=hu_HU.UTF-8
> > LC_COLLATE=hu_HU.UTF-8
> > LC_MONETARY=hu_HU.UTF-8
> > LC_MESSAGES=en_US.UTF-8
> > LC_PAPER=hu_HU.UTF-8
> > LC_NAME=hu_HU.UTF-8
> > LC_ADDRESS=hu_HU.UTF-8
> > LC_TELEPHONE=hu_HU.UTF-8
> > LC_MEASUREMENT=hu_HU.UTF-8
> > LC_IDENTIFICATION=hu_HU.UTF-8
> > LC_ALL=
> 
> After some code reading and some experimentation, i'm still quite
> unsure where the problem might lie, i fail to reproduce but need
> additional information.  Please apply the debugging patch appended
> below (not intended for commit) to anoncvs HEAD, and run:
> 
>  $ ./configure
>  $ make

With the cvs checkout, mandoc(1) accepts the given date for me too.

config.h:
===============8<===============
#ifndef MANDOC_CONFIG_H
#define MANDOC_CONFIG_H

#if defined(__linux__) || defined(__MINT__)
#define _GNU_SOURCE /* getsubopt(), strcasestr(), strptime() */
#endif

#include <sys/types.h>
#include <stdio.h>

#define VERSION "1.13.1"
#define HAVE_DIRENT_NAMLEN 0
#define HAVE_FGETLN 0
#define HAVE_FTS 1
#define HAVE_GETSUBOPT 1
#define HAVE_MMAP 1
#define HAVE_REALLOCARRAY 0
#define HAVE_STRCASESTR 1
#define HAVE_STRLCAT 0
#define HAVE_STRLCPY 0
#define HAVE_STRPTIME 1
#define HAVE_STRSEP 1
#define HAVE_WCHAR 0
#define HAVE_SQLITE3 1
#define HAVE_SQLITE3_ERRSTR 1
#define HAVE_OHASH 0
#define HAVE_MANPATH 0

#if !defined(__BEGIN_DECLS)
#  ifdef __cplusplus
#  define	__BEGIN_DECLS		extern "C" {
#  else
#  define	__BEGIN_DECLS
#  endif
#endif
#if !defined(__END_DECLS)
#  ifdef __cplusplus
#  define	__END_DECLS		}
#  else
#  define	__END_DECLS
#  endif
#endif

extern	char	 *fgetln(FILE *, size_t *);
extern	void	 *reallocarray(void *, size_t, size_t);
extern	size_t	  strlcat(char *, const char *, size_t);
extern	size_t	  strlcpy(char *, const char *, size_t);

#endif /* MANDOC_CONFIG_H */
===============8<===============

> Then please show me the output of the following sequence of commands:
> 
>  $ locale
>  $ ./mandoc -Wall test.1 > /dev/null
>  $ ./mandoc -Wall -Tlocale test.1 > /dev/null

$ locale
LANG=en_US.UTF-8
LC_CTYPE=hu_HU.UTF-8
LC_NUMERIC=hu_HU.UTF-8
LC_TIME=hu_HU.UTF-8
LC_COLLATE=hu_HU.UTF-8
LC_MONETARY=hu_HU.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=hu_HU.UTF-8
LC_NAME=hu_HU.UTF-8
LC_ADDRESS=hu_HU.UTF-8
LC_TELEPHONE=hu_HU.UTF-8
LC_MEASUREMENT=hu_HU.UTF-8
LC_IDENTIFICATION=hu_HU.UTF-8
LC_ALL=
$ ./mandoc -Wall test.1 > /dev/null
main: LC_TIME = C
a2time: LC_TIME = C
a2time: calling strptime()
a2time: LC_TIME = C
a2time: calling strptime()
a2time: LC_TIME = C
a2time: calling strptime()
$ ./mandoc -Wall -Tlocale test.1 > /dev/null
main: LC_TIME = C
a2time: LC_TIME = C
a2time: calling strptime()
a2time: LC_TIME = C
a2time: calling strptime()
a2time: LC_TIME = C
a2time: calling strptime()

> 
> with a suitable file test.1 exhibiting the problem.

Here is a simple test file:
===============8<===============
.Dd August 27, 2014
.Dt TITLE 1
.Os
.Sh NAME
.Nd description
===============8<===============


TBH, I'm a bit confused. You see, I've used 1.12.3 before, and I've just
upgraded to 1.13.1 recently. And because 1.12.3 did not have a
./configure script, furthermore with 1.13.1 I was not supposed to run
./configure directly, it seems to me, something has changed throughout
the development that it seems has been fixed in HEAD, but exists (for
me) in 1.13.1.
Does this make sense?


Daniel

-- 
LÉVAI Dániel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-28  8:39       ` LÉVAI Dániel
@ 2014-08-28 16:11         ` Ingo Schwarze
  2014-08-28 16:32           ` LÉVAI Dániel
  0 siblings, 1 reply; 13+ messages in thread
From: Ingo Schwarze @ 2014-08-28 16:11 UTC (permalink / raw)
  To: LÉVAI Dániel; +Cc: discuss

Hi Daniel,

LÉVAI Dániel wrote on Thu, Aug 28, 2014 at 10:39:00AM +0200:
> On cs, aug 28, 2014 at 02:43:42 +0200, Ingo Schwarze wrote:

>> After some code reading and some experimentation, i'm still quite
>> unsure where the problem might lie, i fail to reproduce but need
>> additional information.  Please apply the debugging patch appended
>> below (not intended for commit) to anoncvs HEAD, and run:
>> 
>>  $ ./configure
>>  $ make

> With the cvs checkout, mandoc(1) accepts the given date for me too.
> 
> config.h:
> #define HAVE_WCHAR 0

That's the reason you don't see the problem in HEAD:
wide character support is not detected.

>> Then please show me the output of the following sequence of commands:
>> 
>>  $ locale
>>  $ ./mandoc -Wall test.1 > /dev/null
>>  $ ./mandoc -Wall -Tlocale test.1 > /dev/null
 
> $ locale
> LC_TIME=hu_HU.UTF-8

Without wide character sipport, that's effectively disabled, see here:

> $ ./mandoc -Wall -Tlocale test.1 > /dev/null
> main: LC_TIME = C
> a2time: LC_TIME = C
> a2time: calling strptime()
> a2time: LC_TIME = C
> a2time: calling strptime()
> a2time: LC_TIME = C
> a2time: calling strptime()

No setlocale() here whatsoever, it doesn't even get compiled in.

> TBH, I'm a bit confused. You see, I've used 1.12.3 before,
> and I've just upgraded to 1.13.1 recently.

Sure, that would raise the question: Why did you not see the problem
in 1.12.3, and why do you see it in 1.13.1?  But maybe we don't
even have to answer that.  I just committed a small patch to improve
wide character support detection.  Can you do a CVS update, re-run
./configure and make, and re-send the output of the same commands
as before?  Just leave the debugging patches in your checkout
directory while doing all that, they are still needed.  I hope your
lost problem comes back, because i'm still unable to reproduce it,
even on 1.13.1.

> And because 1.12.3 did not have a ./configure script,
> furthermore with 1.13.1 I was not supposed to run
> ./configure directly,

Yeah, i admit that wiggled a bit back and forth until i got the
automatic configuration beat into shape.

> it seems to me, something has changed throughout the development
> that it seems has been fixed in HEAD, but exists (for me) in 1.13.1.
> Does this make sense?

No, what you have compiled from HEAD so far does not work for
you.  Your LC_* settings show you want UTF-8 support, but you
don't actually get that.  Small consolation it would be that
since you lost the feature, you lost the bug contained in it
as well.

Yours,
  Ingo
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-28 16:11         ` Ingo Schwarze
@ 2014-08-28 16:32           ` LÉVAI Dániel
  2014-08-28 17:35             ` Ingo Schwarze
  0 siblings, 1 reply; 13+ messages in thread
From: LÉVAI Dániel @ 2014-08-28 16:32 UTC (permalink / raw)
  To: Ingo Schwarze; +Cc: discuss

On cs, aug 28, 2014 at 18:11:03 +0200, Ingo Schwarze wrote:
[...]
> Sure, that would raise the question: Why did you not see the problem
> in 1.12.3, and why do you see it in 1.13.1?  But maybe we don't
> even have to answer that.  I just committed a small patch to improve
> wide character support detection.  Can you do a CVS update, re-run
> ./configure and make, and re-send the output of the same commands
> as before?  Just leave the debugging patches in your checkout
> directory while doing all that, they are still needed.  I hope your
> lost problem comes back, because i'm still unable to reproduce it,
> even on 1.13.1.
> 
[...]

So here are the new outputs of the given commands:

$ ./configure
config.log: writing...
VERSION="1.13.1"
configure.local: no (fully automatic configuration)
dirent-namlen: no
fgetln: no
fts: yes
getsubopt: yes
mmap: yes
reallocarray: no
strcasestr: yes
strlcat: no
strlcpy: no
strptime: yes
strsep: yes
wchar: yes
sqlite3: yes
sqlite3_errstr: yes
ohash: no
DBLIB="-lsqlite3"
manpath: no
config.h: written
Makefile.local: written

$ ./mandoc -Wall test.1 > /dev/null
main: LC_TIME = C
a2time: LC_TIME = C
a2time: calling strptime()
a2time: LC_TIME = C
a2time: calling strptime()
a2time: LC_TIME = C
a2time: calling strptime()

$ ./mandoc -Wall -Tlocale test.1 > /dev/null
main: LC_TIME = C
a2time: LC_TIME = C
a2time: calling strptime()
a2time: LC_TIME = C
a2time: calling strptime()
a2time: LC_TIME = C
a2time: calling strptime()
ascii_init: LC_TIME = C
ascii_init: LC_TIME = hu_HU.UTF-8


And my new config.h:
====================8<====================
#ifndef MANDOC_CONFIG_H
#define MANDOC_CONFIG_H

#if defined(__linux__) || defined(__MINT__)
#define _GNU_SOURCE	/* See test-*.c what needs this. */
#endif

#include <sys/types.h>
#include <stdio.h>

#define VERSION "1.13.1"
#define HAVE_DIRENT_NAMLEN 0
#define HAVE_FGETLN 0
#define HAVE_FTS 1
#define HAVE_GETSUBOPT 1
#define HAVE_MMAP 1
#define HAVE_REALLOCARRAY 0
#define HAVE_STRCASESTR 1
#define HAVE_STRLCAT 0
#define HAVE_STRLCPY 0
#define HAVE_STRPTIME 1
#define HAVE_STRSEP 1
#define HAVE_WCHAR 1
#define HAVE_SQLITE3 1
#define HAVE_SQLITE3_ERRSTR 1
#define HAVE_OHASH 0
#define HAVE_MANPATH 0

#if !defined(__BEGIN_DECLS)
#  ifdef __cplusplus
#  define	__BEGIN_DECLS		extern "C" {
#  else
#  define	__BEGIN_DECLS
#  endif
#endif
#if !defined(__END_DECLS)
#  ifdef __cplusplus
#  define	__END_DECLS		}
#  else
#  define	__END_DECLS
#  endif
#endif

extern	char	 *fgetln(FILE *, size_t *);
extern	void	 *reallocarray(void *, size_t, size_t);
extern	size_t	  strlcat(char *, const char *, size_t);
extern	size_t	  strlcpy(char *, const char *, size_t);

#endif /* MANDOC_CONFIG_H */
====================8<====================

"Unfortunately", CVS HEAD still doesn't emit my original problem
when using '-Tlint'.

> > it seems to me, something has changed throughout the development
> > that it seems has been fixed in HEAD, but exists (for me) in 1.13.1.
> > Does this make sense?
> 
> No, what you have compiled from HEAD so far does not work for
> you.  Your LC_* settings show you want UTF-8 support, but you
> don't actually get that.  Small consolation it would be that
> since you lost the feature, you lost the bug contained in it
> as well.

Ah, I see!


Daniel

-- 
LÉVAI Dániel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-28 16:32           ` LÉVAI Dániel
@ 2014-08-28 17:35             ` Ingo Schwarze
  2014-08-28 18:06               ` LÉVAI Dániel
  0 siblings, 1 reply; 13+ messages in thread
From: Ingo Schwarze @ 2014-08-28 17:35 UTC (permalink / raw)
  To: LÉVAI Dániel; +Cc: discuss

Hi Daniel,

LÉVAI Dániel wrote on Thu, Aug 28, 2014 at 06:32:15PM +0200:

> So here are the new outputs of the given commands:
> 
> $ ./configure
[...]
> wchar: yes

Good.

> manpath: no

By the way, that is odd.  Given that the bug hides so skillfully,
i'd like to pay attention to any clue.  You say you are on Linux?
Can you show the output of:

 $ manpath
 $ which manpath
 $ man -w manpath
 $ ls -ald /etc/man*
 $ man -w man.conf
 $ man -V

> $ ./mandoc -Wall -Tlocale test.1 > /dev/null
[...]
> ascii_init: LC_TIME = hu_HU.UTF-8

Good.

> And my new config.h:
[...]
> #define HAVE_WCHAR 1

Good.

So even though we haven't found your bug yet, your report already
resulted in one useful bugfix.

> "Unfortunately", CVS HEAD still doesn't emit my original problem
> when using '-Tlint'.

So we have no choice but to retry with 1.13.1.  Please go to your
checkout area and do this:

 $ cvs up -C
 $ cvs up -r VERSION_1_13_1
 $ patch < tmp.patch  # the debug patch appended below (for 1.13.1)
 $ make clean
 $ make

And then we need the usual sequence of commands again...

Yours,
  Ingo


Index: main.c
===================================================================
RCS file: /cvs/mdocml/main.c,v
retrieving revision 1.177
diff -u -p -r1.177 main.c
--- main.c	21 Jun 2014 22:24:01 -0000	1.177
+++ main.c	28 Aug 2014 17:33:02 -0000
@@ -21,6 +21,7 @@
 #endif
 
 #include <assert.h>
+#include <locale.h>
 #include <stdio.h>
 #include <stdint.h>
 #include <stdlib.h>
@@ -89,6 +90,9 @@ main(int argc, char *argv[])
 	int		 options;
 	enum mandoclevel rc;
 	char		*defos;
+
+	fprintf(stderr, "main: LC_TIME = %s\n",
+	    setlocale(LC_TIME, NULL));
 
 	progname = strrchr(argv[0], '/');
 	if (progname == NULL)
Index: mandoc.c
===================================================================
RCS file: /cvs/mdocml/mandoc.c,v
retrieving revision 1.83
diff -u -p -r1.83 mandoc.c
--- mandoc.c	6 Jul 2014 19:09:00 -0000	1.83
+++ mandoc.c	28 Aug 2014 17:33:02 -0000
@@ -25,6 +25,7 @@
 #include <ctype.h>
 #include <errno.h>
 #include <limits.h>
+#include <locale.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -456,8 +457,11 @@ a2time(time_t *t, const char *fmt, const
 
 	memset(&tm, 0, sizeof(struct tm));
 
+	fprintf(stderr, "a2time: LC_TIME = %s\n",
+	    setlocale(LC_TIME, NULL));
 	pp = NULL;
 #ifdef	HAVE_STRPTIME
+	fprintf(stderr, "a2time: calling strptime()\n");
 	pp = strptime(p, fmt, &tm);
 #endif
 	if (NULL != pp && '\0' == *pp) {
Index: term_ascii.c
===================================================================
RCS file: /cvs/mdocml/term_ascii.c,v
retrieving revision 1.27
diff -u -p -r1.27 term_ascii.c
--- term_ascii.c	1 Aug 2014 19:25:52 -0000	1.27
+++ term_ascii.c	28 Aug 2014 17:33:02 -0000
@@ -94,9 +94,13 @@ ascii_init(enum termenc enc, char *outop
 
 #ifdef	USE_WCHAR
 	if (TERMENC_ASCII != enc) {
+		fprintf(stderr, "ascii_init: LC_TIME = %s\n",
+		    setlocale(LC_TIME, NULL));
 		v = TERMENC_LOCALE == enc ?
 		    setlocale(LC_ALL, "") :
 		    setlocale(LC_CTYPE, "en_US.UTF-8");
+		fprintf(stderr, "ascii_init: LC_TIME = %s\n",
+		    setlocale(LC_TIME, NULL));
 		if (NULL != v && MB_CUR_MAX > 1) {
 			p->enc = enc;
 			p->advance = locale_advance;


--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-28 17:35             ` Ingo Schwarze
@ 2014-08-28 18:06               ` LÉVAI Dániel
  2014-08-28 19:49                 ` Ingo Schwarze
  0 siblings, 1 reply; 13+ messages in thread
From: LÉVAI Dániel @ 2014-08-28 18:06 UTC (permalink / raw)
  To: Ingo Schwarze; +Cc: discuss

On cs, aug 28, 2014 at 19:35:22 +0200, Ingo Schwarze wrote:
> Hi Daniel,
> 
> LÉVAI Dániel wrote on Thu, Aug 28, 2014 at 06:32:15PM +0200:
> 
> > So here are the new outputs of the given commands:
> > 
> > $ ./configure
> [...]
> > wchar: yes
> 
> Good.
> 
> > manpath: no
> 
> By the way, that is odd.  Given that the bug hides so skillfully,
> i'd like to pay attention to any clue.  You say you are on Linux?

Yes, this is on Linux; a slightly modified version of Slackware.

> Can you show the output of:
> 
>  $ manpath
>  $ which manpath
>  $ man -w manpath
Actually, there is no manpath binary on my system, nor manual page for
it. 

>  $ ls -ald /etc/man*

-rw-r--r-- 1 root root 4729 2014-08-20 17.02.35 /etc/man.conf
-rw-r--r-- 1 root root 2038 2014-08-20 15.39.26 /etc/mandoc.conf

>  $ man -w man.conf

/usr/man/man5/man.conf.5.gz

>  $ man -V

man, version 1.6g

> So even though we haven't found your bug yet, your report already
> resulted in one useful bugfix.

Alright! :-)

> > "Unfortunately", CVS HEAD still doesn't emit my original problem
> > when using '-Tlint'.
> 
> So we have no choice but to retry with 1.13.1.  Please go to your
> checkout area and do this:
> 
>  $ cvs up -C
>  $ cvs up -r VERSION_1_13_1
>  $ patch < tmp.patch  # the debug patch appended below (for 1.13.1)
>  $ make clean
>  $ make

Because for a second I thought I was hallucinating (again.. :P), 'cause
I've compile the 1_13_1 tag and the problem was not there, then checked
with the 1.13.1 release tarball, and it was not there either, I dug
deeper and turns out, that with these latest tests, I didn't use my
usual CFLAGS during the compilation. And the culprit for me seems to be:
$ cvs up -rVERSION_1_13_1
$ CFLAGS='-DOSNAME=\"Slackware\ Linux\"' make
...
$ ./mandoc -Tlint test.1
mandoc: ../mdocml/test.1:1:2: WARNING: cannot parse date, using it verbatim: August 27, 2014

Without the -DOSNAME define, it doesn't emit this warning. I know I'm
not crazy! Sort of... :)

Sorry for not posting the exact steps I've been using to compile
mdocml... rookie mistake..

> 
> And then we need the usual sequence of commands again...

$ ./mandoc -Wall test.1 > /dev/null
main: LC_TIME = C
a2time: LC_TIME = C
a2time: LC_TIME = C
a2time: LC_TIME = C
mandoc: test.1:1:2: WARNING: cannot parse date, using it verbatim: August 27, 2014

$ ./mandoc -Wall -Tlocale test.1 > /dev/null
main: LC_TIME = C
a2time: LC_TIME = C
a2time: LC_TIME = C
a2time: LC_TIME = C
mandoc: test.1:1:2: WARNING: cannot parse date, using it verbatim: August 27, 2014
ascii_init: LC_TIME = C
ascii_init: LC_TIME = hu_HU.UTF-8


config.h:
===================8<===================
#ifndef	MANDOC_CONFIG_H
#define	MANDOC_CONFIG_H

#if defined(__linux__) || defined(__MINT__)
# define _GNU_SOURCE /* getsubopt(), strcasestr(), strptime() */
#endif

#include <sys/types.h>
#include <stdio.h>

#define VERSION "1.13.1"

#if !defined(__BEGIN_DECLS)
#  ifdef __cplusplus
#  define	__BEGIN_DECLS		extern "C" {
#  else
#  define	__BEGIN_DECLS
#  endif
#endif
#if !defined(__END_DECLS)
#  ifdef __cplusplus
#  define	__END_DECLS		}
#  else
#  define	__END_DECLS
#  endif
#endif

#ifndef HAVE_FGETLN
extern	char	 *fgetln(FILE *, size_t *);
#endif
#ifndef HAVE_GETSUBOPT
extern	int	  getsubopt(char **, char * const *, char **);
extern	char	 *suboptarg;
#endif
#ifndef HAVE_REALLOCARRAY
extern	void	 *reallocarray(void *, size_t, size_t);
#endif
#ifndef HAVE_SQLITE3_ERRSTR
extern	const char *sqlite3_errstr(int);
#endif
#ifndef HAVE_STRCASESTR
extern	char	 *strcasestr(const char *, const char *);
#endif
#ifndef HAVE_STRLCAT
extern	size_t	  strlcat(char *, const char *, size_t);
#endif
#ifndef HAVE_STRLCPY
extern	size_t	  strlcpy(char *, const char *, size_t);
#endif
#ifndef HAVE_STRSEP
extern	char	 *strsep(char **, const char *);
#endif

#endif /* MANDOC_CONFIG_H */
===================8<===================


But regarding CVS HEAD, even with the OSNAME define, it won't tell me
that warning.


Daniel

-- 
LÉVAI Dániel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-28 18:06               ` LÉVAI Dániel
@ 2014-08-28 19:49                 ` Ingo Schwarze
  2014-08-28 21:07                   ` LÉVAI Dániel
  0 siblings, 1 reply; 13+ messages in thread
From: Ingo Schwarze @ 2014-08-28 19:49 UTC (permalink / raw)
  To: LÉVAI Dániel; +Cc: discuss

Hi Daniel,

LÉVAI Dániel wrote on Thu, Aug 28, 2014 at 08:06:17PM +0200:
> On cs, aug 28, 2014 at 19:35:22 +0200, Ingo Schwarze wrote:
>> LÉVAI Dániel wrote on Thu, Aug 28, 2014 at 06:32:15PM +0200:

>>> manpath: no

>> By the way, that is odd.  Given that the bug hides so skillfully,
>> i'd like to pay attention to any clue.  You say you are on Linux?

> Yes, this is on Linux; a slightly modified version of Slackware.

Interesting.  I always thought all Linux distros had manpath(1),
but apparently, starting a sentence with "All Linux distros..."
is bound to end up in an untruth.  Well, i sympathize with not
using manpath(1).  :)

So no problem there.

> $ CFLAGS='-DOSNAME=\"Slackware\ Linux\"' make

Gah.  That's not the way to do it.

> $ ./mandoc -Tlint test.1
> mandoc: ../mdocml/test.1:1:2: WARNING: cannot parse date,
>   using it verbatim: August 27, 2014

Indeed.  What happens here is that you completely screw up the
CFLAGS of ./configure, and all configuration tests fail.
So strptime(3) cannot be used when compiling mandoc(1),
and hence, no dates whatsoever can be parsed.  We were on
a completely wrong track with LC_*.

The way to set additional CFLAGS in 1.13.1 was to edit the
Makefile, uncomment and edit this line right at the top of
the file:

  # Specify this if you want to hard-code the operating system to appear
  # in the lower-left hand corner of -mdoc manuals.
  #
  # CFLAGS        += -DOSNAME="\"OpenBSD 5.5\""

> Without the -DOSNAME define, it doesn't emit this warning. I know I'm
> not crazy! Sort of... :)

Well, as long as you don't break it, ./configure does work...

> Sorry for not posting the exact steps I've been using to compile
> mdocml... rookie mistake..

You?  A rookie?  You are not a rookie!  "Sir, look, that man over
there is an impostor!  He's posing as a rookie!"

> config.h:
[...]
> #define VERSION "1.13.1"
> 
> #if !defined(__BEGIN_DECLS)

Your problem is right here.  No #define HAVE_... whatsoever.

> But regarding CVS HEAD, even with the OSNAME define, it won't tell me
> that warning.

Sure, it has become more robust and ignores the rogue variable now
instead of breaking all over the place.

In 1.13.2, the way to set OSNAME is documented in the file
configure.local.example.

  # For all settings documented in this file, there are reasonable
  # defaults and/or the ./configure script attempts autodetection.
  # Consequently, you only need to create a file ./configure.local
  # and put any of these settings into it if ./configure autodetection
  # fails or if you want to make different choices for other reasons.
  
  # If autodetection fails, please tell <tech@mdocml.bsd.lv>.
  
  # We recommend that you write ./configure.local from scratch and
  # only put the lines there you need.  This file contains examples.
  # It is not intended as a template to be copied as a whole.

  [...]

  # In manual pages written in the mdoc(7) language, the operating system
  # version is displayed in the page footer line.  If an operating system
  # is specified as an argument to the .Os macro, that is always used.
  # If the .Os macro has no argument and an operation system is specified
  # with the mandoc(1) -Ios= command line option, that is used.
  # Otherwise, the uname(3) library function is called at runtime to find
  # the name of the operating system.
  # If you do not want uname(3) to be called but instead want a fixed
  # string to be used, use the following line:
  
  OSNAME="OpenBSD 5.5"
 
Fine, so all is understood now and no more patches are needed.

Thanks for reporting the bug you didn't intend to, and don't worry too
much that the one you did report turned out to be pilot error - it *was*
tricky after all.

I also learned something about Slackware.
Btw., can you update this:
  http://slackbuilds.org/slackbuilds/14.1/system/mdocml/ 
?

Yours,
  Ingo
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-28 19:49                 ` Ingo Schwarze
@ 2014-08-28 21:07                   ` LÉVAI Dániel
  2014-08-29 15:38                     ` Ingo Schwarze
  0 siblings, 1 reply; 13+ messages in thread
From: LÉVAI Dániel @ 2014-08-28 21:07 UTC (permalink / raw)
  To: Ingo Schwarze; +Cc: discuss

On cs, aug 28, 2014 at 21:49:11 +0200, Ingo Schwarze wrote:
> > $ CFLAGS='-DOSNAME=\"Slackware\ Linux\"' make
> 
> Gah.  That's not the way to do it.
> 
> > $ ./mandoc -Tlint test.1
> > mandoc: ../mdocml/test.1:1:2: WARNING: cannot parse date,
> >   using it verbatim: August 27, 2014
> 
> Indeed.  What happens here is that you completely screw up the
> CFLAGS of ./configure, and all configuration tests fail.
> So strptime(3) cannot be used when compiling mandoc(1),
> and hence, no dates whatsoever can be parsed.  We were on
> a completely wrong track with LC_*.
> 
> The way to set additional CFLAGS in 1.13.1 was to edit the
> Makefile, uncomment and edit this line right at the top of
> the file:
> 
>   # Specify this if you want to hard-code the operating system to appear
>   # in the lower-left hand corner of -mdoc manuals.
>   #
>   # CFLAGS        += -DOSNAME="\"OpenBSD 5.5\""
> 
> > Without the -DOSNAME define, it doesn't emit this warning. I know I'm
> > not crazy! Sort of... :)
> 
> Well, as long as you don't break it, ./configure does work...
[...]

But it doesn't seem to break the CFLAGS variable here. Everything stays
in it during compile:

$ CFLAGS='-DOSNAME=OSNAMEEEE' make
rm -f config.log
CC="cc" CFLAGS="-DOSNAME=OSNAMEEEE -DUSE_WCHAR -g -DHAVE_CONFIG_H -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings" DBLIB="-lutil -lsqlite3" \
        VERSION="1.13.1" ./configure
/* RUNNING ./CONFIGURE - SHOULD BE USED ONLY VIA MAKE, READ INSTALL */
cc -DOSNAME=OSNAMEEEE -DUSE_WCHAR -g -DHAVE_CONFIG_H -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings   -c -o eqn_html.o eqn_html.c
cc -DOSNAME=OSNAMEEEE -DUSE_WCHAR -g -DHAVE_CONFIG_H -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings   -c -o html.o html.c
...
..
.

^^^ Those are the same compiler flags that would have been there without
my CFLAGS "override" on the command line.

Furthermore, the problem also remains when I edit only the Makefile:

$ fgrep OSNAME ./Makefile
# CFLAGS        += -DOSNAME="\"OpenBSD 5.5\""
CFLAGS  += -DOSNAME="\"Slackware\ Linux\""
$ make
rm -f config.log
CC="cc" CFLAGS="-DOSNAME="\"Slackware\ Linux\"" -DUSE_WCHAR -g -DHAVE_CONFIG_H -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings" DBLIB="-lutil -lsqlite3" \
        VERSION="1.13.1" ./configure
/* RUNNING ./CONFIGURE - SHOULD BE USED ONLY VIA MAKE, READ INSTALL */
cc -DOSNAME="\"Slackware\ Linux\"" -DUSE_WCHAR -g -DHAVE_CONFIG_H -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings   -c -o eqn_html.o eqn_html.c
cc -DOSNAME="\"Slackware\ Linux\"" -DUSE_WCHAR -g -DHAVE_CONFIG_H -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings   -c -o html.o html.c
...
..
.
$ ./mandoc -Tlint test.1
mandoc: test.1:1:2: WARNING: cannot parse date, using it verbatim: August 27, 2014

Only in the absence of the OSNAME define does mandoc parse the given
date. If I could "screw up" the CFLAGS of configure, then eg. a simple
CFLAGS=-O2 would do that too, but it doesn't; just the -DOSNAME define.


> > But regarding CVS HEAD, even with the OSNAME define, it won't tell me
> > that warning.
> 
> Sure, it has become more robust and ignores the rogue variable now
> instead of breaking all over the place.
> 
> In 1.13.2, the way to set OSNAME is documented in the file
> configure.local.example.
[...]

Okay, seems clear, I'll keep this in mind when upgrading in the future.

[...]
> Btw., can you update this:
>   http://slackbuilds.org/slackbuilds/14.1/system/mdocml/ 
> ?

Sure thing, but I need to get this problem out of the way :P


Daniel

-- 
LÉVAI Dániel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-28 21:07                   ` LÉVAI Dániel
@ 2014-08-29 15:38                     ` Ingo Schwarze
  2014-08-30  8:57                       ` LÉVAI Dániel
  0 siblings, 1 reply; 13+ messages in thread
From: Ingo Schwarze @ 2014-08-29 15:38 UTC (permalink / raw)
  To: LÉVAI Dániel; +Cc: discuss

Hi Daniel,

LÉVAI Dániel wrote on Thu, Aug 28, 2014 at 11:07:31PM +0200:
> On cs, aug 28, 2014 at 21:49:11 +0200, Ingo Schwarze wrote:
>> Daniel Levai wrote:

>>> $ CFLAGS='-DOSNAME=\"Slackware\ Linux\"' make

>> Gah.  That's not the way to do it.
[...]
>> Indeed.  What happens here is that you completely screw up the
>> CFLAGS of ./configure, and all configuration tests fail.

That sentence is important.  Look at config.log.

> But it doesn't seem to break the CFLAGS variable here.
> Everything stays in it during compile:

It breaks configure, not compile.

> $ CFLAGS='-DOSNAME=OSNAMEEEE' make

That's going to break badly.  mdoc_validate.c is not going to compile.
Quotes are missing here.

Without the quotes, the failure mode is different.  Now ./configure
will work fine, but compiling will break.  It will still fail.

> Furthermore, the problem also remains when I edit only the Makefile:
> 
> $ fgrep OSNAME ./Makefile
> # CFLAGS        += -DOSNAME="\"OpenBSD 5.5\""
> CFLAGS  += -DOSNAME="\"Slackware\ Linux\""
> $ make

OUCH.

You are right.  Passing CFLAGS into the Makefile works (contrary
to what i thought at first), what is broken is passing them *from*
the Makefile to ./configure.  Quoting is screwed in that passage,
and i see no way to fix that.

> [...]
>> Btw., can you update this:
>>   http://slackbuilds.org/slackbuilds/14.1/system/mdocml/ 
>> ?

> Sure thing, but I need to get this problem out of the way :P

Not really; the Slackware port doesn't set OSNAME, and if
you update it to 1.13.1, i'd recommend to stick to that for now.
You can then introduce it for 1.13.2 if you think it should
be there.

For your private use, given that the build system was mostly
rewritten for 1.13.2 anyway, i'm not going to invent horrenduous
workarounds for OSNAME in 1.13.1; we have to accept that OSNAME
is somewhat broken in 1.13.1.

A simple workaround goes like this:

 1. Make sure the OSNAME line is commented out in the Makefile.
    All other variables should already be set as desired.
 2. Run "make clean".
 3. Run "make config.h".
 4. Check that config.h and config.log look reasonable.
    (They do on my Linux box.)
 5. Edit the Makefile and uncomment (enable) the OSNAME line.
 6. Run "make".
    Watch closely and be sure that ./configure is *not* run
    at this time.
 7. Test "./mandoc -Wall -Tlocale ..."

Admittedly, that's slightly ugly, but short of releasing 1.13.2,
i cannot think of a better fix, and 1.13.2 isn't quite ready yet.


If you *must* set OSNAME in the port, something like the
following would be needed:
 - rename CFLAGS to CONFLAGS (or something) in Makefile
   (6 definition lines)
 - use CONFLAGS in the "config.h:" rule
 - set CFLAGS = $(CONFLAGS) -DOSNAME="\"...\""
   (will get picked up by automatic rules)

Like that, compile will use OSNAME and configure will not.

Yours,
  Ingo

--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

* Re: "cannot parse date" for a seemingly valid .Dd parameter
  2014-08-29 15:38                     ` Ingo Schwarze
@ 2014-08-30  8:57                       ` LÉVAI Dániel
  0 siblings, 0 replies; 13+ messages in thread
From: LÉVAI Dániel @ 2014-08-30  8:57 UTC (permalink / raw)
  To: Ingo Schwarze; +Cc: discuss

On p, aug 29, 2014 at 17:38:00 +0200, Ingo Schwarze wrote:
[...]
> > Furthermore, the problem also remains when I edit only the Makefile:
> > 
> > $ fgrep OSNAME ./Makefile
> > # CFLAGS        += -DOSNAME="\"OpenBSD 5.5\""
> > CFLAGS  += -DOSNAME="\"Slackware\ Linux\""
> > $ make
> 
> OUCH.
> 
> You are right.  Passing CFLAGS into the Makefile works (contrary
> to what i thought at first), what is broken is passing them *from*
> the Makefile to ./configure.  Quoting is screwed in that passage,
> and i see no way to fix that.

I see, all right.

> > [...]
> >> Btw., can you update this:
> >>   http://slackbuilds.org/slackbuilds/14.1/system/mdocml/ 
> >> ?
> 
> > Sure thing, but I need to get this problem out of the way :P
> 
> Not really; the Slackware port doesn't set OSNAME, and if
> you update it to 1.13.1, i'd recommend to stick to that for now.
> You can then introduce it for 1.13.2 if you think it should
> be there.

I think you've missed that in the port [1] (or slackbuild, as the kids
call it :-) ). The current sb on sb.org with version 1.12.3 sets the
OSNAME, that's why it was/is being used in the updated 1.13.1 version.

> For your private use, given that the build system was mostly
> rewritten for 1.13.2 anyway, i'm not going to invent horrenduous
> workarounds for OSNAME in 1.13.1; we have to accept that OSNAME
> is somewhat broken in 1.13.1.
> 
> A simple workaround goes like this:
> 
>  1. Make sure the OSNAME line is commented out in the Makefile.
>     All other variables should already be set as desired.
>  2. Run "make clean".
>  3. Run "make config.h".
>  4. Check that config.h and config.log look reasonable.
>     (They do on my Linux box.)
>  5. Edit the Makefile and uncomment (enable) the OSNAME line.
>  6. Run "make".
>     Watch closely and be sure that ./configure is *not* run
>     at this time.
>  7. Test "./mandoc -Wall -Tlocale ..."

Ah, actually, I get this! :)

> Admittedly, that's slightly ugly,

In my opinion, not at all; it's logical given its behavior.

> but short of releasing 1.13.2, i cannot think of a better fix, and
> 1.13.2 isn't quite ready yet.

> If you *must* set OSNAME in the port, something like the
> following would be needed:
>  - rename CFLAGS to CONFLAGS (or something) in Makefile
>    (6 definition lines)
>  - use CONFLAGS in the "config.h:" rule
>  - set CFLAGS = $(CONFLAGS) -DOSNAME="\"...\""
>    (will get picked up by automatic rules)
> 
> Like that, compile will use OSNAME and configure will not.

I think I'll just use an OSNAME with 1.13.1 without spaces, eg. like
\"Slackware\", and I'll return to the previous one when 1.13.2 comes
out.


Ingo, thanks for you help and patience,
Daniel


[1] - http://slackbuilds.org/slackbuilds/14.1/system/mdocml/mdocml.SlackBuild

-- 
LÉVAI Dániel
PGP key ID = 0x83B63A8F
Key fingerprint = DBEC C66B A47A DFA2 792D  650C C69B BE4C 83B6 3A8F
--
 To unsubscribe send an email to discuss+unsubscribe@mdocml.bsd.lv

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

end of thread, other threads:[~2014-08-30  8:57 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-27 14:58 "cannot parse date" for a seemingly valid .Dd parameter LÉVAI Dániel
2014-08-27 15:07 ` Kristaps Dzonsons
2014-08-27 15:15   ` LÉVAI Dániel
2014-08-28  0:43     ` Ingo Schwarze
2014-08-28  8:39       ` LÉVAI Dániel
2014-08-28 16:11         ` Ingo Schwarze
2014-08-28 16:32           ` LÉVAI Dániel
2014-08-28 17:35             ` Ingo Schwarze
2014-08-28 18:06               ` LÉVAI Dániel
2014-08-28 19:49                 ` Ingo Schwarze
2014-08-28 21:07                   ` LÉVAI Dániel
2014-08-29 15:38                     ` Ingo Schwarze
2014-08-30  8:57                       ` LÉVAI Dániel

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