]> git.wh0rd.org Git - nano.git/commitdiff
Removing the --nofollow option that hasn't been working for a dozen years.
authorBenno Schulenberg <bensberg@justemail.net>
Sat, 6 Feb 2016 10:59:31 +0000 (10:59 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Sat, 6 Feb 2016 10:59:31 +0000 (10:59 +0000)
With this option, nano would simply refuse to write to any symlinked file;
if anyone really used this option, they would certainly have complained.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5608 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
doc/man/nano.1
doc/man/nanorc.5
doc/nanorc.sample.in
doc/syntax/nanorc.nanorc
doc/texinfo/nano.texi
src/files.c
src/nano.c
src/nano.h
src/rcfile.c

index 237407df5b1eddb257a576b99d19231ba647675b..e03aac09b83882f09af87494ae3cad835cd6d786 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2016-02-06  Benno Schulenberg  <bensberg@justemail.net>
+       * src/files.c (write_file): Remove the --nofollow option that hasn't
+       been working for a dozen years.
+
 2016-02-05  Benno Schulenberg  <bensberg@justemail.net>
        * doc/texinfo/nano.texi: Condense the descriptions of command-key
        sequences and of the screen layout, mention how to enter Unicode,
index 6831be370eae2a1c7fb1421b2c9b2c7c486111f5..a3ce2fcb763608445dbaf2169a38e014e4b2b50b 100644 (file)
@@ -177,11 +177,6 @@ editing source code.
 Make the 'Cut Text' command (normally ^K) cut from the current cursor
 position to the end of the line, instead of cutting the entire line.
 .TP
-.BR \-l ", " \-\-nofollow
-If the file being edited is a symbolic link, replace the link with
-a new file instead of following it.  Good for editing files in
-\fI/tmp\fP, perhaps?
-.TP
 .BR \-m ", " \-\-mouse
 Enable mouse support, if available for your system.  When enabled, mouse
 clicks can be used to place the cursor, set the mark (with a double
index 6ae2432b2ec170059777ac85ac4e0836c9911dd6..2f2bdac164f5e820c001410c3df7c1bfdd43e7ab 100644 (file)
@@ -141,9 +141,6 @@ When reading in a file with ^R, insert it into a new buffer by default.
 .B set noconvert
 Don't convert files from DOS/Mac format.
 .TP
-.B set nofollow
-Don't follow symlinks when writing files.
-.TP
 .B set nohelp
 Don't display the two help lines at the bottom of the screen.
 .TP
index 6b1072e0fc5abbe5b44cf574011bbd9fe99ebb0a..374f4c8949371411702dfc06c3833e89a01ff3f2 100644 (file)
@@ -86,9 +86,6 @@
 ## Don't convert files from DOS/Mac format.
 # set noconvert
 
-## Don't follow symlinks when writing files.
-# set nofollow
-
 ## Don't display the helpful shortcut lists at the bottom of the screen.
 # set nohelp
 
index 238416fc3a6945d6d53433696853263274f75dab..4a18ce4a5ba920d8eb1e638566dd01b68e2f043e 100644 (file)
@@ -6,7 +6,7 @@ syntax "nanorc" "\.?nanorc$"
 icolor brightred "^[[:space:]]*((un)?(bind|set)|include|syntax|header|magic|linter|i?color|extendsyntax).*$"
 
 # Keywords
-icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backwards|boldtext|casesensitive|const(antshow)?|cut|fill|historylog|locking|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|pos(ition)?log|preserve|quickblank|quiet|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|suspend|tabsize|tabstospaces|tempfile|unix|view|wordbounds)\>"
+icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backwards|boldtext|casesensitive|const(antshow)?|cut|fill|historylog|locking|morespace|mouse|multibuffer|noconvert|nohelp|nonewlines|nowrap|pos(ition)?log|preserve|quickblank|quiet|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|suspend|tabsize|tabstospaces|tempfile|unix|view|wordbounds)\>"
 icolor yellow "^[[:space:]]*set[[:space:]]+(functioncolor|keycolor|statuscolor|titlecolor)[[:space:]]+(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
 icolor brightgreen "^[[:space:]]*set[[:space:]]+(backupdir|brackets|functioncolor|keycolor|matchbrackets|operatingdir|punct|quotestr|speller|statuscolor|titlecolor|whitespace)[[:space:]]+"
 icolor brightgreen "^[[:space:]]*bind[[:space:]]+((\^|M-)([[:alpha:]]|space|[]]|[0-9^_=+{}|;:'\",./<>\?-])|F([1-9]|1[0-6])|Ins|Del)[[:space:]]+[[:alpha:]]+[[:space:]]+(all|main|search|replace(2|with)?|gotoline|writeout|insert|ext(ernal)?cmd|help|spell|linter|browser|whereisfile|gotodir)([[:space:]]+#|[[:space:]]*$)"
index b841d15cd3bc6a5da4881a1cf4112c60bad9e5de..0f04ef240b8cd1a0c126309df05f6a01e014f315 100644 (file)
@@ -266,11 +266,6 @@ the previous line.
 Make the 'Cut Text' command (normally ^K) cut from the current cursor
 position to the end of the line, instead of cutting the entire line.
 
-@item -l
-@itemx --nofollow
-When writing files, if the given file is a symbolic link, it is removed
-and a new file is created.
-
 @item -m
 @itemx --mouse
 Enable mouse support, if available for your system.  When enabled, mouse
@@ -720,9 +715,6 @@ When reading in a file with ^R, insert it into a new buffer by default.
 @item set noconvert
 Don't convert files from DOS/Mac format.
 
-@item set nofollow
-Don't follow symlinks when writing files.
-
 @item set nohelp
 Don't display the help lists at the bottom of the screen.
 
index a7aa1c59ff527792bede215597ff86a6c68e8204..d6d220bc407d8a6cdda5c0d75fc3506213086a3d 100644 (file)
@@ -1805,14 +1805,6 @@ bool write_file(const char *name, FILE *f_open, bool tmp, append_type
     if (tmp && anyexists && f_open == NULL)
        goto cleanup_and_exit;
 
-    /* If NOFOLLOW_SYMLINKS is set, it doesn't make sense to prepend or
-     * append to a symlink.  Here we warn about the contradiction. */
-    if (ISSET(NOFOLLOW_SYMLINKS) && anyexists && S_ISLNK(lst.st_mode)) {
-       statusbar(
-               _("Cannot prepend or append to a symlink with --nofollow set"));
-       goto cleanup_and_exit;
-    }
-
 #ifndef NANO_TINY
     /* Check whether the file (at the end of the symlink) exists. */
     realexists = (stat(realname, &st) != -1);
@@ -2002,15 +1994,6 @@ bool write_file(const char *name, FILE *f_open, bool tmp, append_type
     skip_backup:
 #endif /* !NANO_TINY */
 
-    /* If NOFOLLOW_SYMLINKS is set and the file is a link, we aren't
-     * doing prepend or append.  So we delete the link first, and just
-     * overwrite. */
-    if (ISSET(NOFOLLOW_SYMLINKS) && anyexists && S_ISLNK(lst.st_mode) &&
-               unlink(realname) == -1) {
-       statusbar(_("Error writing %s: %s"), realname, strerror(errno));
-       goto cleanup_and_exit;
-    }
-
     if (f_open == NULL) {
        original_umask = umask(0);
 
index a50aeb031dfa1182173f845d41667b0ada2487b3..573e18c866f83d229f94c9671719dca43a0279d5 100644 (file)
@@ -920,7 +920,6 @@ void usage(void)
     print_opt("-i", "--autoindent", N_("Automatically indent new lines"));
     print_opt("-k", "--cut", N_("Cut from cursor to end of line"));
 #endif
-    print_opt("-l", "--nofollow", N_("Don't follow symbolic links, overwrite"));
 #ifndef DISABLE_MOUSE
     print_opt("-m", "--mouse", N_("Enable the use of the mouse"));
 #endif
@@ -2010,7 +2009,6 @@ int main(int argc, char **argv)
        {"constantshow", 0, NULL, 'c'},
        {"rebinddelete", 0, NULL, 'd'},
        {"help", 0, NULL, 'h'},
-       {"nofollow", 0, NULL, 'l'},
 #ifndef DISABLE_MOUSE
        {"mouse", 0, NULL, 'm'},
 #endif
@@ -2214,9 +2212,6 @@ int main(int argc, char **argv)
                SET(CUT_TO_END);
                break;
 #endif
-           case 'l':
-               SET(NOFOLLOW_SYMLINKS);
-               break;
 #ifndef DISABLE_MOUSE
            case 'm':
                SET(USE_MOUSE);
index e9293e18789af726f5e20473a143a7121b3da96d..28f1b85ba650fa158fa8b2768e5a3662a4fb53df 100644 (file)
@@ -484,7 +484,6 @@ enum
     CASE_SENSITIVE,
     CONST_UPDATE,
     NO_HELP,
-    NOFOLLOW_SYMLINKS,
     SUSPEND,
     NO_WRAP,
     AUTOINDENT,
index 7223cba5daa05be3420d3421283f4bfeac4c5127..05bf90abb5e0d6fe67386e4121dc7738211fafe2 100644 (file)
@@ -53,7 +53,6 @@ static const rcoption rcopts[] = {
 #ifndef DISABLE_MULTIBUFFER
     {"multibuffer", MULTIBUFFER},
 #endif
-    {"nofollow", NOFOLLOW_SYMLINKS},
     {"nohelp", NO_HELP},
     {"nonewlines", NO_NEWLINES},
 #ifndef DISABLE_WRAPPING