Re: [RFC] Characters per line: from punch card (80) to line printer (132)

2019-12-05 Thread Robin Curtis
My IBM Selectric golfball electronic printer only does 90 characters on A4 in 
portrait mode………(at 10 cps) 

(as for my all electric TELEX Teleprinter machine !) 

Is this debate for real ?!  - or is this a Christmas spoof ? 

External observer…..keep up the great work. :)

(while I punch out a few more 80 column cards). 



> On 5 Dec 2019, at 17:55, Andrew Stubbs  wrote:
> 
> On 05/12/2019 16:17, Joseph Myers wrote:
>> Longer lines mean less space for multiple terminal / editor windows
>> side-by-side to look at different pieces of code.  I don't think that's an
>> improvement.
> 
> Here's a data-point 
> 
> My 1920 pixel-wide screen, in the default font, allows 239 columns; not 
> enough for two 130-wide editors.  Especially not with line numbers and 
> "gutter" columns.
> 
> On the other hand, 80 columns does tend to cause some formatting contortions, 
> with long function names and deeper indentations.
> 
> I think a nice round 100 would be a good compromise.
> 
> Andrew



Re: [PATCH] Support -std=f2018

2017-12-17 Thread Robin Curtis
Apologies for lobbing this request to all you wonderful folk who maintain and 
develop GFORTRAN. 

Given that you are making noises about Fortran 2018 - and the language is still 
alive, kicking and thriving -  can you recommend and/or point me at a public 
domain GUI that works well with GFORTRAN? 

As a Fortran end User I marvel at your ongoing efforts !!

Regards / thanks.  Happy Christmas and Best Wishes for (Fortran) 2018. 

Robin Curtis

> On 17 Dec 2017, at 10:02, Janne Blomqvist <blomqvist.ja...@gmail.com> wrote:
> 
> The Fortran committee has decided to rename the upcoming Fortran 2015
> standard to Fortran 2018.  This is not a reflection of a three year
> delay in the process, but rather they are following other standards in
> adopting the year of publication for the name. For more details see
> N2144.
> 
> This patch renames GFC_STD_F2015 to GFC_STD_F2018, and makes it a
> separate flag rather than an alias for GFC_STD_GNU. Also, it adds a
> -std=f2018 argument, and documents it.
> 
> Regtested on x86_64-pc-linux-gnu, Ok for trunk?
> 
> gcc/fortran/ChangeLog:
> 
> 2017-12-17  Janne Blomqvist  <j...@gcc.gnu.org>
> 
>   * decl.c (gfc_match_implicit_none): Use GFC_STD_F2018 instead of
>   GFC_STD_F2015.
>   * error.c (gfc_notify_std): Add GFC_STD_F2018{_DEL,_OBS} to
>   switch.
>   * gfortran.texi: Document -std=f2018.
>   * interface.c (compare_parameter): Fix comment.
>   * invoke.texi: Document -std=f2018.
>   * lang.opt: Add -std=f2018 argumnet.
>   * libgfortran.h (GFC_STD_F2015): Rename to GFC_STD_F0218, use
>   separate flag bit.
>   (GFC_STD_F2018_DEL): New macro.
>   (GFC_STD_F2018_OBS): Likewise.
>   * match.c (gfc_match_stopcode): Use GFC_STD_F2018.
>   * options.c (set_default_std_flags): Add F2018 flags to defaults.
>   (gfc_handle_option): Set options for -std=f2018.
> 
> gcc/testsuite/ChangeLog:
> 
> 2017-12-17  Janne Blomqvist  <j...@gcc.gnu.org>
> 
>   * gfortran.dg/error_stop_3.f90: Update -std= option, fix comments.
>   * gfortran.dg/error_stop_4.f90: Update error message.
>   * gfortran.dg/implicit_14.f90: Likewise.
>   * gfortran.dg/spellcheck-procedure_2.f90: Don't warn for F2018
>   features.
> ---
> gcc/fortran/decl.c |   2 +-
> gcc/fortran/error.c|   9 ++
> gcc/fortran/gfortran.texi  | 108 +
> gcc/fortran/interface.c|   2 +-
> gcc/fortran/invoke.texi|  62 ++--
> gcc/fortran/lang.opt   |   6 +-
> gcc/fortran/libgfortran.h  |   5 +-
> gcc/fortran/match.c|   2 +-
> gcc/fortran/options.c  |  14 ++-
> gcc/testsuite/gfortran.dg/error_stop_3.f90 |   5 +-
> gcc/testsuite/gfortran.dg/error_stop_4.f90 |   5 +-
> gcc/testsuite/gfortran.dg/implicit_14.f90  |   4 +-
> .../gfortran.dg/spellcheck-procedure_2.f90 |   2 +-
> 13 files changed, 140 insertions(+), 86 deletions(-)
> 
> diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
> index d46083c..53a87b6 100644
> --- a/gcc/fortran/decl.c
> +++ b/gcc/fortran/decl.c
> @@ -4114,7 +4114,7 @@ gfc_match_implicit_none (void)
>   if (c == '(')
> {
>   (void) gfc_next_ascii_char ();
> -  if (!gfc_notify_std (GFC_STD_F2015, "IMPORT NONE with spec list at 
> %C"))
> +  if (!gfc_notify_std (GFC_STD_F2018, "IMPORT NONE with spec list at 
> %C"))
>   return MATCH_ERROR;
> 
>   gfc_gobble_whitespace ();
> diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
> index 2cece49..f11dadc 100644
> --- a/gcc/fortran/error.c
> +++ b/gcc/fortran/error.c
> @@ -864,6 +864,15 @@ gfc_notify_std (int std, const char *gmsgid, ...)
> 
>   switch (std)
>   {
> +case GFC_STD_F2018_DEL:
> +  msg = _("Fortran 2018 deleted feature:");
> +  break;
> +case GFC_STD_F2018_OBS:
> +  msg = _("Fortran 2018 obsolescent feature:");
> +  break;
> +case GFC_STD_F2018:
> +  msg = _("Fortran 2018:");
> +  break;
> case GFC_STD_F2008_TS:
>   msg = "TS 29113/TS 18508:";
>   break;
> diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
> index 36c7b94..aabf268 100644
> --- a/gcc/fortran/gfortran.texi
> +++ b/gcc/fortran/gfortran.texi
> @@ -180,7 +180,7 @@ Part I: Invoking GNU Fortran
> * Runtime::  Influencing runtime behavior with environment 
> variables.
> 
> Part II: Language Reference
> -* Fortran 2003 and 2008 st