=================================================================== RCS file: /cvs/mandoc/html.c,v retrieving revision 1.278 retrieving revision 1.279 diff -u -p -r1.278 -r1.279 --- mandoc/html.c 2022/07/06 14:34:59 1.278 +++ mandoc/html.c 2022/08/09 11:23:11 1.279 @@ -1,4 +1,4 @@ -/* $Id: html.c,v 1.278 2022/07/06 14:34:59 schwarze Exp $ */ +/* $Id: html.c,v 1.279 2022/08/09 11:23:11 schwarze Exp $ */ /* * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons * Copyright (c) 2011-2015, 2017-2021 Ingo Schwarze @@ -403,10 +403,13 @@ html_make_id(const struct roff_node *n, int unique) * In addition, reserve '~' for ordinal suffixes. */ - for (cp = buf; *cp != '\0'; cp++) - if (isalnum((unsigned char)*cp) == 0 && + for (cp = buf; *cp != '\0'; cp++) { + if (*cp == ASCII_HYPH) + *cp = '-'; + else if (isalnum((unsigned char)*cp) == 0 && strchr("!$&'()*+,-./:;=?@_", *cp) == NULL) *cp = '_'; + } if (unique == 0) return buf;