Patch 8.1.0927
Problem:    USE_CR is never defined.
Solution:   Remove usage of USE_CR. (Ken Takata, closes #3958)
Files:      runtime/doc/options.txt, src/diff.c, src/evalfunc.c,
            src/ex_cmds2.c, src/fileio.c, src/message.c, src/ops.c,
            src/option.h, src/proto/ex_cmds2.pro, src/proto/fileio.pro,
            src/tag.c

*** ../vim-8.1.0926/runtime/doc/options.txt     2019-02-13 19:23:04.734816702 
+0100
--- runtime/doc/options.txt     2019-02-15 20:38:23.714261969 +0100
***************
*** 3106,3114 ****
        is read.
  
                                        *'fileformat'* *'ff'*
! 'fileformat' 'ff'     string (MS-DOS, MS-Windows, OS/2 default: "dos",
!                               Unix default: "unix",
!                               Macintosh default: "mac")
                        local to buffer
                        {not in Vi}
        This gives the <EOL> of the current buffer, which is used for
--- 3134,3141 ----
        is read.
  
                                        *'fileformat'* *'ff'*
! 'fileformat' 'ff'     string (MS-Windows default: "dos",
!                               Unix, macOS default: "unix")
                        local to buffer
                        {not in Vi}
        This gives the <EOL> of the current buffer, which is used for
***************
*** 3131,3139 ****
  
                                        *'fileformats'* *'ffs'*
  'fileformats' 'ffs'   string (default:
!                               Vim+Vi  MS-DOS, MS-Windows OS/2: "dos,unix",
!                               Vim     Unix: "unix,dos",
!                               Vim     Mac: "mac,unix,dos",
                                Vi      Cygwin: "unix,dos",
                                Vi      others: "")
                        global
--- 3158,3165 ----
  
                                        *'fileformats'* *'ffs'*
  'fileformats' 'ffs'   string (default:
!                               Vim+Vi  MS-Windows: "dos,unix",
!                               Vim     Unix, macOS: "unix,dos",
                                Vi      Cygwin: "unix,dos",
                                Vi      others: "")
                        global
*** ../vim-8.1.0926/src/diff.c  2019-01-24 15:04:44.662887892 +0100
--- src/diff.c  2019-02-15 20:40:16.937520634 +0100
***************
*** 90,99 ****
  static int parse_diff_unified(char_u *line, linenr_T *lnum_orig, long 
*count_orig, linenr_T *lnum_new, long *count_new);
  static int xdiff_out(void *priv, mmbuffer_t *mb, int nbuf);
  
- #ifndef USE_CR
- # define tag_fgets vim_fgets
- #endif
- 
  /*
   * Called when deleting or unloading a buffer: No longer make a diff with it.
   */
--- 90,95 ----
***************
*** 996,1002 ****
                    for (;;)
                    {
                        /* There must be a line that contains "1c1". */
!                       if (tag_fgets(linebuf, LBUFLEN, fd))
                            break;
                        if (STRNCMP(linebuf, "1c1", 3) == 0)
                            ok = TRUE;
--- 992,998 ----
                    for (;;)
                    {
                        /* There must be a line that contains "1c1". */
!                       if (vim_fgets(linebuf, LBUFLEN, fd))
                            break;
                        if (STRNCMP(linebuf, "1c1", 3) == 0)
                            ok = TRUE;
***************
*** 1604,1610 ****
        }
        else
        {
!           if (tag_fgets(linebuf, LBUFLEN, fd))
                break;          // end of file
            line = linebuf;
        }
--- 1600,1606 ----
        }
        else
        {
!           if (vim_fgets(linebuf, LBUFLEN, fd))
                break;          // end of file
            line = linebuf;
        }
***************
*** 1626,1634 ****
            else if ((STRNCMP(line, "@@ ", 3) == 0))
               diffstyle = DIFF_UNIFIED;
            else if ((STRNCMP(line, "--- ", 4) == 0)
!                   && (tag_fgets(linebuf, LBUFLEN, fd) == 0)
                    && (STRNCMP(line, "+++ ", 4) == 0)
!                   && (tag_fgets(linebuf, LBUFLEN, fd) == 0)
                    && (STRNCMP(line, "@@ ", 3) == 0))
                diffstyle = DIFF_UNIFIED;
            else
--- 1622,1630 ----
            else if ((STRNCMP(line, "@@ ", 3) == 0))
               diffstyle = DIFF_UNIFIED;
            else if ((STRNCMP(line, "--- ", 4) == 0)
!                   && (vim_fgets(linebuf, LBUFLEN, fd) == 0)
                    && (STRNCMP(line, "+++ ", 4) == 0)
!                   && (vim_fgets(linebuf, LBUFLEN, fd) == 0)
                    && (STRNCMP(line, "@@ ", 3) == 0))
                diffstyle = DIFF_UNIFIED;
            else
*** ../vim-8.1.0926/src/evalfunc.c      2019-02-14 12:56:31.686115921 +0100
--- src/evalfunc.c      2019-02-15 20:38:23.714261969 +0100
***************
*** 13431,13450 ****
      else
      {
        res = get_cmd_output(tv_get_string(&argvars[0]), infile, flags, NULL);
! #ifdef USE_CR
!       /* translate <CR> into <NL> */
!       if (res != NULL)
!       {
!           char_u      *s;
! 
!           for (s = res; *s; ++s)
!           {
!               if (*s == CAR)
!                   *s = NL;
!           }
!       }
! #else
! # ifdef USE_CRNL
        /* translate <CR><NL> into <NL> */
        if (res != NULL)
        {
--- 13431,13437 ----
      else
      {
        res = get_cmd_output(tv_get_string(&argvars[0]), infile, flags, NULL);
! #ifdef USE_CRNL
        /* translate <CR><NL> into <NL> */
        if (res != NULL)
        {
***************
*** 13459,13465 ****
            }
            *d = NUL;
        }
- # endif
  #endif
        rettv->vval.v_string = res;
        res = NULL;
--- 13446,13451 ----
*** ../vim-8.1.0926/src/ex_cmds2.c      2019-01-24 15:54:17.782847030 +0100
--- src/ex_cmds2.c      2019-02-15 20:38:23.718261942 +0100
***************
*** 1359,1365 ****
            did_throw = FALSE;
            current_exception = NULL;
            save_vimvars(&vvsave);
! 
            timer->tr_firing = TRUE;
            timer_callback(timer);
            timer->tr_firing = FALSE;
--- 1359,1365 ----
            did_throw = FALSE;
            current_exception = NULL;
            save_vimvars(&vvsave);
! ch_log(NULL, "calling timer callback");
            timer->tr_firing = TRUE;
            timer_callback(timer);
            timer->tr_firing = FALSE;
***************
*** 4243,4249 ****
      FILE      *fp;            /* opened file for sourcing */
      char_u      *nextline;      /* if not NULL: line that was read ahead */
      int               finished;       /* ":finish" used */
! #if defined(USE_CRNL) || defined(USE_CR)
      int               fileformat;     /* EOL_UNKNOWN, EOL_UNIX or EOL_DOS */
      int               error;          /* TRUE if LF found after CR-LF */
  #endif
--- 4243,4249 ----
      FILE      *fp;            /* opened file for sourcing */
      char_u      *nextline;      /* if not NULL: line that was read ahead */
      int               finished;       /* ":finish" used */
! #ifdef USE_CRNL
      int               fileformat;     /* EOL_UNKNOWN, EOL_UNIX or EOL_DOS */
      int               error;          /* TRUE if LF found after CR-LF */
  #endif
***************
*** 4465,4479 ****
      cookie.error = FALSE;
  #endif
  
- #ifdef USE_CR
-     /* If no automatic file format: Set default to CR. */
-     if (*p_ffs == NUL)
-       cookie.fileformat = EOL_MAC;
-     else
-       cookie.fileformat = EOL_UNKNOWN;
-     cookie.error = FALSE;
- #endif
- 
      cookie.nextline = NULL;
      cookie.finished = FALSE;
  
--- 4465,4470 ----
***************
*** 4768,4826 ****
  
  #endif
  
- #if defined(USE_CR) || defined(PROTO)
- 
- # if defined(__MSL__) && (__MSL__ >= 22)
- /*
-  * Newer version of the Metrowerks library handle DOS and UNIX files
-  * without help.
-  * Test with earlier versions, MSL 2.2 is the library supplied with
-  * Codewarrior Pro 2.
-  */
-     char *
- fgets_cr(char *s, int n, FILE *stream)
- {
-     return fgets(s, n, stream);
- }
- # else
- /*
-  * Version of fgets() which also works for lines ending in a <CR> only
-  * (Macintosh format).
-  * For older versions of the Metrowerks library.
-  * At least CodeWarrior 9 needed this code.
-  */
-     char *
- fgets_cr(char *s, int n, FILE *stream)
- {
-     int       c = 0;
-     int char_read = 0;
- 
-     while (!feof(stream) && c != '\r' && c != '\n' && char_read < n - 1)
-     {
-       c = fgetc(stream);
-       s[char_read++] = c;
-       /* If the file is in DOS format, we need to skip a NL after a CR.  I
-        * thought it was the other way around, but this appears to work... */
-       if (c == '\n')
-       {
-           c = fgetc(stream);
-           if (c != '\r')
-               ungetc(c, stream);
-       }
-     }
- 
-     s[char_read] = 0;
-     if (char_read == 0)
-       return NULL;
- 
-     if (feof(stream) && char_read == 1)
-       return NULL;
- 
-     return s;
- }
- # endif
- #endif
- 
  /*
   * Get one full line from a sourced file.
   * Called by do_cmdline() when it's called from do_source().
--- 4759,4764 ----
***************
*** 4954,4962 ****
  #ifdef USE_CRNL
      int                       has_cr;         /* CR-LF found */
  #endif
- #ifdef USE_CR
-     char_u            *scan;
- #endif
      int                       have_read = FALSE;
  
      /* use a growarray to store the sourced line */
--- 4892,4897 ----
***************
*** 4973,4990 ****
            break;
        buf = (char_u *)ga.ga_data;
  
! #ifdef USE_CR
!       if (sp->fileformat == EOL_MAC)
!       {
!           if (fgets_cr((char *)buf + ga.ga_len, ga.ga_maxlen - ga.ga_len,
                                                              sp->fp) == NULL)
!               break;
!       }
!       else
! #endif
!           if (fgets((char *)buf + ga.ga_len, ga.ga_maxlen - ga.ga_len,
!                                                             sp->fp) == NULL)
!               break;
        len = ga.ga_len + (int)STRLEN(buf + ga.ga_len);
  #ifdef USE_CRNL
        /* Ignore a trailing CTRL-Z, when in Dos mode.  Only recognize the
--- 4908,4916 ----
            break;
        buf = (char_u *)ga.ga_data;
  
!       if (fgets((char *)buf + ga.ga_len, ga.ga_maxlen - ga.ga_len,
                                                              sp->fp) == NULL)
!           break;
        len = ga.ga_len + (int)STRLEN(buf + ga.ga_len);
  #ifdef USE_CRNL
        /* Ignore a trailing CTRL-Z, when in Dos mode.  Only recognize the
***************
*** 4998,5031 ****
        }
  #endif
  
- #ifdef USE_CR
-       /* If the read doesn't stop on a new line, and there's
-        * some CR then we assume a Mac format */
-       if (sp->fileformat == EOL_UNKNOWN)
-       {
-           if (buf[len - 1] != '\n' && vim_strchr(buf, '\r') != NULL)
-               sp->fileformat = EOL_MAC;
-           else
-               sp->fileformat = EOL_UNIX;
-       }
- 
-       if (sp->fileformat == EOL_MAC)
-       {
-           scan = vim_strchr(buf, '\r');
- 
-           if (scan != NULL)
-           {
-               *scan = '\n';
-               if (*(scan + 1) != 0)
-               {
-                   *(scan + 1) = 0;
-                   fseek(sp->fp, (long)(scan - buf - len + 1), SEEK_CUR);
-               }
-           }
-           len = STRLEN(buf);
-       }
- #endif
- 
        have_read = TRUE;
        ga.ga_len = len;
  
--- 4924,4929 ----
*** ../vim-8.1.0926/src/fileio.c        2019-02-14 12:56:31.682115940 +0100
--- src/fileio.c        2019-02-15 20:38:23.718261942 +0100
***************
*** 5216,5229 ****
        return TRUE;
      }
  #endif
- #ifndef USE_CR
      if (eol_type == EOL_MAC)
      {
        STRCAT(IObuff, shortmess(SHM_TEXT) ? _("[mac]") : _("[mac format]"));
        return TRUE;
      }
! #endif
! #if defined(USE_CRNL) || defined(USE_CR)
      if (eol_type == EOL_UNIX)
      {
        STRCAT(IObuff, shortmess(SHM_TEXT) ? _("[unix]") : _("[unix format]"));
--- 5216,5227 ----
        return TRUE;
      }
  #endif
      if (eol_type == EOL_MAC)
      {
        STRCAT(IObuff, shortmess(SHM_TEXT) ? _("[mac]") : _("[mac format]"));
        return TRUE;
      }
! #ifdef USE_CRNL
      if (eol_type == EOL_UNIX)
      {
        STRCAT(IObuff, shortmess(SHM_TEXT) ? _("[unix]") : _("[unix format]"));
***************
*** 6359,6369 ****
      char      tbuf[FGETS_SIZE];
  
      buf[size - 2] = NUL;
- #ifdef USE_CR
-     eof = fgets_cr((char *)buf, size, fp);
- #else
      eof = fgets((char *)buf, size, fp);
- #endif
      if (buf[size - 2] != NUL && buf[size - 2] != '\n')
      {
        buf[size - 1] = NUL;        /* Truncate the line */
--- 6357,6363 ----
***************
*** 6372,6428 ****
        do
        {
            tbuf[FGETS_SIZE - 2] = NUL;
- #ifdef USE_CR
-           vim_ignoredp = fgets_cr((char *)tbuf, FGETS_SIZE, fp);
- #else
            vim_ignoredp = fgets((char *)tbuf, FGETS_SIZE, fp);
- #endif
        } while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n');
      }
      return (eof == NULL);
  }
  
- #if defined(USE_CR) || defined(PROTO)
- /*
-  * Like vim_fgets(), but accept any line terminator: CR, CR-LF or LF.
-  * Returns TRUE for end-of-file.
-  * Only used for the Mac, because it's much slower than vim_fgets().
-  */
-     int
- tag_fgets(char_u *buf, int size, FILE *fp)
- {
-     int               i = 0;
-     int               c;
-     int               eof = FALSE;
- 
-     for (;;)
-     {
-       c = fgetc(fp);
-       if (c == EOF)
-       {
-           eof = TRUE;
-           break;
-       }
-       if (c == '\r')
-       {
-           /* Always store a NL for end-of-line. */
-           if (i < size - 1)
-               buf[i++] = '\n';
-           c = fgetc(fp);
-           if (c != '\n')      /* Macintosh format: single CR. */
-               ungetc(c, fp);
-           break;
-       }
-       if (i < size - 1)
-           buf[i++] = c;
-       if (c == '\n')
-           break;
-     }
-     buf[i] = NUL;
-     return eof;
- }
- #endif
- 
  /*
   * rename() only works if both files are on the same file system, this
   * function will (attempts to?) copy the file across if rename fails -- webb
--- 6366,6377 ----
*** ../vim-8.1.0926/src/message.c       2019-02-14 20:55:05.983776869 +0100
--- src/message.c       2019-02-15 20:38:23.718261942 +0100
***************
*** 2590,2599 ****
                memcpy(buf, p, n);
                if (!info_message)
                    buf[n++] = CAR;
! #ifdef USE_CR
!               else
! #endif
!                   buf[n++] = NL;
                buf[n++] = NUL;
                if (info_message)   // informative message, not an error
                    mch_msg((char *)buf);
--- 2590,2596 ----
                memcpy(buf, p, n);
                if (!info_message)
                    buf[n++] = CAR;
!               buf[n++] = NL;
                buf[n++] = NUL;
                if (info_message)   // informative message, not an error
                    mch_msg((char *)buf);
*** ../vim-8.1.0926/src/ops.c   2019-01-26 17:28:22.232599086 +0100
--- src/ops.c   2019-02-15 20:38:23.718261942 +0100
***************
*** 6577,6587 ****
  #ifdef USE_CRNL
            p[i++] = '\r';
  #endif
- #ifdef USE_CR
-           p[i] = '\r';
- #else
            p[i] = '\n';
- #endif
            lnum++;
            j = -1;
        }
--- 6577,6583 ----
*** ../vim-8.1.0926/src/option.h        2019-02-08 12:46:03.588784187 +0100
--- src/option.h        2019-02-15 20:38:23.718261942 +0100
***************
*** 50,70 ****
  # define DFLT_FFS_VI  "dos,unix"      /* also autodetect in compatible mode */
  # define DFLT_TEXTAUTO        TRUE
  #else
! # ifdef USE_CR
! #  define DFLT_FF     "mac"
! #  define DFLT_FFS_VIM        "mac,unix,dos"
! #  define DFLT_FFS_VI "mac,unix,dos"
! #  define DFLT_TEXTAUTO       TRUE
  # else
! #  define DFLT_FF     "unix"
! #  define DFLT_FFS_VIM        "unix,dos"
! #  ifdef __CYGWIN__
! #   define DFLT_FFS_VI        "unix,dos"      /* Cygwin always needs file 
detection */
! #   define DFLT_TEXTAUTO TRUE
! #  else
! #   define DFLT_FFS_VI        ""
! #   define DFLT_TEXTAUTO FALSE
! #  endif
  # endif
  #endif
  
--- 50,63 ----
  # define DFLT_FFS_VI  "dos,unix"      /* also autodetect in compatible mode */
  # define DFLT_TEXTAUTO        TRUE
  #else
! # define DFLT_FF      "unix"
! # define DFLT_FFS_VIM "unix,dos"
! # ifdef __CYGWIN__
! #  define DFLT_FFS_VI "unix,dos"      /* Cygwin always needs file detection */
! #  define DFLT_TEXTAUTO TRUE
  # else
! #  define DFLT_FFS_VI ""
! #  define DFLT_TEXTAUTO FALSE
  # endif
  #endif
  
*** ../vim-8.1.0926/src/proto/ex_cmds2.pro      2018-05-17 13:52:34.000000000 
+0200
--- src/proto/ex_cmds2.pro      2019-02-15 20:38:23.718261942 +0100
***************
*** 93,99 ****
  void scriptnames_slash_adjust(void);
  char_u *get_scriptname(scid_T id);
  void free_scriptnames(void);
- char *fgets_cr(char *s, int n, FILE *stream);
  char_u *getsourceline(int c, void *cookie, int indent);
  void script_line_start(void);
  void script_line_exec(void);
--- 93,98 ----
*** ../vim-8.1.0926/src/proto/fileio.pro        2019-02-14 12:56:31.682115940 
+0100
--- src/proto/fileio.pro        2019-02-15 20:38:23.718261942 +0100
***************
*** 18,24 ****
  char_u *modname(char_u *fname, char_u *ext, int prepend_dot);
  char_u *buf_modname(int shortname, char_u *fname, char_u *ext, int 
prepend_dot);
  int vim_fgets(char_u *buf, int size, FILE *fp);
- int tag_fgets(char_u *buf, int size, FILE *fp);
  int vim_rename(char_u *from, char_u *to);
  int check_timestamps(int focus);
  int buf_check_timestamp(buf_T *buf, int focus);
--- 18,23 ----
*** ../vim-8.1.0926/src/tag.c   2019-02-13 21:19:09.503999092 +0100
--- src/tag.c   2019-02-15 20:39:52.869677988 +0100
***************
*** 1146,1159 ****
        msg_puts("\n>");
  }
  
- /* When not using a CR for line separator, use vim_fgets() to read tag lines.
-  * For the Mac use tag_fgets().  It can handle any line separator, but is much
-  * slower than vim_fgets().
-  */
- #ifndef USE_CR
- # define tag_fgets vim_fgets
- #endif
- 
  #ifdef FEAT_TAG_BINS
  /*
   * Compare two strings, for length "len", ignoring case the ASCII way.
--- 1146,1151 ----
***************
*** 1654,1660 ****
                /* Adjust the search file offset to the correct position */
                search_info.curr_offset_used = search_info.curr_offset;
                vim_fseek(fp, search_info.curr_offset, SEEK_SET);
!               eof = tag_fgets(lbuf, LSIZE, fp);
                if (!eof && search_info.curr_offset != 0)
                {
                    /* The explicit cast is to work around a bug in gcc 3.4.2
--- 1646,1652 ----
                /* Adjust the search file offset to the correct position */
                search_info.curr_offset_used = search_info.curr_offset;
                vim_fseek(fp, search_info.curr_offset, SEEK_SET);
!               eof = vim_fgets(lbuf, LSIZE, fp);
                if (!eof && search_info.curr_offset != 0)
                {
                    /* The explicit cast is to work around a bug in gcc 3.4.2
***************
*** 1666,1678 ****
                        vim_fseek(fp, search_info.low_offset, SEEK_SET);
                        search_info.curr_offset = search_info.low_offset;
                    }
!                   eof = tag_fgets(lbuf, LSIZE, fp);
                }
                /* skip empty and blank lines */
                while (!eof && vim_isblankline(lbuf))
                {
                    search_info.curr_offset = vim_ftell(fp);
!                   eof = tag_fgets(lbuf, LSIZE, fp);
                }
                if (eof)
                {
--- 1658,1670 ----
                        vim_fseek(fp, search_info.low_offset, SEEK_SET);
                        search_info.curr_offset = search_info.low_offset;
                    }
!                   eof = vim_fgets(lbuf, LSIZE, fp);
                }
                /* skip empty and blank lines */
                while (!eof && vim_isblankline(lbuf))
                {
                    search_info.curr_offset = vim_ftell(fp);
!                   eof = vim_fgets(lbuf, LSIZE, fp);
                }
                if (eof)
                {
***************
*** 1698,1704 ****
                        eof = cs_fgets(lbuf, LSIZE);
                    else
  #endif
!                       eof = tag_fgets(lbuf, LSIZE, fp);
                } while (!eof && vim_isblankline(lbuf));
  
                if (eof)
--- 1690,1696 ----
                        eof = cs_fgets(lbuf, LSIZE);
                    else
  #endif
!                       eof = vim_fgets(lbuf, LSIZE, fp);
                } while (!eof && vim_isblankline(lbuf));
  
                if (eof)
***************
*** 1763,1769 ****
            {
                is_etag = 1;            /* in case at the start */
                state = TS_LINEAR;
!               if (!tag_fgets(ebuf, LSIZE, fp))
                {
                    for (p = ebuf; *p && *p != ','; p++)
                        ;
--- 1755,1761 ----
            {
                is_etag = 1;            /* in case at the start */
                state = TS_LINEAR;
!               if (!vim_fgets(ebuf, LSIZE, fp))
                {
                    for (p = ebuf; *p && *p != ','; p++)
                        ;
*** ../vim-8.1.0926/src/version.c       2019-02-15 20:14:56.740255481 +0100
--- src/version.c       2019-02-15 21:05:12.754653589 +0100
***************
*** 785,786 ****
--- 785,788 ----
  {   /* Add new patch number below this line */
+ /**/
+     927,
  /**/

-- 
Mrs Abbott: I'm a paediatrician.
     Basil: Feet?
Mrs Abbott: Children.
     Sybil: Oh, Basil!
     Basil: Well, children have feet, don't they? That's how they move
            around, my dear. You must take a look next time, it's most
            interesting.                               (Fawlty Towers)

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui