From d9a72916e54b1bef8ad2322e6833f643473877b6 Mon Sep 17 00:00:00 2001
From: Glenn Morris
Date: Mon, 20 Oct 2014 18:02:40 -0400
Subject: [PATCH 01/35] * src/minibuf.c (history-length): Increase default from
30 to 100. * lisp/cus-start.el (history-length): Bump :version. [Backport]
---
etc/NEWS | 8 ++++++++
lisp/ChangeLog | 4 ++++
lisp/cus-start.el | 2 +-
src/ChangeLog | 8 ++++++--
src/minibuf.c | 2 +-
5 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index eba9b940585..12c67c84e7b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -14,6 +14,14 @@ and NEWS.1-17 for changes in older Emacs versions.
You can narrow news to a specific version by calling `view-emacs-news'
with a prefix argument or by typing C-u C-h C-n.
+* Changes in Emacs-24.5
+
+** The default value of `history-length' has increased to 100.
+
+
+* Changes in Specialized Modes and Packages in Emacs 24.5
+
+** cc-compat.el is marked as obsolete.
* Installation Changes in Emacs 24.4
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 398d2ccba72..376e4a3a87d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2014-10-20 Glenn Morris
+
+ * cus-start.el (history-length): Bump :version. [Backport]
+
2014-10-20 Stefan Monnier
* obsolete/cc-compat.el: Make obsolete (bug#18561).
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index 2da67112bd3..ed19f75b5d2 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -317,7 +317,7 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
(enable-recursive-minibuffers minibuffer boolean)
(history-length minibuffer
(choice (const :tag "Infinite" t) integer)
- "22.1")
+ "24.5") ; 30 -> 100
(history-delete-duplicates minibuffer boolean "22.1")
(read-buffer-completion-ignore-case minibuffer boolean "23.1")
diff --git a/src/ChangeLog b/src/ChangeLog
index 39e94a85a0e..ec904da39bb 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-20 Glenn Morris
+
+ * minibuf.c (history-length): Increase default from 30 to 100.
+ [Backport]
+
2014-10-20 Stefan Monnier
* xdisp.c (redisplay_window): Re-run pre-redisplay-function after we
@@ -52,8 +57,7 @@
array of 2 values specifying the coordinates of the frame's
top-left corner. Use these values instead of calling x_get_arg,
which can cons Lisp objects, and therefore cannot be called except
- from the main thread. Remove redundant tests for the default
- values.
+ from the main thread. Remove redundant tests for the default values.
(my_create_window): Move the calculation of the coordinates of the
frame's top-left edge here. Pass them to the input thread via the
second parameter of the WM_EMACS_CREATEWINDOW message.
diff --git a/src/minibuf.c b/src/minibuf.c
index c3fcbeb59c7..3042b13b7d6 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -1970,7 +1970,7 @@ A value of t means no truncation.
This variable only affects history lists that don't specify their own
maximum lengths. Setting the `history-length' property of a history
variable overrides this default. */);
- XSETFASTINT (Vhistory_length, 30);
+ XSETFASTINT (Vhistory_length, 100);
DEFVAR_BOOL ("history-delete-duplicates", history_delete_duplicates,
doc: /* Non-nil means to delete duplicates in history.
From ef65424de8cae00209f6a0974245822602709df3 Mon Sep 17 00:00:00 2001
From: Glenn Morris
Date: Mon, 20 Oct 2014 18:12:13 -0400
Subject: [PATCH 02/35] Make most emulation packages obsolete. [Backport]
* emulation/crisp.el, emulation/tpu-edt.el, emulation/tpu-extras.el:
* emulation/tpu-mapper.el, emulation/vi.el, emulation/vip.el:
* emulation/ws-mode.el: Move to obsolete/.
* doc/emacs/ack.texi (Acknowledgments): Remove some obsolete items.
* doc/emacs/misc.texi (Emulation): Remove section.
* doc/lispintro/emacs-lisp-intro.texi (Autoload): Update loaddefs.el details.
* doc/misc/efaq.texi (Finding a package with particular functionality):
Update example.
* doc/misc/vip.texi: Mention this is obsolete.
---
doc/emacs/ChangeLog | 5 +++++
doc/emacs/ack.texi | 17 ++++-------------
doc/emacs/emacs.texi | 1 -
doc/emacs/misc.texi | 14 ++++++++------
doc/lispintro/ChangeLog | 4 ++++
doc/lispintro/emacs-lisp-intro.texi | 4 ++--
doc/misc/ChangeLog | 6 ++++++
doc/misc/efaq.texi | 4 ++--
doc/misc/vip.texi | 8 +++++++-
etc/NEWS | 9 +++++++++
lisp/ChangeLog | 6 ++++++
lisp/{emulation => obsolete}/crisp.el | 1 +
lisp/{emulation => obsolete}/tpu-edt.el | 1 +
lisp/{emulation => obsolete}/tpu-extras.el | 1 +
lisp/{emulation => obsolete}/tpu-mapper.el | 1 +
lisp/{emulation => obsolete}/vi.el | 3 +++
lisp/{emulation => obsolete}/vip.el | 7 +++++--
lisp/{emulation => obsolete}/ws-mode.el | 1 +
18 files changed, 66 insertions(+), 27 deletions(-)
rename lisp/{emulation => obsolete}/crisp.el (99%)
rename lisp/{emulation => obsolete}/tpu-edt.el (99%)
rename lisp/{emulation => obsolete}/tpu-extras.el (99%)
rename lisp/{emulation => obsolete}/tpu-mapper.el (99%)
rename lisp/{emulation => obsolete}/vi.el (99%)
rename lisp/{emulation => obsolete}/vip.el (99%)
rename lisp/{emulation => obsolete}/ws-mode.el (99%)
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 1dfda079bf2..f383205b15e 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-20 Glenn Morris
+
+ * ack.texi (Acknowledgments): Remove some obsolete items.
+ * misc.texi (Emulation): Remove section.
+
2014-10-20 Glenn Morris
* Version 24.4 released.
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi
index ccd58b7aece..c611dcd7047 100644
--- a/doc/emacs/ack.texi
+++ b/doc/emacs/ack.texi
@@ -349,8 +349,7 @@ mail messages; and @file{saveplace.el}, for preserving point's
location in files between editing sessions.
@item
-Gary Foster wrote @file{crisp.el}, the emulation for CRiSP and Brief
-editors; and @file{scroll-all.el}, a mode for scrolling several buffers
+Gary Foster wrote @file{scroll-all.el}, a mode for scrolling several buffers
together.
@item
@@ -601,7 +600,7 @@ buffers.
@item
Michael Kifer wrote @code{ediff}, an interactive interface to the
@command{diff}, @command{patch}, and @command{merge} programs; and
-Viper, another emulator of the VI editor.
+Viper, an emulator of the VI editor.
@item
Richard King wrote the first version of @file{userlock.el} and
@@ -883,9 +882,6 @@ a mode for editing makefiles.
Thien-Thi Nguyen and Dan Nicolaescu wrote @file{hideshow.el}, a minor
mode for selectively displaying blocks of text.
-@item
-Jurgen Nickelsen wrote @file{ws-mode.el}, providing WordStar emulation.
-
@item
Dan Nicolaescu added support for running Emacs as a daemon. He also
wrote @file{romanian.el}, support for editing Romanian text;
@@ -1037,10 +1033,8 @@ Alex Rezinsky wrote @file{which-func.el}, a mode that shows the name
of the current function in the mode line.
@item
-Rob Riepel wrote @file{tpu-edt.el} and its associated files, providing
-an emulation of the VMS TPU text editor emulating the VMS EDT editor,
-and @file{vt-control.el}, providing some control functions for the DEC
-VT line of terminals.
+Rob Riepel wrote @file{vt-control.el}, providing some control
+functions for the DEC VT line of terminals.
@item
Nick Roberts wrote @file{t-mouse.el}, for mouse support in text
@@ -1083,9 +1077,6 @@ references in Info files.
James B. Salem and Brewster Kahle wrote @file{completion.el}, providing
dynamic word completion.
-@item
-Masahiko Sato wrote @file{vip.el}, an emulation of the VI editor.
-
@item
Holger Schauer wrote @file{fortune.el}, a package for using fortune in
message signatures.
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 81a75807511..b473e0ce312 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -201,7 +201,6 @@ Advanced Features
* Editing Binary Files:: Editing binary files with Hexl mode.
* Saving Emacs Sessions:: Saving Emacs state from one session to the next.
* Recursive Edit:: Performing edits while "within another command".
-* Emulation:: Emulating some other editors with Emacs.
* Hyperlinking:: Following links in buffers.
* Amusements:: Various games and hacks.
* Packages:: Installing additional features.
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 9d660f16e19..f77cb993d71 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -2268,17 +2268,17 @@ new major mode which provides a command to switch back. These
approaches give you more flexibility to go back to unfinished tasks in
the order you choose.
+@ignore
+@c Apart from edt and viper, this is all obsolete.
+@c (Can't believe we were saying ``most other editors'' into 2014!)
+@c There seems no point having a node just for those, which both have
+@c their own manuals.
@node Emulation
@section Emulation
@cindex emulating other editors
@cindex other editors
@cindex EDT
@cindex vi
-@cindex PC key bindings
-@cindex scrolling all windows
-@cindex PC selection
-@cindex Motif key bindings
-@cindex Macintosh key bindings
@cindex WordStar
GNU Emacs can be programmed to emulate (more or less) some other
@@ -2318,7 +2318,7 @@ buffers or major modes while in EDT emulation.
@item vi (Berkeley editor)
@findex viper-mode
-Viper is the newest emulator for vi. It implements several levels of
+Viper is an emulator for vi. It implements several levels of
emulation; level 1 is closest to vi itself, while level 5 departs
somewhat from strict emulation to take advantage of the capabilities of
Emacs. To invoke Viper, type @kbd{M-x viper-mode}; it will guide you
@@ -2359,6 +2359,8 @@ not use it.
@kbd{M-x wordstar-mode} provides a major mode with WordStar-like
key bindings.
@end table
+@end ignore
+
@node Hyperlinking
@section Hyperlinking and Navigation Features
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog
index d70345983f7..fb9c18626ab 100644
--- a/doc/lispintro/ChangeLog
+++ b/doc/lispintro/ChangeLog
@@ -1,3 +1,7 @@
+2014-10-20 Glenn Morris
+
+ * emacs-lisp-intro.texi (Autoload): Update loaddefs.el details.
+
2014-10-20 Glenn Morris
* Version 24.4 released.
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index 8ff57619c04..0ea75ea531c 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -17548,8 +17548,8 @@ are not loaded right away; but you need to wait a moment when you
first use such a function, while its containing file is evaluated.
Rarely used functions are frequently autoloaded. The
-@file{loaddefs.el} library contains hundreds of autoloaded functions,
-from @code{bookmark-set} to @code{wordstar-mode}. Of course, you may
+@file{loaddefs.el} library contains thousands of autoloaded functions,
+from @code{5x5} to @code{zone}. Of course, you may
come to use a `rare' function frequently. When you do, you should
load that function's file with a @code{load} expression in your
@file{.emacs} file.
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 416d44d779c..dda1b35594b 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,9 @@
+2014-10-20 Glenn Morris
+
+ * efaq.texi (Finding a package with particular functionality):
+ Update example.
+ * vip.texi: Mention this is obsolete.
+
2014-10-20 Glenn Morris
* Version 24.4 released.
diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi
index c320b8b6c08..0ba2838075c 100644
--- a/doc/misc/efaq.texi
+++ b/doc/misc/efaq.texi
@@ -3268,8 +3268,8 @@ archive sites that make GNU software available.
First of all, you should check to make sure that the package isn't
already available. For example, typing @kbd{M-x apropos @key{RET}
-wordstar @key{RET}} lists all functions and variables containing the
-string @samp{wordstar}.
+python @key{RET}} lists all functions and variables containing the
+string @samp{python}.
It is also possible that the package is on your system, but has not been
loaded. To see which packages are available for loading, look through
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi
index e7a53e768a7..9d6060f8de6 100644
--- a/doc/misc/vip.texi
+++ b/doc/misc/vip.texi
@@ -38,7 +38,7 @@ modify this GNU manual.''
@dircategory Emacs misc features
@direntry
-* VIP: (vip). An older VI-emulation for Emacs.
+* VIP: (vip). An obsolete VI-emulation for Emacs.
@end direntry
@ifnottex
@@ -53,6 +53,9 @@ are fairly accustomed to Vi but not so much with Emacs. Also we will
concentrate mainly on differences from Vi, especially features unique to
VIP.
+VIP is obsolete since Emacs 24.5---consider using Viper instead.
+@xref{Top, Viper,, viper, The Viper VI-emulation mode for Emacs}.
+
It is recommended that you read nodes on survey and on customization before
you start using VIP@. Other nodes may be visited as needed.
@@ -83,6 +86,9 @@ fairly accustomed to Vi but not so much with Emacs. Also we will
concentrate mainly on differences from Vi, especially features unique to
VIP.
+VIP is obsolete since Emacs 24.5---consider using Viper instead.
+@xref{Top, Viper,, viper, The Viper VI-emulation mode for Emacs}.
+
It is recommended that you read chapters on survey and on customization
before you start using VIP@. Other chapters may be used as future
references.
diff --git a/etc/NEWS b/etc/NEWS
index 12c67c84e7b..31baeb33516 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -16,11 +16,20 @@ with a prefix argument or by typing C-u C-h C-n.
* Changes in Emacs-24.5
+---
** The default value of `history-length' has increased to 100.
* Changes in Specialized Modes and Packages in Emacs 24.5
+---
+*** vi.el, vip.el (try M-x viper instead)
+
+---
+*** crisp.el, tpu-edt.el, ws-mode.el
+These emulations of old editors are believed to be no longer relevant
+ - contact emacs-devel@gnu.org if you disagree.
+
** cc-compat.el is marked as obsolete.
* Installation Changes in Emacs 24.4
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 376e4a3a87d..2758f48d4df 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2014-10-20 Glenn Morris
+
+ * emulation/crisp.el, emulation/tpu-edt.el, emulation/tpu-extras.el:
+ * emulation/tpu-mapper.el, emulation/vi.el, emulation/vip.el:
+ * emulation/ws-mode.el: Move to obsolete/. [Backport]
+
2014-10-20 Glenn Morris
* cus-start.el (history-length): Bump :version. [Backport]
diff --git a/lisp/emulation/crisp.el b/lisp/obsolete/crisp.el
similarity index 99%
rename from lisp/emulation/crisp.el
rename to lisp/obsolete/crisp.el
index ad463412735..47cf898190b 100644
--- a/lisp/emulation/crisp.el
+++ b/lisp/obsolete/crisp.el
@@ -4,6 +4,7 @@
;; Author: Gary D. Foster
;; Keywords: emulations brief crisp
+;; Obsolete-since: 24.5
;; This file is part of GNU Emacs.
diff --git a/lisp/emulation/tpu-edt.el b/lisp/obsolete/tpu-edt.el
similarity index 99%
rename from lisp/emulation/tpu-edt.el
rename to lisp/obsolete/tpu-edt.el
index d9ed1908c76..43189319a6a 100644
--- a/lisp/emulation/tpu-edt.el
+++ b/lisp/obsolete/tpu-edt.el
@@ -6,6 +6,7 @@
;; Maintainer: Rob Riepel
;; Version: 4.5
;; Keywords: emulations
+;; Obsolete-since: 24.5
;; This file is part of GNU Emacs.
diff --git a/lisp/emulation/tpu-extras.el b/lisp/obsolete/tpu-extras.el
similarity index 99%
rename from lisp/emulation/tpu-extras.el
rename to lisp/obsolete/tpu-extras.el
index 9ebaaf6ffce..32257e840ac 100644
--- a/lisp/emulation/tpu-extras.el
+++ b/lisp/obsolete/tpu-extras.el
@@ -6,6 +6,7 @@
;; Maintainer: Rob Riepel
;; Keywords: emulations
;; Package: tpu-edt
+;; Obsolete-since: 24.5
;; This file is part of GNU Emacs.
diff --git a/lisp/emulation/tpu-mapper.el b/lisp/obsolete/tpu-mapper.el
similarity index 99%
rename from lisp/emulation/tpu-mapper.el
rename to lisp/obsolete/tpu-mapper.el
index 2479389ac3c..d653685218b 100644
--- a/lisp/emulation/tpu-mapper.el
+++ b/lisp/obsolete/tpu-mapper.el
@@ -6,6 +6,7 @@
;; Maintainer: Rob Riepel
;; Keywords: emulations
;; Package: tpu-edt
+;; Obsolete-since: 24.5
;; This file is part of GNU Emacs.
diff --git a/lisp/emulation/vi.el b/lisp/obsolete/vi.el
similarity index 99%
rename from lisp/emulation/vi.el
rename to lisp/obsolete/vi.el
index 9aae40c0d00..bb57735b0a9 100644
--- a/lisp/emulation/vi.el
+++ b/lisp/obsolete/vi.el
@@ -8,9 +8,12 @@
;; Author: Neal Ziring
;; Felix S. T. Wu
;; Keywords: emulations
+;; Obsolete-since: 24.5
;;; Commentary:
+;; This file is obsolete. Consider using viper instead.
+
;; Originally written by : seismo!wucs!nz@rsch.wisc.edu (Neal Ziring)
;; Extensively redesigned and rewritten by wu@crys.wisc.edu (Felix S.T. Wu)
;; Last revision: 01/07/87 Wed (for GNU Emacs 18.33)
diff --git a/lisp/emulation/vip.el b/lisp/obsolete/vip.el
similarity index 99%
rename from lisp/emulation/vip.el
rename to lisp/obsolete/vip.el
index 09456e6320b..ea102cb0ac5 100644
--- a/lisp/emulation/vip.el
+++ b/lisp/obsolete/vip.el
@@ -1,10 +1,11 @@
;;; vip.el --- a VI Package for GNU Emacs
-;; Copyright (C) 1986-1988, 1992-1993, 1998, 2001-2014 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1986-1988, 1992-1993, 1998, 2001-2014
+;; Free Software Foundation, Inc.
;; Author: Masahiko Sato
;; Keywords: emulations
+;; Obsolete-since: 24.5
;; This file is part of GNU Emacs.
@@ -23,6 +24,8 @@
;;; Commentary:
+;; This file is obsolete. Consider using viper instead.
+
;; A full-featured vi(1) emulator.
;;
;; In Japan, the author's address is: masahiko@sato.riec.tohoku.junet
diff --git a/lisp/emulation/ws-mode.el b/lisp/obsolete/ws-mode.el
similarity index 99%
rename from lisp/emulation/ws-mode.el
rename to lisp/obsolete/ws-mode.el
index fb140e6ebd7..d87cc73252b 100644
--- a/lisp/emulation/ws-mode.el
+++ b/lisp/obsolete/ws-mode.el
@@ -5,6 +5,7 @@
;; Author: Juergen Nickelsen
;; Version: 0.7
;; Keywords: emulations
+;; Obsolete-since: 24.5
;; This file is part of GNU Emacs.
From 9d982156cb1ba6465b53e4722469e475f897385b Mon Sep 17 00:00:00 2001
From: Stefan Monnier
Date: Mon, 20 Oct 2014 18:14:21 -0400
Subject: [PATCH 03/35] * erc/erc-track.el: Docstring fixes.
---
lisp/erc/erc-track.el | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index 706cce2fefe..67d41c74e81 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -265,9 +265,7 @@ nil - don't add to mode line."
(erc-track-add-to-mode-line val))))
(defun erc-modified-channels-object (strings)
- "Generate a new `erc-modified-channels-object' based on STRINGS.
-If STRINGS is nil, we initialize `erc-modified-channels-object' to
-an appropriate initial value for this flavor of Emacs."
+ "Generate a new `erc-modified-channels-object' based on STRINGS."
(if strings
(if (featurep 'xemacs)
(let ((e-m-c-s '("[")))
@@ -743,7 +741,7 @@ only consider active buffers visible.")
(defvar erc-modified-channels-update-inside nil
"Variable to prevent running `erc-modified-channels-update' multiple
times. Without it, you cannot debug `erc-modified-channels-display',
-because the debugger also cases changes to the window-configuration.")
+because the debugger also causes changes to the window-configuration.")
(defun erc-modified-channels-update (&rest _args)
"This function updates the information in `erc-modified-channels-alist'
From 3e7807011bfb0e7921949ff5d74b2afa5129a726 Mon Sep 17 00:00:00 2001
From: Stefan Monnier
Date: Mon, 20 Oct 2014 18:21:56 -0400
Subject: [PATCH 04/35] * lisp/Makefile.in (AUTOGEN_VCS): Remove
emulation/tpu-edt.el. [Backport]
---
lisp/ChangeLog | 6 +++++-
lisp/Makefile.in | 1 -
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2758f48d4df..6680722dd4f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2014-10-20 Stefan Monnier
+
+ * Makefile.in (AUTOGEN_VCS): Remove emulation/tpu-edt.el.
+
2014-10-20 Glenn Morris
* emulation/crisp.el, emulation/tpu-edt.el, emulation/tpu-extras.el:
@@ -12,7 +16,7 @@
* obsolete/cc-compat.el: Make obsolete (bug#18561).
- * epg-config.el (epg-gpg-program): Don't use the absolute names by default.
+ * epg-config.el (epg-gpg-program): Don't use absolute names by default.
* emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg
case (bug#18767).
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index a1cd6d19ce8..5e42cd16bfc 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -74,7 +74,6 @@ AUTOGENEL = loaddefs.el \
# Note that update_loaddefs parses this.
AUTOGEN_VCS = \
ps-print.el \
- emulation/tpu-edt.el \
mail/rmail.el \
dired.el \
ibuffer.el \
From 2d8e7d1d0367cb9de1956224503afeaa2d4563cd Mon Sep 17 00:00:00 2001
From: Stefan Monnier
Date: Mon, 20 Oct 2014 18:23:28 -0400
Subject: [PATCH 05/35] * doc/misc/eieio.texi (Accessing Slots, CLOS
compatibility): Adjust wording since `setf' is in core rather than in CL
nowadays.
---
doc/misc/ChangeLog | 5 +++++
doc/misc/eieio.texi | 10 +++-------
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index dda1b35594b..0aafd852d1a 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-20 Stefan Monnier
+
+ * eieio.texi (Accessing Slots, CLOS compatibility): Adjust wording
+ since `setf' is in core rather than in CL nowadays.
+
2014-10-20 Glenn Morris
* efaq.texi (Finding a package with particular functionality):
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi
index 937fae26907..c78229b8ab7 100644
--- a/doc/misc/eieio.texi
+++ b/doc/misc/eieio.texi
@@ -755,8 +755,8 @@ Unlike @code{oref}, the symbol for @var{slot} must be quoted.
@defun set-slot-value object slot value
@anchor{set-slot-value}
-This is not a CLOS function, but is meant to mirror @code{slot-value} if
-you don't want to use the cl package's @code{setf} function. This
+This is not a CLOS function, but is the setter for @code{slot-value}
+used by the @code{setf} macro. This
function sets the value of @var{slot} from @var{object}. Unlike
@code{oset}, the symbol for @var{slot} must be quoted.
@end defun
@@ -790,7 +790,7 @@ This establishes a lexical environment for referring to the slots in
the instance named by the given slot-names as though they were
variables. Within such a context the value of the slot can be
specified by using its slot name, as if it were a lexically bound
-variable. Both setf and setq can be used to set the value of the
+variable. Both @code{setf} and @code{setq} can be used to set the value of the
slot.
@var{spec-list} is of a form similar to @dfn{let}. For example:
@@ -1850,10 +1850,6 @@ for the given object. This is different than that found in CLOS because
in @eieio{} this function accepts replacement arguments. This permits
subclasses to modify arguments as they are passed up the tree. If no
arguments are given, the expected CLOS behavior is used.
-@item setf
-If the common-lisp subsystem is loaded, the setf parameters are also
-loaded so the form @code{(setf (slot-value object slot) t)} should
-work.
@end table
CLOS supports the @code{describe} command, but @eieio{} provides
From 3b1f2e09998262fb103c9d2dee3383746977d1d1 Mon Sep 17 00:00:00 2001
From: Stefan Monnier
Date: Mon, 20 Oct 2014 18:35:43 -0400
Subject: [PATCH 06/35] * list/emulation/viper: Add some FIXME comments.
---
lisp/emulation/viper-util.el | 2 +-
lisp/emulation/viper.el | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el
index 178b23e1fca..4e3b71e3104 100644
--- a/lisp/emulation/viper-util.el
+++ b/lisp/emulation/viper-util.el
@@ -984,7 +984,7 @@ Otherwise return the normal value."
;; macros, since it enables certain macros to be shared between X and TTY modes
;; by correctly mapping key sequences for Left/Right/... (on an ascii
;; terminal) into logical keys left, right, etc.
-(defun viper-read-key ()
+(defun viper-read-key () ;; FIXME: Use `read-key'?
(let ((overriding-local-map viper-overriding-map)
(inhibit-quit t)
help-char key)
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el
index d1353bdc8fa..c7394e1cea5 100644
--- a/lisp/emulation/viper.el
+++ b/lisp/emulation/viper.el
@@ -531,6 +531,7 @@ If Viper is enabled, turn it off. Otherwise, turn it on."
(if viper-mode
()
(setq viper-mode t)
+ ;; FIXME: Don't reload!
(load-library "viper"))
(if viper-first-time ; Important check. Prevents mix-up of startup
@@ -887,6 +888,7 @@ Two differences:
;; When viper-mode is executed in such a case, it will set the major mode
;; back to fundamental-mode.
(if (eq (default-value 'major-mode) 'fundamental-mode)
+ ;; FIXME: We should use after-change-major-mode-hook instead!
(setq-default major-mode 'viper-mode))
(viper-setup-ESC-to-escape t)
@@ -936,6 +938,7 @@ Two differences:
(defadvice self-insert-command (around viper-self-insert-ad activate)
"Ignore all self-inserting keys in the vi-state."
+ ;; FIXME: Use remapping?
(if (and (eq viper-current-state 'vi-state)
;; Do not use called-interactively-p here. XEmacs does not have it
;; and interactive-p is just fine.
From c9f7e33c60b95981367187d0419b50a8d4024ff4 Mon Sep 17 00:00:00 2001
From: Stefan Monnier
Date: Mon, 20 Oct 2014 18:37:04 -0400
Subject: [PATCH 07/35] * lisp/progmodes/python.el (inferior-python-mode): Use
add-hook.
---
lisp/ChangeLog | 2 ++
lisp/progmodes/python.el | 6 +++---
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 6680722dd4f..9e1ffa7ba20 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,7 @@
2014-10-20 Stefan Monnier
+ * progmodes/python.el (inferior-python-mode): Use add-hook.
+
* Makefile.in (AUTOGEN_VCS): Remove emulation/tpu-edt.el.
2014-10-20 Glenn Morris
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index a564acc3075..c828de10304 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -2165,9 +2165,9 @@ variable.
(define-key inferior-python-mode-map [remap complete-symbol]
'completion-at-point)
(add-hook 'completion-at-point-functions
- 'python-shell-completion-complete-at-point nil 'local)
- (add-to-list (make-local-variable 'comint-dynamic-complete-functions)
- 'python-shell-completion-complete-at-point)
+ #'python-shell-completion-complete-at-point nil 'local)
+ (add-hook 'comint-dynamic-complete-functions ;FIXME: really?
+ #'python-shell-completion-complete-at-point nil 'local)
(define-key inferior-python-mode-map "\t"
'python-shell-completion-complete-or-indent)
(make-local-variable 'python-pdbtrack-buffers-to-kill)
From 3ac4e4c0eb19cecf7adce4ad6ffe60f70ad8a72d Mon Sep 17 00:00:00 2001
From: Glenn Morris
Date: Mon, 20 Oct 2014 18:39:30 -0400
Subject: [PATCH 08/35] * lisp/dired.el (dired-read-regexp): Make obsolete.
[Backport] (dired-mark-files-regexp, dired-mark-files-containing-regexp)
(dired-flag-files-regexp): * lisp/dired-aux.el (dired-mark-read-regexp): *
lisp/dired-x.el (dired-mark-unmarked-files): Use read-regexp directly.
---
lisp/ChangeLog | 8 ++++++++
lisp/dired-aux.el | 9 +++++----
lisp/dired-x.el | 8 ++++----
lisp/dired.el | 18 +++++++++++-------
4 files changed, 28 insertions(+), 15 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9e1ffa7ba20..7fabbf14038 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2014-10-20 Glenn Morris
+
+ * dired.el (dired-read-regexp): Make obsolete.
+ (dired-mark-files-regexp, dired-mark-files-containing-regexp)
+ (dired-flag-files-regexp):
+ * dired-aux.el (dired-mark-read-regexp):
+ * dired-x.el (dired-mark-unmarked-files): Use read-regexp directly.
+
2014-10-20 Stefan Monnier
* progmodes/python.el (inferior-python-mode): Use add-hook.
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index b1d5f4e53b0..432d2307725 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -1,7 +1,7 @@
;;; dired-aux.el --- less commonly used parts of dired
-;; Copyright (C) 1985-1986, 1992, 1994, 1998, 2000-2014 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992, 1994, 1998, 2000-2014
+;; Free Software Foundation, Inc.
;; Author: Sebastian Kremer .
;; Maintainer: emacs-devel@gnu.org
@@ -1921,8 +1921,9 @@ Type SPC or `y' to %s one match, DEL or `n' to skip to next,
(arg
(if whole-name nil current-prefix-arg))
(regexp
- (dired-read-regexp
- (concat (if whole-name "Abs. " "") operation " from (regexp): ")))
+ (read-regexp
+ (concat (if whole-name "Abs. " "") operation " from (regexp): ")
+ nil 'dired-regexp-history))
(newname
(read-string
(concat (if whole-name "Abs. " "") operation " " regexp " to: "))))
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 947de7cd9f8..25c6f8b69af 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -1,7 +1,6 @@
;;; dired-x.el --- extra Dired functionality -*- lexical-binding:t -*-
-;; Copyright (C) 1993-1994, 1997, 2001-2014 Free Software Foundation,
-;; Inc.
+;; Copyright (C) 1993-1994, 1997, 2001-2014 Free Software Foundation, Inc.
;; Author: Sebastian Kremer
;; Lawrence R. Dodd
@@ -556,8 +555,9 @@ interactively, prompt for REGEXP.
With prefix argument, unflag all those files.
Optional fourth argument LOCALP is as in `dired-get-filename'."
(interactive
- (list (dired-read-regexp
- "Mark unmarked files matching regexp (default all): ")
+ (list (read-regexp
+ "Mark unmarked files matching regexp (default all): "
+ nil 'dired-regexp-history)
nil current-prefix-arg nil))
(let ((dired-marker-char (if unflag-p ?\s dired-marker-char)))
(dired-mark-if
diff --git a/lisp/dired.el b/lisp/dired.el
index 60f8c1e9dfc..98d3032637b 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1,7 +1,7 @@
;;; dired.el --- directory-browsing commands -*- lexical-binding: t -*-
-;; Copyright (C) 1985-1986, 1992-1997, 2000-2014 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992-1997, 2000-2014
+;; Free Software Foundation, Inc.
;; Author: Sebastian Kremer
;; Maintainer: emacs-devel@gnu.org
@@ -3302,6 +3302,7 @@ As always, hidden subdirs are not affected."
(defun dired-read-regexp (prompt &optional default history)
"Read a regexp using `read-regexp'."
+ (declare (obsolete read-regexp "24.5"))
(read-regexp prompt default (or history 'dired-regexp-history)))
(defun dired-mark-files-regexp (regexp &optional marker-char)
@@ -3312,8 +3313,9 @@ A prefix argument means to unmark them instead.
REGEXP is an Emacs regexp, not a shell wildcard. Thus, use `\\.o$' for
object files--just `.o' will mark more than you might think."
(interactive
- (list (dired-read-regexp (concat (if current-prefix-arg "Unmark" "Mark")
- " files (regexp): "))
+ (list (read-regexp (concat (if current-prefix-arg "Unmark" "Mark")
+ " files (regexp): ")
+ nil 'dired-regexp-history)
(if current-prefix-arg ?\040)))
(let ((dired-marker-char (or marker-char dired-marker-char)))
(dired-mark-if
@@ -3328,8 +3330,9 @@ object files--just `.o' will mark more than you might think."
A prefix argument means to unmark them instead.
`.' and `..' are never marked."
(interactive
- (list (dired-read-regexp (concat (if current-prefix-arg "Unmark" "Mark")
- " files containing (regexp): "))
+ (list (read-regexp (concat (if current-prefix-arg "Unmark" "Mark")
+ " files containing (regexp): ")
+ nil 'dired-regexp-history)
(if current-prefix-arg ?\040)))
(let ((dired-marker-char (or marker-char dired-marker-char)))
(dired-mark-if
@@ -3359,7 +3362,8 @@ A prefix argument means to unmark them instead.
The match is against the non-directory part of the filename. Use `^'
and `$' to anchor matches. Exclude subdirs by hiding them.
`.' and `..' are never flagged."
- (interactive (list (dired-read-regexp "Flag for deletion (regexp): ")))
+ (interactive (list (read-regexp "Flag for deletion (regexp): "
+ nil 'dired-regexp-history)))
(dired-mark-files-regexp regexp dired-del-marker))
(defun dired-mark-symlinks (unflag-p)
From 531f56f59b2ae2fc79377662bd041b85b2563268 Mon Sep 17 00:00:00 2001
From: Juanma Barranquero
Date: Mon, 20 Oct 2014 18:41:19 -0400
Subject: [PATCH 09/35] * lisp/skeleton.el (skeleton-autowrap): Mark as
obsolete. [Backport]
---
lisp/ChangeLog | 4 ++++
lisp/skeleton.el | 7 ++-----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7fabbf14038..d3c0ab97ec4 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2014-03-20 Juanma Barranquero
+
+ * skeleton.el (skeleton-autowrap): Mark as obsolete. Doc fix.
+
2014-10-20 Glenn Morris
* dired.el (dired-read-regexp): Make obsolete.
diff --git a/lisp/skeleton.el b/lisp/skeleton.el
index 54dce9e43b7..bb019db502c 100644
--- a/lisp/skeleton.el
+++ b/lisp/skeleton.el
@@ -55,11 +55,8 @@ Typical examples might be `upcase' or `capitalize'.")
When the region is visible (due to `transient-mark-mode' or marking a region
with the mouse) and this is non-nil and the function was called without an
explicit ARG, then the ARG defaults to -1, i.e. wrapping around the visible
-region.
-
-We will probably delete this variable in a future Emacs version
-unless we get a substantial number of complaints about the auto-wrap
-feature.")
+region.")
+(make-obsolete-variable 'skeleton-autowrap nil "24.5")
(defvar skeleton-end-newline t
"If non-nil, make sure that the skeleton inserted ends with a newline.
From 24421aa68b1eb23d6dacfd647480e2c21ac6d343 Mon Sep 17 00:00:00 2001
From: Stefan Monnier
Date: Mon, 20 Oct 2014 18:44:11 -0400
Subject: [PATCH 10/35] * lisp/subr.el (call-process-shell-command,
process-file-shell-command): Make the `args' obsolete.
(start-process-shell-command, start-file-process-shell-command): Use
`declare'.
Fixes: debbugs:18409
---
etc/NEWS | 4 ++++
lisp/ChangeLog | 9 ++++++++-
lisp/dired.el | 4 ++--
lisp/subr.el | 21 +++++++++++++--------
4 files changed, 27 insertions(+), 11 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index 31baeb33516..2e7c0983d12 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -31,6 +31,10 @@ These emulations of old editors are believed to be no longer relevant
- contact emacs-devel@gnu.org if you disagree.
** cc-compat.el is marked as obsolete.
+
+** call-process-shell-command and process-file-shell-command
+don't take "&rest args" any more.
+
* Installation Changes in Emacs 24.4
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d3c0ab97ec4..3a6a304d724 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,4 +1,11 @@
-2014-03-20 Juanma Barranquero
+2014-09-05 Stefan Monnier
+
+ * subr.el (call-process-shell-command, process-file-shell-command):
+ Make the `args' obsolete (bug#18409).
+ (start-process-shell-command, start-file-process-shell-command):
+ Use `declare'.
+
+2014-10-20 Juanma Barranquero
* skeleton.el (skeleton-autowrap): Mark as obsolete. Doc fix.
diff --git a/lisp/dired.el b/lisp/dired.el
index 98d3032637b..b84fc57376a 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -3883,7 +3883,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
;;; Start of automatically extracted autoloads.
-;;;### (autoloads nil "dired-aux" "dired-aux.el" "1a8e2a4a9117ab3a2586aa001358d3fb")
+;;;### (autoloads nil "dired-aux" "dired-aux.el" "6969bb4414a8a31b91342ab922a94efb")
;;; Generated autoloads from dired-aux.el
(autoload 'dired-diff "dired-aux" "\
@@ -4386,7 +4386,7 @@ instead.
;;;***
-;;;### (autoloads nil "dired-x" "dired-x.el" "291bc6e869bf72c900604c45d40f45ed")
+;;;### (autoloads nil "dired-x" "dired-x.el" "994b5d9fc38059ab641ec271c728e56f")
;;; Generated autoloads from dired-x.el
(autoload 'dired-jump "dired-x" "\
diff --git a/lisp/subr.el b/lisp/subr.el
index 12704da149b..215699de178 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2879,23 +2879,21 @@ COMMAND is the shell command to run.
An old calling convention accepted any number of arguments after COMMAND,
which were just concatenated to COMMAND. This is still supported but strongly
discouraged."
- ;; We used to use `exec' to replace the shell with the command,
- ;; but that failed to handle (...) and semicolon, etc.
+ (declare (advertised-calling-convention (name buffer command) "23.1"))
+ ;; We used to use `exec' to replace the shell with the command,
+ ;; but that failed to handle (...) and semicolon, etc.
(start-process name buffer shell-file-name shell-command-switch
(mapconcat 'identity args " ")))
-(set-advertised-calling-convention 'start-process-shell-command
- '(name buffer command) "23.1")
(defun start-file-process-shell-command (name buffer &rest args)
"Start a program in a subprocess. Return the process object for it.
Similar to `start-process-shell-command', but calls `start-file-process'."
+ (declare (advertised-calling-convention (name buffer command) "23.1"))
(start-file-process
name buffer
(if (file-remote-p default-directory) "/bin/sh" shell-file-name)
(if (file-remote-p default-directory) "-c" shell-command-switch)
(mapconcat 'identity args " ")))
-(set-advertised-calling-convention 'start-file-process-shell-command
- '(name buffer command) "23.1")
(defun call-process-shell-command (command &optional infile buffer display
&rest args)
@@ -2911,13 +2909,18 @@ STDERR-FILE may be nil (discard standard error output),
t (mix it with ordinary output), or a file name string.
Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted.
-Remaining arguments are strings passed as additional arguments for COMMAND.
Wildcards and redirection are handled as usual in the shell.
If BUFFER is 0, `call-process-shell-command' returns immediately with value nil.
Otherwise it waits for COMMAND to terminate and returns a numeric exit
status or a signal description string.
-If you quit, the process is killed with SIGINT, or SIGKILL if you quit again."
+If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.
+
+An old calling convention accepted any number of arguments after DISPLAY,
+which were just concatenated to COMMAND. This is still supported but strongly
+discouraged."
+ (declare (advertised-calling-convention
+ (command &optional infile buffer display) "24.5"))
;; We used to use `exec' to replace the shell with the command,
;; but that failed to handle (...) and semicolon, etc.
(call-process shell-file-name
@@ -2929,6 +2932,8 @@ If you quit, the process is killed with SIGINT, or SIGKILL if you quit again."
&rest args)
"Process files synchronously in a separate process.
Similar to `call-process-shell-command', but calls `process-file'."
+ (declare (advertised-calling-convention
+ (command &optional infile buffer display) "24.5"))
(process-file
(if (file-remote-p default-directory) "/bin/sh" shell-file-name)
infile buffer display
From a8cab05439c75e66ac2c83a20bb8a6c829674021 Mon Sep 17 00:00:00 2001
From: Glenn Morris
Date: Mon, 20 Oct 2014 18:45:35 -0400
Subject: [PATCH 11/35] * lisp/url/url-vars.el (url-bug-address): Make into an
obsolete alias. * lisp/url/url-http.el (url-http-handle-authentication): *
lisp/url/url-news.el (url-news-fetch-message-id): Use M-x report-emacs-bug in
help messages. [Backport]
---
lisp/url/ChangeLog | 7 +++++++
lisp/url/url-http.el | 2 +-
lisp/url/url-news.el | 3 +--
lisp/url/url-vars.el | 7 +++----
4 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 36f76fded69..c2085a851a8 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,10 @@
+2014-10-20 Glenn Morris
+
+ * url-vars.el (url-bug-address): Make into an obsolete alias.
+ * url-http.el (url-http-handle-authentication):
+ * url-news.el (url-news-fetch-message-id):
+ Use M-x report-emacs-bug in help messages.
+
2014-10-20 Glenn Morris
* Version 24.4 released.
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index b0a3b688a55..d839d977fd2 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -413,7 +413,7 @@ Return the number of characters removed."
(goto-char (point-max))
(insert "
Sorry, but I do not know how to handle " type
" authentication. If you'd like to write it,"
- " send it to " url-bug-address ".
")
+ " please use M-x report-emacs-bug RET.
")
;; We used to set a `status' var (declared "special") but I can't
;; find the corresponding let-binding, so it's probably an error.
;; FIXME: Maybe it was supposed to set `success', i.e. to return t?
diff --git a/lisp/url/url-news.el b/lisp/url/url-news.el
index 105fb677374..0ce6d2e6cd1 100644
--- a/lisp/url/url-news.el
+++ b/lisp/url/url-news.el
@@ -70,8 +70,7 @@
" \n"
"
\n"
" \n"
- " If you If you feel this is an error, send mail\n"
+ " If you feel this is an error, M-x report-emacs-bug RET.\n"
"
\n"
" \n"
"