(menu-bar-options-menu): Add Menu entry for longlines mode.
[bpt/emacs.git] / lisp / wdired.el
index 960d899..91db7ae 100644 (file)
@@ -1,6 +1,6 @@
 ;;; wdired.el --- Rename files editing their names in dired buffers
 
-;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Filename: wdired.el
 ;; Author: Juan León Lahoz García <juanleon1@gmail.com>
@@ -9,20 +9,18 @@
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 3, or (at
-;; your option) any later version.
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
@@ -130,8 +128,8 @@ is not nil."
   "If t, the \"up\" and \"down\" movement works as in Dired mode.
 That is, always move the point to the beginning of the filename at line.
 
-If `sometimes, only move to the beginning of filename if the point is
-before it, and `track-eol' is honored.  This behavior is very handy
+If `sometimes', only move to the beginning of filename if the point is
+before it, and `track-eol' is non-nil.  This behavior is very handy
 when editing several filenames.
 
 If nil, \"up\" and \"down\" movement is done as in any other buffer."
@@ -157,7 +155,7 @@ changed.  Anyway, the point is advanced one position, so, for example,
 you can keep the <x> key pressed to give execution permissions to
 everybody to that file.
 
-If `advanced, the bits are freely editable.  You can use
+If `advanced', the bits are freely editable.  You can use
 `string-rectangle', `query-replace', etc.  You can put any value (even
 newlines), but if you want your changes to be useful, you better put a
 intelligible value.
@@ -323,7 +321,11 @@ non-nil means return old filename."
       (unless (eq beg end)
        (if old
            (setq file (get-text-property beg 'old-name))
-         (setq end (next-single-property-change (1+ beg) 'end-name))
+         ;; In the following form changed `(1+ beg)' to `beg' so that
+         ;; the filename end is found even when the filename is empty.
+         ;; Fixes error and spurious newlines when marking files for
+         ;; deletion.
+         (setq end (next-single-property-change beg 'end-name))
          (setq file (buffer-substring-no-properties (1+ beg) end)))
        (and file (setq file (wdired-normalize-filename file))))
       (if (or no-dir old)
@@ -492,14 +494,14 @@ Optional arguments are ignored."
   (if (and
        (buffer-modified-p)
        (not (y-or-n-p "Buffer changed. Discard changes and kill buffer? ")))
-      (error nil)))
+      (error "Error.")))
 
 (defun wdired-next-line (arg)
   "Move down lines then position at filename or the current column.
 See `wdired-use-dired-vertical-movement'.  Optional prefix ARG
 says how many lines to move; default is one line."
   (interactive "p")
-  (next-line arg)
+  (with-no-warnings (next-line arg))
   (if (or (eq wdired-use-dired-vertical-movement t)
          (and wdired-use-dired-vertical-movement
               (< (current-column)
@@ -512,7 +514,7 @@ says how many lines to move; default is one line."
 See `wdired-use-dired-vertical-movement'.  Optional prefix ARG
 says how many lines to move; default is one line."
   (interactive "p")
-  (previous-line arg)
+  (with-no-warnings (previous-line arg))
   (if (or (eq wdired-use-dired-vertical-movement t)
          (and wdired-use-dired-vertical-movement
               (< (current-column)
@@ -556,6 +558,7 @@ If OLD, return the old target.  If MOVE, move point before it."
          (if move (goto-char (1- beg)))))
     (and target (wdired-normalize-filename target))))
 
+(declare-function make-symbolic-link "fileio.c")
 
 ;; Perform the changes in the target of the changed links.
 (defun wdired-do-symlink-changes ()