Re: svn commit: r362017 - in head/usr.bin/sed: . tests

2020-06-10 Thread Yuri Pankov

Mateusz Piotrowski wrote:

Author: 0mp (doc,ports committer)
Date: Wed Jun 10 19:23:58 2020
New Revision: 362017
URL: https://svnweb.freebsd.org/changeset/base/362017

Log:
   Read commands from stdin when -f - is passed to sed(1)
   
   This patch teaches sed to interpret a "-" in a special way when given

   as an argument to the -f flag.
   
   This behavior is also present in GNU sed.
   
   PR:		244872

   Tested by:   antoine (exp-run)
   Reviewed by: pfg, tobik (older version)
   Approved by: pfg (src)
   Relnotes:yes
   MFC after:   2 weeks
   Differential Revision:   https://reviews.freebsd.org/D24079

Modified:
   head/usr.bin/sed/main.c
   head/usr.bin/sed/sed.1
   head/usr.bin/sed/tests/sed2_test.sh

[...]

Modified: head/usr.bin/sed/tests/sed2_test.sh
==
--- head/usr.bin/sed/tests/sed2_test.sh Wed Jun 10 18:59:46 2020
(r362016)
+++ head/usr.bin/sed/tests/sed2_test.sh Wed Jun 10 19:23:58 2020
(r362017)
@@ -116,11 +116,68 @@ hex_subst_body()
atf_check -o "inline:" sed 's/\xx//' d
  }
  
+atf_test_case commands_on_stdin

+commands_on_stdin_head()
+{
+   atf_set "descr" "Verify -f -"
+}
+commands_on_stdin_body()
+{
+   printf "a\n" > a
+   printf "s/a/b/\n" > a_to_b
+   printf "s/b/c/\n" > b_to_c
+   printf "s/c/d/\n" > ./-
+   atf_check -o 'inline:d\n' sed -f a_to_b -f - -f ./- a < b_to_c
+
+   # Verify that nothing is printed if there are no input files provided.
+   printf 'i\\\nx' > insert_x
+   atf_check -o 'empty' sed -f - < insert_x
+}
+
+atf_test_case commands_on_stdin
+commands_on_stdin_head()
+{
+   atf_set "descr" "Verify -f -"
+}
+commands_on_stdin_body()
+{
+   printf "a\n" > a
+   printf "s/a/b/\n" > a_to_b
+   printf "s/b/c/\n" > b_to_c
+   printf "s/c/d/\n" > ./-
+   atf_check -o 'inline:d\n' sed -f a_to_b -f - -f ./- a < b_to_c
+
+   # Verify that nothing is printed if there are no input files provided.
+   printf 'i\\\nx' > insert_x
+   atf_check -o 'empty' sed -f - < insert_x
+}
+
+atf_test_case commands_on_stdin
+commands_on_stdin_head()
+{
+   atf_set "descr" "Verify -f -"
+}
+commands_on_stdin_body()
+{
+   printf "a\n" > a
+   printf "s/a/b/\n" > a_to_b
+   printf "s/b/c/\n" > b_to_c
+   printf "s/c/d/\n" > ./-
+   atf_check -o 'inline:d\n' sed -f a_to_b -f - -f ./- a < b_to_c
+
+   # Verify that nothing is printed if there are no input files provided.
+   printf 'i\\\nx' > insert_x
+   atf_check -o 'empty' sed -f - < insert_x
+}
+
  atf_init_test_cases()
  {
atf_add_test_case inplace_command_q
atf_add_test_case inplace_hardlink_src
atf_add_test_case inplace_symlink_src
atf_add_test_case escape_subst
+   atf_add_test_case commands_on_stdin
+   atf_add_test_case commands_on_stdin
+   atf_add_test_case commands_on_stdin
atf_add_test_case hex_subst
  }



Am I reading it wrong, or is it the same test case added 3 times?
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r361867 - head/share/man/man4

2020-06-06 Thread Yuri Pankov

Warner Losh wrote:

Author: imp
Date: Sat Jun  6 06:21:20 2020
New Revision: 361867
URL: https://svnweb.freebsd.org/changeset/base/361867

Log:
   Document all the sysctl values for the nda devices. Include some minimal
   documentation on namespace support for nda devices. Fix a few typos
   and formatting nits to apease igor.

Modified:
   head/share/man/man4/nda.4

Modified: head/share/man/man4/nda.4
==
--- head/share/man/man4/nda.4   Sat Jun  6 06:21:15 2020(r361866)
+++ head/share/man/man4/nda.4   Sat Jun  6 06:21:20 2020(r361867)
@@ -25,7 +25,7 @@
  .\"
  .\" $FreeBSD$
  .\"
-.Dd December 20, 2017
+.Dd June 6, 2020
  .Dt NDA 4
  .Os
  .Sh NAME
@@ -48,37 +48,156 @@ variables and
  .Xr loader 8
  tunables:
  .Bl -tag -width 12
+.It Va hw.nvme.use_nvd
+The
+.Xr nvme 4
+driver will create
+.Nm
+device nodes for block storage when set to 0.
+Create
+.Xr nvd 4
+device nodes for block storage when set to 1.
+See
+.Xr nvd 4
+when set to 1.
+.It Va kern.cam.nda.nvd_compat
+When set to 1,
+.Xr nvd 4
+aliases will be created for all
+.Nm
+devices, including partitions and other
+.Xr goem 4


A typo in the link.


+providers that take their names from the disk's name.
+.Xr nvd
+devices will not, however, be reported in the
+.Va kern.disks
+.Xr sysctl 8 .
  .It Va kern.cam.nda.sort_io_queue
-.Pp
  This variable determines whether the software queued entries are
  sorted in LBA order or not.
  Sorting is almost always a waste of time.
  The default is to not sort.
+.It Va kern.cam.nda.enable_biospeedup
+This variable determines if the
+.Nm
+devices participate in the speedup protocol.
+When the device participates in the speedup, then when the upper layers
+send a
+.Va BIO_SPEEDUP ,
+all current
+.Va BIO_DELETE
+requests not yet sent to the hardware are completed successfully immediate
+without sending them to the hardware.
+Used in low disk space scenarios when the filesystem encounters
+a critical shortage and needs blocks immediately.
+Since trims have maximum benefit when the LBA is unused for a long time,
+skipping the trim when space is needed for immediate writes results in little 
to
+no excess wear.
+When participation is disabled,
+.Va BIO_SPEEDUP
+requests are ignored.
+.It Va kern.cam.nda.max_trim
+The maximum number of LBA ranges to be collected together for each DSM trims
+send to the hardware.
+Defaults to 256, which is the maximum number of ranges the protocol supports.
+Sometimes poor trim performance can be mitigated by limiting the number of
+ranges sent to the device.
+This value must be between 1 and 256 inclusive.
  .El
  .Pp
  The following report per-device settings, and are read-only unless
-otherwise indicated. Replace
+otherwise indicated.
+Replace
  .Va N
  with the device unit number.
  .Bl -tag -width 12
  .It Va kern.cam.nda.N.rotating
-.Pp
  This variable reports whether the storage volume is spinning or
  flash.
-It's value is hard coded to 0 indicating flash.
+Its value is hard coded to 0 indicating flash.
  .It Va kern.cam.nda.N.unmapped_io
  This variable reports whether the
  .Nm
  driver accepts unmapped I/O for this unit.
+.It Va kern.cam.nda.N.flags
+This variable reports the current flags.
+.Bl -tag -width 12
+.It Va OPEN
+The device is open.
+.It Va DIRTY
+Set when a write to the drive is scheduled.
+Cleared after flush commands.
+.It Va SCTX_INIT
+Internal flag set after
+.Xr sysctl 8
+nodes have been created.
  .El
+.It Va kern.cam.nda.N.sort_io_queue
+Same as the
+.Va kern.cam.nda.sort_io_queue
+tunable.
+.It Va kern.cam.nda.N.trim_ticks
+Writable.
+When greater than zero, hold trims for up to this many ticks before sending
+to the drive.
+Sometimes waiting a little bit to collect more trims to send at one time
+improves trim performance.
+When 0, no delaying of trims are done.
+.It Va kern.cam.nda.N.trim_goal
+Writable.
+When delaying a bit to collect multiple trims, send the accumulated DSM TRIM to
+the drive.
+.It Va kern.cam.nda.N.trim_lbas
+Total number of LBAs that have been trimmed.
+.It Va kern.cam.nda.N.trim_ranges
+Total number of LBA ranges that have been trimmed.
+.It Va kern.cam.nda.N.trim_count
+Total number of trims sent to the hardware.
+.It Va kern.cam.nda.N.deletes
+Total number of
+.Va BIO_DELETE
+requests queued to the device.
+.El
+.Sh NAMESPACE MAPPING
+Each
+.Xr nvme 4
+drive has one or more namespaces associated with it.
+One instance of the
+.Nm
+driver will be created for each of the namespaces on
+the drive.
+All the
+.Nm
+nodes for a
+.Xr nvme 4
+device are at target 0.
+However, the namespace ID maps to the CAM lun, as reported
+in kernel messages and in the
+.Va devlist
+sub command of
+.Xr camcontrol 8 .
+.Pp
+Namespaces are managed with the
+.Va ns
+sub command of
+.Xr nvmecontrol 8 .
+Not all drives support namespace management,
+but all drives support at least one namespace.
+Device nodes for
+.Nm
+will be created and destroyed dynamically as

svn commit: r361871 - head/share/man/man7

2020-06-06 Thread Yuri Pankov
Author: yuripv
Date: Sat Jun  6 17:48:55 2020
New Revision: 361871
URL: https://svnweb.freebsd.org/changeset/base/361871

Log:
  stats(7): fix bad Xr references and lint noise
  
  Reviewed by:  bjk, debdrup
  Differential Revision:https://reviews.freebsd.org/D25166

Modified:
  head/share/man/man7/stats.7

Modified: head/share/man/man7/stats.7
==
--- head/share/man/man7/stats.7 Sat Jun  6 14:19:16 2020(r361870)
+++ head/share/man/man7/stats.7 Sat Jun  6 17:48:55 2020(r361871)
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 14, 2020
+.Dd June 6, 2020
 .Dt STATS 7
 .Os
 .Sh NAME
@@ -86,31 +86,32 @@ Display system statistics
 Report virtual memory statistics
 .It Nm zpool iostat
 Report ZFS I/O statistics
+.El
 .Sh SEE ALSO
+.Xr btsockstat 1 ,
+.Xr fstat 1 ,
 .Xr intro 1 ,
+.Xr lockstat 1 ,
+.Xr netstat 1 ,
+.Xr plockstat 1 ,
+.Xr procstat 1 ,
+.Xr sockstat 1 ,
+.Xr stat 1 ,
+.Xr systat 1 ,
 .Xr intro 7 ,
-.Xr intro 8 ,
-.Xr btsockstat 1 ,
 .Xr ctlstat 8 ,
-.Xr fstat 1 ,
 .Xr gstat 8 ,
 .Xr ibstat 8 ,
 .Xr ifmcstat 8 ,
+.Xr intro 8 ,
 .Xr iostat 8 ,
 .Xr ipfstat 8 ,
 .Xr kldstat 8 ,
-.Xr lockstat 1 ,
 .Xr mailstats 8 ,
-.Xr netstat 1 ,
-.Xr plockstat 1 ,
 .Xr pmcstat 8 ,
-.Xr procstat 1 ,
 .Xr pstat 8 ,
-.Xr sockstat 1,
-.Xr stat 1 ,
-.Xr systat 1 ,
 .Xr vmstat 8 ,
-.Xr zpool-iostat 8 ,
+.Xr zpool 8
 .Sh HISTORY
 The
 .Nm
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361888 - head/share/man/man9

2020-06-07 Thread Yuri Pankov
Author: yuripv
Date: Sun Jun  7 09:17:57 2020
New Revision: 361888
URL: https://svnweb.freebsd.org/changeset/base/361888

Log:
  taskqueue(9): reference callout(9) instead of timeout(9)
  
  As timeout(9) was removed and all consumers were converted to
  callout(9), reference it instead for the description of sbt, pr,
  and flags arguments.
  
  Reviewed by:  trasz
  Differential Revision:https://reviews.freebsd.org/D25165

Modified:
  head/share/man/man9/taskqueue.9

Modified: head/share/man/man9/taskqueue.9
==
--- head/share/man/man9/taskqueue.9 Sun Jun  7 08:21:19 2020
(r361887)
+++ head/share/man/man9/taskqueue.9 Sun Jun  7 09:17:57 2020
(r361888)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd October 17, 2019
+.Dd June 6, 2020
 .Dt TASKQUEUE 9
 .Os
 .Sh NAME
@@ -236,7 +236,7 @@ function provides finer control over the scheduling ba
 and
 .Va flags ,
 as detailed in
-.Xr timeout 9 .
+.Xr callout 9 .
 Only non-fast task queues can be used for
 .Va timeout_task
 scheduling.
@@ -510,10 +510,10 @@ may be delayed an indeterminate amount of time before 
 If queueing delays cannot be tolerated then a private taskqueue should
 be created with a dedicated processing thread.
 .Sh SEE ALSO
+.Xr callout 9 ,
 .Xr ithread 9 ,
 .Xr kthread 9 ,
 .Xr swi 9
-.Xr timeout 9
 .Sh HISTORY
 This interface first appeared in
 .Fx 5.0 .
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r362148 - head/contrib/nvi/common

2020-06-13 Thread Yuri Pankov
Author: yuripv
Date: Sat Jun 13 14:11:02 2020
New Revision: 362148
URL: https://svnweb.freebsd.org/changeset/base/362148

Log:
  nvi: fallback to ISO8859-1 as last resort
  
  Current logic of using user's locale encoding that is UTF-8 doesn't make
  much sense if we already failed the looks_utf8() check and skipped
  encoding set using "fileencoding" as being UTF-8 as well; fallback to
  ISO8859-1 in that case.
  
  Reviewed by:  Zhihao Yuan 
  Differential Revision:https://reviews.freebsd.org/D24919

Modified:
  head/contrib/nvi/common/exf.c

Modified: head/contrib/nvi/common/exf.c
==
--- head/contrib/nvi/common/exf.c   Sat Jun 13 09:16:07 2020
(r362147)
+++ head/contrib/nvi/common/exf.c   Sat Jun 13 14:11:02 2020
(r362148)
@@ -1237,7 +1237,10 @@ file_encinit(SCR *sp)
}
 
/*
-* Detect UTF-8 and fallback to the locale/preset encoding.
+* 1. Check for valid UTF-8.
+* 2. Check if fallback fileencoding is set and is NOT UTF-8.
+* 3. Check if user locale's encoding is NOT UTF-8.
+* 4. Use ISO8859-1 as last resort.
 *
 * XXX
 * A manually set O_FILEENCODING indicates the "fallback
@@ -1246,9 +1249,13 @@ file_encinit(SCR *sp)
 */
if (looks_utf8(buf, blen) > 1)
o_set(sp, O_FILEENCODING, OS_STRDUP, "utf-8", 0);
-   else if (!O_ISSET(sp, O_FILEENCODING) ||
-   !strcasecmp(O_STR(sp, O_FILEENCODING), "utf-8"))
+   else if (O_ISSET(sp, O_FILEENCODING) &&
+   strcasecmp(O_STR(sp, O_FILEENCODING), "utf-8") != 0)
+   /* Use fileencoding as is */ ;
+   else if (strcasecmp(codeset(), "utf-8") != 0)
o_set(sp, O_FILEENCODING, OS_STRDUP, codeset(), 0);
+   else
+   o_set(sp, O_FILEENCODING, OS_STRDUP, "iso8859-1", 0);
 
conv_enc(sp, O_FILEENCODING, 0);
 #endif
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r362146 - in head/usr.bin/locale: . tests

2020-06-13 Thread Yuri Pankov
Author: yuripv
Date: Sat Jun 13 08:37:24 2020
New Revision: 362146
URL: https://svnweb.freebsd.org/changeset/base/362146

Log:
  locale: exit 1 if unknown keyword was specified
  
  PR:   241906
  Submitted by: Akos Somfai 

Modified:
  head/usr.bin/locale/locale.c
  head/usr.bin/locale/tests/locale_test.sh

Modified: head/usr.bin/locale/locale.c
==
--- head/usr.bin/locale/locale.cSat Jun 13 04:47:59 2020
(r362145)
+++ head/usr.bin/locale/locale.cSat Jun 13 08:37:24 2020
(r362146)
@@ -61,7 +61,7 @@ void  list_locales(void);
 const char *lookup_localecat(int);
 char   *kwval_lconv(int);
 intkwval_lookup(const char *, char **, int *, int *, int *);
-void   showdetails(const char *);
+intshowdetails(const char *);
 void   showkeywordslist(char *substring);
 void   showlocale(void);
 void   usage(void);
@@ -414,7 +414,8 @@ main(int argc, char *argv[])
setlocale(LC_ALL, "");
if (argc > 0) {
while (argc > 0) {
-   showdetails(*argv);
+   if (showdetails(*argv) != 0)
+   exit(EXIT_FAILURE);
argv++;
argc--;
}
@@ -837,19 +838,16 @@ kwval_lookup(const char *kwname, char **kwval, int *ca
  * Show details about requested keyword according to '-k' and/or '-c'
  * command line options specified.
  */
-void
+int
 showdetails(const char *kw)
 {
int type, cat, tmpval, alloc;
char*kwval;
 
if (kwval_lookup(kw, , , , ) == 0) {
-   /*
-* invalid keyword specified.
-* XXX: any actions?
-*/
+   /* Invalid keyword specified */
fprintf(stderr, "Unknown keyword: `%s'\n", kw);
-   return;
+   return (1);
}
 
if (prt_categories) {
@@ -889,6 +887,8 @@ showdetails(const char *kw)
 
if (alloc)
free(kwval);
+
+   return (0);
 }
 
 /*

Modified: head/usr.bin/locale/tests/locale_test.sh
==
--- head/usr.bin/locale/tests/locale_test.shSat Jun 13 04:47:59 2020
(r362145)
+++ head/usr.bin/locale/tests/locale_test.shSat Jun 13 08:37:24 2020
(r362146)
@@ -160,8 +160,24 @@ no_flags_posix_body()
noexpr
 }
 
+atf_test_case k_flag_unknown_kw
+k_flag_unknown_kw_head()
+{
+   atf_set "descr" \
+   "Verify 'locale -k' exit status is '1' for unknown keywords"
+}
+k_flag_unknown_kw_body()
+{
+   export LC_ALL="C"
+
+   # Hopefully the keyword will stay nonexistent
+   atf_check -s exit:1 -o empty -e ignore locale -k nonexistent
+}
+
+
 atf_init_test_cases()
 {
atf_add_test_case k_flag_posix
atf_add_test_case no_flags_posix
+   atf_add_test_case k_flag_unknown_kw
 }
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r362147 - head/usr.bin/awk

2020-06-13 Thread Yuri Pankov
Author: yuripv
Date: Sat Jun 13 09:16:07 2020
New Revision: 362147
URL: https://svnweb.freebsd.org/changeset/base/362147

Log:
  awk(1): use -version instead of -V
  
  -V is OpenBSD specific, use -version instead.
  
  While here, fix issue reported by mandoc lint and drop nonexistent
  script(7) reference.
  
  PR:   247004
  Reviewed by:  0mp, markj
  Differential Revision:https://reviews.freebsd.org/D25164

Modified:
  head/usr.bin/awk/awk.1

Modified: head/usr.bin/awk/awk.1
==
--- head/usr.bin/awk/awk.1  Sat Jun 13 08:37:24 2020(r362146)
+++ head/usr.bin/awk/awk.1  Sat Jun 13 09:16:07 2020(r362147)
@@ -23,7 +23,7 @@
 .\" THIS SOFTWARE.
 .\"
 .\"$FreeBSD$
-.Dd $Mdocdate: September 14 2015 $
+.Dd $Mdocdate: June 6 2020 $
 .Dt AWK 1
 .Os
 .Sh NAME
@@ -32,7 +32,7 @@
 .Sh SYNOPSIS
 .Nm awk
 .Op Fl safe
-.Op Fl V
+.Op Fl version
 .Op Fl d Ns Op Ar n
 .Op Fl F Ar fs
 .Op Fl v Ar var Ns = Ns Ar value
@@ -101,7 +101,7 @@ approximation to a
 .Dq safe
 version of
 .Nm .
-.It Fl V
+.It Fl version
 Print the version number of
 .Nm
 to standard output and exit.
@@ -265,7 +265,7 @@ and concatenation
 .Pq indicated by whitespace .
 The operators
 .Ic \&! ++ \-\- += \-= *= /= %= ^=
-.Ic > >= < <= == != ?:
+.Ic > >= < <= == != ?\&:
 are also available in expressions.
 Variables may be scalars, array elements
 (denoted
@@ -752,8 +752,7 @@ Print an error message to standard error:
 .Xr lex 1 ,
 .Xr printf 1 ,
 .Xr sed 1 ,
-.Xr re_format 7 ,
-.Xr script 7
+.Xr re_format 7
 .Rs
 .%A A. V. Aho
 .%A B. W. Kernighan
@@ -774,9 +773,10 @@ except
 does not support {n,m} pattern matching.
 .Pp
 The flags
-.Op Fl \
+.Fl d ,
+.Fl safe ,
 and
-.Op Fl safe ,
+.Fl version
 as well as the commands
 .Cm fflush , compl , and , or ,
 .Cm xor , lshift , rshift ,
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361962 - head/bin/ps

2020-06-09 Thread Yuri Pankov
Author: yuripv
Date: Tue Jun  9 07:07:29 2020
New Revision: 361962
URL: https://svnweb.freebsd.org/changeset/base/361962

Log:
  ps: remove xo_no_setlocale() call
  
  Apparently libxo was fixed to do the right thing on FreeBSD,
  and calling xo_no_setlocale() is no longer needed.
  
  Reported by:  phil

Modified:
  head/bin/ps/ps.c

Modified: head/bin/ps/ps.c
==
--- head/bin/ps/ps.cTue Jun  9 06:48:25 2020(r361961)
+++ head/bin/ps/ps.cTue Jun  9 07:07:29 2020(r361962)
@@ -192,7 +192,6 @@ main(int argc, char *argv[])
char fmtbuf[_POSIX2_LINE_MAX];
 
(void) setlocale(LC_ALL, "");
-   xo_no_setlocale();
time(); /* Used by routines in print.c. */
 
/*
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r361887 - head/bin/ps

2020-06-07 Thread Yuri Pankov
Author: yuripv
Date: Sun Jun  7 08:21:19 2020
New Revision: 361887
URL: https://svnweb.freebsd.org/changeset/base/361887

Log:
  ps: use %hs instead of %s format specifiers
  
  Use %hs (locale-based encoding) instead of %s (UTF-8) format for
  strings that are expected to be in current locale encoding (date/time,
  process names/argument list).
  
  PR:   241491
  Reviewed by:  phil
  Differential Revision:https://reviews.freebsd.org/D22160

Modified:
  head/bin/ps/keyword.c
  head/bin/ps/print.c
  head/bin/ps/ps.c

Modified: head/bin/ps/keyword.c
==
--- head/bin/ps/keyword.c   Sun Jun  7 05:08:44 2020(r361886)
+++ head/bin/ps/keyword.c   Sun Jun  7 08:21:19 2020(r361887)
@@ -254,7 +254,7 @@ showkey(void)
i = len;
sep = "\n";
}
-   xo_emit("{P:/%s}{l:key/%s}", sep, p);
+   xo_emit("{P:/%hs}{l:key/%hs}", sep, p);
sep = " ";
}
xo_emit("\n");

Modified: head/bin/ps/print.c
==
--- head/bin/ps/print.c Sun Jun  7 05:08:44 2020(r361886)
+++ head/bin/ps/print.c Sun Jun  7 08:21:19 2020(r361887)
@@ -89,11 +89,11 @@ printheader(void)
v = vent->var;
if (v->flag & LJUST) {
if (STAILQ_NEXT(vent, next_ve) == NULL) /* last one */
-   xo_emit("{T:/%s}", vent->header);
+   xo_emit("{T:/%hs}", vent->header);
else
-   xo_emit("{T:/%-*s}", v->width, vent->header);
+   xo_emit("{T:/%-*hs}", v->width, vent->header);
} else
-   xo_emit("{T:/%*s}", v->width, vent->header);
+   xo_emit("{T:/%*hs}", v->width, vent->header);
if (STAILQ_NEXT(vent, next_ve) != NULL)
xo_emit("{P: }");
}

Modified: head/bin/ps/ps.c
==
--- head/bin/ps/ps.cSun Jun  7 05:08:44 2020(r361886)
+++ head/bin/ps/ps.cSun Jun  7 08:21:19 2020(r361887)
@@ -192,6 +192,7 @@ main(int argc, char *argv[])
char fmtbuf[_POSIX2_LINE_MAX];
 
(void) setlocale(LC_ALL, "");
+   xo_no_setlocale();
time(); /* Used by routines in print.c. */
 
/*
@@ -696,7 +697,7 @@ main(int argc, char *argv[])
fwidthmin = (xo_get_style(NULL) != XO_STYLE_TEXT ||
(STAILQ_NEXT(vent, next_ve) == NULL &&
(vent->var->flag & LJUST))) ? 0 : vent->var->width;
-   snprintf(fmtbuf, sizeof(fmtbuf), "{:%s/%%%s%d..%ds}",
+   snprintf(fmtbuf, sizeof(fmtbuf), "{:%s/%%%s%d..%dhs}",
vent->var->field ? vent->var->field : 
vent->var->name,
(vent->var->flag & LJUST) ? "-" : "",
fwidthmin, fwidthmax);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r363543 - in head/usr.bin/sed: . tests

2020-07-26 Thread Yuri Pankov
Author: yuripv
Date: Sun Jul 26 09:15:05 2020
New Revision: 363543
URL: https://svnweb.freebsd.org/changeset/base/363543

Log:
  sed: treat '[' as ordinary character in 'y' command
  
  'y' does not handle bracket expressions, treat '[' as ordinary character
  and do not apply bracket expression checks (GNU sed agrees).
  
  PR:   247931
  Reviewed by:  pfg, kevans
  Tested by:antoine (exp-run), Quentin L'Hours 
  Differential Revision:https://reviews.freebsd.org/D25640

Modified:
  head/usr.bin/sed/compile.c
  head/usr.bin/sed/tests/sed2_test.sh

Modified: head/usr.bin/sed/compile.c
==
--- head/usr.bin/sed/compile.c  Sun Jul 26 02:51:00 2020(r363542)
+++ head/usr.bin/sed/compile.c  Sun Jul 26 09:15:05 2020(r363543)
@@ -437,11 +437,19 @@ compile_delimited(char *p, char *d, int is_tr)
linenum, fname);
while (*p) {
if (*p == '[' && *p != c) {
-   if ((d = compile_ccl(, d)) == NULL)
-   errx(1, "%lu: %s: unbalanced brackets ([])", 
linenum, fname);
-   continue;
+   if (!is_tr) {
+   if ((d = compile_ccl(, d)) == NULL) {
+   errx(1,
+   "%lu: %s: unbalanced brackets ([])",
+   linenum, fname);
+   }
+   continue;
+   }
} else if (*p == '\\' && p[1] == '[') {
-   *d++ = *p++;
+   if (is_tr)
+   p++;
+   else
+   *d++ = *p++;
} else if (*p == '\\' && p[1] == c) {
p++;
} else if (*p == '\\' &&

Modified: head/usr.bin/sed/tests/sed2_test.sh
==
--- head/usr.bin/sed/tests/sed2_test.sh Sun Jul 26 02:51:00 2020
(r363542)
+++ head/usr.bin/sed/tests/sed2_test.sh Sun Jul 26 09:15:05 2020
(r363543)
@@ -134,6 +134,22 @@ commands_on_stdin_body()
atf_check -o 'empty' sed -f - < insert_x
 }
 
+atf_test_case bracket_y
+bracket_y_head()
+{
+   atf_set "descr" "Verify '[' is ordinary character for 'y' command"
+}
+bracket_y_body()
+{
+   atf_check -e empty -o ignore echo | sed 'y/[/x/'
+   atf_check -e empty -o ignore echo | sed 'y/[]/xy/'
+   atf_check -e empty -o ignore echo | sed 'y/[a]/xyz/'
+   atf_check -e empty -o "inline:zyx" echo '][a' | sed 'y/[a]/xyz/'
+   atf_check -e empty -o "inline:bracket\n" echo 'bra[ke]' | sed 'y/[]/ct/'
+   atf_check -e empty -o "inline:bracket\n" \
+   echo 'bra[ke]' | sed 'y[\[][ct['
+}
+
 atf_init_test_cases()
 {
atf_add_test_case inplace_command_q
@@ -142,4 +158,5 @@ atf_init_test_cases()
atf_add_test_case escape_subst
atf_add_test_case commands_on_stdin
atf_add_test_case hex_subst
+   atf_add_test_case bracket_y
 }
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r363577 - in stable/12/usr.bin/locale: . tests

2020-07-26 Thread Yuri Pankov
Author: yuripv
Date: Sun Jul 26 19:18:55 2020
New Revision: 363577
URL: https://svnweb.freebsd.org/changeset/base/363577

Log:
  MFC r362146:
  locale: exit 1 if unknown keyword was specified
  
  PR:   241906
  Submitted by: Akos Somfai 

Modified:
  stable/12/usr.bin/locale/locale.c
  stable/12/usr.bin/locale/tests/locale_test.sh
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/usr.bin/locale/locale.c
==
--- stable/12/usr.bin/locale/locale.c   Sun Jul 26 18:33:29 2020
(r363576)
+++ stable/12/usr.bin/locale/locale.c   Sun Jul 26 19:18:55 2020
(r363577)
@@ -61,7 +61,7 @@ void  list_locales(void);
 const char *lookup_localecat(int);
 char   *kwval_lconv(int);
 intkwval_lookup(const char *, char **, int *, int *, int *);
-void   showdetails(const char *);
+intshowdetails(const char *);
 void   showkeywordslist(char *substring);
 void   showlocale(void);
 void   usage(void);
@@ -414,7 +414,8 @@ main(int argc, char *argv[])
setlocale(LC_ALL, "");
if (argc > 0) {
while (argc > 0) {
-   showdetails(*argv);
+   if (showdetails(*argv) != 0)
+   exit(EXIT_FAILURE);
argv++;
argc--;
}
@@ -837,19 +838,16 @@ kwval_lookup(const char *kwname, char **kwval, int *ca
  * Show details about requested keyword according to '-k' and/or '-c'
  * command line options specified.
  */
-void
+int
 showdetails(const char *kw)
 {
int type, cat, tmpval, alloc;
char*kwval;
 
if (kwval_lookup(kw, , , , ) == 0) {
-   /*
-* invalid keyword specified.
-* XXX: any actions?
-*/
+   /* Invalid keyword specified */
fprintf(stderr, "Unknown keyword: `%s'\n", kw);
-   return;
+   return (1);
}
 
if (prt_categories) {
@@ -889,6 +887,8 @@ showdetails(const char *kw)
 
if (alloc)
free(kwval);
+
+   return (0);
 }
 
 /*

Modified: stable/12/usr.bin/locale/tests/locale_test.sh
==
--- stable/12/usr.bin/locale/tests/locale_test.sh   Sun Jul 26 18:33:29 
2020(r363576)
+++ stable/12/usr.bin/locale/tests/locale_test.sh   Sun Jul 26 19:18:55 
2020(r363577)
@@ -160,8 +160,24 @@ no_flags_posix_body()
noexpr
 }
 
+atf_test_case k_flag_unknown_kw
+k_flag_unknown_kw_head()
+{
+   atf_set "descr" \
+   "Verify 'locale -k' exit status is '1' for unknown keywords"
+}
+k_flag_unknown_kw_body()
+{
+   export LC_ALL="C"
+
+   # Hopefully the keyword will stay nonexistent
+   atf_check -s exit:1 -o empty -e ignore locale -k nonexistent
+}
+
+
 atf_init_test_cases()
 {
atf_add_test_case k_flag_posix
atf_add_test_case no_flags_posix
+   atf_add_test_case k_flag_unknown_kw
 }
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368390 - in head/tools/tools/locale: . etc/final-maps tools

2020-12-06 Thread Yuri Pankov
Author: yuripv
Date: Sun Dec  6 16:44:41 2020
New Revision: 368390
URL: https://svnweb.freebsd.org/changeset/base/368390

Log:
  update wcwidth data from utf8proc
  
  Character width data being out of date is a constant source
  of weird rendering issues and wasted time trying to diagnose
  those, e.g. as reported by Jeremy Chadwick:
  
  https://gitlab.com/muttmua/mutt/-/issues/67
  
  Sadly, there is no real ("standard") wcwidth data source, so
  this tries to rectify the problem using the utf8proc one (through
  its C API) which would hopefully benefeat both FreeBSD and
  utf8proc through bug reports (if any).
  
  Reviewed by:  bapt
  Differential Revision:https://reviews.freebsd.org/D27259

Added:
  head/tools/tools/locale/tools/getwidths.c   (contents, props changed)
  head/tools/tools/locale/tools/mkwidths.pl   (contents, props changed)
Modified:
  head/tools/tools/locale/Makefile
  head/tools/tools/locale/README
  head/tools/tools/locale/etc/final-maps/widths.txt   (contents, props changed)

Modified: head/tools/tools/locale/Makefile
==
--- head/tools/tools/locale/MakefileSun Dec  6 16:22:26 2020
(r368389)
+++ head/tools/tools/locale/MakefileSun Dec  6 16:44:41 2020
(r368390)
@@ -225,7 +225,7 @@ posix/${enc}.cm:
 .for area in ${BASE_LOCALES_OF_INTEREST}
 posixsrc: build-tools posix/${area}.UTF-8.src
 .ORDER: build-tools posix/${area}.UTF-8.src
-posix/${area}.UTF-8.src: 
+posix/${area}.UTF-8.src:
mkdir -p posix && \
${JAVA_CLDR} org.unicode.cldr.posix.GeneratePOSIX \
-d posix -m ${area} -c UTF-8
@@ -238,5 +238,21 @@ posix/${area}.${encoding}.src:
${JAVA_CLDR} org.unicode.cldr.posix.GeneratePOSIX \
-d posix -m ${area} -c ${encoding}
 .endfor
+
+# generate widths.txt using the data from libut8proc
+GETWIDTHS=${TOOLSDIR}/getwidths
+MKWIDTHS=${TOOLSDIR}/mkwidths.pl
+WIDTHS=${ETCDIR}/final-maps/widths.txt
+
+U8CFLAGS!=pkgconf --cflags libutf8proc
+U8LIBS!=pkgconf --libs libutf8proc
+CFLAGS+=${U8CFLAGS}
+LDFLAGS+=${U8LIBS}
+
+CLEANFILES+=${TOOLSDIR}/getwidths
+
+widths:${WIDTHS}
+${WIDTHS}: posixcm ${GETWIDTHS}
+   ${GETWIDTHS} | ${MKWIDTHS} ${.OBJDIR}/posix/UTF-8.cm ${.TARGET}
 
 .include 

Modified: head/tools/tools/locale/README
==
--- head/tools/tools/locale/README  Sun Dec  6 16:22:26 2020
(r368389)
+++ head/tools/tools/locale/README  Sun Dec  6 16:44:41 2020
(r368390)
@@ -55,4 +55,8 @@ Targets:
 
make install
Install the build results into $LOCALESRCDIR.
+
+   make widths
+   Generate widths.txt.  Requires pkgconf and utf8proc
+   packages to be installed.
 [EOF]

Modified: head/tools/tools/locale/etc/final-maps/widths.txt
==
--- head/tools/tools/locale/etc/final-maps/widths.txt   Sun Dec  6 16:22:26 
2020(r368389)
+++ head/tools/tools/locale/etc/final-maps/widths.txt   Sun Dec  6 16:44:41 
2020(r368390)
@@ -1,26 +1,73 @@
-#
-# Width Table. Credit for the input into this table, which is derived from
-# the Unicode standards, is due to Markus Kuhn's implementation of wcwidth
-# which can be found at http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
-#
-# Some key differences: The numbers here are translated to the values found
-# in the UTF-8 character map, and where symbolic names are missing for
-# values from that table, we have omitted the values here.  This means that
-# characters which lack a symbolic name but are not 1 screen column wide
-# are going to be mis-handled. This emphasizes the importance of having
-# symbolic names for all characters that are to be handled properly.
-#
-# Also, to support use with different encodings, we avoid the use of ranges
-# as some encodings may not have the same contiguous ranges as stock Unicode.
-#
-# This table must be processed *after* the charmap, as the symbolic names
-# need to be defined there.
-#
-# Everything after this comment was generated automatically using the
-# the mkwidths.py python script.  To make corrections, fix the widths-0.txt
-# or widths-2.txt files, and re-run mkwidths.py.  But preserve this header.
-#
+# Warning: Do not edit. This file is automatically generated from the
+# tools in /usr/src/tools/tools/locale. The data is obtained from the
+# utf8proc 2.5.0.
+# -
 WIDTH
+ 0
+ 0
+0
+  0
+  0
+  0
+  0
+0
+0
+  0
+  0
+ 0
+0
+  0
+0
+ 0
+ 0
+   0
+   0
+ 0
+  0
+ 0
+ 0
+0
+   0
+0
+   0
+   0
+   0
+  0
+0
+0
+   0
+ 0
+ 0
+ 0
+0
+ 0
+0
+   0
+ 0
+ 0
+  0
+  0
+ 0
+0
+0
+ 0
+   0
+0
+  0
+ 

svn commit: r368437 - stable/12/share/timedef

2020-12-07 Thread Yuri Pankov
Author: yuripv
Date: Tue Dec  8 07:47:29 2020
New Revision: 368437
URL: https://svnweb.freebsd.org/changeset/base/368437

Log:
  MFC r340354:
  
  Use blank am_pm and t_fmt_ampm for de_AT and de_DE locales as apparently
  they use 24-hour clock notation.  The visible change is that w(1) now
  uses 24-hour clock format as it checks for t_fmt_ampm presence.
  
  PR:   231771
  Submitted by: Christoph Schönweiler 

Modified:
  stable/12/share/timedef/de_AT.ISO8859-15.src
  stable/12/share/timedef/de_AT.UTF-8.src
  stable/12/share/timedef/de_DE.ISO8859-15.src
  stable/12/share/timedef/de_DE.UTF-8.src
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/share/timedef/de_AT.ISO8859-15.src
==
--- stable/12/share/timedef/de_AT.ISO8859-15.srcTue Dec  8 04:18:16 
2020(r368436)
+++ stable/12/share/timedef/de_AT.ISO8859-15.srcTue Dec  8 07:47:29 
2020(r368437)
@@ -1,7 +1,3 @@
-# Warning: Do not edit. This file is automatically generated from the
-# tools in /usr/src/tools/tools/locale. The data is obtained from the
-# CLDR project, obtained from http://cldr.unicode.org/
-# -
 #
 # Short month names
 J�n.
@@ -59,8 +55,8 @@ Samstag
 %a %e %b %X %Y
 #
 # AM/PM
-vorm.
-nachm.
+
+
 #
 # date_fmt
 %a %e %b %Y %X %Z
@@ -83,5 +79,5 @@ Dezember
 dm
 #
 # ampm_fmt
-%I:%M:%S %p
+
 # EOF

Modified: stable/12/share/timedef/de_AT.UTF-8.src
==
--- stable/12/share/timedef/de_AT.UTF-8.src Tue Dec  8 04:18:16 2020
(r368436)
+++ stable/12/share/timedef/de_AT.UTF-8.src Tue Dec  8 07:47:29 2020
(r368437)
@@ -1,7 +1,3 @@
-# Warning: Do not edit. This file is automatically generated from the
-# tools in /usr/src/tools/tools/locale. The data is obtained from the
-# CLDR project, obtained from http://cldr.unicode.org/
-# -
 #
 # Short month names
 Jän.
@@ -59,8 +55,8 @@ Samstag
 %a %e %b %X %Y
 #
 # AM/PM
-vorm.
-nachm.
+
+
 #
 # date_fmt
 %a %e %b %Y %X %Z
@@ -83,5 +79,5 @@ Dezember
 dm
 #
 # ampm_fmt
-%I:%M:%S %p
+
 # EOF

Modified: stable/12/share/timedef/de_DE.ISO8859-15.src
==
--- stable/12/share/timedef/de_DE.ISO8859-15.srcTue Dec  8 04:18:16 
2020(r368436)
+++ stable/12/share/timedef/de_DE.ISO8859-15.srcTue Dec  8 07:47:29 
2020(r368437)
@@ -1,7 +1,3 @@
-# Warning: Do not edit. This file is automatically generated from the
-# tools in /usr/src/tools/tools/locale. The data is obtained from the
-# CLDR project, obtained from http://cldr.unicode.org/
-# -
 #
 # Short month names
 Jan.
@@ -59,8 +55,8 @@ Samstag
 %a %e %b %X %Y
 #
 # AM/PM
-vorm.
-nachm.
+
+
 #
 # date_fmt
 %a %e %b %Y %X %Z
@@ -83,5 +79,5 @@ Dezember
 dm
 #
 # ampm_fmt
-%I:%M:%S %p
+
 # EOF

Modified: stable/12/share/timedef/de_DE.UTF-8.src
==
--- stable/12/share/timedef/de_DE.UTF-8.src Tue Dec  8 04:18:16 2020
(r368436)
+++ stable/12/share/timedef/de_DE.UTF-8.src Tue Dec  8 07:47:29 2020
(r368437)
@@ -1,7 +1,3 @@
-# Warning: Do not edit. This file is automatically generated from the
-# tools in /usr/src/tools/tools/locale. The data is obtained from the
-# CLDR project, obtained from http://cldr.unicode.org/
-# -
 #
 # Short month names
 Jan.
@@ -59,8 +55,8 @@ Samstag
 %a %e %b %X %Y
 #
 # AM/PM
-vorm.
-nachm.
+
+
 #
 # date_fmt
 %a %e %b %Y %X %Z
@@ -83,5 +79,5 @@ Dezember
 dm
 #
 # ampm_fmt
-%I:%M:%S %p
+
 # EOF
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368438 - stable/12/usr.bin/awk

2020-12-08 Thread Yuri Pankov
Author: yuripv
Date: Tue Dec  8 08:20:30 2020
New Revision: 368438
URL: https://svnweb.freebsd.org/changeset/base/368438

Log:
  MFC r362147:
  
  awk(1): use -version instead of -V
  
  -V is OpenBSD specific, use -version instead.
  
  While here, fix issue reported by mandoc lint and drop nonexistent
  script(7) reference.
  
  PR:   247004

Modified:
  stable/12/usr.bin/awk/awk.1
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/usr.bin/awk/awk.1
==
--- stable/12/usr.bin/awk/awk.1 Tue Dec  8 07:47:29 2020(r368437)
+++ stable/12/usr.bin/awk/awk.1 Tue Dec  8 08:20:30 2020(r368438)
@@ -23,7 +23,7 @@
 .\" THIS SOFTWARE.
 .\"
 .\"$FreeBSD$
-.Dd $Mdocdate: September 14 2015 $
+.Dd $Mdocdate: June 6 2020 $
 .Dt AWK 1
 .Os
 .Sh NAME
@@ -32,7 +32,7 @@
 .Sh SYNOPSIS
 .Nm awk
 .Op Fl safe
-.Op Fl V
+.Op Fl version
 .Op Fl d Ns Op Ar n
 .Op Fl F Ar fs
 .Op Fl v Ar var Ns = Ns Ar value
@@ -101,7 +101,7 @@ approximation to a
 .Dq safe
 version of
 .Nm .
-.It Fl V
+.It Fl version
 Print the version number of
 .Nm
 to standard output and exit.
@@ -265,7 +265,7 @@ and concatenation
 .Pq indicated by whitespace .
 The operators
 .Ic \&! ++ \-\- += \-= *= /= %= ^=
-.Ic > >= < <= == != ?:
+.Ic > >= < <= == != ?\&:
 are also available in expressions.
 Variables may be scalars, array elements
 (denoted
@@ -752,8 +752,7 @@ Print an error message to standard error:
 .Xr lex 1 ,
 .Xr printf 1 ,
 .Xr sed 1 ,
-.Xr re_format 7 ,
-.Xr script 7
+.Xr re_format 7
 .Rs
 .%A A. V. Aho
 .%A B. W. Kernighan
@@ -774,9 +773,10 @@ except
 does not support {n,m} pattern matching.
 .Pp
 The flags
-.Op Fl \
+.Fl d ,
+.Fl safe ,
 and
-.Op Fl safe ,
+.Fl version
 as well as the commands
 .Cm fflush , compl , and , or ,
 .Cm xor , lshift , rshift ,
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368288 - in stable/12: share/ctypedef tools/tools/locale/tools

2020-12-02 Thread Yuri Pankov
Author: yuripv
Date: Wed Dec  2 22:44:40 2020
New Revision: 368288
URL: https://svnweb.freebsd.org/changeset/base/368288

Log:
  MFC r353130:
  
  Mark "private use area" characters as printable.
  
  At least some of the characters in E000-F8FF range are used by Powerline
  fonts, and having no attributes for these ranges in UnicodeData.txt
  other than "Other, Private Use" it should be safe to mark all of them as
  printable.  Some actually were before r340491, so this fixes the
  regression introduced there as well.
  
  PR:   240911
  Reviewed by:  bapt
  Tested by:Daniel Ponte 
  Differential Revision:https://reviews.freebsd.org/D21850

Modified:
  stable/12/share/ctypedef/C.UTF-8.src
  stable/12/tools/tools/locale/tools/utf8-rollup.pl
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/share/ctypedef/C.UTF-8.src
==
--- stable/12/share/ctypedef/C.UTF-8.srcWed Dec  2 21:53:28 2020
(r368287)
+++ stable/12/share/ctypedef/C.UTF-8.srcWed Dec  2 22:44:40 2020
(r368288)
@@ -16434,7 +16434,6 @@ cntrl   ;/
;/
;/
;/
-   ;...;;/
;/
;/
;/
@@ -16549,9 +16548,7 @@ cntrl   ;/
;/
;/
;/
-   ;/
-   ;...;;/
-   ;...;
+   
 digit  ;/
;/
;/
@@ -22555,6 +22552,7 @@ graph   ;/
;/
;/
;/
+   ;...;;/
;/
;/
;/
@@ -27547,7 +27545,9 @@ graph   ;/
;/
;/
;/
-   
+   ;/
+   ;...;;/
+   ;...;
 lower  ;/
;/
;/

Modified: stable/12/tools/tools/locale/tools/utf8-rollup.pl
==
--- stable/12/tools/tools/locale/tools/utf8-rollup.pl   Wed Dec  2 21:53:28 
2020(r368287)
+++ stable/12/tools/tools/locale/tools/utf8-rollup.pl   Wed Dec  2 22:44:40 
2020(r368288)
@@ -161,7 +161,8 @@ sub parse_unidata {
$cat = "alpha";
} elsif ($d[2] =~ /^P/) {
$cat = "punct";
-   } elsif ($d[2] =~ /^M/ || $d[2] =~ /^N/ || $d[2] =~ /^S/) {
+   } elsif ($d[2] =~ /^Co/ || $d[2] =~ /^M/ || $d[2] =~ /^N/ ||
+   $d[2] =~ /^S/) {
$cat = "graph";
} elsif ($d[2] =~ /^C/) {
$cat = "cntrl";
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368140 - head/sys/x86/cpufreq

2020-11-28 Thread Yuri Pankov
Author: yuripv
Date: Sun Nov 29 01:43:04 2020
New Revision: 368140
URL: https://svnweb.freebsd.org/changeset/base/368140

Log:
  hwpstate_intel: don't unconditionally print the error message
  
  Actually check the wrmsr_safe() return value when setting autonomous
  HWP for package.
  
  PR:   245582
  Differential Revision:https://reviews.freebsd.org/D24744

Modified:
  head/sys/x86/cpufreq/hwpstate_intel.c

Modified: head/sys/x86/cpufreq/hwpstate_intel.c
==
--- head/sys/x86/cpufreq/hwpstate_intel.c   Sun Nov 29 01:32:53 2020
(r368139)
+++ head/sys/x86/cpufreq/hwpstate_intel.c   Sun Nov 29 01:43:04 2020
(r368140)
@@ -461,8 +461,10 @@ set_autonomous_hwp(struct hwp_softc *sc)
 * not exist." (Intel SDM §14.4.4)
 */
ret = wrmsr_safe(MSR_IA32_HWP_REQUEST_PKG, sc->req);
-   device_printf(dev,
-   "Failed to set autonomous HWP for package\n");
+   if (ret) {
+   device_printf(dev,
+   "Failed to set autonomous HWP for package\n");
+   }
}
 
 out:
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368157 - head/share/man/man7

2020-11-29 Thread Yuri Pankov
Author: yuripv
Date: Sun Nov 29 16:29:40 2020
New Revision: 368157
URL: https://svnweb.freebsd.org/changeset/base/368157

Log:
  security(7): fix copy/paste error and correct aslr oids
  
  Submitted by: Mina Galić 
  Differential Revision:https://reviews.freebsd.org/D27408

Modified:
  head/share/man/man7/security.7

Modified: head/share/man/man7/security.7
==
--- head/share/man/man7/security.7  Sun Nov 29 16:22:33 2020
(r368156)
+++ head/share/man/man7/security.7  Sun Nov 29 16:29:40 2020
(r368157)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 11, 2020
+.Dd November 28, 2020
 .Dt SECURITY 7
 .Os
 .Sh NAME
@@ -1061,7 +1061,7 @@ position-independent (PIE) 32bit binaries.
 .It Dv kern.elf32.aslr.honor_sbrk
 Makes ASLR less aggressive and more compatible with old binaries
 relying on the sbrk area.
-.It Dv kern.elf32.aslr.aslr_stack_gap
+.It Dv kern.elf32.aslr.stack_gap
 If ASLR is enabled for a binary, a non-zero value creates a randomized
 stack gap between strings and the end of the aux vector.
 The value is the maximum percentage of main stack to waste on the gap.
@@ -1072,7 +1072,7 @@ Cannot be greater than 50, i.e., at most half of the s
 64bit PIE binaries ASLR control.
 .It Dv kern.elf64.aslr.honor_sbrk
 64bit binaries ASLR sbrk compatibility control.
-.It Dv kern.elf32.aslr.aslr_stack_gap
+.It Dv kern.elf64.aslr.stack_gap
 Controls stack gap for 64bit binaries.
 .It Dv kern.elf32.nxstack
 Enables non-executable stack for 32bit processes.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368750 - head/tools/tools/locale

2020-12-17 Thread Yuri Pankov
Author: yuripv
Date: Fri Dec 18 04:01:05 2020
New Revision: 368750
URL: https://svnweb.freebsd.org/changeset/base/368750

Log:
  tools/tools/locale: install generated files in current src checkout

Modified:
  head/tools/tools/locale/Makefile

Modified: head/tools/tools/locale/Makefile
==
--- head/tools/tools/locale/MakefileFri Dec 18 03:46:50 2020
(r368749)
+++ head/tools/tools/locale/MakefileFri Dec 18 04:01:05 2020
(r368750)
@@ -11,7 +11,7 @@
 .error Do make obj first.
 .endif
 
-LOCALESRCDIR?= ${DESTDIR}/usr/src/share
+LOCALESRCDIR?= ${SRCTOP}/share
 TMPDIR?=   /tmp
 
 BASEDIR=   ${.CURDIR}
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368754 - head/tools/tools/locale

2020-12-18 Thread Yuri Pankov
Author: yuripv
Date: Fri Dec 18 08:43:06 2020
New Revision: 368754
URL: https://svnweb.freebsd.org/changeset/base/368754

Log:
  tools/tools/locale: fix static-colldef

Modified:
  head/tools/tools/locale/Makefile

Modified: head/tools/tools/locale/Makefile
==
--- head/tools/tools/locale/MakefileFri Dec 18 08:40:33 2020
(r368753)
+++ head/tools/tools/locale/MakefileFri Dec 18 08:43:06 2020
(r368754)
@@ -126,9 +126,8 @@ build-colldef:  static-colldef
 
 static-colldef:
 .for area enc in ${COLLATION_SPECIAL}
-colldef.draft/${area}.${enc}.src: posix/${area}.${enc}.src
awk -f ${TOOLSDIR}/extract-colldef.awk \
-   ${.ALLSRC} > ${.TARGET} || (rm -f ${.TARGET} && false)
+   posix/${area}.${enc}.src > colldef.draft/${area}.${enc}.src
 .endfor
 
 BASE_LOCALES_OF_INTEREST?= \
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368580 - head/usr.bin/xargs

2020-12-12 Thread Yuri Pankov
Author: yuripv
Date: Sat Dec 12 15:38:32 2020
New Revision: 368580
URL: https://svnweb.freebsd.org/changeset/base/368580

Log:
  xargs: compile yesexpr as ERE
  
  yesexpr is an extended regular expression for quite some time now,
  use appropriate flag when compiling it.
  
  PR:   238762
  Reviewed by:  kevans
  Differential Revision:https://reviews.freebsd.org/D27509

Modified:
  head/usr.bin/xargs/xargs.c

Modified: head/usr.bin/xargs/xargs.c
==
--- head/usr.bin/xargs/xargs.c  Sat Dec 12 14:53:34 2020(r368579)
+++ head/usr.bin/xargs/xargs.c  Sat Dec 12 15:38:32 2020(r368580)
@@ -782,7 +782,7 @@ prompt(void)
(void)fprintf(stderr, "?...");
(void)fflush(stderr);
if ((response = fgetln(ttyfp, )) == NULL ||
-   regcomp(, nl_langinfo(YESEXPR), REG_BASIC) != 0) {
+   regcomp(, nl_langinfo(YESEXPR), REG_EXTENDED) != 0) {
(void)fclose(ttyfp);
return (0);
}
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368594 - in stable/12: etc/mtree share/colldef share/ctypedef share/monetdef share/msgdef share/numericdef share/timedef tools/tools/locale tools/tools/locale/etc

2020-12-12 Thread Yuri Pankov
Author: yuripv
Date: Sat Dec 12 22:47:57 2020
New Revision: 368594
URL: https://svnweb.freebsd.org/changeset/base/368594

Log:
  MFC r340992:
  
  Add ga_IE.UTF-8 locale.
  
  PR:   228587
  Submitted by: Micil  (LC_TIME)

Added:
  stable/12/share/monetdef/ga_IE.UTF-8.src
 - copied unchanged from r340992, head/share/monetdef/ga_IE.UTF-8.src
  stable/12/share/msgdef/ga_IE.UTF-8.src
 - copied unchanged from r340992, head/share/msgdef/ga_IE.UTF-8.src
  stable/12/share/timedef/ga_IE.UTF-8.src
 - copied unchanged from r340992, head/share/timedef/ga_IE.UTF-8.src
Deleted:
  stable/12/share/monetdef/en_IE.UTF-8.src
Modified:
  stable/12/etc/mtree/BSD.usr.dist
  stable/12/share/colldef/Makefile
  stable/12/share/ctypedef/Makefile
  stable/12/share/monetdef/Makefile
  stable/12/share/msgdef/Makefile
  stable/12/share/numericdef/Makefile
  stable/12/share/timedef/Makefile
  stable/12/tools/tools/locale/Makefile
  stable/12/tools/tools/locale/etc/charmaps.xml
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/etc/mtree/BSD.usr.dist
==
--- stable/12/etc/mtree/BSD.usr.distSat Dec 12 22:23:45 2020
(r368593)
+++ stable/12/etc/mtree/BSD.usr.distSat Dec 12 22:47:57 2020
(r368594)
@@ -665,6 +665,8 @@
 ..
 fr_FR.UTF-8
 ..
+ga_IE.UTF-8
+..
 he_IL.UTF-8
 ..
 hi_IN.ISCII-DEV

Modified: stable/12/share/colldef/Makefile
==
--- stable/12/share/colldef/MakefileSat Dec 12 22:23:45 2020
(r368593)
+++ stable/12/share/colldef/MakefileSat Dec 12 22:47:57 2020
(r368594)
@@ -184,6 +184,7 @@ SAME+=  en_US.UTF-8 nl_NL.UTF-8
 SAME+= en_US.UTF-8 nl_BE.UTF-8
 SAME+= en_US.UTF-8 it_IT.UTF-8
 SAME+= en_US.UTF-8 it_CH.UTF-8
+SAME+= en_US.UTF-8 ga_IE.UTF-8
 SAME+= en_US.UTF-8 fr_FR.UTF-8
 SAME+= en_US.UTF-8 fr_CH.UTF-8
 SAME+= en_US.UTF-8 fr_BE.UTF-8

Modified: stable/12/share/ctypedef/Makefile
==
--- stable/12/share/ctypedef/Makefile   Sat Dec 12 22:23:45 2020
(r368593)
+++ stable/12/share/ctypedef/Makefile   Sat Dec 12 22:47:57 2020
(r368594)
@@ -82,6 +82,7 @@ SAME+=C.UTF-8 hu_HU.UTF-8
 SAME+= C.UTF-8 hr_HR.UTF-8
 SAME+= C.UTF-8 hi_IN.UTF-8
 SAME+= C.UTF-8 he_IL.UTF-8
+SAME+= C.UTF-8 ga_IE.UTF-8
 SAME+= C.UTF-8 fr_FR.UTF-8
 SAME+= C.UTF-8 fr_CH.UTF-8
 SAME+= C.UTF-8 fr_CA.UTF-8

Modified: stable/12/share/monetdef/Makefile
==
--- stable/12/share/monetdef/Makefile   Sat Dec 12 22:23:45 2020
(r368593)
+++ stable/12/share/monetdef/Makefile   Sat Dec 12 22:47:57 2020
(r368594)
@@ -31,7 +31,6 @@ LOCALES+= en_GB.US-ASCII
 LOCALES+=  en_GB.UTF-8
 LOCALES+=  en_IE.ISO8859-1
 LOCALES+=  en_IE.ISO8859-15
-LOCALES+=  en_IE.UTF-8
 LOCALES+=  en_NZ.UTF-8
 LOCALES+=  en_PH.UTF-8
 LOCALES+=  en_SG.UTF-8
@@ -47,6 +46,7 @@ LOCALES+= fr_CA.UTF-8
 LOCALES+=  fr_CH.ISO8859-15
 LOCALES+=  fr_CH.UTF-8
 LOCALES+=  fr_FR.UTF-8
+LOCALES+=  ga_IE.UTF-8
 LOCALES+=  he_IL.UTF-8
 LOCALES+=  hi_IN.ISCII-DEV
 LOCALES+=  hi_IN.UTF-8
@@ -156,6 +156,7 @@ SAME+=  en_CA.UTF-8 en_CA.ISO8859-1
 SAME+= en_GB.ISO8859-15 en_GB.ISO8859-1
 SAME+= zh_HK.UTF-8 en_HK.UTF-8
 SAME+= zh_HK.UTF-8 en_HK.ISO8859-1
+SAME+= ga_IE.UTF-8 en_IE.UTF-8
 SAME+= en_NZ.UTF-8 en_NZ.US-ASCII
 SAME+= en_NZ.UTF-8 en_NZ.ISO8859-15
 SAME+= en_NZ.UTF-8 en_NZ.ISO8859-1

Copied: stable/12/share/monetdef/ga_IE.UTF-8.src (from r340992, 
head/share/monetdef/ga_IE.UTF-8.src)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/12/share/monetdef/ga_IE.UTF-8.srcSat Dec 12 22:47:57 2020
(r368594, copy of r340992, head/share/monetdef/ga_IE.UTF-8.src)
@@ -0,0 +1,50 @@
+# Warning: Do not edit. This file is automatically generated from the
+# tools in /usr/src/tools/tools/locale. The data is obtained from the
+# CLDR project, obtained from http://cldr.unicode.org/
+# -
+#
+# int_curr_symbol (last character always SPACE)
+EUR 
+#
+# currency_symbol
+€
+#
+# mon_decimal_point
+.
+#
+# mon_thousands_sep
+,
+#
+# mon_grouping
+3
+#
+# positive_sign
+
+#
+# negative_sign
+-
+#
+# int_frac_digits
+2
+#
+# frac_digits
+2
+#
+# p_cs_precedes
+1
+#
+# p_sep_by_space
+0
+#
+# n_cs_precedes
+1
+#
+# n_sep_by_space
+0
+#
+# p_sign_posn
+1
+#
+# n_sign_posn
+1
+# EOF


svn commit: r368601 - in stable/12/tools/tools/locale: . etc/final-maps patch tools

2020-12-12 Thread Yuri Pankov
Author: yuripv
Date: Sun Dec 13 01:44:52 2020
New Revision: 368601
URL: https://svnweb.freebsd.org/changeset/base/368601

Log:
  MFC r353491 by eugen:
  
  Add missing port to the list of needed tools in the README file
  describing locale rebuild process:
  
  devel/apache-ant
  
  MFC r353791:
  
  tools/tools/locale: allow POSIX target to be built in parallel
  
  While it's rarely used target, more so a one not used during the
  buildworld, it helps when it's not taking hours (literally).
  
  MFC r364245 by hrs:
  
  - Update to Unicode CLDR v35 (Unicode 12.0).
  
  - Update tools/tools/locale to add make targets to automatically
generate locale source files.  With this change, just typing
"make obj && make -j4" will rebuild them.  Check README for more details.
  
  - Fix issues in ja_JP ctypedef and range specification support
in utf8-rollup.pl.
  
  - Add a temporary patch for UnicodeData.txt to fix code ranges of
CJK Ideograph Extension A and Extension B.
  
  - tools/cldr2def.pl:
Use eucJP for ja_JP ctypedef because eucJP is not compatible with UTF-8.
  
  - tools/convert_map.pl:
Add a verbose error message.
  
  - tools/utf8-rollup.pl:
Normalize entries to use Unicode, not UTF-8.
  
  MFC r368404 by hrs:
  
  Fix the source directory when installing the results.  The install
  target did not install them actually.

Added:
  stable/12/tools/tools/locale/patch/
 - copied from r364245, head/tools/tools/locale/patch/
Modified:
  stable/12/tools/tools/locale/Makefile
  stable/12/tools/tools/locale/README
  stable/12/tools/tools/locale/etc/final-maps/map.UTF-8
  stable/12/tools/tools/locale/tools/cldr2def.pl
  stable/12/tools/tools/locale/tools/convert_map.pl
  stable/12/tools/tools/locale/tools/finalize
  stable/12/tools/tools/locale/tools/utf8-rollup.pl
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/tools/tools/locale/Makefile
==
--- stable/12/tools/tools/locale/Makefile   Sun Dec 13 00:04:30 2020
(r368600)
+++ stable/12/tools/tools/locale/Makefile   Sun Dec 13 01:44:52 2020
(r368601)
@@ -7,19 +7,30 @@
 #
 # Modified by John Marino to suit DragonFly needs
 #
+.if ${.CURDIR} == ${.OBJDIR}
+.error Do make obj first.
+.endif
 
-.OBJDIR:   .
+LOCALESRCDIR?= ${DESTDIR}/usr/src/share
+TMPDIR?=   /tmp
 
-.if !defined(UNIDIR)
-.error UNIDIR is not set
-.endif
-PASSON=UNIDIR="${UNIDIR}"
+BASEDIR=   ${.CURDIR}
+ETCDIR=${BASEDIR}/etc
+TOOLSDIR=  ${BASEDIR}/tools
+PATCHDIR=  ${BASEDIR}/patch
+UNIDIR=${.OBJDIR:tA}/unicode
 
-ETCDIR=${.CURDIR}/etc
+PKGS=  openjdk8 \
+   apache-ant \
+   p5-XML-Parser \
+   p5-Tie-IxHash \
+   p5-Text-Iconv
+tools-test:
+   pkg info -e ${PKGS}
+   @echo tools ok.
 
 KNOWN= monetdef numericdef msgdef colldef ctypedef # timedef
 TYPES?=${KNOWN}
-LOCALE_DESTDIR?=   /tmp/generated-locales/
 
 COLLATION_SPECIAL?= \
cs_CZ ISO8859-2 \
@@ -44,67 +55,82 @@ COLLATION_SPECIAL?= \
 .for area enc in ${COLLATION_SPECIAL}
 COLLATIONS_SPECIAL_ENV+=   ${area}.${enc}
 .endfor
-PASSON+=   COLLATIONS_SPECIAL="${COLLATIONS_SPECIAL_ENV}"
+SETENV=env -i \
+   PATH="${PATH}" \
+   TMPDIR="${TMPDIR}" \
+   COLLATIONS_SPECIAL="${COLLATIONS_SPECIAL_ENV}" \
+   UNIDIR="${UNIDIR}" \
+   BASEDIR="${BASEDIR}" \
+   TOOLSDIR="${TOOLSDIR}" \
+   ETCDIR="${ETCDIR}"
 
-all:
+all: posix build afterbuild
+.ORDER: posix build afterbuild
+
+afterbuild: build
+   @echo ""
+   @find . -name *failed
+
 .for t in ${TYPES}
 .  if ${KNOWN:M${t}}
-   test -d ${t} || mkdir ${t}
-   make build-${t}
+build: build-${t}
+.ORDER: build-${t} afterbuild
 .  endif
 .endfor
-   @echo ""
-   @find . -name *failed
 
+diff:
 .for t in ${TYPES}
+.  if ${KNOWN:M${t}}
+diff: diff-${t}
+diff-${t}:
+   -/usr/bin/diff -ruN -x Makefile -x Makefile.depend \
+   ${LOCALESRCDIR}/${t} ${t}
+.  endif
+.endfor
+
+install:
+.for t in ${TYPES}
+.  if ${KNOWN:M${t}}
 install: install-${t}
 install-${t}:
-.  if ${KNOWN:M${t}}
-   rm -rf ${.CURDIR}/${t}.draft
-   rm -f ${.CURDIR}/../../../share/${t}/Makefile
-   rm -f ${.CURDIR}/../../../share/${t}/*.src
-   mv ${.CURDIR}/${t}/* ${.CURDIR}/../../../share/${t}/
+   cd ${LOCALESRCDIR}/${t} && \
+   rm -f Makefile *.src && \
+   cd ${.OBJDIR} && \
+   install -c ${t}/* ${LOCALESRCDIR}/${t}
 .  endif
 .endfor
 
 post-install:
 .for t in ${TYPES}
 .  if ${KNOWN:M${t}}
-   (cd ${.CURDIR}/../../../share/${t} && \
-   make && make install && make clean)
+   cd ${LOCALSRCDIR}/${t} && \
+   make && make install && make clean
 .  endif
 .endfor
 
 .for t in ${TYPES}
-gen-${t}:
-   mkdir -p ${t} ${t}.draft
-   perl -I tools tools/cldr2def.pl \
-   

svn commit: r368598 - head/tools/tools/locale

2020-12-12 Thread Yuri Pankov
Author: yuripv
Date: Sat Dec 12 23:41:47 2020
New Revision: 368598
URL: https://svnweb.freebsd.org/changeset/base/368598

Log:
  locale: fix mode for installed files to be 644, not 755
  
  While here, drop '-c' flag to install as it's default and provided for
  backward compatibility only.

Modified:
  head/tools/tools/locale/Makefile

Modified: head/tools/tools/locale/Makefile
==
--- head/tools/tools/locale/MakefileSat Dec 12 23:01:11 2020
(r368597)
+++ head/tools/tools/locale/MakefileSat Dec 12 23:41:47 2020
(r368598)
@@ -96,7 +96,7 @@ install-${t}:
cd ${LOCALESRCDIR}/${t} && \
rm -f Makefile *.src && \
cd ${.OBJDIR} && \
-   install -c ${t}/* ${LOCALESRCDIR}/${t}
+   install -m 644 ${t}/* ${LOCALESRCDIR}/${t}
 .  endif
 .endfor
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r368606 - head/usr.bin/calendar

2020-12-13 Thread Yuri Pankov

Stefan Eßer wrote:

Author: se
Date: Sun Dec 13 09:38:50 2020
New Revision: 368606
URL: https://svnweb.freebsd.org/changeset/base/368606

Log:
   Fix WITHOUT_ICONV build
   
   There was an unprotected use of nl_langinfo() to determine the order of

   day vs. month in the generated output.


That's strange, nl_langinfo() is standard and its visibility should not 
(and does not?) depend on WITH/WITHOUT_ICONV.  May be just move 
langinfo.h include outside of "#ifdef WITH_ICONV" block?



   When building without ICONV support, the order will be: month, day.

Modified:
   head/usr.bin/calendar/events.c

Modified: head/usr.bin/calendar/events.c
==
--- head/usr.bin/calendar/events.c  Sun Dec 13 05:34:14 2020
(r368605)
+++ head/usr.bin/calendar/events.c  Sun Dec 13 09:38:50 2020
(r368606)
@@ -202,9 +202,13 @@ event_print_all(FILE *fp)
struct event *e;
struct tm tm;
char dbuf[80];
+#ifdef WITH_ICONV
static int d_first;
  
  	d_first = (*nl_langinfo(D_MD_ORDER) == 'd');

+#else
+#defined_first 0
+#endif
  
  	while (walkthrough_dates() != 0) {

if (e) {



___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r368619 - in stable/12/tools/tools/locale: . etc/final-maps tools

2020-12-13 Thread Yuri Pankov
Author: yuripv
Date: Sun Dec 13 22:25:54 2020
New Revision: 368619
URL: https://svnweb.freebsd.org/changeset/base/368619

Log:
  MFC r368390:
  
  update wcwidth data from utf8proc
  
  Character width data being out of date is a constant source
  of weird rendering issues and wasted time trying to diagnose
  those, e.g. as reported by Jeremy Chadwick:
  
  https://gitlab.com/muttmua/mutt/-/issues/67
  
  Sadly, there is no real ("standard") wcwidth data source, so
  this tries to rectify the problem using the utf8proc one (through
  its C API) which would hopefully benefeat both FreeBSD and
  utf8proc through bug reports (if any).
  
  PR:   251767

Added:
  stable/12/tools/tools/locale/tools/getwidths.c
 - copied unchanged from r368390, head/tools/tools/locale/tools/getwidths.c
  stable/12/tools/tools/locale/tools/mkwidths.pl
 - copied unchanged from r368390, head/tools/tools/locale/tools/mkwidths.pl
Modified:
  stable/12/tools/tools/locale/Makefile
  stable/12/tools/tools/locale/README
  stable/12/tools/tools/locale/etc/final-maps/widths.txt   (contents, props 
changed)
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/tools/tools/locale/Makefile
==
--- stable/12/tools/tools/locale/Makefile   Sun Dec 13 21:32:20 2020
(r368618)
+++ stable/12/tools/tools/locale/Makefile   Sun Dec 13 22:25:54 2020
(r368619)
@@ -224,7 +224,7 @@ posix/${enc}.cm:
 .for area in ${BASE_LOCALES_OF_INTEREST}
 posixsrc: build-tools posix/${area}.UTF-8.src
 .ORDER: build-tools posix/${area}.UTF-8.src
-posix/${area}.UTF-8.src: 
+posix/${area}.UTF-8.src:
mkdir -p posix && \
${JAVA_CLDR} org.unicode.cldr.posix.GeneratePOSIX \
-d posix -m ${area} -c UTF-8
@@ -237,5 +237,21 @@ posix/${area}.${encoding}.src:
${JAVA_CLDR} org.unicode.cldr.posix.GeneratePOSIX \
-d posix -m ${area} -c ${encoding}
 .endfor
+
+# generate widths.txt using the data from libut8proc
+GETWIDTHS=${TOOLSDIR}/getwidths
+MKWIDTHS=${TOOLSDIR}/mkwidths.pl
+WIDTHS=${ETCDIR}/final-maps/widths.txt
+
+U8CFLAGS!=pkgconf --cflags libutf8proc
+U8LIBS!=pkgconf --libs libutf8proc
+CFLAGS+=${U8CFLAGS}
+LDFLAGS+=${U8LIBS}
+
+CLEANFILES+=${TOOLSDIR}/getwidths
+
+widths:${WIDTHS}
+${WIDTHS}: posixcm ${GETWIDTHS}
+   ${GETWIDTHS} | ${MKWIDTHS} ${.OBJDIR}/posix/UTF-8.cm ${.TARGET}
 
 .include 

Modified: stable/12/tools/tools/locale/README
==
--- stable/12/tools/tools/locale/README Sun Dec 13 21:32:20 2020
(r368618)
+++ stable/12/tools/tools/locale/README Sun Dec 13 22:25:54 2020
(r368619)
@@ -55,4 +55,8 @@ Targets:
 
make install
Install the build results into $LOCALESRCDIR.
+
+   make widths
+   Generate widths.txt.  Requires pkgconf and utf8proc
+   packages to be installed.
 [EOF]

Modified: stable/12/tools/tools/locale/etc/final-maps/widths.txt
==
--- stable/12/tools/tools/locale/etc/final-maps/widths.txt  Sun Dec 13 
21:32:20 2020(r368618)
+++ stable/12/tools/tools/locale/etc/final-maps/widths.txt  Sun Dec 13 
22:25:54 2020(r368619)
@@ -1,26 +1,73 @@
-#
-# Width Table. Credit for the input into this table, which is derived from
-# the Unicode standards, is due to Markus Kuhn's implementation of wcwidth
-# which can be found at http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
-#
-# Some key differences: The numbers here are translated to the values found
-# in the UTF-8 character map, and where symbolic names are missing for
-# values from that table, we have omitted the values here.  This means that
-# characters which lack a symbolic name but are not 1 screen column wide
-# are going to be mis-handled. This emphasizes the importance of having
-# symbolic names for all characters that are to be handled properly.
-#
-# Also, to support use with different encodings, we avoid the use of ranges
-# as some encodings may not have the same contiguous ranges as stock Unicode.
-#
-# This table must be processed *after* the charmap, as the symbolic names
-# need to be defined there.
-#
-# Everything after this comment was generated automatically using the
-# the mkwidths.py python script.  To make corrections, fix the widths-0.txt
-# or widths-2.txt files, and re-run mkwidths.py.  But preserve this header.
-#
+# Warning: Do not edit. This file is automatically generated from the
+# tools in /usr/src/tools/tools/locale. The data is obtained from the
+# utf8proc 2.5.0.
+# -
 WIDTH
+ 0
+ 0
+0
+  0
+  0
+  0
+  0
+0
+0
+  0
+  0
+ 0
+0
+  0
+0
+ 0
+ 0
+   0
+   0
+ 0
+  0
+ 0
+ 0
+0
+   0
+0

svn commit: r368711 - head/lib/libc/locale

2020-12-16 Thread Yuri Pankov
Author: yuripv
Date: Thu Dec 17 02:33:52 2020
New Revision: 368711
URL: https://svnweb.freebsd.org/changeset/base/368711

Log:
  nl_langinfo(3): document recognized item names
  
  While here, remove .Tn macro usage (prompted by mandoc lint).
  
  PR:   251468
  Reviewed by:  bapt
  Differential Revision:https://reviews.freebsd.org/D27606

Modified:
  head/lib/libc/locale/nl_langinfo.3

Modified: head/lib/libc/locale/nl_langinfo.3
==
--- head/lib/libc/locale/nl_langinfo.3  Thu Dec 17 00:20:57 2020
(r368710)
+++ head/lib/libc/locale/nl_langinfo.3  Thu Dec 17 02:33:52 2020
(r368711)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 30, 2012
+.Dd December 14, 2020
 .Dt NL_LANGINFO 3
 .Os
 .Sh NAME
@@ -46,10 +46,6 @@ the particular language or cultural area defined in th
 locale, or in the case of
 .Fn nl_langinfo_l ,
 the locale passed as the second argument.
-The manifest constant names and values of
-.Fa item
-are defined in
-.In langinfo.h .
 .Pp
 Calls to
 .Fn setlocale
@@ -59,12 +55,102 @@ or to the
 category
 .Dv LC_ALL ,
 may overwrite the buffer pointed to by the return value.
+.Pp
+The manifest constant names and values of
+.Fa item
+are defined in
+.In langinfo.h .
+.Pp
+The following standard constants are recognized:
+.Bl -column "Constant" "Category"
+.It Sy Constant Ta Sy Category Ta Sy Description
+.It Dv CODESET Ta Dv LC_CTYPE Ta codeset name
+.It Dv D_T_FMT Ta Dv LC_TIME Ta string for formatting date and time
+.It Dv D_FMT Ta Dv LC_TIME Ta date format string
+.It Dv T_FMT Ta Dv LC_TIME Ta time format string
+.It Dv T_FMT_AMPM Ta Dv LC_TIME Ta a.m. or p.m. time format string
+.It Dv AM_STR Ta Dv LC_TIME Ta ante-meridiem affix
+.It Dv PM_STR Ta Dv LC_TIME Ta post-meridiem affix
+.It Dv DAY_1 Ta Dv LC_TIME Ta name of the first day of the week
+.It Dv DAY_2 Ta Dv LC_TIME Ta name of the second day of the week
+.It Dv DAY_3 Ta Dv LC_TIME Ta name of the third day of the week
+.It Dv DAY_4 Ta Dv LC_TIME Ta name of the fourth day of the week
+.It Dv DAY_5 Ta Dv LC_TIME Ta name of the fifth day of the week
+.It Dv DAY_6 Ta Dv LC_TIME Ta name of the sixth day of the week
+.It Dv DAY_7 Ta Dv LC_TIME Ta name of the seventh day of the week
+.It Dv ABDAY_1 Ta Dv LC_TIME Ta abbreviated name of the first day of the week
+.It Dv ABDAY_2 Ta Dv LC_TIME Ta abbreviated name of the second day of the week
+.It Dv ABDAY_3 Ta Dv LC_TIME Ta abbreviated name of the third day of the week
+.It Dv ABDAY_4 Ta Dv LC_TIME Ta abbreviated name of the fourth day of the week
+.It Dv ABDAY_5 Ta Dv LC_TIME Ta abbreviated name of the fifth day of the week
+.It Dv ABDAY_6 Ta Dv LC_TIME Ta abbreviated name of the sixth day of the week
+.It Dv ABDAY_7 Ta Dv LC_TIME Ta abbreviated name of the seventh day of the week
+.It Dv MON_1 Ta Dv LC_TIME Ta name of the first month of the year
+.It Dv MON_2 Ta Dv LC_TIME Ta name of the second month
+.It Dv MON_3 Ta Dv LC_TIME Ta name of the third month
+.It Dv MON_4 Ta Dv LC_TIME Ta name of the fourth month
+.It Dv MON_5 Ta Dv LC_TIME Ta name of the fifth month
+.It Dv MON_6 Ta Dv LC_TIME Ta name of the sixth month
+.It Dv MON_7 Ta Dv LC_TIME Ta name of the seventh month
+.It Dv MON_8 Ta Dv LC_TIME Ta name of the eighth month
+.It Dv MON_9 Ta Dv LC_TIME Ta name of the ninth month
+.It Dv MON_10 Ta Dv LC_TIME Ta name of the tenth month
+.It Dv MON_11 Ta Dv LC_TIME Ta name of the eleventh month
+.It Dv MON_12 Ta Dv LC_TIME Ta name of the twelfth month
+.It Dv ABMON_1 Ta Dv LC_TIME Ta abbreviated name of the first month
+.It Dv ABMON_2 Ta Dv LC_TIME Ta abbreviated name of the second month
+.It Dv ABMON_3 Ta Dv LC_TIME Ta abbreviated name of the third month
+.It Dv ABMON_4 Ta Dv LC_TIME Ta abbreviated name of the fourth month
+.It Dv ABMON_5 Ta Dv LC_TIME Ta abbreviated name of the fifth month
+.It Dv ABMON_6 Ta Dv LC_TIME Ta abbreviated name of the sixth month
+.It Dv ABMON_7 Ta Dv LC_TIME Ta abbreviated name of the seventh month
+.It Dv ABMON_8 Ta Dv LC_TIME Ta abbreviated name of the eighth month
+.It Dv ABMON_9 Ta Dv LC_TIME Ta abbreviated name of the ninth month
+.It Dv ABMON_10 Ta Dv LC_TIME Ta abbreviated name of the tenth month
+.It Dv ABMON_11 Ta Dv LC_TIME Ta abbreviated name of the eleventh month
+.It Dv ABMON_12 Ta Dv LC_TIME Ta abbreviated name of the twelfth month
+.It Dv ERA Ta Dv LC_TIME Ta era description segments
+.It Dv ERA_D_FMT Ta Dv LC_TIME Ta era date format string
+.It Dv ERA_D_T_FMT Ta Dv LC_TIME Ta era date and time format string
+.It Dv ERA_T_FMT Ta Dv LC_TIME Ta era time format string
+.It Dv ALT_DIGITS Ta Dv LC_TIME Ta alternative symbols for digits
+.It Dv RADIXCHAR Ta Dv LC_NUMERIC Ta radix character
+.It Dv THOUSEP Ta Dv LC_NUMERIC Ta separator for thousands
+.It Dv YESEXPR Ta Dv LC_MESSAGES Ta affirmative response extended regular
+expression
+.It Dv NOEXPR Ta Dv LC_MESSAGES Ta negative response extended regular 
expression
+.It Dv CRNCYSTR Ta Dv LC_MONETARY 

<    1   2