mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-18 11:50:38 -08:00
Merge from trunk.
This commit is contained in:
commit
35cf62d95c
2137 changed files with 23907 additions and 10975 deletions
14
ChangeLog
14
ChangeLog
|
|
@ -1,3 +1,11 @@
|
||||||
|
2011-12-17 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
Port HAVE_PTHREAD configuration to MirBSD 10 (Bug#10201).
|
||||||
|
* configure.in (HAVE_PTHREAD): Check for pthread_atfork if linking
|
||||||
|
to gmalloc.c. This should prevent a MirBSD 10 build failure reported
|
||||||
|
by Nelson H. F. Beebe in
|
||||||
|
<http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00065.html>.
|
||||||
|
|
||||||
2011-12-10 Juanma Barranquero <lekktu@gmail.com>
|
2011-12-10 Juanma Barranquero <lekktu@gmail.com>
|
||||||
|
|
||||||
* update-subdirs: Don't set no-byte-compile twice (bug#10260).
|
* update-subdirs: Don't set no-byte-compile twice (bug#10260).
|
||||||
|
|
@ -2254,7 +2262,7 @@
|
||||||
|
|
||||||
2009-12-10 Jan Djärv <jan.h.d@swipnet.se>
|
2009-12-10 Jan Djärv <jan.h.d@swipnet.se>
|
||||||
|
|
||||||
* configure.in: Check for RSVG if GNUStep is used.
|
* configure.in: Check for RSVG if GNUstep is used.
|
||||||
|
|
||||||
2009-12-09 Jan Djärv <jan.h.d@swipnet.se>
|
2009-12-09 Jan Djärv <jan.h.d@swipnet.se>
|
||||||
|
|
||||||
|
|
@ -2439,7 +2447,7 @@
|
||||||
|
|
||||||
2009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
|
2009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
* configure.in: Don't define CANNOT_DUMP for GNUStep any more.
|
* configure.in: Don't define CANNOT_DUMP for GNUstep any more.
|
||||||
|
|
||||||
2009-05-05 Per Starbäck <per@starback.se> (tiny change)
|
2009-05-05 Per Starbäck <per@starback.se> (tiny change)
|
||||||
|
|
||||||
|
|
@ -10072,7 +10080,7 @@
|
||||||
;; coding: utf-8
|
;; coding: utf-8
|
||||||
;; End:
|
;; End:
|
||||||
|
|
||||||
Copyright (C) 1993-1999, 2001-2011 Free Software Foundation, Inc.
|
Copyright (C) 1993-1999, 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Build Emacs from a fresh tarball or version-control checkout.
|
# Build Emacs from a fresh tarball or version-control checkout.
|
||||||
|
|
||||||
# Copyright 2011 Free Software Foundation, Inc.
|
# Copyright (C) 2011-2012 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is part of GNU Emacs.
|
# This file is part of GNU Emacs.
|
||||||
#
|
#
|
||||||
|
|
|
||||||
2
INSTALL
2
INSTALL
|
|
@ -1,5 +1,5 @@
|
||||||
GNU Emacs Installation Guide
|
GNU Emacs Installation Guide
|
||||||
Copyright (C) 1992, 1994, 1996-1997, 2000-2011
|
Copyright (C) 1992, 1994, 1996-1997, 2000-2012
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
# DIST: make most of the changes to this file you might want, so try
|
# DIST: make most of the changes to this file you might want, so try
|
||||||
# DIST: that first.
|
# DIST: that first.
|
||||||
|
|
||||||
# Copyright (C) 1992-2011 Free Software Foundation, Inc.
|
# Copyright (C) 1992-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is part of GNU Emacs.
|
# This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
2
README
2
README
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1226,7 +1226,7 @@
|
||||||
;; coding: utf-8
|
;; coding: utf-8
|
||||||
;; End:
|
;; End:
|
||||||
|
|
||||||
Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,13 +61,6 @@ sk Miroslav Vaško
|
||||||
|
|
||||||
* BUGS
|
* BUGS
|
||||||
|
|
||||||
** Does deleting frames run Lisp code? If so, can we get rid of that?
|
|
||||||
It is a dangerous design.
|
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01330.html
|
|
||||||
|
|
||||||
** Why were the calls to x_fully_uncatch_errors commented out in eval.c?
|
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01987.html
|
|
||||||
|
|
||||||
** rms: gnus-dired.el is a mistake. Those features should not
|
** rms: gnus-dired.el is a mistake. Those features should not
|
||||||
be part of Gnus. They should be moved to some other part of Emacs.
|
be part of Gnus. They should be moved to some other part of Emacs.
|
||||||
rsteib: Gnus dependencies in `gnus-dired.el' (and `mailcap.el') have been
|
rsteib: Gnus dependencies in `gnus-dired.el' (and `mailcap.el') have been
|
||||||
|
|
@ -90,25 +83,8 @@ and change key bindings where necessary. The current list of modes:
|
||||||
`log-edit-comment-search-forward'. Perhaps search commands
|
`log-edit-comment-search-forward'. Perhaps search commands
|
||||||
on the global key binding `M-s' are useless in these modes.
|
on the global key binding `M-s' are useless in these modes.
|
||||||
|
|
||||||
** sdl.web@gmail.com, 30 Oct: ps-lpr-switches has no effect
|
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg02091.html
|
|
||||||
|
|
||||||
Fixed by this change?
|
|
||||||
|
|
||||||
2007-11-09 Vinicius Jose Latorre <viniciusjl@ig.com.br>
|
|
||||||
|
|
||||||
* ps-print.el: [...]
|
|
||||||
(ps-do-despool): If ps-lpr-switches is not a list, force it to be one.
|
|
||||||
|
|
||||||
** In C, use EMACS_INT for variables and structure members
|
|
||||||
for buffer/string positions. E.g. struct it, struct text_pos.
|
|
||||||
|
|
||||||
* DOCUMENTATION
|
* DOCUMENTATION
|
||||||
|
|
||||||
** Clean up Emacs.app references in code and documentation.
|
|
||||||
|
|
||||||
** Document new font backend
|
|
||||||
|
|
||||||
** Document XEmbed support
|
** Document XEmbed support
|
||||||
|
|
||||||
** Check the Emacs Tutorial.
|
** Check the Emacs Tutorial.
|
||||||
|
|
@ -148,19 +124,19 @@ TUTORIAL.zh
|
||||||
|
|
||||||
** Check the manual.
|
** Check the manual.
|
||||||
|
|
||||||
abbrevs.texi
|
abbrevs.texi cyd
|
||||||
ack.texi
|
ack.texi
|
||||||
anti.texi
|
anti.texi
|
||||||
arevert-xtra.texi cyd
|
arevert-xtra.texi cyd
|
||||||
basic.texi cyd
|
basic.texi cyd
|
||||||
buffers.texi cyd
|
buffers.texi cyd
|
||||||
building.texi
|
building.texi cyd
|
||||||
calendar.texi
|
calendar.texi
|
||||||
cal-xtra.texi
|
cal-xtra.texi
|
||||||
cmdargs.texi
|
cmdargs.texi
|
||||||
commands.texi cyd
|
commands.texi cyd
|
||||||
custom.texi
|
custom.texi cyd
|
||||||
dired.texi
|
dired.texi cyd
|
||||||
dired-xtra.texi
|
dired-xtra.texi
|
||||||
display.texi cyd
|
display.texi cyd
|
||||||
emacs.texi
|
emacs.texi
|
||||||
|
|
@ -177,27 +153,27 @@ indent.texi cyd
|
||||||
killing.texi cyd
|
killing.texi cyd
|
||||||
kmacro.texi cyd
|
kmacro.texi cyd
|
||||||
macos.texi
|
macos.texi
|
||||||
maintaining.texi
|
maintaining.texi cyd
|
||||||
major.texi
|
|
||||||
mark.texi cyd
|
mark.texi cyd
|
||||||
mini.texi
|
mini.texi
|
||||||
misc.texi
|
misc.texi cyd
|
||||||
modes.texi cyd
|
modes.texi cyd
|
||||||
msdog.texi
|
msdog.texi
|
||||||
msdog-xtra.texi
|
msdog-xtra.texi
|
||||||
mule.texi
|
mule.texi
|
||||||
m-x.texi cyd
|
m-x.texi cyd
|
||||||
|
package.texi cyd
|
||||||
picture-xtra.texi
|
picture-xtra.texi
|
||||||
programs.texi
|
programs.texi cyd
|
||||||
regs.texi cyd
|
regs.texi cyd
|
||||||
rmail.texi
|
rmail.texi
|
||||||
screen.texi cyd
|
screen.texi cyd
|
||||||
search.texi cyd
|
search.texi cyd
|
||||||
sending.texi
|
sending.texi cyd
|
||||||
text.texi
|
text.texi cyd
|
||||||
trouble.texi
|
trouble.texi cyd
|
||||||
vc-xtra.texi
|
vc-xtra.texi cyd
|
||||||
vc1-xtra.texi
|
vc1-xtra.texi cyd
|
||||||
windows.texi cyd
|
windows.texi cyd
|
||||||
xresources.texi
|
xresources.texi
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; admin.el --- utilities for Emacs administration
|
;;; admin.el --- utilities for Emacs administration
|
||||||
|
|
||||||
;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Allocate X colors. Used for testing with dense colormaps.
|
/* Allocate X colors. Used for testing with dense colormaps.
|
||||||
|
|
||||||
Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#! /usr/bin/perl
|
#! /usr/bin/perl
|
||||||
# Build Emacs in several different configurations.
|
# Build Emacs in several different configurations.
|
||||||
|
|
||||||
# Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is part of GNU Emacs.
|
# This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; bzrmerge.el --- help merge one Emacs bzr branch to another
|
;;; bzrmerge.el --- help merge one Emacs bzr branch to another
|
||||||
|
|
||||||
;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
|
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
;; Keywords:
|
;; Keywords:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (C) 2009-2011 Free Software Foundation, Inc.
|
Copyright (C) 2009-2012 Free Software Foundation, Inc.
|
||||||
Copyright (C) 2009, 2010, 2011
|
Copyright (C) 2009, 2010, 2011
|
||||||
National Institute of Advanced Industrial Science and Technology (AIST)
|
National Institute of Advanced Industrial Science and Technology (AIST)
|
||||||
Registration Number H13PRO009
|
Registration Number H13PRO009
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; cus-test.el --- tests for custom types and load problems
|
;;; cus-test.el --- tests for custom types and load problems
|
||||||
|
|
||||||
;; Copyright (C) 1998, 2000, 2002-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 1998, 2000, 2002-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de>
|
;; Author: Markus Rost <markus.rost@mathematik.uni-regensburg.de>
|
||||||
;; Maintainer: Markus Rost <rost@math.ohio-state.edu>
|
;; Maintainer: Markus Rost <rost@math.ohio-state.edu>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is part of GNU Emacs.
|
# This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; bovine-grammar.el --- Bovine's input grammar mode
|
;;; bovine-grammar.el --- Bovine's input grammar mode
|
||||||
;;
|
;;
|
||||||
;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
;;
|
;;
|
||||||
;; Author: David Ponce <david@dponce.com>
|
;; Author: David Ponce <david@dponce.com>
|
||||||
;; Maintainer: David Ponce <david@dponce.com>
|
;; Maintainer: David Ponce <david@dponce.com>
|
||||||
|
|
@ -298,7 +298,7 @@ VALUE is a value, or range of values to match against. For
|
||||||
example, a SYMBOL might need to match \"foo\". Some TYPES will not
|
example, a SYMBOL might need to match \"foo\". Some TYPES will not
|
||||||
have matching criteria.
|
have matching criteria.
|
||||||
|
|
||||||
LAMBDA is a lambda expression which is evaled with the text of the
|
LAMBDA is a lambda expression which is evalled with the text of the
|
||||||
type when it is found. It is passed the list of all buffer text
|
type when it is found. It is passed the list of all buffer text
|
||||||
elements found since the last lambda expression. It should return a
|
elements found since the last lambda expression. It should return a
|
||||||
semantic element (see below.)
|
semantic element (see below.)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; c.by -- LL grammar for C/C++ language specification
|
;;; c.by -- LL grammar for C/C++ language specification
|
||||||
|
|
||||||
;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
|
||||||
;;
|
;;
|
||||||
;; Author: Eric M. Ludlam <zappo@gnu.org>
|
;; Author: Eric M. Ludlam <zappo@gnu.org>
|
||||||
;; David Ponce <david@dponce.com>
|
;; David Ponce <david@dponce.com>
|
||||||
|
|
@ -261,7 +261,7 @@ define
|
||||||
;
|
;
|
||||||
|
|
||||||
;; In C++, structures can have the same things as classes.
|
;; In C++, structures can have the same things as classes.
|
||||||
;; So delete this somday in the figure.
|
;; So delete this some day in the figure.
|
||||||
;;
|
;;
|
||||||
;;structparts : semantic-list
|
;;structparts : semantic-list
|
||||||
;; (EXPANDFULL $1 structsubparts)
|
;; (EXPANDFULL $1 structsubparts)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars
|
;;; semantic-grammar.wy -- LALR grammar of Semantic input grammars
|
||||||
;;
|
;;
|
||||||
;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
;;
|
;;
|
||||||
;; Author: David Ponce <david@dponce.com>
|
;; Author: David Ponce <david@dponce.com>
|
||||||
;; Maintainer: David Ponce <david@dponce.com>
|
;; Maintainer: David Ponce <david@dponce.com>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; java-tags.wy -- Semantic LALR grammar for Java
|
;;; java-tags.wy -- Semantic LALR grammar for Java
|
||||||
|
|
||||||
;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
;;
|
;;
|
||||||
;; Author: David Ponce <david@dponce.com>
|
;; Author: David Ponce <david@dponce.com>
|
||||||
;; Maintainer: David Ponce <david@dponce.com>
|
;; Maintainer: David Ponce <david@dponce.com>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; javascript-jv.wy -- LALR grammar for Javascript
|
;;; javascript-jv.wy -- LALR grammar for Javascript
|
||||||
|
|
||||||
;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
|
||||||
;; Copyright (C) 1998-2011 Ecma International.
|
;; Copyright (C) 1998-2011 Ecma International.
|
||||||
|
|
||||||
;; Author: Joakim Verona
|
;; Author: Joakim Verona
|
||||||
|
|
@ -66,7 +66,7 @@
|
||||||
;; Other Goals
|
;; Other Goals
|
||||||
%start FormalParameterList
|
%start FormalParameterList
|
||||||
|
|
||||||
;; with the terminals stuff, I used the javacript.y names,
|
;; with the terminals stuff, I used the javascript.y names,
|
||||||
;; but the semantic/wisent/java-tags.wy types
|
;; but the semantic/wisent/java-tags.wy types
|
||||||
;; when possible
|
;; when possible
|
||||||
;; ------------------
|
;; ------------------
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; make.by -- BY notation for Makefiles.
|
;;; make.by -- BY notation for Makefiles.
|
||||||
|
|
||||||
;; Copyright (C) 1999-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 1999-2012 Free Software Foundation, Inc.
|
||||||
;;
|
;;
|
||||||
;; Author: Eric M. Ludlam <zappo@gnu.org>
|
;; Author: Eric M. Ludlam <zappo@gnu.org>
|
||||||
;; David Ponce <david@dponce.com>
|
;; David Ponce <david@dponce.com>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; python.wy -- LALR grammar for Python
|
;;; python.wy -- LALR grammar for Python
|
||||||
|
|
||||||
;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
;; Copyright (C) 2001-2010 Python Software Foundation
|
;; Copyright (C) 2001-2010 Python Software Foundation
|
||||||
|
|
||||||
;; Author: Richard Kim <ryk@dspwiz.com>
|
;; Author: Richard Kim <ryk@dspwiz.com>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; scheme.by -- Scheme BNF language specification
|
;;; scheme.by -- Scheme BNF language specification
|
||||||
|
|
||||||
;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; srecode-template.wy --- Semantic Recoder Template parser
|
;;; srecode-template.wy --- Semantic Recoder Template parser
|
||||||
|
|
||||||
;; Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2005-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Author: Eric Ludlam <zappo@gnu.org>
|
;; Author: Eric Ludlam <zappo@gnu.org>
|
||||||
;; Keywords: syntax
|
;; Keywords: syntax
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
;;; wisent-grammar.el --- Wisent's input grammar mode
|
;;; wisent-grammar.el --- Wisent's input grammar mode
|
||||||
|
|
||||||
;; Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
;; Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
;;
|
;;
|
||||||
;; Author: David Ponce <david@dponce.com>
|
;; Author: David Ponce <david@dponce.com>
|
||||||
;; Maintainer: David Ponce <david@dponce.com>
|
;; Maintainer: David Ponce <david@dponce.com>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
## Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
## Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
## Author: Francesco Potorti` <pot@gnu.org>
|
## Author: Francesco Potorti` <pot@gnu.org>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
# Build Emacs with various options for profiling, debugging,
|
# Build Emacs with various options for profiling, debugging,
|
||||||
# with and without warnings enabled etc.
|
# with and without warnings enabled etc.
|
||||||
|
|
||||||
# Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is part of GNU Emacs.
|
# This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
Copyright (C) 2007-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
Some lisp/emacs-lisp/ Features and Where They Are Documented
|
Some lisp/emacs-lisp/ Features and Where They Are Documented
|
||||||
|
|
||||||
Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
Copyright (C) 2007-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
-*- coding: utf-8; mode: text; -*-
|
-*- coding: utf-8; mode: text; -*-
|
||||||
|
|
||||||
Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
Copyright (C) 2007-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
From README.multi-tty in the multi-tty branch.
|
From README.multi-tty in the multi-tty branch.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
-*-mode: text; coding: latin-1;-*-
|
-*-mode: text; coding: latin-1;-*-
|
||||||
|
|
||||||
Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
Problems, fixmes and other unicode-related issues
|
Problems, fixmes and other unicode-related issues
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
Emacs for Windows
|
Emacs for Windows
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
See the end of the file for license conditions.
|
See the end of the file for license conditions.
|
||||||
|
|
||||||
Precompiled Distributions of
|
Precompiled Distributions of
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
### quick-install-emacs --- do a halfway-decent job of installing emacs quickly
|
### quick-install-emacs --- do a halfway-decent job of installing emacs quickly
|
||||||
|
|
||||||
## Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
## Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
## Author: Miles Bader <miles@gnu.org>
|
## Author: Miles Bader <miles@gnu.org>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
### autogen.sh - tool to help build Emacs from a bzr checkout
|
### autogen.sh - tool to help build Emacs from a bzr checkout
|
||||||
|
|
||||||
## Copyright (C) 2011 Free Software Foundation, Inc.
|
## Copyright (C) 2011-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
## Author: Glenn Morris <rgm@gnu.org>
|
## Author: Glenn Morris <rgm@gnu.org>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
/* GNU Emacs site configuration template file.
|
/* GNU Emacs site configuration template file.
|
||||||
|
|
||||||
Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2011
|
Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2012
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
|
||||||
30
autogen/configure
vendored
30
autogen/configure
vendored
|
|
@ -10018,7 +10018,7 @@ $as_echo "#define DOUG_LEA_MALLOC 1" >>confdefs.h
|
||||||
## Use mmap directly for allocating larger buffers.
|
## Use mmap directly for allocating larger buffers.
|
||||||
## FIXME this comes from src/s/{gnu,gnu-linux}.h:
|
## FIXME this comes from src/s/{gnu,gnu-linux}.h:
|
||||||
## #ifdef DOUG_LEA_MALLOC; #undef REL_ALLOC; #endif
|
## #ifdef DOUG_LEA_MALLOC; #undef REL_ALLOC; #endif
|
||||||
## Does the AC_FUNC_MMAP test below make this check unecessary?
|
## Does the AC_FUNC_MMAP test below make this check unnecessary?
|
||||||
case "$opsys" in
|
case "$opsys" in
|
||||||
gnu*) REL_ALLOC=no ;;
|
gnu*) REL_ALLOC=no ;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -10339,9 +10339,15 @@ fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if test "$ac_cv_header_pthread_h"; then
|
if test "$ac_cv_header_pthread_h"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5
|
if test "$GMALLOC_OBJ" = gmalloc.o; then
|
||||||
$as_echo_n "checking for pthread_self in -lpthread... " >&6; }
|
emacs_pthread_function=pthread_atfork
|
||||||
if test "${ac_cv_lib_pthread_pthread_self+set}" = set; then :
|
else
|
||||||
|
emacs_pthread_function=pthread_self
|
||||||
|
fi
|
||||||
|
as_ac_Lib=`$as_echo "ac_cv_lib_pthread_$emacs_pthread_function" | $as_tr_sh`
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $emacs_pthread_function in -lpthread" >&5
|
||||||
|
$as_echo_n "checking for $emacs_pthread_function in -lpthread... " >&6; }
|
||||||
|
if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
ac_check_lib_save_LIBS=$LIBS
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
|
@ -10355,27 +10361,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
#endif
|
#endif
|
||||||
char pthread_self ();
|
char $emacs_pthread_function ();
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
return pthread_self ();
|
return $emacs_pthread_function ();
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
_ACEOF
|
_ACEOF
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
ac_cv_lib_pthread_pthread_self=yes
|
eval "$as_ac_Lib=yes"
|
||||||
else
|
else
|
||||||
ac_cv_lib_pthread_pthread_self=no
|
eval "$as_ac_Lib=no"
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
LIBS=$ac_check_lib_save_LIBS
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
fi
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_self" >&5
|
eval ac_res=\$$as_ac_Lib
|
||||||
$as_echo "$ac_cv_lib_pthread_pthread_self" >&6; }
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||||
if test "x$ac_cv_lib_pthread_pthread_self" = x""yes; then :
|
$as_echo "$ac_res" >&6; }
|
||||||
|
eval as_val=\$$as_ac_Lib
|
||||||
|
if test "x$as_val" = x""yes; then :
|
||||||
HAVE_PTHREAD=yes
|
HAVE_PTHREAD=yes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
### update_autogen - update the generated files in Emacs autogen/ directory
|
### update_autogen - update the generated files in Emacs autogen/ directory
|
||||||
|
|
||||||
## Copyright (C) 2011 Free Software Foundation, Inc.
|
## Copyright (C) 2011-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
## Author: Glenn Morris <rgm@gnu.org>
|
## Author: Glenn Morris <rgm@gnu.org>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
@echo off
|
@echo off
|
||||||
rem ----------------------------------------------------------------------
|
rem ----------------------------------------------------------------------
|
||||||
rem Configuration script for MSDOS
|
rem Configuration script for MSDOS
|
||||||
rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003
|
rem Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
|
||||||
rem 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
|
|
||||||
rem Inc.
|
|
||||||
|
|
||||||
rem This file is part of GNU Emacs.
|
rem This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
16
configure.in
16
configure.in
|
|
@ -4,7 +4,7 @@ dnl autoconf
|
||||||
dnl in the directory containing this script.
|
dnl in the directory containing this script.
|
||||||
dnl If you changed any AC_DEFINES, also run autoheader.
|
dnl If you changed any AC_DEFINES, also run autoheader.
|
||||||
dnl
|
dnl
|
||||||
dnl Copyright (C) 1994-1996, 1999-2011 Free Software Foundation, Inc.
|
dnl Copyright (C) 1994-1996, 1999-2012 Free Software Foundation, Inc.
|
||||||
dnl
|
dnl
|
||||||
dnl This file is part of GNU Emacs.
|
dnl This file is part of GNU Emacs.
|
||||||
dnl
|
dnl
|
||||||
|
|
@ -1683,7 +1683,7 @@ if test "$doug_lea_malloc" = "yes" ; then
|
||||||
## Use mmap directly for allocating larger buffers.
|
## Use mmap directly for allocating larger buffers.
|
||||||
## FIXME this comes from src/s/{gnu,gnu-linux}.h:
|
## FIXME this comes from src/s/{gnu,gnu-linux}.h:
|
||||||
## #ifdef DOUG_LEA_MALLOC; #undef REL_ALLOC; #endif
|
## #ifdef DOUG_LEA_MALLOC; #undef REL_ALLOC; #endif
|
||||||
## Does the AC_FUNC_MMAP test below make this check unecessary?
|
## Does the AC_FUNC_MMAP test below make this check unnecessary?
|
||||||
case "$opsys" in
|
case "$opsys" in
|
||||||
gnu*) REL_ALLOC=no ;;
|
gnu*) REL_ALLOC=no ;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -1720,7 +1720,15 @@ dnl Check if pthreads is available.
|
||||||
LIB_PTHREAD=
|
LIB_PTHREAD=
|
||||||
AC_CHECK_HEADERS(pthread.h)
|
AC_CHECK_HEADERS(pthread.h)
|
||||||
if test "$ac_cv_header_pthread_h"; then
|
if test "$ac_cv_header_pthread_h"; then
|
||||||
AC_CHECK_LIB(pthread, pthread_self, HAVE_PTHREAD=yes)
|
dnl gmalloc.c uses pthread_atfork, which is not available on older-style
|
||||||
|
dnl hosts such as MirBSD 10, so test for pthread_atfork instead of merely
|
||||||
|
dnl testing for pthread_self if Emacs uses gmalloc.c.
|
||||||
|
if test "$GMALLOC_OBJ" = gmalloc.o; then
|
||||||
|
emacs_pthread_function=pthread_atfork
|
||||||
|
else
|
||||||
|
emacs_pthread_function=pthread_self
|
||||||
|
fi
|
||||||
|
AC_CHECK_LIB(pthread, $emacs_pthread_function, HAVE_PTHREAD=yes)
|
||||||
fi
|
fi
|
||||||
if test "$HAVE_PTHREAD" = yes; then
|
if test "$HAVE_PTHREAD" = yes; then
|
||||||
case "${canonical}" in
|
case "${canonical}" in
|
||||||
|
|
@ -3508,7 +3516,7 @@ fi
|
||||||
|
|
||||||
AH_TOP([/* GNU Emacs site configuration template file.
|
AH_TOP([/* GNU Emacs site configuration template file.
|
||||||
|
|
||||||
Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2011
|
Copyright (C) 1988, 1993-1994, 1999-2002, 2004-2012
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,261 @@
|
||||||
|
2012-01-09 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* custom.texi (Custom Themes): Switched custom-safe-themes to use
|
||||||
|
SHA-256.
|
||||||
|
|
||||||
|
2012-01-07 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* display.texi (Useless Whitespace): Add Whitespace mode.
|
||||||
|
|
||||||
|
* custom.texi (Hooks): Discuss how to disable minor modes.
|
||||||
|
|
||||||
|
* files.texi (Diff Mode): Discuss diff-auto-refine-mode
|
||||||
|
(Bug#10309). Discuss use of Whitespace mode (Bug#10300).
|
||||||
|
|
||||||
|
* trouble.texi (Lossage): Refer to Bugs node for problems.
|
||||||
|
(DEL Does Not Delete): Don't use "usual erasure key" teminology.
|
||||||
|
(Screen Garbled): Don't refer to terminal "manufacturers".
|
||||||
|
(Total Frustration): Node deleted. Eliza is documented in
|
||||||
|
Amusements now.
|
||||||
|
(Known Problems): More info about using the bug tracker. Mention
|
||||||
|
debbugs package.
|
||||||
|
(Bug Criteria): Copyedits.
|
||||||
|
(Understanding Bug Reporting): Mention emacs -Q.
|
||||||
|
|
||||||
|
2012-01-06 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* custom.texi (Specifying File Variables): The mode: keyword
|
||||||
|
doesn't have to be first anymore. Add example of specifying minor
|
||||||
|
modes.
|
||||||
|
(Directory Variables): Simplify example. Mention application to
|
||||||
|
non-file buffers.
|
||||||
|
(Disabling): Use "initialization file" terminology.
|
||||||
|
(Init Examples): Fix hook example.
|
||||||
|
|
||||||
|
2012-01-06 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* cmdargs.texi (MS-Windows Registry): Shorten the index entry.
|
||||||
|
(Bug#10422)
|
||||||
|
Move the stuff about resources to xresources.texi.
|
||||||
|
|
||||||
|
* xresources.texi (Resources): Move information about setting X
|
||||||
|
resources in the Registry from cmdargs.texi. Make the index entry
|
||||||
|
be similar to the one in cmdargs.texi.
|
||||||
|
|
||||||
|
2012-01-05 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* custom.texi (Customization Groups): Update example.
|
||||||
|
(Browsing Custom): Document the new search field.
|
||||||
|
(Changing a Variable): Update example for Emacs 24 changes.
|
||||||
|
Document Custom-set and Custom-save commands.
|
||||||
|
(Face Customization): Document Emacs 24 changes. De-document
|
||||||
|
modify-face.
|
||||||
|
(Specific Customization): Mention customize-variable.
|
||||||
|
(Custom Themes): Add customize-themes, custom-theme-load-path,
|
||||||
|
custom-theme-directory, and describe-theme.
|
||||||
|
(Creating Custom Themes): New node.
|
||||||
|
(Examining): Mention M-:.
|
||||||
|
|
||||||
|
* package.texi (Packages): Fix typo.
|
||||||
|
|
||||||
|
2012-01-03 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* misc.texi (Single Shell): Don't document Lisp usage of
|
||||||
|
shell-command. Tidy up discussion of synchronicity. Add index
|
||||||
|
entries for async-shell-command.
|
||||||
|
(Interactive Shell): Note that M-x shell uses shell-file-name.
|
||||||
|
Note change in behavior in Emacs 24.
|
||||||
|
(Shell Mode): Shell mode now uses completion-at-point.
|
||||||
|
(Shell Prompts): Emphasize that comint-use-prompt-regexp isn't the
|
||||||
|
default method for recognizing prompts nowadays.
|
||||||
|
(Shell Ring): Add xref to Minibuffer History.
|
||||||
|
(Directory Tracking): Explain Dirtrack mode in more detail.
|
||||||
|
(Term Mode): Fix index entries.
|
||||||
|
(Paging in Term): Merge into Term Mode.
|
||||||
|
(Serial Terminal, Emacs Server, emacsclient Options): Copyedits.
|
||||||
|
(Printing): Fix xref. State default of lpr-switches.
|
||||||
|
(PostScript): Remove obsolete sentence. Omit description of
|
||||||
|
non-interactive behaviors.
|
||||||
|
(Hyperlinking): Improve description.
|
||||||
|
(Browse-URL): Using compose-mail for mailto URLs is the default.
|
||||||
|
Document browse-url-mailto-function.
|
||||||
|
(Goto Address mode): Add index entries. Add xref to Browse-URL.
|
||||||
|
(FFAP): FFAP is not a minor mode.
|
||||||
|
(Amusements): M-x lm was renamed to M-x landmark. Document
|
||||||
|
nato-region.
|
||||||
|
|
||||||
|
2012-01-01 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* misc.texi (Gnus, Buffers of Gnus): Copyedits.
|
||||||
|
(Gnus Startup): Note that the system might not be set up for news.
|
||||||
|
Describe group levels more clearly.
|
||||||
|
(Gnus Group Buffer, Gnus Summary Buffer): New nodes, split from
|
||||||
|
Summary of Gnus.
|
||||||
|
(Document View): Copyedits. Move zoom commads to DocView
|
||||||
|
Navigation node.
|
||||||
|
(DocView Navigation, DocView Searching, DocView Slicing)
|
||||||
|
(DocView Conversion): Nodes renamed from Navigation, etc.
|
||||||
|
|
||||||
|
* sending.texi (Mail Sending): Add message-kill-buffer-on-exit.
|
||||||
|
|
||||||
|
2011-12-31 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* basic.texi (Moving Point): Fix the description of C-n and C-p.
|
||||||
|
(Bug#10380)
|
||||||
|
|
||||||
|
2011-12-30 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* sending.texi (Sending Mail): Document initial mail buffer name,
|
||||||
|
and changed multiple mail buffer behavior.
|
||||||
|
(Mail Format): Put the example at the top of the section.
|
||||||
|
(Mail Headers): Move discussion of "From" to the top.
|
||||||
|
(Mail Sending): Document sendmail-query-once.
|
||||||
|
(Citing Mail): Make it less Rmail-specific.
|
||||||
|
|
||||||
|
2011-12-29 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* text.texi (Org Mode): Copyedits. Refer to Outline Format for
|
||||||
|
example. Add index entries.
|
||||||
|
(Org Organizer, Org Authoring): Nodes renamed. Copyedits.
|
||||||
|
|
||||||
|
2011-12-26 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* dired.texi (Dired Enter, Misc Dired Features): Document
|
||||||
|
dired-use-ls-dired changes. Mention quit-window.
|
||||||
|
(Dired Navigation): Add index entries.
|
||||||
|
(Dired Visiting): Fix View Mode xref.
|
||||||
|
(Marks vs Flags): Prefer C-/ binding for undo.
|
||||||
|
(Subdirectories in Dired): Add xrefs.
|
||||||
|
(Misc Dired Features): Document some Emacs 24 changes. Add index
|
||||||
|
entries.
|
||||||
|
|
||||||
|
* abbrevs.texi (Abbrev Concepts): No need to mention abbrev-mode
|
||||||
|
variable, since it is explained in Minor Modes node.
|
||||||
|
(Defining Abbrevs): Copyedits.
|
||||||
|
(Expanding Abbrevs): State default of abbrev-all-caps. Prefer the
|
||||||
|
C-/ binding for undo.
|
||||||
|
(Dabbrev Customization): Add xrefs for case-fold-search and
|
||||||
|
case-replace.
|
||||||
|
|
||||||
|
* dired-xtra.texi (Subdir Switches): Add xref.
|
||||||
|
|
||||||
|
* maintaining.texi (VC Directory Commands): Mention quit-window.
|
||||||
|
|
||||||
|
2011-12-25 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* maintaining.texi (Tags): Mention Semantic.
|
||||||
|
(Create Tags Table, Etags Regexps): Copyedits.
|
||||||
|
(Find Tag): Mention minibuffer completion.
|
||||||
|
(List Tags): Mention completion-at-point. Completion is actually
|
||||||
|
available in M-x list-tags.
|
||||||
|
|
||||||
|
* vc1-xtra.texi (VC Delete/Rename): Rename from Renaming and VC.
|
||||||
|
Document vc-delete-file.
|
||||||
|
|
||||||
|
* files.texi (Misc File Ops): Mention vc-delete-file.
|
||||||
|
|
||||||
|
* programs.texi (Symbol Completion): Mention completion-at-point
|
||||||
|
explicitly.
|
||||||
|
|
||||||
|
2011-12-22 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* maintaining.texi (Change Log Commands): Don't specially mention
|
||||||
|
vc-update-change-log which is CVS-only.
|
||||||
|
|
||||||
|
* vc1-xtra.texi (Version Headers): Note that these are for
|
||||||
|
Subversion, CVS, etc. only.
|
||||||
|
(General VC Options): De-document vc-keep-workfiles. Fix
|
||||||
|
RCS-isms.
|
||||||
|
|
||||||
|
2011-12-22 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* building.texi (Debugger Operation): Fix a typo: "@end iftext"
|
||||||
|
should be @end iftex".
|
||||||
|
|
||||||
|
2011-12-21 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* maintaining.texi (Advanced C-x v v): Use fileset terminology.
|
||||||
|
(VC With A Merging VCS, VC Change Log): Add xref to VC Pull node.
|
||||||
|
(VC Pull): Mention vc-log-incoming.
|
||||||
|
(Log Buffer): Add CVS/RCS only disclaimer.
|
||||||
|
|
||||||
|
* vc1-xtra.texi (Remote Repositories): Update introduction.
|
||||||
|
(Local Version Control): Node deleted (obsolete with DVCSes).
|
||||||
|
(Remote Repositories, Version Backups): Node deleted. Move
|
||||||
|
documentation of vc-cvs-stay-local to CVS Options.
|
||||||
|
(CVS Options): Reduce verbosity of description of obscure CVS
|
||||||
|
locking feature.
|
||||||
|
(Making Revision Tags, Revision Tag Caveats): Merge into Revision
|
||||||
|
Tags node.
|
||||||
|
(Revision Tags): Move under Miscellaneous VC subsection.
|
||||||
|
(Change Logs and VC): Note that this is wrong for DVCSs.
|
||||||
|
De-document log entry manipulating features.
|
||||||
|
(Renaming and VC): Describe how it works on modern VCSes.
|
||||||
|
|
||||||
|
* files.texi (Misc File Ops): Mention vc-rename-file.
|
||||||
|
|
||||||
|
* programs.texi (Custom C Indent): Add index entries.
|
||||||
|
|
||||||
|
2011-12-20 Alan Mackenzie <acm@muc.de>
|
||||||
|
|
||||||
|
* programs.texi (Motion in C): Update the description of C-M-a and
|
||||||
|
C-M-e, they now DTRT in enclosing scopes.
|
||||||
|
(Custom C Indent): Add @dfn{guessing} of the indentation style.
|
||||||
|
|
||||||
|
2011-12-20 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* maintaining.texi (VCS Concepts): Add "working tree" terminology.
|
||||||
|
(Old Revisions): Use it.
|
||||||
|
(VCS Repositories): Add "distributed" terminology.
|
||||||
|
(Log Buffer): Remove duplicate description
|
||||||
|
about changesets. Fix "current VC fileset" ambiguity.
|
||||||
|
(Multi-User Branching): Node deleted.
|
||||||
|
(Branches, Switching Branches): Discuss decentralized version
|
||||||
|
control systems.
|
||||||
|
(VC Pull): New node.
|
||||||
|
(Merging): Document merging on decentralized systems.
|
||||||
|
(Creating Branches): Note that this is specific to CVS and related
|
||||||
|
systems.
|
||||||
|
|
||||||
|
2011-12-19 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* maintaining.texi (VCS Merging, VCS Changesets): Index entries.
|
||||||
|
(VC Mode Line): Add index entry for "version control status".
|
||||||
|
(VC Undo): Use vc-revert instead of its vc-revert-buffer alias.
|
||||||
|
Document vc-revert-show-diff. De-document vc-rollback.
|
||||||
|
(VC Directory Mode): Rewrite introduction. Move prefix arg
|
||||||
|
documentation here from VC Directory Buffer node.
|
||||||
|
(VC Directory Buffer): Use a decentralized VCS example.
|
||||||
|
(VC Directory Commands): Use a table. Remove material duplicated
|
||||||
|
in previous nodes on multi-file VC filsets.
|
||||||
|
|
||||||
|
2011-12-17 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* maintaining.texi (VCS Concepts): Make "revision" terminology
|
||||||
|
less CVS-specific.
|
||||||
|
(VC With A Merging VCS, VC With A Locking VCS): Add xref to
|
||||||
|
Registering node.
|
||||||
|
(Secondary VC Commands): Deleted. Promote subnodes.
|
||||||
|
(Log Buffer): Add command name for C-c C-c. Fix the name of the
|
||||||
|
log buffer. Add index entries.
|
||||||
|
(VCS Changesets, Types of Log File, VC With A Merging VCS): Use
|
||||||
|
"commit" terminology.
|
||||||
|
(Old Revisions): Move it to just before VC Change Log. "Tag" here
|
||||||
|
doesn't refer to tags tables. Note other possible forms of the
|
||||||
|
revision ID. C-x v = does not save.
|
||||||
|
(Registering): Note similarity to C-x v v action. Fix description
|
||||||
|
of how backends are chosen. De-document vc-default-init-revision.
|
||||||
|
(VC Change Log): Document C-x v l in VC-Dir buffer. Document RET
|
||||||
|
in root log buffers.
|
||||||
|
|
||||||
|
2011-12-16 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
|
* maintaining.texi (Version Control Systems): Drop Meta-CVS.
|
||||||
|
(Basic VC Editing): Remove redundant descriptions.
|
||||||
|
(VC With A Merging VCS): Make description more general instead of
|
||||||
|
CVS-specific.
|
||||||
|
(VC With A Locking VCS): Use VC fileset terminology.
|
||||||
|
|
||||||
2011-12-12 Chong Yidong <cyd@gnu.org>
|
2011-12-12 Chong Yidong <cyd@gnu.org>
|
||||||
|
|
||||||
* building.texi (Executing Lisp): Fix xref for C-M-x.
|
* building.texi (Executing Lisp): Fix xref for C-M-x.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#### Makefile for the Emacs Manual
|
#### Makefile for the Emacs Manual
|
||||||
|
|
||||||
# Copyright (C) 1994, 1996-2011 Free Software Foundation, Inc.
|
# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is part of GNU Emacs.
|
# This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Abbrevs
|
@node Abbrevs
|
||||||
|
|
@ -45,17 +45,14 @@ expanding to @samp{find outer otter}, then you can insert @samp{find
|
||||||
outer otter.} into the buffer by typing @kbd{f o o .}.
|
outer otter.} into the buffer by typing @kbd{f o o .}.
|
||||||
|
|
||||||
@findex abbrev-mode
|
@findex abbrev-mode
|
||||||
@vindex abbrev-mode
|
|
||||||
@cindex Abbrev mode
|
@cindex Abbrev mode
|
||||||
@cindex mode, Abbrev
|
@cindex mode, Abbrev
|
||||||
Abbrevs expand only when Abbrev mode (a minor mode) is enabled.
|
Abbrevs expand only when Abbrev mode, a buffer-local minor mode, is
|
||||||
Disabling Abbrev mode does not cause abbrev definitions to be forgotten,
|
enabled. Disabling Abbrev mode does not cause abbrev definitions to
|
||||||
but they do not expand until Abbrev mode is enabled again. The command
|
be forgotten, but they do not expand until Abbrev mode is enabled
|
||||||
@kbd{M-x abbrev-mode} toggles Abbrev mode; with a numeric argument, it
|
again. The command @kbd{M-x abbrev-mode} toggles Abbrev mode; with a
|
||||||
turns Abbrev mode on if the argument is positive, off otherwise.
|
numeric argument, it turns Abbrev mode on if the argument is positive,
|
||||||
@xref{Minor Modes}. @code{abbrev-mode} is also a variable; Abbrev mode is
|
off otherwise. @xref{Minor Modes}.
|
||||||
on when the variable is non-@code{nil}. The variable @code{abbrev-mode}
|
|
||||||
automatically becomes local to the current buffer when it is set.
|
|
||||||
|
|
||||||
Abbrevs can have @dfn{mode-specific} definitions, active only in one major
|
Abbrevs can have @dfn{mode-specific} definitions, active only in one major
|
||||||
mode. Abbrevs can also have @dfn{global} definitions that are active in
|
mode. Abbrevs can also have @dfn{global} definitions that are active in
|
||||||
|
|
@ -108,22 +105,18 @@ region as the expansion of the abbrev being defined.
|
||||||
@kindex C-x a l
|
@kindex C-x a l
|
||||||
@findex add-mode-abbrev
|
@findex add-mode-abbrev
|
||||||
The command @kbd{C-x a l} (@code{add-mode-abbrev}) is similar, but
|
The command @kbd{C-x a l} (@code{add-mode-abbrev}) is similar, but
|
||||||
defines a mode-specific abbrev. Mode-specific abbrevs are active only in a
|
defines a mode-specific abbrev for the current major mode. The
|
||||||
particular major mode. @kbd{C-x a l} defines an abbrev for the major mode
|
arguments work the same as for @kbd{C-x a g}.
|
||||||
in effect at the time @kbd{C-x a l} is typed. The arguments work the same
|
|
||||||
as for @kbd{C-x a g}.
|
|
||||||
|
|
||||||
@kindex C-x a i g
|
@kindex C-x a i g
|
||||||
@findex inverse-add-global-abbrev
|
@findex inverse-add-global-abbrev
|
||||||
@kindex C-x a i l
|
@kindex C-x a i l
|
||||||
@findex inverse-add-mode-abbrev
|
@findex inverse-add-mode-abbrev
|
||||||
If the abbrev text itself is already in the buffer, you can use the
|
@kbd{C-x a i g} (@code{inverse-add-global-abbrev}) and @kbd{C-x a i
|
||||||
commands @kbd{C-x a i g} (@code{inverse-add-global-abbrev}) and
|
l} (@code{inverse-add-mode-abbrev}) perform the opposite task: if the
|
||||||
@kbd{C-x a i l} (@code{inverse-add-mode-abbrev}) to define it as an
|
abbrev text is already in the buffer, you use these commands to define
|
||||||
abbrev by specify the expansion in the minibuffer. These commands are
|
an abbrev by specifying the expansion in the minibuffer. These
|
||||||
called ``inverse'' because they invert the meaning of the two text
|
commands will expand the abbrev text used for the definition.
|
||||||
strings they use (one from the buffer and one read with the
|
|
||||||
minibuffer).
|
|
||||||
|
|
||||||
@findex define-mode-abbrev
|
@findex define-mode-abbrev
|
||||||
@findex define-global-abbrev
|
@findex define-global-abbrev
|
||||||
|
|
@ -132,8 +125,8 @@ expansion in the buffer using the command @code{define-global-abbrev}.
|
||||||
It reads two arguments---the abbrev, and its expansion. The command
|
It reads two arguments---the abbrev, and its expansion. The command
|
||||||
@code{define-mode-abbrev} does likewise for a mode-specific abbrev.
|
@code{define-mode-abbrev} does likewise for a mode-specific abbrev.
|
||||||
|
|
||||||
To change the definition of an abbrev, just define a new definition.
|
To change the definition of an abbrev, just make a new definition.
|
||||||
When the abbrev has a prior definition, the abbrev definition commands
|
When an abbrev has a prior definition, the abbrev definition commands
|
||||||
ask for confirmation before replacing it.
|
ask for confirmation before replacing it.
|
||||||
|
|
||||||
@findex kill-all-abbrevs
|
@findex kill-all-abbrevs
|
||||||
|
|
@ -155,11 +148,11 @@ The most common way to use an abbrev is to insert it and then insert a
|
||||||
punctuation or whitespace character to expand it.
|
punctuation or whitespace character to expand it.
|
||||||
|
|
||||||
@vindex abbrev-all-caps
|
@vindex abbrev-all-caps
|
||||||
Abbrev expansion preserves case; thus, @samp{foo} expands into @samp{find
|
Abbrev expansion preserves case: @samp{foo} expands to @samp{find
|
||||||
outer otter}; @samp{Foo} into @samp{Find outer otter}, and @samp{FOO} into
|
outer otter}, and @samp{Foo} to @samp{Find outer otter}. @samp{FOO}
|
||||||
@samp{FIND OUTER OTTER} or @samp{Find Outer Otter} according to the
|
expands to @samp{Find Outer Otter} by default, but if you change the
|
||||||
variable @code{abbrev-all-caps} (setting it non-@code{nil} specifies
|
variable @code{abbrev-all-caps} to a non-@code{nil} value, it expands
|
||||||
@samp{FIND OUTER OTTER}).
|
to @samp{FIND OUTER OTTER}.
|
||||||
|
|
||||||
These commands are used to control abbrev expansion:
|
These commands are used to control abbrev expansion:
|
||||||
|
|
||||||
|
|
@ -196,14 +189,14 @@ punctuation with @kbd{C-q}. Thus, @kbd{foo C-q ,} leaves @samp{foo,} in
|
||||||
the buffer, not expanding it.
|
the buffer, not expanding it.
|
||||||
|
|
||||||
@findex unexpand-abbrev
|
@findex unexpand-abbrev
|
||||||
If you expand an abbrev by mistake, you can undo the expansion and
|
If you expand an abbrev by mistake, you can undo the expansion by
|
||||||
bring back the abbrev itself by typing @kbd{C-_} to undo (@pxref{Undo}).
|
typing @kbd{C-/} (@code{undo}). @xref{Undo}. This undoes the
|
||||||
This also undoes the insertion of the non-word character that expanded
|
insertion of the abbrev expansion and brings back the abbrev text. If
|
||||||
the abbrev. If the result you want is the terminating non-word
|
the result you want is the terminating non-word character plus the
|
||||||
character plus the unexpanded abbrev, you must reinsert the terminating
|
unexpanded abbrev, you must reinsert the terminating character,
|
||||||
character, quoting it with @kbd{C-q}. You can also use the command
|
quoting it with @kbd{C-q}. You can also use the command @kbd{M-x
|
||||||
@kbd{M-x unexpand-abbrev} to cancel the last expansion without
|
unexpand-abbrev} to cancel the last expansion without deleting the
|
||||||
deleting the terminating character.
|
terminating character.
|
||||||
|
|
||||||
@findex expand-region-abbrevs
|
@findex expand-region-abbrevs
|
||||||
@kbd{M-x expand-region-abbrevs} searches through the region for defined
|
@kbd{M-x expand-region-abbrevs} searches through the region for defined
|
||||||
|
|
@ -409,12 +402,11 @@ you are expanding.
|
||||||
|
|
||||||
@vindex dabbrev-case-fold-search
|
@vindex dabbrev-case-fold-search
|
||||||
This feature is controlled by the variable
|
This feature is controlled by the variable
|
||||||
@code{dabbrev-case-fold-search}. If it is @code{t}, case is ignored in
|
@code{dabbrev-case-fold-search}. If it is @code{t}, case is ignored
|
||||||
this search; if it is @code{nil}, the word and the expansion must match
|
in this search; if it is @code{nil}, the word and the expansion must
|
||||||
in case. If the value of @code{dabbrev-case-fold-search} is
|
match in case. If the value is @code{case-fold-search} (the default),
|
||||||
@code{case-fold-search}, which is true by default, then the variable
|
then the variable @code{case-fold-search} controls whether to ignore
|
||||||
@code{case-fold-search} controls whether to ignore case while searching
|
case while searching for expansions (@pxref{Search Case}).
|
||||||
for expansions.
|
|
||||||
|
|
||||||
@vindex dabbrev-case-replace
|
@vindex dabbrev-case-replace
|
||||||
Normally, dynamic abbrev expansion preserves the case pattern
|
Normally, dynamic abbrev expansion preserves the case pattern
|
||||||
|
|
@ -425,10 +417,10 @@ expansion to that case pattern.
|
||||||
The variable @code{dabbrev-case-replace} controls whether to
|
The variable @code{dabbrev-case-replace} controls whether to
|
||||||
preserve the case pattern of the dynamic abbrev. If it is @code{t},
|
preserve the case pattern of the dynamic abbrev. If it is @code{t},
|
||||||
the dynamic abbrev's case pattern is preserved in most cases; if it is
|
the dynamic abbrev's case pattern is preserved in most cases; if it is
|
||||||
@code{nil}, the expansion is always copied verbatim. If the value of
|
@code{nil}, the expansion is always copied verbatim. If the value is
|
||||||
@code{dabbrev-case-replace} is @code{case-replace}, which is true by
|
@code{case-replace} (the default), then the variable
|
||||||
default, then the variable @code{case-replace} controls whether to
|
@code{case-replace} controls whether to copy the expansion verbatim
|
||||||
copy the expansion verbatim.
|
(@pxref{Replacement and Case}).
|
||||||
|
|
||||||
However, if the expansion contains a complex mixed case pattern, and
|
However, if the expansion contains a complex mixed case pattern, and
|
||||||
the dynamic abbrev matches this pattern as far as it goes, then the
|
the dynamic abbrev matches this pattern as far as it goes, then the
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
@c -*- coding: iso-latin-1 -*-
|
@c -*- coding: iso-latin-1 -*-
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1994-1997, 1999-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 1994-1997, 1999-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@node Acknowledgments, Screen, Concept Index, Top
|
@node Acknowledgments, Screen, Concept Index, Top
|
||||||
|
|
@ -1183,7 +1183,7 @@ Martin Stjernholm co-authored CC Mode, a major editing mode for C,
|
||||||
C@t{++}, Objective-C, Java, Pike, CORBA IDL, and AWK code.
|
C@t{++}, Objective-C, Java, Pike, CORBA IDL, and AWK code.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Steve Strassman did not write @file{spook.el}, and even if he did, he
|
Steve Strassmann did not write @file{spook.el}, and even if he did, he
|
||||||
really didn't mean for you to use it in an anarchistic way.
|
really didn't mean for you to use it in an anarchistic way.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2005-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2005-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
|
|
||||||
@node Antinews, Mac OS / GNUstep, X Resources, Top
|
@node Antinews, Mac OS / GNUstep, X Resources, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@c This file is included either in emacs-xtra.texi (when producing the
|
@c This file is included either in emacs-xtra.texi (when producing the
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Basic, Minibuffer, Exiting, Top
|
@node Basic, Minibuffer, Exiting, Top
|
||||||
|
|
@ -130,11 +130,13 @@ specifies how many copies of the character to insert
|
||||||
@cindex moving the cursor
|
@cindex moving the cursor
|
||||||
To do more than insert characters, you have to know how to move
|
To do more than insert characters, you have to know how to move
|
||||||
point (@pxref{Point}). The keyboard commands @kbd{C-f}, @kbd{C-b},
|
point (@pxref{Point}). The keyboard commands @kbd{C-f}, @kbd{C-b},
|
||||||
@kbd{C-n}, and @kbd{C-p} move point to the right, left, up and down
|
@kbd{C-n}, and @kbd{C-p} move point to the right, left, down, and up,
|
||||||
respectively. You can also move point using the @dfn{arrow keys}
|
respectively. You can also move point using the @dfn{arrow keys}
|
||||||
present on most keyboards: @kbd{@key{right}}, @kbd{@key{left}},
|
present on most keyboards: @kbd{@key{right}}, @kbd{@key{left}},
|
||||||
@kbd{@key{down}}, and @kbd{@key{up}}; however, many Emacs users find
|
@kbd{@key{down}}, and @kbd{@key{up}}; however, many Emacs users find
|
||||||
that it is slower to use the arrow keys than the control keys.
|
that it is slower to use the arrow keys than the control keys, because
|
||||||
|
you need to move your hand to the area of the keyboard where those
|
||||||
|
keys are located.
|
||||||
|
|
||||||
You can also click the left mouse button to move point to the
|
You can also click the left mouse button to move point to the
|
||||||
position clicked. Emacs also provides a variety of additional
|
position clicked. Emacs also provides a variety of additional
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Buffers, Windows, Files, Top
|
@node Buffers, Windows, Files, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Building, Maintaining, Programs, Top
|
@node Building, Maintaining, Programs, Top
|
||||||
|
|
@ -24,9 +24,9 @@ assist in the process of compiling and testing programs.
|
||||||
* Executing Lisp:: Various modes for editing Lisp programs,
|
* Executing Lisp:: Various modes for editing Lisp programs,
|
||||||
with different facilities for running
|
with different facilities for running
|
||||||
the Lisp programs.
|
the Lisp programs.
|
||||||
* Lisp Libraries:: How Lisp programs are loaded into Emacs.
|
* Libraries: Lisp Libraries. How Lisp programs are loaded into Emacs.
|
||||||
* Lisp Eval:: Executing a single Lisp expression in Emacs.
|
* Eval: Lisp Eval. Executing a single Lisp expression in Emacs.
|
||||||
* Lisp Interaction:: Executing Lisp in an Emacs buffer.
|
* Interaction: Lisp Interaction. Executing Lisp in an Emacs buffer.
|
||||||
* External Lisp:: Communicating through Emacs with a separate Lisp.
|
* External Lisp:: Communicating through Emacs with a separate Lisp.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
|
@ -550,7 +550,7 @@ This is the basic interface for interacting with a debugger, used by
|
||||||
@kbd{M-x gud-gdb} and other commands listed in
|
@kbd{M-x gud-gdb} and other commands listed in
|
||||||
@iftex
|
@iftex
|
||||||
the preceding section.
|
the preceding section.
|
||||||
@end iftext
|
@end iftex
|
||||||
@ifnottex
|
@ifnottex
|
||||||
@ref{Starting GUD}.
|
@ref{Starting GUD}.
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
|
|
@ -565,7 +565,7 @@ Mode}). Completion is available for most debugger commands
|
||||||
commands to repeat them.
|
commands to repeat them.
|
||||||
@iftex
|
@iftex
|
||||||
See the next section
|
See the next section
|
||||||
@end iftext
|
@end iftex
|
||||||
@ifnottex
|
@ifnottex
|
||||||
@xref{Commands of GUD},
|
@xref{Commands of GUD},
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@c This file is included either in emacs-xtra.texi (when producing the
|
@c This file is included either in emacs-xtra.texi (when producing the
|
||||||
|
|
@ -41,12 +41,12 @@ customize the variables @code{calendar-intermonth-header} and
|
||||||
|
|
||||||
@vindex calendar-holiday-marker
|
@vindex calendar-holiday-marker
|
||||||
@vindex diary-entry-marker
|
@vindex diary-entry-marker
|
||||||
@vindex calenday-today-marker
|
@vindex calendar-today-marker
|
||||||
The variable @code{calendar-holiday-marker} specifies how to mark a
|
The variable @code{calendar-holiday-marker} specifies how to mark a
|
||||||
date as being a holiday. Its value may be a single-character string to
|
date as being a holiday. Its value may be a single-character string to
|
||||||
insert next to the date, or a face name to use for displaying the date.
|
insert next to the date, or a face name to use for displaying the date.
|
||||||
Likewise, the variable @code{diary-entry-marker} specifies how to mark a
|
Likewise, the variable @code{diary-entry-marker} specifies how to mark a
|
||||||
date that has diary entries, and @code{calenday-today-marker} is used by
|
date that has diary entries, and @code{calendar-today-marker} is used by
|
||||||
the function @code{calendar-mark-today} to mark today's date. By
|
the function @code{calendar-mark-today} to mark today's date. By
|
||||||
default, the calendar uses faces named @code{holiday}, @code{diary}, and
|
default, the calendar uses faces named @code{holiday}, @code{diary}, and
|
||||||
@code{calendar-today} for these purposes.
|
@code{calendar-today} for these purposes.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Calendar/Diary
|
@node Calendar/Diary
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Emacs Invocation, X Resources, GNU Free Documentation License, Top
|
@node Emacs Invocation, X Resources, GNU Free Documentation License, Top
|
||||||
|
|
@ -675,9 +675,9 @@ changing any environment or registry settings.
|
||||||
@node MS-Windows Registry
|
@node MS-Windows Registry
|
||||||
@appendixsubsec The MS-Windows System Registry
|
@appendixsubsec The MS-Windows System Registry
|
||||||
@pindex addpm, MS-Windows installation program
|
@pindex addpm, MS-Windows installation program
|
||||||
@cindex registry, setting environment variables and resources on MS-Windows
|
@cindex registry, setting environment variables (MS-Windows)
|
||||||
|
|
||||||
Under MS-Windows, the installation program @command{addpm.exe} adds
|
On MS-Windows, the installation program @command{addpm.exe} adds
|
||||||
values for @env{emacs_dir}, @env{EMACSLOADPATH}, @env{EMACSDATA},
|
values for @env{emacs_dir}, @env{EMACSLOADPATH}, @env{EMACSDATA},
|
||||||
@env{EMACSPATH}, @env{EMACSDOC}, @env{SHELL} and @env{TERM} to the
|
@env{EMACSPATH}, @env{EMACSDOC}, @env{SHELL} and @env{TERM} to the
|
||||||
@file{HKEY_LOCAL_MACHINE} section of the system registry, under
|
@file{HKEY_LOCAL_MACHINE} section of the system registry, under
|
||||||
|
|
@ -704,10 +704,6 @@ still cannot determine the values, compiled-in defaults are used.
|
||||||
In addition to the environment variables above, you can also add many
|
In addition to the environment variables above, you can also add many
|
||||||
of the settings which on X belong in the @file{.Xdefaults} file
|
of the settings which on X belong in the @file{.Xdefaults} file
|
||||||
(@pxref{X Resources}) to the @file{/Software/GNU/Emacs} registry key.
|
(@pxref{X Resources}) to the @file{/Software/GNU/Emacs} registry key.
|
||||||
Settings you add to the @file{HKEY_LOCAL_MACHINE} section will affect
|
|
||||||
all users of the machine. Settings you add to the
|
|
||||||
@file{HKEY_CURRENT_USER} section will only affect you, and will
|
|
||||||
override machine wide settings.
|
|
||||||
|
|
||||||
@node Display X
|
@node Display X
|
||||||
@appendixsec Specifying the Display Name
|
@appendixsec Specifying the Display Name
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@iftex
|
@iftex
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@c This file is included either in emacs-xtra.texi (when producing the
|
@c This file is included either in emacs-xtra.texi (when producing the
|
||||||
|
|
@ -7,24 +7,24 @@
|
||||||
@node Subdir Switches
|
@node Subdir Switches
|
||||||
@section Subdirectory Switches in Dired
|
@section Subdirectory Switches in Dired
|
||||||
|
|
||||||
You can insert subdirectories with specified @code{ls} switches in
|
You can insert subdirectories with specified @command{ls} switches in
|
||||||
Dired buffers using @kbd{C-u i}. You can change the @code{ls}
|
Dired buffers using @kbd{C-u i}. You can change the @command{ls}
|
||||||
switches of an already inserted subdirectory using @kbd{C-u l}.
|
switches of an already inserted subdirectory using @kbd{C-u l}.
|
||||||
|
|
||||||
Dired preserves the switches if you revert the buffer. Deleting a
|
Dired preserves the switches if you revert the buffer. Deleting a
|
||||||
subdirectory forgets about its switches.
|
subdirectory forgets about its switches.
|
||||||
|
|
||||||
Using @code{dired-undo} (usually bound to @kbd{C-_} and @kbd{C-x u})
|
Using @code{dired-undo} (@pxref{Marks vs Flags}) to reinsert or delete
|
||||||
to reinsert or delete subdirectories that were inserted with explicit
|
subdirectories that were inserted with explicit switches can bypass
|
||||||
switches can bypass Dired's machinery for remembering (or forgetting)
|
Dired's machinery for remembering (or forgetting) switches. Deleting
|
||||||
switches. Deleting a subdirectory using @code{dired-undo} does not
|
a subdirectory using @code{dired-undo} does not forget its switches.
|
||||||
forget its switches. When later reinserted using @kbd{i}, it will be
|
When later reinserted using @kbd{i}, it will be reinserted using its
|
||||||
reinserted using its old switches. Using @code{dired-undo} to
|
old switches. Using @code{dired-undo} to reinsert a subdirectory that
|
||||||
reinsert a subdirectory that was deleted using the regular
|
was deleted using the regular Dired commands (not @code{dired-undo})
|
||||||
Dired commands (not @code{dired-undo}) will originally insert it with
|
will originally insert it with its old switches. Reverting the
|
||||||
its old switches. Reverting the buffer, however, will relist it using
|
buffer, however, will relist it using the buffer's default switches.
|
||||||
the buffer's default switches. If any of this yields problems, you
|
If any of this yields problems, you can easily correct the situation
|
||||||
can easily correct the situation using @kbd{C-u i} or @kbd{C-u l}.
|
using @kbd{C-u i} or @kbd{C-u l}.
|
||||||
|
|
||||||
Dired does not remember the @code{R} switch. Inserting a subdirectory
|
Dired does not remember the @code{R} switch. Inserting a subdirectory
|
||||||
with switches that include the @code{R} switch is equivalent to
|
with switches that include the @code{R} switch is equivalent to
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Dired
|
@node Dired
|
||||||
|
|
@ -73,32 +73,45 @@ completion commands can be used in the minibuffer; in particular,
|
||||||
a directory name.
|
a directory name.
|
||||||
|
|
||||||
The variable @code{dired-listing-switches} specifies the options to
|
The variable @code{dired-listing-switches} specifies the options to
|
||||||
give to @code{ls} for listing the directory; this string @emph{must}
|
give to @command{ls} for listing the directory; this string
|
||||||
contain @samp{-l}. If you use a prefix argument with the @code{dired}
|
@emph{must} contain @samp{-l}. If you use a prefix argument with the
|
||||||
command, you can specify the @code{ls} switches with the minibuffer
|
@code{dired} command, you can specify the @command{ls} switches with the
|
||||||
before you enter the directory specification. No matter how they are
|
minibuffer before you enter the directory specification. No matter
|
||||||
specified, the @code{ls} switches can include short options (that is,
|
how they are specified, the @command{ls} switches can include short
|
||||||
single characters) requiring no arguments, and long options (starting
|
options (that is, single characters) requiring no arguments, and long
|
||||||
with @samp{--}) whose arguments are specified with @samp{=}.
|
options (starting with @samp{--}) whose arguments are specified with
|
||||||
|
@samp{=}.
|
||||||
|
|
||||||
@vindex dired-use-ls-dired
|
@vindex dired-use-ls-dired
|
||||||
Note that Dired automatically adds the option @samp{--dired}, if
|
If your @command{ls} program supports the @samp{--dired} option,
|
||||||
your @code{ls} program supports it, unless you explicitly set
|
Dired automatically passes it that option; this causes @command{ls} to
|
||||||
the variable @code{dired-use-ls-dired} to @code{nil}. Without this
|
emit special escape sequences for certain unusual file names, without
|
||||||
option, Dired will have trouble parsing some @samp{unusual} file-names.
|
which Dired will not be able to parse those names. The first time you
|
||||||
See the documentation of @code{dired-use-ls-dired} for more details.
|
run Dired in an Emacs session, it checks whether @command{ls} supports
|
||||||
|
the @samp{--dired} option by calling it once with that option. If the
|
||||||
|
exit code is 0, Dired will subsequently use the @samp{--dired} option;
|
||||||
|
otherwise it will not. You can inhibit this check by customizing the
|
||||||
|
variable @code{dired-use-ls-dired}. The value @code{unspecified} (the
|
||||||
|
default) means to perform the check; any other non-@code{nil} value
|
||||||
|
means to use the @samp{--dired} option; and @code{nil} means not to
|
||||||
|
use the @samp{--dired} option.
|
||||||
|
|
||||||
On MS-Windows and MS-DOS systems, Emacs @emph{emulates} @code{ls};
|
On MS-Windows and MS-DOS systems, Emacs emulates @command{ls}.
|
||||||
see @ref{ls in Lisp}, for options and peculiarities of that emulation.
|
@xref{ls in Lisp}, for options and peculiarities of this emulation.
|
||||||
|
|
||||||
@findex dired-other-window
|
@findex dired-other-window
|
||||||
@kindex C-x 4 d
|
@kindex C-x 4 d
|
||||||
@findex dired-other-frame
|
@findex dired-other-frame
|
||||||
@kindex C-x 5 d
|
@kindex C-x 5 d
|
||||||
To display the Dired buffer in another window rather than in the
|
To display the Dired buffer in another window, use @kbd{C-x 4 d}
|
||||||
selected window, use @kbd{C-x 4 d} (@code{dired-other-window}) instead
|
(@code{dired-other-window}) instead of @kbd{C-x d}. @kbd{C-x 5 d}
|
||||||
of @kbd{C-x d}. @kbd{C-x 5 d} (@code{dired-other-frame}) uses a
|
(@code{dired-other-frame}) displays the Dired buffer in a separate
|
||||||
separate frame to display the Dired buffer.
|
frame.
|
||||||
|
|
||||||
|
@kindex q @r{(Dired)}
|
||||||
|
@findex quit-window
|
||||||
|
Typing @kbd{q} (@code{quit-window}) buries the Dired buffer, and
|
||||||
|
deletes its window if the window was created just for that buffer.
|
||||||
|
|
||||||
@node Dired Navigation
|
@node Dired Navigation
|
||||||
@section Navigation in the Dired Buffer
|
@section Navigation in the Dired Buffer
|
||||||
|
|
@ -124,7 +137,11 @@ minibuffer, and moves point to the line in the Dired buffer describing
|
||||||
that file.
|
that file.
|
||||||
|
|
||||||
@cindex searching Dired buffers
|
@cindex searching Dired buffers
|
||||||
|
@findex dired-isearch-filenames
|
||||||
@vindex dired-isearch-filenames
|
@vindex dired-isearch-filenames
|
||||||
|
@findex dired-isearch-filenames-regexp
|
||||||
|
@kindex M-s f C-s @r{(Dired)}
|
||||||
|
@kindex M-s f M-C-s @r{(Dired)}
|
||||||
@kbd{M-s f C-s} (@code{dired-isearch-filenames}) performs a forward
|
@kbd{M-s f C-s} (@code{dired-isearch-filenames}) performs a forward
|
||||||
incremental search in the Dired buffer, looking for matches only
|
incremental search in the Dired buffer, looking for matches only
|
||||||
amongst the file names and ignoring the rest of the text in the
|
amongst the file names and ignoring the rest of the text in the
|
||||||
|
|
@ -331,18 +348,16 @@ another window, but do not select that window (@code{dired-display-file}).
|
||||||
@item Mouse-1
|
@item Mouse-1
|
||||||
@itemx Mouse-2
|
@itemx Mouse-2
|
||||||
@findex dired-mouse-find-file-other-window
|
@findex dired-mouse-find-file-other-window
|
||||||
Visit the file named by the line you click on
|
Visit the file whose name you clicked on
|
||||||
(@code{dired-mouse-find-file-other-window}). This uses another window
|
(@code{dired-mouse-find-file-other-window}). This uses another window
|
||||||
to display the file, like the @kbd{o} command.
|
to display the file, like the @kbd{o} command.
|
||||||
|
|
||||||
@item v
|
@item v
|
||||||
@kindex v @r{(Dired)}
|
@kindex v @r{(Dired)}
|
||||||
@findex dired-view-file
|
@findex dired-view-file
|
||||||
View the file described on the current line, using @kbd{M-x view-file}
|
View the file described on the current line, with View mode
|
||||||
(@code{dired-view-file}). Viewing a file with @code{view-file} is
|
(@code{dired-view-file}). View mode provides convenient commands to
|
||||||
like visiting it, but is slanted toward moving around in the file
|
navigate the buffer but forbids changing it; @xref{View Mode}.
|
||||||
conveniently and does not allow changing the file. @xref{Misc File
|
|
||||||
Ops, View File, Miscellaneous File Operations}.
|
|
||||||
|
|
||||||
@item ^
|
@item ^
|
||||||
@kindex ^ @r{(Dired)}
|
@kindex ^ @r{(Dired)}
|
||||||
|
|
@ -520,9 +535,9 @@ the regular expression @var{regexp}
|
||||||
@kbd{% m}, except that it searches the file contents instead of the file
|
@kbd{% m}, except that it searches the file contents instead of the file
|
||||||
name.
|
name.
|
||||||
|
|
||||||
@item C-x u
|
@item C-/
|
||||||
|
@itemx C-x u
|
||||||
@itemx C-_
|
@itemx C-_
|
||||||
@itemx C-/
|
|
||||||
@kindex C-_ @r{(Dired)}
|
@kindex C-_ @r{(Dired)}
|
||||||
@findex dired-undo
|
@findex dired-undo
|
||||||
Undo changes in the Dired buffer, such as adding or removing
|
Undo changes in the Dired buffer, such as adding or removing
|
||||||
|
|
@ -615,7 +630,7 @@ Like the other commands in this section, this command operates on the
|
||||||
Rename the specified files (@code{dired-do-rename}). If you rename a
|
Rename the specified files (@code{dired-do-rename}). If you rename a
|
||||||
single file, the argument @var{new} is the new name of the file. If
|
single file, the argument @var{new} is the new name of the file. If
|
||||||
you rename several files, the argument @var{new} is the directory into
|
you rename several files, the argument @var{new} is the directory into
|
||||||
which to move the files (this is like the shell command @code{mv}).
|
which to move the files (this is like the shell command @command{mv}).
|
||||||
|
|
||||||
Dired automatically changes the visited file name of buffers associated
|
Dired automatically changes the visited file name of buffers associated
|
||||||
with renamed files so that they refer to the new names.
|
with renamed files so that they refer to the new names.
|
||||||
|
|
@ -625,7 +640,7 @@ with renamed files so that they refer to the new names.
|
||||||
@cindex hard links (in Dired)
|
@cindex hard links (in Dired)
|
||||||
@item H @var{new} @key{RET}
|
@item H @var{new} @key{RET}
|
||||||
Make hard links to the specified files (@code{dired-do-hardlink}).
|
Make hard links to the specified files (@code{dired-do-hardlink}).
|
||||||
This is like the shell command @code{ln}. The argument @var{new} is
|
This is like the shell command @command{ln}. The argument @var{new} is
|
||||||
the directory to make the links in, or (if making just one link) the
|
the directory to make the links in, or (if making just one link) the
|
||||||
name to give the link.
|
name to give the link.
|
||||||
|
|
||||||
|
|
@ -642,9 +657,10 @@ link.
|
||||||
@kindex M @r{(Dired)}
|
@kindex M @r{(Dired)}
|
||||||
@cindex changing file permissions (in Dired)
|
@cindex changing file permissions (in Dired)
|
||||||
@item M @var{modespec} @key{RET}
|
@item M @var{modespec} @key{RET}
|
||||||
Change the mode (also called ``permission bits'') of the specified files
|
Change the mode (also called @dfn{permission bits}) of the specified
|
||||||
(@code{dired-do-chmod}). @var{modespec} can be in octal or symbolic
|
files (@code{dired-do-chmod}). @var{modespec} can be in octal or
|
||||||
notation like arguments handled by the @code{chmod} program.
|
symbolic notation, like arguments handled by the @command{chmod}
|
||||||
|
program.
|
||||||
|
|
||||||
@findex dired-do-chgrp
|
@findex dired-do-chgrp
|
||||||
@kindex G @r{(Dired)}
|
@kindex G @r{(Dired)}
|
||||||
|
|
@ -663,8 +679,8 @@ this.)
|
||||||
|
|
||||||
@vindex dired-chown-program
|
@vindex dired-chown-program
|
||||||
The variable @code{dired-chown-program} specifies the name of the
|
The variable @code{dired-chown-program} specifies the name of the
|
||||||
program to use to do the work (different systems put @code{chown} in
|
program to use to do the work (different systems put @command{chown}
|
||||||
different places).
|
in different places).
|
||||||
|
|
||||||
@findex dired-do-touch
|
@findex dired-do-touch
|
||||||
@kindex T @r{(Dired)}
|
@kindex T @r{(Dired)}
|
||||||
|
|
@ -952,17 +968,17 @@ The backup file is the first file given to @code{diff}.
|
||||||
@cindex subdirectories in Dired
|
@cindex subdirectories in Dired
|
||||||
@cindex expanding subdirectories in Dired
|
@cindex expanding subdirectories in Dired
|
||||||
|
|
||||||
A Dired buffer displays just one directory in the normal case;
|
A Dired buffer usually displays just one directory, but you can
|
||||||
but you can optionally include its subdirectories as well.
|
optionally include its subdirectories as well.
|
||||||
|
|
||||||
The simplest way to include multiple directories in one Dired buffer is
|
The simplest way to include multiple directories in one Dired buffer is
|
||||||
to specify the options @samp{-lR} for running @code{ls}. (If you give a
|
to specify the options @samp{-lR} for running @command{ls}. (If you give a
|
||||||
numeric argument when you run Dired, then you can specify these options
|
numeric argument when you run Dired, then you can specify these options
|
||||||
in the minibuffer.) That produces a recursive directory listing showing
|
in the minibuffer.) That produces a recursive directory listing showing
|
||||||
all subdirectories at all levels.
|
all subdirectories at all levels.
|
||||||
|
|
||||||
More often, you will want to show only specific subdirectories. You
|
More often, you will want to show only specific subdirectories. You
|
||||||
can do this with the @kbd{i} command:
|
can do this with @kbd{i} (@code{dired-maybe-insert-subdir}):
|
||||||
|
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@findex dired-maybe-insert-subdir
|
@findex dired-maybe-insert-subdir
|
||||||
|
|
@ -973,25 +989,27 @@ can do this with the @kbd{i} command:
|
||||||
Insert the contents of a subdirectory later in the buffer.
|
Insert the contents of a subdirectory later in the buffer.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
Use the @kbd{i} (@code{dired-maybe-insert-subdir}) command on a line
|
@noindent
|
||||||
that describes a file which is a directory. It inserts the contents of
|
If you use this command on a line that describes a file which is a
|
||||||
that directory into the same Dired buffer, and moves there. Inserted
|
directory, it inserts the contents of that directory into the same
|
||||||
subdirectory contents follow the top-level directory of the Dired
|
Dired buffer, and moves there. Inserted subdirectory contents follow
|
||||||
buffer, just as they do in @samp{ls -lR} output.
|
the top-level directory of the Dired buffer, just as they do in
|
||||||
|
@samp{ls -lR} output.
|
||||||
|
|
||||||
If the subdirectory's contents are already present in the buffer, the
|
If the subdirectory's contents are already present in the buffer,
|
||||||
@kbd{i} command just moves to it.
|
the @kbd{i} command just moves to it.
|
||||||
|
|
||||||
In either case, @kbd{i} sets the Emacs mark before moving, so @kbd{C-u
|
In either case, @kbd{i} sets the Emacs mark before moving, so
|
||||||
C-@key{SPC}} takes you back to the old position in the buffer (the line
|
@kbd{C-u C-@key{SPC}} returns to your previous position in the Dired
|
||||||
describing that subdirectory). You can also use @samp{^} to return
|
buffer (@pxref{Setting Mark}). You can also use @samp{^} to return to
|
||||||
to the parent directory in the same Dired buffer.
|
the parent directory in the same Dired buffer (@pxref{Dired
|
||||||
|
Visiting}).
|
||||||
|
|
||||||
Use the @kbd{l} command (@code{dired-do-redisplay}) to update the
|
Use the @kbd{l} command (@code{dired-do-redisplay}) to update the
|
||||||
subdirectory's contents. Use @kbd{C-u k} on the subdirectory header
|
subdirectory's contents, and use @kbd{C-u k} on the subdirectory
|
||||||
line to remove the subdirectory listing (@pxref{Dired Updating}). You
|
header line to remove the subdirectory listing (@pxref{Dired
|
||||||
can also hide and show inserted subdirectories (@pxref{Hiding
|
Updating}). You can also hide and show inserted subdirectories
|
||||||
Subdirectories}).
|
(@pxref{Hiding Subdirectories}).
|
||||||
|
|
||||||
@ifnottex
|
@ifnottex
|
||||||
@include dired-xtra.texi
|
@include dired-xtra.texi
|
||||||
|
|
@ -1209,10 +1227,10 @@ tell @command{find} what condition to test. To use this command, you
|
||||||
need to know how to use @command{find}.
|
need to know how to use @command{find}.
|
||||||
|
|
||||||
@vindex find-ls-option
|
@vindex find-ls-option
|
||||||
The format of listing produced by these commands is controlled by the
|
The format of listing produced by these commands is controlled by
|
||||||
variable @code{find-ls-option}, whose default value specifies using
|
the variable @code{find-ls-option}, whose default value specifies
|
||||||
options @samp{-ld} for @code{ls}. If your listings are corrupted, you
|
using options @samp{-ld} for @command{ls}. If your listings are
|
||||||
may need to change the value of this variable.
|
corrupted, you may need to change the value of this variable.
|
||||||
|
|
||||||
@findex locate
|
@findex locate
|
||||||
@findex locate-with-filter
|
@findex locate-with-filter
|
||||||
|
|
@ -1338,10 +1356,14 @@ rotation is lossless, and uses an external utility called JpegTRAN.
|
||||||
@kindex + @r{(Dired)}
|
@kindex + @r{(Dired)}
|
||||||
@findex dired-create-directory
|
@findex dired-create-directory
|
||||||
The command @kbd{+} (@code{dired-create-directory}) reads a
|
The command @kbd{+} (@code{dired-create-directory}) reads a
|
||||||
directory name, and creates the directory if it does not already
|
directory name, and creates that directory. It signals an error if
|
||||||
exist.
|
the directory already exists.
|
||||||
|
|
||||||
@cindex searching multiple files via Dired
|
@cindex searching multiple files via Dired
|
||||||
|
@kindex M-s a C-s @r{(Dired)}
|
||||||
|
@kindex M-s a M-C-s @r{(Dired)}
|
||||||
|
@findex dired-do-isearch
|
||||||
|
@findex dired-do-isearch-regexp
|
||||||
The command @kbd{M-s a C-s} (@code{dired-do-isearch}) begins a
|
The command @kbd{M-s a C-s} (@code{dired-do-isearch}) begins a
|
||||||
``multi-file'' incremental search on the marked files. If a search
|
``multi-file'' incremental search on the marked files. If a search
|
||||||
fails at the end of a file, typing @kbd{C-s} advances to the next
|
fails at the end of a file, typing @kbd{C-s} advances to the next
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
|
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
|
|
@ -1062,6 +1062,56 @@ can enable or disable this feature for all new buffers by setting the
|
||||||
default value of this variable, e.g.@: @code{(setq-default
|
default value of this variable, e.g.@: @code{(setq-default
|
||||||
indicate-empty-lines t)}.
|
indicate-empty-lines t)}.
|
||||||
|
|
||||||
|
@cindex Whitespace mode
|
||||||
|
@cindex mode, Whitespace
|
||||||
|
@findex whitespace-mode
|
||||||
|
@vindex whitespace-style
|
||||||
|
Whitespace mode is a buffer-local minor mode that lets you
|
||||||
|
``visualize'' many kinds of whitespace in the buffer, by either
|
||||||
|
drawing the whitespace characters with a special face or displaying
|
||||||
|
them as special glyphs. To toggle this mode, type @kbd{M-x
|
||||||
|
whitespace-mode}. The kinds of whitespace visualized are determined
|
||||||
|
by the list variable @code{whitespace-style}. Here is a partial list
|
||||||
|
of possible elements (see the variable's documentation for the full
|
||||||
|
list):
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item face
|
||||||
|
Enable all visualizations which use special faces. This element has a
|
||||||
|
special meaing: if it is absent from the list, none of the other
|
||||||
|
visualizations take effect except @code{space-mark}, @code{tab-mark},
|
||||||
|
and @code{newline-mark}.
|
||||||
|
|
||||||
|
@item trailing
|
||||||
|
Highlight trailing whitespace.
|
||||||
|
|
||||||
|
@item tabs
|
||||||
|
Highlight tab characters.
|
||||||
|
|
||||||
|
@item spaces
|
||||||
|
Highlight space and non-breaking space characters.
|
||||||
|
|
||||||
|
@item lines
|
||||||
|
@vindex whitespace-line-column
|
||||||
|
Highlight lines longer than 80 lines. To change the column limit,
|
||||||
|
customize the variable @code{whitespace-line-column}.
|
||||||
|
|
||||||
|
@item newline
|
||||||
|
Highlight newlines.
|
||||||
|
|
||||||
|
@item empty
|
||||||
|
Highlight empty lines.
|
||||||
|
|
||||||
|
@item space-mark
|
||||||
|
Draw space and non-breaking characters with a special glyph.
|
||||||
|
|
||||||
|
@item tab-mark
|
||||||
|
Draw tab characters with a special glyph.
|
||||||
|
|
||||||
|
@item newline-mark
|
||||||
|
Draw newline characters with a special glyph.
|
||||||
|
@end table
|
||||||
|
|
||||||
@node Selective Display
|
@node Selective Display
|
||||||
@section Selective Display
|
@section Selective Display
|
||||||
@cindex selective display
|
@cindex selective display
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
@copying
|
@copying
|
||||||
This manual describes specialized features of Emacs.
|
This manual describes specialized features of Emacs.
|
||||||
|
|
||||||
Copyright @copyright{} 2004-2011
|
Copyright @copyright{} 2004-2012
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
|
This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
|
||||||
updated for Emacs version @value{EMACSVER}.
|
updated for Emacs version @value{EMACSVER}.
|
||||||
|
|
||||||
Copyright @copyright{} 1985-1987, 1993-2011 Free Software Foundation, Inc.
|
Copyright @copyright{} 1985-1987, 1993-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
Permission is granted to copy, distribute and/or modify this document
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
|
|
@ -548,6 +548,7 @@ Commands for Human Languages
|
||||||
* Case:: Changing the case of text.
|
* Case:: Changing the case of text.
|
||||||
* Text Mode:: The major modes for editing text files.
|
* Text Mode:: The major modes for editing text files.
|
||||||
* Outline Mode:: Editing outlines.
|
* Outline Mode:: Editing outlines.
|
||||||
|
* Org Mode:: The Emacs organizer.
|
||||||
* TeX Mode:: Editing input to the formatter TeX.
|
* TeX Mode:: Editing input to the formatter TeX.
|
||||||
* HTML Mode:: Editing HTML and SGML files.
|
* HTML Mode:: Editing HTML and SGML files.
|
||||||
* Nroff Mode:: Editing input to the formatter nroff.
|
* Nroff Mode:: Editing input to the formatter nroff.
|
||||||
|
|
@ -741,15 +742,16 @@ Version Control
|
||||||
* VC Mode Line:: How the mode line shows version control status.
|
* VC Mode Line:: How the mode line shows version control status.
|
||||||
* Basic VC Editing:: How to edit a file under version control.
|
* Basic VC Editing:: How to edit a file under version control.
|
||||||
* Log Buffer:: Features available in log entry buffers.
|
* Log Buffer:: Features available in log entry buffers.
|
||||||
|
* Registering:: Putting a file under version control.
|
||||||
* Old Revisions:: Examining and comparing old versions.
|
* Old Revisions:: Examining and comparing old versions.
|
||||||
* Secondary VC Commands:: The commands used a little less frequently.
|
* VC Change Log:: Viewing the VC Change Log.
|
||||||
|
* VC Undo:: Canceling changes before or after committing.
|
||||||
* VC Directory Mode:: Listing files managed by version control.
|
* VC Directory Mode:: Listing files managed by version control.
|
||||||
* Branches:: Multiple lines of development.
|
* Branches:: Multiple lines of development.
|
||||||
* Remote Repositories:: Efficient access to remote CVS servers.
|
|
||||||
* Revision Tags:: Symbolic names for revisions.
|
* Revision Tags:: Symbolic names for revisions.
|
||||||
* Miscellaneous VC:: Various other commands and features of VC.
|
* Miscellaneous VC:: Various other commands and features of VC.
|
||||||
* Customizing VC:: Variables that change VC's behavior.
|
* Customizing VC:: Variables that change VC's behavior.
|
||||||
|
|
||||||
Introduction to Version Control
|
Introduction to Version Control
|
||||||
|
|
||||||
* Why Version Control?:: Understanding the problems it addresses.
|
* Why Version Control?:: Understanding the problems it addresses.
|
||||||
|
|
@ -766,12 +768,6 @@ Basic Editing under Version Control
|
||||||
* VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS.
|
* VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS.
|
||||||
* Advanced C-x v v:: Advanced features available with a prefix argument.
|
* Advanced C-x v v:: Advanced features available with a prefix argument.
|
||||||
|
|
||||||
The Secondary Commands of VC
|
|
||||||
|
|
||||||
* Registering:: Putting a file under version control.
|
|
||||||
* VC Change Log:: Viewing the VC Change Log.
|
|
||||||
* VC Undo:: Canceling changes before or after check-in.
|
|
||||||
|
|
||||||
VC Directory Mode
|
VC Directory Mode
|
||||||
|
|
||||||
* VC Directory Buffer:: What the buffer looks like and means.
|
* VC Directory Buffer:: What the buffer looks like and means.
|
||||||
|
|
@ -780,26 +776,15 @@ VC Directory Mode
|
||||||
Multiple Branches of a File
|
Multiple Branches of a File
|
||||||
|
|
||||||
* Switching Branches:: How to get to another existing branch.
|
* Switching Branches:: How to get to another existing branch.
|
||||||
* Creating Branches:: How to start a new branch.
|
* VC Pull:: Updating a branch from another branch.
|
||||||
* Merging:: Transferring changes between branches.
|
* Merging:: Transferring changes between branches.
|
||||||
* Multi-User Branching:: Multiple users working at multiple branches
|
* Creating Branches:: How to start a new branch.
|
||||||
in parallel.
|
|
||||||
|
|
||||||
Remote Repositories
|
|
||||||
|
|
||||||
* Version Backups:: Keeping local copies of repository versions.
|
|
||||||
* Local Version Control:: Using another version system for local editing.
|
|
||||||
|
|
||||||
Revision Tags
|
|
||||||
|
|
||||||
* Making Revision Tags:: The tag facilities.
|
|
||||||
* Revision Tag Caveats:: Things to be careful of when using tags.
|
|
||||||
|
|
||||||
Miscellaneous Commands and Features of VC
|
Miscellaneous Commands and Features of VC
|
||||||
|
|
||||||
* Change Logs and VC:: Generating a change log file from log entries.
|
* Change Logs and VC:: Generating a change log file from log entries.
|
||||||
* Renaming and VC:: A command to rename both the source and master
|
* VC Delete/Rename:: Deleting and renaming version-controlled files.
|
||||||
file correctly.
|
* Revision Tags:: Symbolic names for revisions.
|
||||||
* Version Headers:: Inserting version control headers into working files.
|
* Version Headers:: Inserting version control headers into working files.
|
||||||
|
|
||||||
Customizing VC
|
Customizing VC
|
||||||
|
|
@ -934,10 +919,10 @@ Customizing the Calendar and Diary
|
||||||
|
|
||||||
Document Viewing
|
Document Viewing
|
||||||
|
|
||||||
* Navigation:: Navigation inside DocView buffers.
|
* DocView Navigation:: Navigating DocView buffers.
|
||||||
* Searching:: Searching inside documents.
|
* DocView Searching:: Searching inside documents.
|
||||||
* Slicing:: Specifying which part of pages should be displayed.
|
* DocView Slicing:: Specifying which part of a page is displayed.
|
||||||
* Conversion:: Influencing and triggering conversion.
|
* DocView Conversion:: Influencing and triggering conversion.
|
||||||
|
|
||||||
Sending Mail
|
Sending Mail
|
||||||
|
|
||||||
|
|
@ -989,7 +974,8 @@ Gnus
|
||||||
|
|
||||||
* Buffers of Gnus:: The group, summary, and article buffers.
|
* Buffers of Gnus:: The group, summary, and article buffers.
|
||||||
* Gnus Startup:: What you should know about starting Gnus.
|
* Gnus Startup:: What you should know about starting Gnus.
|
||||||
* Summary of Gnus:: A short description of the basic Gnus commands.
|
* Gnus Group Buffer:: A short description of Gnus group commands.
|
||||||
|
* Gnus Summary Buffer:: A short description of Gnus summary commands.
|
||||||
|
|
||||||
Running Shell Commands from Emacs
|
Running Shell Commands from Emacs
|
||||||
|
|
||||||
|
|
@ -1002,7 +988,6 @@ Running Shell Commands from Emacs
|
||||||
* Shell Options:: Options for customizing Shell mode.
|
* Shell Options:: Options for customizing Shell mode.
|
||||||
* Terminal emulator:: An Emacs window as a terminal emulator.
|
* Terminal emulator:: An Emacs window as a terminal emulator.
|
||||||
* Term Mode:: Special Emacs commands used in Term mode.
|
* Term Mode:: Special Emacs commands used in Term mode.
|
||||||
* Paging in Term:: Paging in the terminal emulator.
|
|
||||||
* Remote Host:: Connecting to another computer.
|
* Remote Host:: Connecting to another computer.
|
||||||
* Serial Terminal:: Connecting to a serial port.
|
* Serial Terminal:: Connecting to a serial port.
|
||||||
|
|
||||||
|
|
@ -1048,15 +1033,14 @@ Customization
|
||||||
|
|
||||||
Easy Customization Interface
|
Easy Customization Interface
|
||||||
|
|
||||||
* Customization Groups:: How settings are classified in a structure.
|
* Customization Groups:: How settings are classified.
|
||||||
* Browsing Custom:: Browsing and searching for settings.
|
* Browsing Custom:: Browsing and searching for settings.
|
||||||
* Changing a Variable:: How to edit an option's value and set the option.
|
* Changing a Variable:: How to edit an option's value and set the option.
|
||||||
* Saving Customizations:: Specifying the file for saving customizations.
|
* Saving Customizations:: Saving customizations for future Emacs sessions.
|
||||||
* Face Customization:: How to edit the attributes of a face.
|
* Face Customization:: How to edit the attributes of a face.
|
||||||
* Specific Customization:: Making a customization buffer for specific
|
* Specific Customization:: Customizing specific settings or groups.
|
||||||
variables, faces, or groups.
|
* Custom Themes:: Collections of customization settings.
|
||||||
* Custom Themes:: How to define collections of customized options
|
* Creating Custom Themes:: How to create a new custom theme.
|
||||||
that can be loaded and unloaded together.
|
|
||||||
|
|
||||||
Variables
|
Variables
|
||||||
|
|
||||||
|
|
@ -1104,9 +1088,7 @@ Dealing with Emacs Trouble
|
||||||
* Text Garbled:: Garbage in the text.
|
* Text Garbled:: Garbage in the text.
|
||||||
* Memory Full:: How to cope when you run out of memory.
|
* Memory Full:: How to cope when you run out of memory.
|
||||||
* After a Crash:: Recovering editing in an Emacs session that crashed.
|
* After a Crash:: Recovering editing in an Emacs session that crashed.
|
||||||
* Emergency Escape:: Emergency escape---
|
* Emergency Escape:: What to do if Emacs stops responding.
|
||||||
What to do if Emacs stops responding.
|
|
||||||
* Total Frustration:: When you are at your wits' end.
|
|
||||||
|
|
||||||
Reporting Bugs
|
Reporting Bugs
|
||||||
|
|
||||||
|
|
@ -1386,7 +1368,7 @@ Shapiro, Richard Sharman, Olin Shivers, Espen Skoglund, Rick Sladkey,
|
||||||
Lynn Slater, Chris Smith, David Smith, Paul D.@: Smith, William
|
Lynn Slater, Chris Smith, David Smith, Paul D.@: Smith, William
|
||||||
Sommerfeld, Andre Spiegel, Michael Staats, Ulf Stegemann, Reiner Steib,
|
Sommerfeld, Andre Spiegel, Michael Staats, Ulf Stegemann, Reiner Steib,
|
||||||
Sam Steingold, Ake Stenhoff, Peter Stephenson, Ken Stevens, Andy Stewart,
|
Sam Steingold, Ake Stenhoff, Peter Stephenson, Ken Stevens, Andy Stewart,
|
||||||
Jonathan Stigelman, Martin Stjernholm, Kim F.@: Storm, Steve Strassman,
|
Jonathan Stigelman, Martin Stjernholm, Kim F.@: Storm, Steve Strassmann,
|
||||||
Olaf Sylvester, Naoto Takahashi, Steven Tamm, Jean-Philippe Theberge,
|
Olaf Sylvester, Naoto Takahashi, Steven Tamm, Jean-Philippe Theberge,
|
||||||
Jens T.@: Berger Thielemann, Spencer Thomas, Jim Thompson, Luc
|
Jens T.@: Berger Thielemann, Spencer Thomas, Jim Thompson, Luc
|
||||||
Teirlinck, David O'Toole, Tom Tromey, Enami Tsugutomo, Eli Tziperman,
|
Teirlinck, David O'Toole, Tom Tromey, Enami Tsugutomo, Eli Tziperman,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@c This file is included either in emacs-xtra.texi (when producing the
|
@c This file is included either in emacs-xtra.texi (when producing the
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@iftex
|
@iftex
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Files, Buffers, Keyboard Macros, Top
|
@node Files, Buffers, Keyboard Macros, Top
|
||||||
|
|
@ -1352,9 +1352,25 @@ manipulate and apply parts of patches:
|
||||||
@findex diff-hunk-next
|
@findex diff-hunk-next
|
||||||
Move to the next hunk-start (@code{diff-hunk-next}).
|
Move to the next hunk-start (@code{diff-hunk-next}).
|
||||||
|
|
||||||
|
@findex diff-auto-refine-mode
|
||||||
|
@cindex mode, Diff Auto-Refine
|
||||||
|
@cindex Diff Auto-Refine mode
|
||||||
|
This command has a side effect: it @dfn{refines} the hunk you move to,
|
||||||
|
highlighting its changes with better granularity. To disable this
|
||||||
|
feature, type @kbd{M-x diff-auto-refine-mode} to toggle off the minor
|
||||||
|
mode Diff Auto-Refine mode. To disable Diff Auto Refine mode by
|
||||||
|
default, add this to your init file (@pxref{Hooks}):
|
||||||
|
|
||||||
|
@example
|
||||||
|
(add-hook 'diff-mode-hook
|
||||||
|
(lambda () (diff-auto-refine-mode -1)))
|
||||||
|
@end example
|
||||||
|
|
||||||
@item M-p
|
@item M-p
|
||||||
@findex diff-hunk-prev
|
@findex diff-hunk-prev
|
||||||
Move to the previous hunk-start (@code{diff-hunk-prev}).
|
Move to the previous hunk-start (@code{diff-hunk-prev}). Like
|
||||||
|
@kbd{M-n}, this has the side-effect of refining the hunk you move to,
|
||||||
|
unless you disable Diff Auto-Refine mode.
|
||||||
|
|
||||||
@item M-@}
|
@item M-@}
|
||||||
@findex diff-file-next
|
@findex diff-file-next
|
||||||
|
|
@ -1447,13 +1463,13 @@ descriptions of the changes. @kbd{C-x 4 a} itself in Diff mode
|
||||||
operates on behalf of the current hunk's file, but gets the function
|
operates on behalf of the current hunk's file, but gets the function
|
||||||
name from the patch itself. This is useful for making log entries for
|
name from the patch itself. This is useful for making log entries for
|
||||||
functions that are deleted by the patch.
|
functions that are deleted by the patch.
|
||||||
|
|
||||||
@item M-x diff-show-trailing-whitespaces RET
|
|
||||||
@findex diff-show-trailing-whitespaces
|
|
||||||
Highlight trailing whitespace characters, except for those used by the
|
|
||||||
patch syntax (@pxref{Useless Whitespace}).
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
By default, Diff mode highlights trailing whitespace on modified
|
||||||
|
lines, so that they are more obvious. This is done by enabling
|
||||||
|
Whitespace mode in the Diff buffer (@pxref{Useless Whitespace}). Diff
|
||||||
|
mode buffers are set up so that Whitespace mode avoids highlighting
|
||||||
|
trailing whitespace occurring in the diff context.
|
||||||
|
|
||||||
@node Misc File Ops
|
@node Misc File Ops
|
||||||
@section Miscellaneous File Operations
|
@section Miscellaneous File Operations
|
||||||
|
|
@ -1485,6 +1501,12 @@ argument to @kbd{M-x delete-file} or @kbd{M-x delete-directory} makes
|
||||||
them delete outright, instead of using the Trash, regardless of
|
them delete outright, instead of using the Trash, regardless of
|
||||||
@code{delete-by-moving-to-trash}.
|
@code{delete-by-moving-to-trash}.
|
||||||
|
|
||||||
|
@ifnottex
|
||||||
|
If a file is under version control (@pxref{Version Control}), you
|
||||||
|
should delete it using @kbd{M-x vc-delete-file} instead of @kbd{M-x
|
||||||
|
delete-file}. @xref{VC Delete/Rename}.
|
||||||
|
@end ifnottex
|
||||||
|
|
||||||
@findex copy-file
|
@findex copy-file
|
||||||
@cindex copying files
|
@cindex copying files
|
||||||
@kbd{M-x copy-file} reads the file @var{old} and writes a new file
|
@kbd{M-x copy-file} reads the file @var{old} and writes a new file
|
||||||
|
|
@ -1498,6 +1520,7 @@ it creates a copy of the @var{old} directory and puts it in @var{new}.
|
||||||
If @var{new} is not an existing directory, it copies all the contents
|
If @var{new} is not an existing directory, it copies all the contents
|
||||||
of @var{old} into a new directory named @var{new}.
|
of @var{old} into a new directory named @var{new}.
|
||||||
|
|
||||||
|
@cindex renaming files
|
||||||
@findex rename-file
|
@findex rename-file
|
||||||
@kbd{M-x rename-file} reads two file names @var{old} and @var{new}
|
@kbd{M-x rename-file} reads two file names @var{old} and @var{new}
|
||||||
using the minibuffer, then renames file @var{old} as @var{new}. If
|
using the minibuffer, then renames file @var{old} as @var{new}. If
|
||||||
|
|
@ -1512,6 +1535,12 @@ RET /tmp RET} renames @file{~/foo} to @file{/tmp/foo}. The same rule
|
||||||
applies to all the remaining commands in this section. All of them
|
applies to all the remaining commands in this section. All of them
|
||||||
ask for confirmation when the new file name already exists, too.
|
ask for confirmation when the new file name already exists, too.
|
||||||
|
|
||||||
|
@ifnottex
|
||||||
|
If a file is under version control (@pxref{Version Control}), you
|
||||||
|
should rename it using @kbd{M-x vc-rename-file} instead of @kbd{M-x
|
||||||
|
rename-file}. @xref{VC Delete/Rename}.
|
||||||
|
@end ifnottex
|
||||||
|
|
||||||
@findex add-name-to-file
|
@findex add-name-to-file
|
||||||
@cindex hard links (creation)
|
@cindex hard links (creation)
|
||||||
@kbd{M-x add-name-to-file} adds an additional name to an existing
|
@kbd{M-x add-name-to-file} adds an additional name to an existing
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Fixit, Keyboard Macros, Search, Top
|
@node Fixit, Keyboard Macros, Search, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@c This file is included either in emacs-xtra.texi (when producing the
|
@c This file is included either in emacs-xtra.texi (when producing the
|
||||||
|
|
@ -22,7 +22,7 @@ extensions @samp{.f90}, @samp{.f95}, @samp{.f03} and @samp{.f08}.
|
||||||
Customize @code{auto-mode-alist} to add more extensions. GNU Fortran
|
Customize @code{auto-mode-alist} to add more extensions. GNU Fortran
|
||||||
supports both free and fixed form. This manual mainly documents Fortran
|
supports both free and fixed form. This manual mainly documents Fortran
|
||||||
mode, but the corresponding F90 mode features are mentioned when
|
mode, but the corresponding F90 mode features are mentioned when
|
||||||
revelant.
|
relevant.
|
||||||
|
|
||||||
Fortran mode provides special motion commands for Fortran statements
|
Fortran mode provides special motion commands for Fortran statements
|
||||||
and subprograms, and indentation commands that understand Fortran
|
and subprograms, and indentation commands that understand Fortran
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Frames, International, Windows, Top
|
@node Frames, International, Windows, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Glossary, Key Index, Intro, Top
|
@node Glossary, Key Index, Intro, Top
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
@c Copyright (C) 1985-1987, 1993, 1995, 2001-2011
|
@c Copyright (C) 1985-1987, 1993, 1995, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c
|
@c
|
||||||
@c Permission is granted to anyone to make or distribute verbatim copies
|
@c Permission is granted to anyone to make or distribute verbatim copies
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Help, Mark, M-x, Top
|
@node Help, Mark, M-x, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Indentation, Text, Modes, Top
|
@node Indentation, Text, Modes, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Keyboard Macros, Files, Fixit, Top
|
@node Keyboard Macros, Files, Fixit, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node M-x, Help, Minibuffer, Top
|
@node M-x, Help, Minibuffer, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2000-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2000-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Mac OS / GNUstep, Microsoft Windows, Antinews, Top
|
@node Mac OS / GNUstep, Microsoft Windows, Antinews, Top
|
||||||
@appendix Emacs and Mac OS / GNUstep
|
@appendix Emacs and Mac OS / GNUstep
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,6 @@
|
||||||
#### -*- Makefile -*- for the Emacs Manual
|
#### -*- Makefile -*- for the Emacs Manual
|
||||||
|
|
||||||
# Copyright (C) 2003-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2003-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is part of GNU Emacs.
|
# This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Mark, Killing, Help, Top
|
@node Mark, Killing, Help, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Minibuffer, M-x, Basic, Top
|
@node Minibuffer, M-x, Basic, Top
|
||||||
|
|
|
||||||
1250
doc/emacs/misc.texi
1250
doc/emacs/misc.texi
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Modes, Indentation, International, Top
|
@node Modes, Indentation, International, Top
|
||||||
|
|
@ -96,7 +96,7 @@ the rules of the language (@pxref{Indentation}). The keys that are
|
||||||
commonly changed are @key{TAB}, @key{DEL}, and @kbd{C-j}. Many modes
|
commonly changed are @key{TAB}, @key{DEL}, and @kbd{C-j}. Many modes
|
||||||
also define special commands of their own, usually bound in the prefix
|
also define special commands of their own, usually bound in the prefix
|
||||||
key @kbd{C-c}. Major modes can also alter user options and variables;
|
key @kbd{C-c}. Major modes can also alter user options and variables;
|
||||||
for instance, programming language modes typicaly set a buffer-local
|
for instance, programming language modes typically set a buffer-local
|
||||||
value for the variable @code{comment-start}, which determines how
|
value for the variable @code{comment-start}, which determines how
|
||||||
source code comments are delimited (@pxref{Comments}).
|
source code comments are delimited (@pxref{Comments}).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@c This file is included either in emacs-xtra.texi (when producing the
|
@c This file is included either in emacs-xtra.texi (when producing the
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top
|
@node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1997, 1999-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 1997, 1999-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node International, Modes, Frames, Top
|
@node International, Modes, Frames, Top
|
||||||
@chapter International Character Set Support
|
@chapter International Character Set Support
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Packages
|
@node Packages
|
||||||
|
|
@ -20,7 +20,7 @@ via this buffer. @xref{Package Menu}.
|
||||||
|
|
||||||
@findex describe-package
|
@findex describe-package
|
||||||
The command @kbd{C-h P} (@code{describe-package}) prompts for the
|
The command @kbd{C-h P} (@code{describe-package}) prompts for the
|
||||||
name of a package, and displays a help buffer describing that
|
name of a package, and displays a help buffer describing the
|
||||||
attributes of the package and the features that it implements.
|
attributes of the package and the features that it implements.
|
||||||
|
|
||||||
By default, Emacs downloads packages from a @dfn{package archive}
|
By default, Emacs downloads packages from a @dfn{package archive}
|
||||||
|
|
@ -119,9 +119,9 @@ dependencies; also, delete all packages marked with @kbd{d}
|
||||||
(@code{package-menu-execute}). This also removes the marks.
|
(@code{package-menu-execute}). This also removes the marks.
|
||||||
|
|
||||||
@item r
|
@item r
|
||||||
Refresh the package list (@code{package-menu-refresh}). This also
|
Refresh the package list (@code{package-menu-refresh}). This fetches
|
||||||
retrieves the list of available packages from the package archive
|
the list of available packages from the package archive again, and
|
||||||
again.
|
recomputes the package list.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@c This file is included either in emacs-xtra.texi (when producing the
|
@c This file is included either in emacs-xtra.texi (when producing the
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Programs, Building, Text, Top
|
@node Programs, Building, Text, Top
|
||||||
|
|
@ -38,8 +38,8 @@ Highlight program syntax (@pxref{Font Lock}).
|
||||||
* Glasses:: Making identifiersLikeThis more readable.
|
* Glasses:: Making identifiersLikeThis more readable.
|
||||||
* Semantic:: Suite of editing tools based on source code parsing.
|
* Semantic:: Suite of editing tools based on source code parsing.
|
||||||
* Misc for Programs:: Other Emacs features useful for editing programs.
|
* Misc for Programs:: Other Emacs features useful for editing programs.
|
||||||
* C Modes:: Special commands of C, C++, Objective-C,
|
* C Modes:: Special commands of C, C++, Objective-C, Java,
|
||||||
Java, and Pike modes.
|
IDL, Pike and AWK modes.
|
||||||
* Asm Mode:: Asm mode and its special features.
|
* Asm Mode:: Asm mode and its special features.
|
||||||
@ifnottex
|
@ifnottex
|
||||||
* Fortran:: Fortran mode and its special features.
|
* Fortran:: Fortran mode and its special features.
|
||||||
|
|
@ -606,6 +606,14 @@ information on customizing indentation for C and related modes,
|
||||||
including how to override parts of an existing style and how to define
|
including how to override parts of an existing style and how to define
|
||||||
your own styles.
|
your own styles.
|
||||||
|
|
||||||
|
@findex c-guess
|
||||||
|
@findex c-guess-install
|
||||||
|
As an alternative to specifying a style, you can tell Emacs to guess
|
||||||
|
a style by typing @kbd{M-x c-guess} in a sample code buffer. You can
|
||||||
|
then apply the guessed style to other buffers with @kbd{M-x
|
||||||
|
c-guess-install}. @xref{Guessing the Style,,, ccmode, the CC Mode
|
||||||
|
Manual}, for details.
|
||||||
|
|
||||||
@node Parentheses
|
@node Parentheses
|
||||||
@section Commands for Editing with Parentheses
|
@section Commands for Editing with Parentheses
|
||||||
|
|
||||||
|
|
@ -1283,18 +1291,18 @@ for switching graphical windows, so you should type @kbd{C-M-i} or
|
||||||
@kbd{@key{ESC} @key{TAB}} instead.
|
@kbd{@key{ESC} @key{TAB}} instead.
|
||||||
|
|
||||||
@cindex tags-based completion
|
@cindex tags-based completion
|
||||||
In-buffer symbol completion generates its completion list in a
|
@findex completion-at-point
|
||||||
number of different ways. If Semantic mode is enabled, Emacs tries to
|
|
||||||
use the Semantic parser data for completion (@pxref{Semantic}). If
|
|
||||||
Semantic mode is not enabled or it fails at performing completion,
|
|
||||||
Emacs normally tries to complete using a tags table (@pxref{Tags}).
|
|
||||||
|
|
||||||
@cindex Lisp symbol completion
|
@cindex Lisp symbol completion
|
||||||
@cindex completion (Lisp symbols)
|
@cindex completion (Lisp symbols)
|
||||||
In Emacs Lisp mode, completion is performed using the function,
|
In most programming language modes, @kbd{C-M-i} (or
|
||||||
variable, and property names defined in the current Emacs session. If
|
@kbd{M-@key{TAB}}) invokes the command @code{completion-at-point},
|
||||||
there is an open parenthesis immediately before the beginning of the
|
which generates its completion list in a flexible way. If Semantic
|
||||||
partial symbol, only symbols with function definitions are considered.
|
mode is enabled, it tries to use the Semantic parser data for
|
||||||
|
completion (@pxref{Semantic}). If Semantic mode is not enabled or
|
||||||
|
fails at performing completion, it tries to complete using the
|
||||||
|
selected tags table (@pxref{Tags}). If in Emacs Lisp mode, it
|
||||||
|
performs completion using the function, variable, or property names
|
||||||
|
defined in the current Emacs session.
|
||||||
|
|
||||||
In all other respects, in-buffer symbol completion behaves like
|
In all other respects, in-buffer symbol completion behaves like
|
||||||
minibuffer completion. For instance, if Emacs cannot complete to a
|
minibuffer completion. For instance, if Emacs cannot complete to a
|
||||||
|
|
@ -1462,17 +1470,17 @@ with Emacs.
|
||||||
related modes.
|
related modes.
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item M-x c-beginning-of-defun
|
@item C-M-a
|
||||||
@itemx M-x c-end-of-defun
|
@itemx C-M-e
|
||||||
@findex c-beginning-of-defun
|
@findex c-beginning-of-defun
|
||||||
@findex c-end-of-defun
|
@findex c-end-of-defun
|
||||||
Move point to the beginning or end of the current function or
|
Move point to the beginning or end of the current function or
|
||||||
top-level definition. These are found by searching for the least
|
top-level definition. In languages with enclosing scopes (such as
|
||||||
|
C++'s classes) the @dfn{current function} is the immediate one,
|
||||||
|
possibly inside a scope. Otherwise it is the one defined by the least
|
||||||
enclosing braces. (By contrast, @code{beginning-of-defun} and
|
enclosing braces. (By contrast, @code{beginning-of-defun} and
|
||||||
@code{end-of-defun} search for braces in column zero.) If you are
|
@code{end-of-defun} search for braces in column zero.) @xref{Moving
|
||||||
editing code where the opening brace of a function isn't placed in
|
by Defuns}.
|
||||||
column zero, you may wish to bind @code{C-M-a} and @code{C-M-e} to
|
|
||||||
these commands. @xref{Moving by Defuns}.
|
|
||||||
|
|
||||||
@item C-c C-u
|
@item C-c C-u
|
||||||
@kindex C-c C-u @r{(C mode)}
|
@kindex C-c C-u @r{(C mode)}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Registers, Display, Killing, Top
|
@node Registers, Display, Killing, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Rmail
|
@node Rmail
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Screen, User Input, Acknowledgments, Top
|
@node Screen, User Input, Acknowledgments, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Search, Fixit, Display, Top
|
@node Search, Fixit, Display, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Sending Mail
|
@node Sending Mail
|
||||||
|
|
@ -11,10 +11,10 @@
|
||||||
|
|
||||||
@kindex C-x m
|
@kindex C-x m
|
||||||
@findex compose-mail
|
@findex compose-mail
|
||||||
To send an @dfn{e-mail} message in Emacs, type @kbd{C-x m}. This
|
To send an email message from Emacs, type @kbd{C-x m}. This
|
||||||
selects and initializes a buffer named @samp{*mail*}, where you can
|
switches to a buffer named @samp{*unsent mail*}, where you can edit
|
||||||
edit the text and headers of the message. Finally, type @kbd{C-c C-s}
|
the text and headers of the message. When done, type @kbd{C-c C-s} or
|
||||||
or @kbd{C-c C-c} to send the message.
|
@kbd{C-c C-c} to send it.
|
||||||
|
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@item C-x m
|
@item C-x m
|
||||||
|
|
@ -30,37 +30,28 @@ In the mail buffer, send the message and bury the buffer
|
||||||
(@code{message-send-and-exit}).
|
(@code{message-send-and-exit}).
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
The mail buffer is an ordinary Emacs buffer, so you can switch to
|
||||||
|
other buffers while composing the mail. If you want to send another
|
||||||
|
mail before finishing the current one, type @kbd{C-x m} again to open
|
||||||
|
a new mail buffer whose name has a different numeric suffix
|
||||||
|
(@pxref{Misc Buffer}). If you invoke the command with a prefix
|
||||||
|
argument, @w{@kbd{C-u C-x m}}, Emacs switches back to the last mail
|
||||||
|
buffer, and asks if you want to erase the message in that buffer; if
|
||||||
|
you answer no, this lets you pick up editing the message where you
|
||||||
|
left off.
|
||||||
|
|
||||||
@kindex C-x 4 m
|
@kindex C-x 4 m
|
||||||
@findex compose-mail-other-window
|
@findex compose-mail-other-window
|
||||||
@kindex C-x 5 m
|
@kindex C-x 5 m
|
||||||
@findex compose-mail-other-frame
|
@findex compose-mail-other-frame
|
||||||
@noindent
|
The command @kbd{C-x 4 m} (@code{compose-mail-other-window}) does
|
||||||
The command @kbd{C-x 4 m} (@code{compose-mail-other-window}) does the
|
the same as @kbd{C-x m}, except it displays the mail buffer in a
|
||||||
same as @kbd{C-x m}, except it displays the mail buffer in a different
|
different window. The command @kbd{C-x 5 m}
|
||||||
window. The command @kbd{C-x 5 m} (@code{compose-mail-other-frame})
|
(@code{compose-mail-other-frame}) does it in a new frame.
|
||||||
creates a new frame for the mail buffer.
|
|
||||||
|
|
||||||
Because the mail buffer is an ordinary Emacs buffer, you can switch
|
When you type @kbd{C-c C-c} or @kbd{C-c C-s} to send the mail, Emacs
|
||||||
to other buffers while in the middle of composing mail, and switch
|
may ask you how it should deliver the mail---either directly via SMTP,
|
||||||
back later (or never). If you type @kbd{C-x m} again when you have
|
or using some other method. @xref{Mail Sending}, for details.
|
||||||
been composing another message but have not sent it, Emacs asks for
|
|
||||||
confirmation before erasing the old message. If you answer @kbd{n},
|
|
||||||
Emacs selects the mail buffer with its old contents, so you can finish
|
|
||||||
the old message and send it. @kbd{C-u C-x m} is another way to do
|
|
||||||
this. Sending the message marks the mail buffer ``unmodified,'' which
|
|
||||||
avoids the need for confirmation when @kbd{C-x m} is next used.
|
|
||||||
|
|
||||||
If you want to send another message before finishing the current
|
|
||||||
message, use the command @kbd{M-x rename-uniquely} to rename the
|
|
||||||
current mail buffer (@pxref{Misc Buffer}). Then you can use @kbd{C-x
|
|
||||||
m} to make a new mail buffer, and work with each mail buffer
|
|
||||||
independently.
|
|
||||||
|
|
||||||
Before using Emacs to send mail, you may need to customize the
|
|
||||||
variable @code{send-mail-function} if your system is not set up to
|
|
||||||
deliver mail directly via SMTP (@pxref{Mail Sending}). In addition,
|
|
||||||
you may need to customize @code{user-mail-address} if the system
|
|
||||||
cannot receive mail via SMTP (@pxref{Mail Headers}).
|
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Format: Mail Format. Format of a mail message.
|
* Format: Mail Format. Format of a mail message.
|
||||||
|
|
@ -75,77 +66,91 @@ cannot receive mail via SMTP (@pxref{Mail Headers}).
|
||||||
@node Mail Format
|
@node Mail Format
|
||||||
@section The Format of the Mail Buffer
|
@section The Format of the Mail Buffer
|
||||||
|
|
||||||
An email message must contain certain pieces of information, called
|
Here is an example of the contents of a mail buffer:
|
||||||
@dfn{headers}, which specify the message's sender, recipient(s), and
|
|
||||||
so on.
|
|
||||||
|
|
||||||
At the top of the mail buffer is a set of @dfn{header fields}, where
|
|
||||||
you can enter this information. You can insert and edit header fields
|
|
||||||
using ordinary editing commands. @xref{Header Editing}, for commands
|
|
||||||
specific to editing header fields.
|
|
||||||
|
|
||||||
Some header fields are automatically pre-initialized in the buffer,
|
|
||||||
when appropriate; other headers, such as @samp{Date} and
|
|
||||||
@samp{Message-Id}, are normally omitted from the mail buffer and
|
|
||||||
created automatically when the message is sent.
|
|
||||||
|
|
||||||
@vindex mail-header-separator
|
|
||||||
The line in the buffer that says
|
|
||||||
|
|
||||||
@smallexample
|
|
||||||
--text follows this line--
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
separates the header fields from the @dfn{body} (or @dfn{text}) of the
|
|
||||||
message. Everything above this line is treated as part of the
|
|
||||||
headers; everything below it is treated as the body. The delimiter
|
|
||||||
line itself does not appear in the message actually sent. The text
|
|
||||||
used for the delimiter line is controlled by the variable
|
|
||||||
@code{mail-header-separator}.
|
|
||||||
|
|
||||||
Here is an example of what the headers and text in the mail buffer
|
|
||||||
might look like.
|
|
||||||
|
|
||||||
@example
|
@example
|
||||||
To: gnu@@example.org
|
To: subotai@@example.org
|
||||||
CC: lungfish@@example.com, byob@@example.net
|
CC: mongol.soldier@@example.net, rms@@gnu.org
|
||||||
Subject: The Emacs Manual
|
Subject: Re: What is best in life?
|
||||||
|
From: conan@@example.org
|
||||||
--text follows this line--
|
--text follows this line--
|
||||||
Please ignore this message.
|
To crush your enemies, see them driven before you, and to hear the
|
||||||
|
lamentation of their women.
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
At the top of the mail buffer is a set of @dfn{header fields}, which
|
||||||
|
are used for specifying information about the email's recipient(s),
|
||||||
|
subject, and so on. The above buffer contains header fields for
|
||||||
|
@samp{To}, @samp{Cc}, @samp{Subject}, and @samp{From}. Some header
|
||||||
|
fields are automatically pre-initialized in the mail buffer, when
|
||||||
|
appropriate.
|
||||||
|
|
||||||
|
The line that says @samp{--text follows this line--} separates the
|
||||||
|
header fields from the @dfn{body} (or @dfn{text}) of the message.
|
||||||
|
Everything above that line is treated as part of the headers;
|
||||||
|
everything below it is treated as the body. The delimiter line itself
|
||||||
|
does not appear in the message actually sent.
|
||||||
|
|
||||||
|
You can insert and edit header fields using ordinary editing
|
||||||
|
commands. @xref{Header Editing}, for commands specific to editing
|
||||||
|
header fields. Certain headers, such as @samp{Date} and
|
||||||
|
@samp{Message-Id}, are normally omitted from the mail buffer and are
|
||||||
|
created automatically when the message is sent.
|
||||||
|
|
||||||
@node Mail Headers
|
@node Mail Headers
|
||||||
@section Mail Header Fields
|
@section Mail Header Fields
|
||||||
@cindex headers (of mail message)
|
@cindex headers (of mail message)
|
||||||
|
|
||||||
A header field in the mail buffer starts with a field name at the
|
A header field in the mail buffer starts with a field name at the
|
||||||
beginning of a line, terminated by a colon. Upper and lower case are
|
beginning of a line, terminated by a colon. Upper and lower case are
|
||||||
equivalent in field names (and in mailing addresses also). After the
|
equivalent in field names. After the colon and optional whitespace
|
||||||
colon and optional whitespace comes the contents of the field.
|
comes the contents of the field.
|
||||||
|
|
||||||
You can use any name you like for a header field, but normally
|
You can use any name you like for a header field, but normally
|
||||||
people use only standard field names with accepted meanings. Here is
|
people use only standard field names with accepted meanings.
|
||||||
a table of commonly-used fields. Emacs pre-initializes some of these,
|
|
||||||
depending on various options you can set. You can delete or alter any
|
@vindex user-full-name
|
||||||
header field before you send the message, if you wish.
|
@vindex user-mail-address
|
||||||
|
The @samp{From} header field identifies the person sending the email
|
||||||
|
(i.e.@: you). This should be a valid mailing address, as replies are
|
||||||
|
normally sent there. The default contents of this header field are
|
||||||
|
computed from the variables @code{user-full-name} (which specifies
|
||||||
|
your full name) and @code{user-mail-address} (your email address). On
|
||||||
|
some operating systems, Emacs initializes these two variables using
|
||||||
|
environment variables (@pxref{General Variables}). If this
|
||||||
|
information is unavailable or wrong, you should customize the
|
||||||
|
variables yourself (@pxref{Easy Customization}).
|
||||||
|
|
||||||
|
@vindex mail-from-style
|
||||||
|
The value of the variable @code{mail-from-style} specifies how to
|
||||||
|
format the contents of the @samp{From} field:
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item @code{nil}
|
||||||
|
Use just the address, as in @samp{king@@grassland.com}.
|
||||||
|
@item @code{parens}
|
||||||
|
Use both address and full name, as in:@*
|
||||||
|
@samp{king@@grassland.com (Elvis Parsley)}.
|
||||||
|
@item @code{angles}
|
||||||
|
Use both address and full name, as in:@*
|
||||||
|
@samp{Elvis Parsley <king@@grassland.com>}.
|
||||||
|
@item any other value
|
||||||
|
Use @code{angles} normally. But if the address must be ``quoted'' to
|
||||||
|
remain syntactically valid under the @code{angles} format but not
|
||||||
|
under the @code{parens} format, use @code{parens} instead. This is
|
||||||
|
the default.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
Apart from @samp{From}, here is a table of commonly-used fields:
|
||||||
|
|
||||||
@table @samp
|
@table @samp
|
||||||
@item From
|
|
||||||
@vindex user-mail-address
|
|
||||||
The address of the sender (you). This should be a valid mailing
|
|
||||||
address, as replies will normally go there. Emacs initializes this
|
|
||||||
field using the variables @code{user-full-name} and
|
|
||||||
@code{user-mail-address}; see below.
|
|
||||||
|
|
||||||
@item To
|
@item To
|
||||||
The mailing address(es) to which the message is addressed. To list
|
The mailing address(es) to which the message is addressed. To list
|
||||||
more than one address, use commas (not spaces) to separate them.
|
more than one address, use commas to separate them.
|
||||||
|
|
||||||
@item Subject
|
@item Subject
|
||||||
A piece of text saying what the message is about. Most mail-reading
|
The subject of the message.
|
||||||
programs can display a summary of messages, listing the subject of
|
|
||||||
each message but not its text.
|
|
||||||
|
|
||||||
@item CC
|
@item CC
|
||||||
Additional mailing address(es) to send the message to. This is like
|
Additional mailing address(es) to send the message to. This is like
|
||||||
|
|
@ -158,47 +163,38 @@ not appear in the header of the message actually sent. ``BCC'' stands
|
||||||
for @dfn{blind carbon copies}.
|
for @dfn{blind carbon copies}.
|
||||||
|
|
||||||
@item FCC
|
@item FCC
|
||||||
The name of one file, to which a copy of the sent message should be
|
The name of a file, to which a copy of the sent message should be
|
||||||
appended. Emacs writes the message in mbox format, unless the file is
|
appended. Emacs writes the message in mbox format, unless the file is
|
||||||
in Babyl format (used by Rmail before Emacs 23), in which case Emacs
|
in Babyl format (used by Rmail before Emacs 23), in which case Emacs
|
||||||
writes Babyl. If an Rmail buffer is visiting the file, Emacs updates
|
writes in Babyl format. If an Rmail buffer is visiting the file,
|
||||||
it accordingly. To specify more than one file, use several @samp{FCC}
|
Emacs updates it accordingly. To specify more than one file, use
|
||||||
fields, with one file name in each field.
|
several @samp{FCC} fields, with one file name in each field.
|
||||||
|
|
||||||
@item Reply-to
|
@item Reply-to
|
||||||
An address to which replies should be sent, instead of @samp{From}.
|
An address to which replies should be sent, instead of @samp{From}.
|
||||||
You can use this header if, for some reason, your @samp{From} address
|
This is used if, for some reason, your @samp{From} address cannot
|
||||||
is unable to receive replies.
|
receive replies.
|
||||||
|
|
||||||
@item Mail-reply-to
|
@item Mail-reply-to
|
||||||
This field takes precedence over @samp{Reply-to}. It is used because
|
This field takes precedence over @samp{Reply-to}. It is used because
|
||||||
some mailing lists set the @samp{Reply-to} field for their own purposes
|
some mailing lists set the @samp{Reply-to} field for their own
|
||||||
(a somewhat controversial practice).
|
purposes (a somewhat controversial practice).
|
||||||
|
|
||||||
@item Mail-followup-to
|
@item Mail-followup-to
|
||||||
This field contains one or more addresses. It is typically used when
|
One of more address(es) to use as default recipient(s) for follow-up
|
||||||
you reply to a message from a mailing list that you are subscribed to.
|
messages. This is typically used when you reply to a message from a
|
||||||
It usually indicates that you want replies to go to the list, and that
|
mailing list that you are subscribed to, and want replies to go to the
|
||||||
you do not need an extra copy sent directly to you.
|
list without sending an extra copy to you.
|
||||||
|
|
||||||
@c Message mode handles this differently...
|
|
||||||
@c @vindex mail-mailing-lists
|
|
||||||
@c The variable @code{mail-mailing-lists} holds a list of mailing list
|
|
||||||
@c addresses that you are subscribed to. If it is non-@code{nil}, Emacs
|
|
||||||
@c inserts an appropriate @samp{Mail-followup-to} header when sending mail
|
|
||||||
@c to a mailing list.
|
|
||||||
|
|
||||||
@item In-reply-to
|
@item In-reply-to
|
||||||
A piece of text describing the message you are replying to. Some mail
|
An identifier for the message you are replying to. Most mail readers
|
||||||
systems can use this information to correlate related pieces of mail.
|
use this information to group related messages together. Normally,
|
||||||
Normally, you never need to think about this, because it is filled in
|
this header is filled in automatically when you reply to a message in
|
||||||
automatically when you reply to a message in Rmail (or any other mail
|
any mail program built into Emacs.
|
||||||
program built into Emacs).
|
|
||||||
|
|
||||||
@item References
|
@item References
|
||||||
The Message-Ids of previous related messages (a Message-Id is a unique
|
Identifiers for previous related messages. Like @samp{In-reply-to},
|
||||||
identifier generated when a message is sent). Like
|
this is normally filled in automatically for you.
|
||||||
@samp{In-reply-to}, this is normally set up automatically for you.
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
|
@ -217,35 +213,6 @@ To: foo@@example.net, this@@example.net,
|
||||||
@end group
|
@end group
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@vindex user-full-name
|
|
||||||
@vindex user-mail-address
|
|
||||||
The default contents of the @samp{From} header field are computed
|
|
||||||
from the variables @code{user-full-name} and @code{user-mail-address}.
|
|
||||||
On some operating systems, Emacs initializes these two variables using
|
|
||||||
environment variables (@pxref{General Variables}). If this
|
|
||||||
information is unavailable or wrong, you can customize the variables
|
|
||||||
yourself (@pxref{Easy Customization}).
|
|
||||||
|
|
||||||
@vindex mail-from-style
|
|
||||||
The value of the variable @code{mail-from-style} specifies how to
|
|
||||||
format the address in the @samp{From} field:
|
|
||||||
|
|
||||||
@table @asis
|
|
||||||
@item @code{nil}
|
|
||||||
Use just the address, as in @samp{king@@grassland.com}.
|
|
||||||
@item @code{parens}
|
|
||||||
Use both address and full name, as in:@*
|
|
||||||
@samp{king@@grassland.com (Elvis Parsley)}.
|
|
||||||
@item @code{angles}
|
|
||||||
Use both address and full name, as in:@*
|
|
||||||
@samp{Elvis Parsley <king@@grassland.com>}.
|
|
||||||
@item any other value
|
|
||||||
Use @code{angles} for most addresses. However, if the address must be
|
|
||||||
``quoted'' to remain syntactically-valid under the @code{angles}
|
|
||||||
format but not under the @code{parens} format, use @code{parens}
|
|
||||||
instead. This is the default.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@c There is also mail-specify-envelope-from and mail-envelope-from, but
|
@c There is also mail-specify-envelope-from and mail-envelope-from, but
|
||||||
@c these are probably not topics for the Emacs manual.
|
@c these are probably not topics for the Emacs manual.
|
||||||
|
|
||||||
|
|
@ -273,13 +240,12 @@ particular message, edit them as necessary before sending the message.
|
||||||
@vindex mail-personal-alias-file
|
@vindex mail-personal-alias-file
|
||||||
|
|
||||||
You can define @dfn{mail aliases}, which are short mnemonic names
|
You can define @dfn{mail aliases}, which are short mnemonic names
|
||||||
that stand for mail addresses or groups of mail addresses. By
|
that stand for one or more mailing addresses. By default, mail
|
||||||
default, mail aliases are defined in the file @file{~/.mailrc}. You
|
aliases are defined in the file @file{~/.mailrc}. You can specify a
|
||||||
can specify a different file name to use, by setting the variable
|
different file name to use, by setting the variable
|
||||||
@code{mail-personal-alias-file}.
|
@code{mail-personal-alias-file}.
|
||||||
|
|
||||||
To define an alias in @file{.mailrc}, write a line in the following
|
To define an alias in @file{.mailrc}, write a line like this:
|
||||||
format:
|
|
||||||
|
|
||||||
@example
|
@example
|
||||||
alias @var{nick} @var{fulladdresses}
|
alias @var{nick} @var{fulladdresses}
|
||||||
|
|
@ -362,11 +328,9 @@ in greater detail. @xref{Top,,Message, message, Message}.
|
||||||
@node Mail Sending
|
@node Mail Sending
|
||||||
@subsection Mail Sending
|
@subsection Mail Sending
|
||||||
|
|
||||||
There are two commands to send a message you have been editing:
|
|
||||||
|
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@item C-c C-c
|
@item C-c C-c
|
||||||
Send the message, and deselect the mail buffer (@code{message-send-and-exit}).
|
Send the message, and bury the mail buffer (@code{message-send-and-exit}).
|
||||||
@item C-c C-s
|
@item C-c C-s
|
||||||
Send the message, and leave the mail buffer selected (@code{message-send}).
|
Send the message, and leave the mail buffer selected (@code{message-send}).
|
||||||
@end table
|
@end table
|
||||||
|
|
@ -374,24 +338,63 @@ Send the message, and leave the mail buffer selected (@code{message-send}).
|
||||||
@kindex C-c C-s @r{(Message mode)}
|
@kindex C-c C-s @r{(Message mode)}
|
||||||
@kindex C-c C-c @r{(Message mode)}
|
@kindex C-c C-c @r{(Message mode)}
|
||||||
@findex message-send
|
@findex message-send
|
||||||
If you want to send a message and be done with it, type @kbd{C-c
|
@vindex message-kill-buffer-on-exit
|
||||||
C-c} (@code{mail-send-and-exit}). This sends the message and then
|
The usual command to send a message is @kbd{C-c C-c}
|
||||||
either deletes the window or switches to another buffer. It also
|
(@code{mail-send-and-exit}). This sends the message and then
|
||||||
``buries'' the mail buffer, putting it at the lowest priority for
|
``buries'' the mail buffer, putting it at the lowest priority for
|
||||||
reselection. This is the usual command for sending a message.
|
reselection. If you want it to kill the mail buffer instead, change
|
||||||
|
the variable @code{message-kill-buffer-on-exit} to @code{t}.
|
||||||
|
|
||||||
@findex message-send-and-exit
|
@findex message-send-and-exit
|
||||||
The command @kbd{C-c C-s} (@code{message-send}) sends the message
|
The command @kbd{C-c C-s} (@code{message-send}) sends the message
|
||||||
and marks the mail buffer unmodified, but leaves the buffer selected.
|
and leaves the buffer selected. Use this command if you want to
|
||||||
Use this command if you want to modify the message (perhaps with new
|
modify the message (perhaps with new recipients) and send it again.
|
||||||
recipients) and send it again.
|
|
||||||
|
|
||||||
@vindex message-send-hook
|
@vindex message-send-hook
|
||||||
Sending a message runs the hook @code{message-send-hook}.
|
Sending a message runs the hook @code{message-send-hook}. It also
|
||||||
|
marks the mail buffer as unmodified, except if the mail buffer is also
|
||||||
|
a file-visiting buffer (in that case, only saving the file does that,
|
||||||
|
and you don't get a warning if you try to send the same message
|
||||||
|
twice).
|
||||||
|
|
||||||
In a file-visiting buffer, sending the message does not clear the
|
@cindex SMTP
|
||||||
modified flag, because only saving the file should do that. Also, you
|
@cindex Feedmail
|
||||||
don't get a warning if you try to send the same message twice.
|
@cindex Sendmail
|
||||||
|
@cindex Mailclient
|
||||||
|
@vindex send-mail-function
|
||||||
|
The variable @code{send-mail-function} controls how the message is
|
||||||
|
delivered. Its value should be one of the following functions:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item sendmail-query-once
|
||||||
|
Query for a delivery method (one of the other entries in this list),
|
||||||
|
and use that method for this message; then save the method to
|
||||||
|
@code{send-mail-function}, so that it is used for future deliveries.
|
||||||
|
This is the default, unless you have already set the variables for
|
||||||
|
sending mail via @code{smtpmail-send-it} (see below).
|
||||||
|
|
||||||
|
@item smtpmail-send-it
|
||||||
|
Send mail using the through an external mail host, such as your
|
||||||
|
Internet service provider's outgoing SMTP mail server. If you have
|
||||||
|
not told Emacs how to contact the SMTP server, it prompts for this
|
||||||
|
information, which is saved in the variables
|
||||||
|
@code{smtpmail-smtp-server} and @code{smtpmail-auth-credentials}.
|
||||||
|
@xref{Top,,Emacs SMTP Library, smtpmail, Sending mail via SMTP}.
|
||||||
|
|
||||||
|
@item sendmail-send-it
|
||||||
|
Send mail using the system's default @command{sendmail} program, or
|
||||||
|
equivalent. This requires the system to be set up for delivering mail
|
||||||
|
directly via SMTP.
|
||||||
|
|
||||||
|
@item mailclient-send-it
|
||||||
|
Pass the mail buffer on to the system's designated mail client. See
|
||||||
|
the commentary section in the file @file{mailclient.el} for details.
|
||||||
|
|
||||||
|
@item feedmail-send-it
|
||||||
|
This is similar to @code{sendmail-send-it}, but allows you to queue
|
||||||
|
messages for later sending. See the commentary section in the file
|
||||||
|
@file{feedmail.el} for details.
|
||||||
|
@end table
|
||||||
|
|
||||||
@vindex sendmail-coding-system
|
@vindex sendmail-coding-system
|
||||||
When you send a message containing non-@acronym{ASCII} characters,
|
When you send a message containing non-@acronym{ASCII} characters,
|
||||||
|
|
@ -404,40 +407,6 @@ the coding system thus determined does not handle the characters in a
|
||||||
particular message, Emacs asks you to select the coding system to use,
|
particular message, Emacs asks you to select the coding system to use,
|
||||||
showing a list of possible coding systems.
|
showing a list of possible coding systems.
|
||||||
|
|
||||||
@cindex SMTP
|
|
||||||
@cindex Feedmail
|
|
||||||
@cindex Sendmail
|
|
||||||
@cindex Mailclient
|
|
||||||
@vindex send-mail-function
|
|
||||||
The variable @code{send-mail-function} controls how the default mail
|
|
||||||
user agent sends mail. Its value should be a function, which can be
|
|
||||||
one of the following:
|
|
||||||
|
|
||||||
@table @code
|
|
||||||
@item sendmail-send-it
|
|
||||||
Send mail using the system's default @command{sendmail} (or
|
|
||||||
@command{sendmail}-compatible) program. This is the default on Unix
|
|
||||||
and GNU, and works provided the system is a valid @dfn{mail host}
|
|
||||||
(that is, provided it can deliver mail via SMTP).
|
|
||||||
|
|
||||||
@item mailclient-send-it
|
|
||||||
Pass the mail buffer on to the system's designated mail client (see
|
|
||||||
@file{mailclient.el}). This is the default on Mac OS X and
|
|
||||||
MS-Windows.
|
|
||||||
|
|
||||||
@item smtpmail-send-it
|
|
||||||
Send mail through an external mail host (e.g., your Internet service
|
|
||||||
provider's SMTP server). You will need to tell Emacs how to contact
|
|
||||||
the SMTP server, by customizing the variables
|
|
||||||
@code{smtpmail-smtp-server} and @code{smtpmail-auth-credentials}.
|
|
||||||
@xref{Top,,Emacs SMTP Library, smtpmail, Sending mail via SMTP}.
|
|
||||||
|
|
||||||
@item feedmail-send-it
|
|
||||||
This is similar to @code{sendmail-send-it}, but allows you to queue
|
|
||||||
messages for later sending. See the commentary section in the file
|
|
||||||
@file{feedmail.el} for more information.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@node Header Editing
|
@node Header Editing
|
||||||
@subsection Mail Header Editing
|
@subsection Mail Header Editing
|
||||||
|
|
||||||
|
|
@ -511,7 +480,8 @@ just inserts a tab character.
|
||||||
|
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@item C-c C-y
|
@item C-c C-y
|
||||||
Yank the selected message from Rmail (@code{message-yank-original}).
|
Yank the selected message from the mail reader, as a citation
|
||||||
|
(@code{message-yank-original}).
|
||||||
@item C-c C-q
|
@item C-c C-q
|
||||||
Fill each paragraph cited from another message
|
Fill each paragraph cited from another message
|
||||||
(@code{message-fill-yanked-message}).
|
(@code{message-fill-yanked-message}).
|
||||||
|
|
@ -522,9 +492,9 @@ Fill each paragraph cited from another message
|
||||||
@findex message-yank-prefix
|
@findex message-yank-prefix
|
||||||
You can use the command @kbd{C-c C-y} (@code{message-yank-original})
|
You can use the command @kbd{C-c C-y} (@code{message-yank-original})
|
||||||
to @dfn{cite} a message that you are replying to. This inserts the
|
to @dfn{cite} a message that you are replying to. This inserts the
|
||||||
text of that message into the mail buffer. This command is active
|
text of that message into the mail buffer. This command works only if
|
||||||
only when the mail buffer is invoked from a mail program running in
|
the mail buffer is invoked from a mail reader running in Emacs, such
|
||||||
Emacs, such as Rmail.
|
as Rmail.
|
||||||
|
|
||||||
By default, Emacs inserts the string @samp{>} in front of each line
|
By default, Emacs inserts the string @samp{>} in front of each line
|
||||||
of the cited text; this prefix string is specified by the variable
|
of the cited text; this prefix string is specified by the variable
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Text, Programs, Indentation, Top
|
@node Text, Programs, Indentation, Top
|
||||||
|
|
@ -21,7 +21,10 @@ are also often useful for editing programs.
|
||||||
the file contains ordinary text, use Text mode, which customizes Emacs
|
the file contains ordinary text, use Text mode, which customizes Emacs
|
||||||
in small ways for the syntactic conventions of text. Outline mode
|
in small ways for the syntactic conventions of text. Outline mode
|
||||||
provides special commands for operating on text with an outline
|
provides special commands for operating on text with an outline
|
||||||
structure.
|
structure. Org mode extends Outline mode and turn Emacs into a
|
||||||
|
full-fledged organizer: you can manage TODO lists, store notes and
|
||||||
|
publish them in many formats.
|
||||||
|
|
||||||
@iftex
|
@iftex
|
||||||
@xref{Outline Mode}.
|
@xref{Outline Mode}.
|
||||||
@end iftex
|
@end iftex
|
||||||
|
|
@ -70,6 +73,7 @@ for editing such pictures.
|
||||||
* Case:: Changing the case of text.
|
* Case:: Changing the case of text.
|
||||||
* Text Mode:: The major modes for editing text files.
|
* Text Mode:: The major modes for editing text files.
|
||||||
* Outline Mode:: Editing outlines.
|
* Outline Mode:: Editing outlines.
|
||||||
|
* Org Mode:: The Emacs organizer.
|
||||||
* TeX Mode:: Editing input to the formatter TeX.
|
* TeX Mode:: Editing input to the formatter TeX.
|
||||||
* HTML Mode:: Editing HTML and SGML files.
|
* HTML Mode:: Editing HTML and SGML files.
|
||||||
* Nroff Mode:: Editing input to the formatter nroff.
|
* Nroff Mode:: Editing input to the formatter nroff.
|
||||||
|
|
@ -1250,6 +1254,153 @@ automatically by putting this in your init file (@pxref{Init File}):
|
||||||
(eval-after-load "outline" '(require 'foldout))
|
(eval-after-load "outline" '(require 'foldout))
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
@node Org Mode
|
||||||
|
@section Org Mode
|
||||||
|
@cindex organizer
|
||||||
|
@cindex planner
|
||||||
|
@findex Org mode
|
||||||
|
@findex mode, Org
|
||||||
|
|
||||||
|
@findex org-mode
|
||||||
|
Org mode is a variant of Outline mode for using Emacs as an
|
||||||
|
organizer and/or authoring system. Files with names ending in the
|
||||||
|
extension @file{.org} are opened in Org mode (@pxref{Choosing Modes}).
|
||||||
|
To explicitly switch to Org mode, type @kbd{M-x org-mode}.
|
||||||
|
|
||||||
|
In Org mode, as in Outline mode, each entry has a heading line that
|
||||||
|
starts with one or more @samp{*} characters. @xref{Outline Format}.
|
||||||
|
In addition, any line that begins with the @samp{#} character is
|
||||||
|
treated as a comment.
|
||||||
|
|
||||||
|
@kindex TAB @r{(Org Mode)}
|
||||||
|
@findex org-cycle
|
||||||
|
Org mode provides commands for easily viewing and manipulating the
|
||||||
|
outline structure. The simplest of these commands is @key{TAB}
|
||||||
|
(@code{org-cycle}). If invoked on a heading line, it cycles through
|
||||||
|
the different visibility states of the subtree: (i) showing only that
|
||||||
|
heading line, (ii) showing only the heading line and the heading lines
|
||||||
|
of its direct children, if any, and (iii) showing the entire subtree.
|
||||||
|
If invoked in a body line, the global binding for @key{TAB} is
|
||||||
|
executed.
|
||||||
|
|
||||||
|
@kindex S-TAB @r{(Org Mode)}
|
||||||
|
@findex org-shifttab
|
||||||
|
Typing @key{S-TAB} (@code{org-shifttab}) anywhere in an Org mode
|
||||||
|
buffer cycles the visibility of the entire outline structure, between
|
||||||
|
(i) showing only top-level heading lines, (ii) showing all heading
|
||||||
|
lines but no body lines, and (iii) showing everything.
|
||||||
|
|
||||||
|
@kindex M-<up> @r{(Org Mode)}
|
||||||
|
@kindex M-<down> @r{(Org Mode)}
|
||||||
|
@kindex M-<left> @r{(Org Mode)}
|
||||||
|
@kindex M-<right> @r{(Org Mode)}
|
||||||
|
@findex org-metaup
|
||||||
|
@findex org-metadown
|
||||||
|
@findex org-metaleft
|
||||||
|
@findex org-metaright
|
||||||
|
You can move an entire entry up or down in the buffer, including its
|
||||||
|
body lines and subtree (if any), by typing @kbd{M-<up>}
|
||||||
|
(@code{org-metaup}) or @kbd{M-<down>} (@code{org-metadown}) on the
|
||||||
|
heading line. Similarly, you can promote or demote a heading line
|
||||||
|
with @kbd{M-<left>} (@code{org-metaleft}) and @kbd{M-<left>}
|
||||||
|
(@code{org-metaright}). These commands execute their global bindings
|
||||||
|
if invoked on a body line.
|
||||||
|
|
||||||
|
The following subsections give basic instructions for using Org mode
|
||||||
|
as an organizer and as an authoring system. @xref{Top,The Org Mode
|
||||||
|
Manual,,org, The Org Manual}, for details.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* Org Organizer:: Managing TODO lists and agendas.
|
||||||
|
* Org Authoring:: Exporting Org buffers to various formats.
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node Org Organizer
|
||||||
|
@subsection Org as an organizer
|
||||||
|
@cindex TODO item
|
||||||
|
@cindex Org agenda
|
||||||
|
|
||||||
|
@kindex C-c C-t @r{(Org Mode)}
|
||||||
|
@findex org-todo
|
||||||
|
@vindex org-todo-keywords
|
||||||
|
You can tag an Org entry as a @dfn{TODO} item by typing @kbd{C-c
|
||||||
|
C-t} (@code{org-todo}) anywhere in the entry. This adds the keyword
|
||||||
|
@samp{TODO} to the heading line. Typing @kbd{C-c C-t} again switches
|
||||||
|
the keyword to @samp{DONE}; another @kbd{C-c C-t} removes the keyword
|
||||||
|
entirely, and so forth. You can customize the keywords used by
|
||||||
|
@kbd{C-c C-t} via the variable @code{org-todo-keywords}.
|
||||||
|
|
||||||
|
@kindex C-c C-s @r{(Org Mode)}
|
||||||
|
@kindex C-c C-d @r{(Org Mode)}
|
||||||
|
@findex org-schedule
|
||||||
|
@findex org-deadline
|
||||||
|
Apart from marking an entry as TODO, you can attach a date to it, by
|
||||||
|
typing @kbd{C-c C-s} (@code{org-schedule}) in the entry. This prompts
|
||||||
|
for a date by popping up the Emacs Calendar (@pxref{Calendar/Diary}),
|
||||||
|
and then adds the tag @samp{SCHEDULED}, together with the selected
|
||||||
|
date, beneath the heading line. The command @kbd{C-c C-d}
|
||||||
|
(@code{org-deadline}) has the same effect, except that it uses the tag
|
||||||
|
@code{DEADLINE}.
|
||||||
|
|
||||||
|
@kindex C-c [ @r{(Org Mode)}
|
||||||
|
@findex org-agenda-file-to-front
|
||||||
|
@vindex org-agenda-files
|
||||||
|
Once you have some TODO items planned in an Org file, you can add
|
||||||
|
that file to the list of @dfn{agenda files} by typing @kbd{C-c [}
|
||||||
|
(@code{org-agenda-file-to-front}). Org mode is designed to let you
|
||||||
|
easily maintain multiple agenda files, e.g.@: for organizing different
|
||||||
|
aspects of your life. The list of agenda files is stored in the
|
||||||
|
variable @code{org-agenda-files}.
|
||||||
|
|
||||||
|
@findex org-agenda
|
||||||
|
To view items coming from your agenda files, type @kbd{M-x
|
||||||
|
org-agenda}. This command prompts for what you want to see: a list of
|
||||||
|
things to do this week, a list of TODO items with specific keywords,
|
||||||
|
etc.
|
||||||
|
@ifnottex
|
||||||
|
@xref{Agenda Views,,,org, The Org Manual}, for details.
|
||||||
|
@end ifnottex
|
||||||
|
|
||||||
|
@node Org Authoring
|
||||||
|
@subsection Org as an authoring system
|
||||||
|
@cindex Org exporting
|
||||||
|
|
||||||
|
@findex org-export
|
||||||
|
@kindex C-c C-e @r{(Org mode)}
|
||||||
|
You may want to format your Org notes nicely and to prepare them for
|
||||||
|
export and publication. To export the current buffer, type @kbd{C-c
|
||||||
|
C-e} (@code{org-export}) anywhere in an Org buffer. This command
|
||||||
|
prompts for an export format; currently supported formats include
|
||||||
|
HTML, La@TeX{}, OpenDocument (@file{.odt}), and PDF. Some formats,
|
||||||
|
such as PDF, require certain system tools to be installed.
|
||||||
|
|
||||||
|
@vindex org-publish-project-alist
|
||||||
|
To export several files at once to a specific directory, either
|
||||||
|
locally or over the network, you must define a list of projects
|
||||||
|
through the variable @code{org-publish-project-alist}. See its
|
||||||
|
documentation for details.
|
||||||
|
|
||||||
|
Org supports a simple markup scheme for applying text formatting to
|
||||||
|
exported documents:
|
||||||
|
|
||||||
|
@example
|
||||||
|
- This text is /emphasized/
|
||||||
|
- This text is *in bold*
|
||||||
|
- This text is _underlined_
|
||||||
|
- This text uses =a teletype font=
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
``This is a quote.''
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
This is an example.
|
||||||
|
#+end_example
|
||||||
|
@end example
|
||||||
|
|
||||||
|
For further details, see @ref{Exporting,,,org, The Org Manual} and
|
||||||
|
@ref{Publishing,,,org, The Org Manual}.
|
||||||
|
|
||||||
@node TeX Mode
|
@node TeX Mode
|
||||||
@section @TeX{} Mode
|
@section @TeX{} Mode
|
||||||
@cindex @TeX{} mode
|
@cindex @TeX{} mode
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@iftex
|
@iftex
|
||||||
|
|
@ -40,8 +40,8 @@ Cancel a previously made change in the buffer contents (@code{undo}).
|
||||||
@dfn{quitting} with @kbd{C-g}, and @dfn{aborting} with @kbd{C-]} or
|
@dfn{quitting} with @kbd{C-g}, and @dfn{aborting} with @kbd{C-]} or
|
||||||
@kbd{M-x top-level}. Quitting cancels a partially typed command, or
|
@kbd{M-x top-level}. Quitting cancels a partially typed command, or
|
||||||
one which is still running. Aborting exits a recursive editing level
|
one which is still running. Aborting exits a recursive editing level
|
||||||
and cancels the command that invoked the recursive edit.
|
and cancels the command that invoked the recursive edit
|
||||||
(@xref{Recursive Edit}.)
|
(@pxref{Recursive Edit}).
|
||||||
|
|
||||||
@cindex quitting
|
@cindex quitting
|
||||||
@kindex C-g
|
@kindex C-g
|
||||||
|
|
@ -54,7 +54,7 @@ a kill command that is taking a long time, either your text will
|
||||||
kill ring, or maybe both. If the region is active, @kbd{C-g}
|
kill ring, or maybe both. If the region is active, @kbd{C-g}
|
||||||
deactivates the mark, unless Transient Mark mode is off
|
deactivates the mark, unless Transient Mark mode is off
|
||||||
(@pxref{Disabled Transient Mark}). If you are in the middle of an
|
(@pxref{Disabled Transient Mark}). If you are in the middle of an
|
||||||
incremental search, @kbd{C-g} does special things; it may take two
|
incremental search, @kbd{C-g} behaves specially; it may take two
|
||||||
successive @kbd{C-g} characters to get out of a search.
|
successive @kbd{C-g} characters to get out of a search.
|
||||||
@xref{Incremental Search}, for details.
|
@xref{Incremental Search}, for details.
|
||||||
|
|
||||||
|
|
@ -136,12 +136,12 @@ facility.
|
||||||
@node Lossage, Bugs, Quitting, Top
|
@node Lossage, Bugs, Quitting, Top
|
||||||
@section Dealing with Emacs Trouble
|
@section Dealing with Emacs Trouble
|
||||||
|
|
||||||
This section describes various conditions in which Emacs fails to work
|
This section describes how to recognize and deal with situations in
|
||||||
normally, and how to recognize them and correct them. For a list of
|
which Emacs does not work as you expect, such as keyboard code mixups,
|
||||||
additional problems you might encounter, see @ref{Bugs and problems, ,
|
garbled displays, running out of memory, and crashes and hangs.
|
||||||
Bugs and problems, efaq, GNU Emacs FAQ}, and the file @file{etc/PROBLEMS}
|
|
||||||
in the Emacs distribution. Type @kbd{C-h C-f} to read the FAQ; type
|
@xref{Bugs}, for what to do when you think you have found a bug in
|
||||||
@kbd{C-h C-p} to read the @file{PROBLEMS} file.
|
Emacs.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* DEL Does Not Delete:: What to do if @key{DEL} doesn't delete.
|
* DEL Does Not Delete:: What to do if @key{DEL} doesn't delete.
|
||||||
|
|
@ -150,40 +150,35 @@ in the Emacs distribution. Type @kbd{C-h C-f} to read the FAQ; type
|
||||||
* Text Garbled:: Garbage in the text.
|
* Text Garbled:: Garbage in the text.
|
||||||
* Memory Full:: How to cope when you run out of memory.
|
* Memory Full:: How to cope when you run out of memory.
|
||||||
* After a Crash:: Recovering editing in an Emacs session that crashed.
|
* After a Crash:: Recovering editing in an Emacs session that crashed.
|
||||||
* Emergency Escape:: Emergency escape---
|
* Emergency Escape:: What to do if Emacs stops responding.
|
||||||
What to do if Emacs stops responding.
|
|
||||||
* Total Frustration:: When you are at your wits' end.
|
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node DEL Does Not Delete
|
@node DEL Does Not Delete
|
||||||
@subsection If @key{DEL} Fails to Delete
|
@subsection If @key{DEL} Fails to Delete
|
||||||
@cindex @key{DEL} vs @key{BACKSPACE}
|
@cindex @key{DEL} vs @key{BACKSPACE}
|
||||||
@cindex @key{BACKSPACE} vs @key{DEL}
|
@cindex @key{BACKSPACE} vs @key{DEL}
|
||||||
@cindex usual erasure key
|
|
||||||
|
|
||||||
Every keyboard has a large key, usually labeled @key{Backspace},
|
Every keyboard has a large key, usually labeled @key{Backspace},
|
||||||
which is ordinarily used to erase the last character that you typed.
|
which is ordinarily used to erase the last character that you typed.
|
||||||
We call this key @dfn{the usual erasure key}. In Emacs, it is
|
In Emacs, this key is supposed to be equivalent to @key{DEL}.
|
||||||
supposed to be equivalent to @key{DEL}.
|
|
||||||
|
|
||||||
When Emacs starts up on a graphical display, it determines
|
When Emacs starts up on a graphical display, it determines
|
||||||
automatically which key should be @key{DEL}. In some unusual cases,
|
automatically which key should be @key{DEL}. In some unusual cases,
|
||||||
Emacs gets the wrong information from the system. If the usual
|
Emacs gets the wrong information from the system, and @key{Backspace}
|
||||||
erasure key deletes forwards instead of backwards, that is probably
|
ends up deleting forwards instead of backwards.
|
||||||
what happened---Emacs ought to be treating the @key{Backspace} key as
|
|
||||||
@key{DEL}, but it isn't.
|
|
||||||
|
|
||||||
Some keyboards also have a @key{Delete} key, which is ordinarily
|
Some keyboards also have a @key{Delete} key, which is ordinarily
|
||||||
used to delete forwards. If this key deletes backward in Emacs, that
|
used to delete forwards. If this key deletes backward in Emacs, that
|
||||||
too suggests Emacs got the wrong information---but in the opposite
|
too suggests Emacs got the wrong information---but in the opposite
|
||||||
sense.
|
sense.
|
||||||
|
|
||||||
On a text-only terminal, if you find the usual erasure key prompts
|
On a text-only terminal, if you find that @key{Backspace} prompts
|
||||||
for a Help command, like @kbd{Control-h}, instead of deleting a
|
for a Help command, like @kbd{Control-h}, instead of deleting a
|
||||||
character, it means that key is actually sending the @key{BS}
|
character, it means that key is actually sending the @key{BS}
|
||||||
character. Emacs ought to be treating @key{BS} as @key{DEL}, but it
|
character. Emacs ought to be treating @key{BS} as @key{DEL}, but it
|
||||||
isn't.
|
isn't.
|
||||||
|
|
||||||
|
@findex normal-erase-is-backspace-mode
|
||||||
In all of those cases, the immediate remedy is the same: use the
|
In all of those cases, the immediate remedy is the same: use the
|
||||||
command @kbd{M-x normal-erase-is-backspace-mode}. This toggles
|
command @kbd{M-x normal-erase-is-backspace-mode}. This toggles
|
||||||
between the two modes that Emacs supports for handling @key{DEL}, so
|
between the two modes that Emacs supports for handling @key{DEL}, so
|
||||||
|
|
@ -192,13 +187,10 @@ mode. On a text-only terminal, if you want to ask for help when
|
||||||
@key{BS} is treated as @key{DEL}, use @key{F1}; @kbd{C-?} may also
|
@key{BS} is treated as @key{DEL}, use @key{F1}; @kbd{C-?} may also
|
||||||
work, if it sends character code 127.
|
work, if it sends character code 127.
|
||||||
|
|
||||||
@findex normal-erase-is-backspace-mode
|
To fix the problem in every Emacs session, put one of the following
|
||||||
To fix the problem automatically for every Emacs session, you can
|
lines into your initialization file (@pxref{Init File}). For the
|
||||||
put one of the following lines into your @file{.emacs} file
|
first case above, where @key{Backspace} deletes forwards instead of
|
||||||
(@pxref{Init File}). For the first case above, where @key{Backspace}
|
backwards, use this line to make @key{Backspace} act as @key{DEL}:
|
||||||
deletes forwards instead of backwards, use this line to make
|
|
||||||
@key{Backspace} act as @key{DEL} (resulting in behavior compatible
|
|
||||||
with Emacs 20 and previous versions):
|
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
(normal-erase-is-backspace-mode 0)
|
(normal-erase-is-backspace-mode 0)
|
||||||
|
|
@ -224,12 +216,12 @@ Customization}.
|
||||||
Recursive editing levels are important and useful features of Emacs, but
|
Recursive editing levels are important and useful features of Emacs, but
|
||||||
they can seem like malfunctions if you do not understand them.
|
they can seem like malfunctions if you do not understand them.
|
||||||
|
|
||||||
If the mode line has square brackets @samp{[@dots{}]} around the parentheses
|
If the mode line has square brackets @samp{[@dots{}]} around the
|
||||||
that contain the names of the major and minor modes, you have entered a
|
parentheses that contain the names of the major and minor modes, you
|
||||||
recursive editing level. If you did not do this on purpose, or if you
|
have entered a recursive editing level. If you did not do this on
|
||||||
don't understand what that means, you should just get out of the recursive
|
purpose, or if you don't understand what that means, you should just
|
||||||
editing level. To do so, type @kbd{M-x top-level}. This is called getting
|
get out of the recursive editing level. To do so, type @kbd{M-x
|
||||||
back to top level. @xref{Recursive Edit}.
|
top-level}. @xref{Recursive Edit}.
|
||||||
|
|
||||||
@node Screen Garbled
|
@node Screen Garbled
|
||||||
@subsection Garbage on the Screen
|
@subsection Garbage on the Screen
|
||||||
|
|
@ -244,12 +236,9 @@ the following section.)
|
||||||
entry for the terminal you are using. The file @file{etc/TERMS} in
|
entry for the terminal you are using. The file @file{etc/TERMS} in
|
||||||
the Emacs distribution gives the fixes for known problems of this
|
the Emacs distribution gives the fixes for known problems of this
|
||||||
sort. @file{INSTALL} contains general advice for these problems in
|
sort. @file{INSTALL} contains general advice for these problems in
|
||||||
one of its sections. To investigate the possibility that you have
|
one of its sections. If you seem to be using the right terminfo
|
||||||
this sort of problem, try Emacs on another terminal made by a
|
entry, it is possible that there is a bug in the terminfo entry, or a
|
||||||
different manufacturer. If problems happen frequently on one kind of
|
bug in Emacs that appears for certain terminal types.
|
||||||
terminal but not another kind, it is likely to be a bad terminfo entry,
|
|
||||||
though it could also be due to a bug in Emacs that appears for
|
|
||||||
terminals that have or that lack specific features.
|
|
||||||
|
|
||||||
@node Text Garbled
|
@node Text Garbled
|
||||||
@subsection Garbage in the Text
|
@subsection Garbage in the Text
|
||||||
|
|
@ -385,25 +374,6 @@ program.
|
||||||
emergency escape---but there are cases where it won't work, when
|
emergency escape---but there are cases where it won't work, when
|
||||||
system call hangs or when Emacs is stuck in a tight loop in C code.
|
system call hangs or when Emacs is stuck in a tight loop in C code.
|
||||||
|
|
||||||
@node Total Frustration
|
|
||||||
@subsection Help for Total Frustration
|
|
||||||
@cindex Eliza
|
|
||||||
@cindex doctor
|
|
||||||
|
|
||||||
If using Emacs (or something else) becomes terribly frustrating and none
|
|
||||||
of the techniques described above solve the problem, Emacs can still help
|
|
||||||
you.
|
|
||||||
|
|
||||||
First, if the Emacs you are using is not responding to commands, type
|
|
||||||
@kbd{C-g C-g} to get out of it and then start a new one.
|
|
||||||
|
|
||||||
@findex doctor
|
|
||||||
Second, type @kbd{M-x doctor @key{RET}}.
|
|
||||||
|
|
||||||
The Emacs psychotherapist will help you feel better. Each time you
|
|
||||||
say something to the psychotherapist, you must end it by typing
|
|
||||||
@key{RET} @key{RET}. This indicates you are finished typing.
|
|
||||||
|
|
||||||
@node Bugs, Contributing, Lossage, Top
|
@node Bugs, Contributing, Lossage, Top
|
||||||
@section Reporting Bugs
|
@section Reporting Bugs
|
||||||
|
|
||||||
|
|
@ -432,41 +402,51 @@ of the main places you can read about known issues:
|
||||||
|
|
||||||
@itemize
|
@itemize
|
||||||
@item
|
@item
|
||||||
The @file{etc/PROBLEMS} file in the Emacs distribution; type @kbd{C-h
|
The @file{etc/PROBLEMS} file; type @kbd{C-h C-p} to read it. This
|
||||||
C-p} to read it. This file contains a list of particularly well-known
|
file contains a list of particularly well-known issues that have been
|
||||||
issues that have been encountered in compiling, installing and running
|
encountered in compiling, installing and running Emacs. Often, there
|
||||||
Emacs. Often, there are suggestions for workarounds and solutions.
|
are suggestions for workarounds and solutions.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Some additional user-level problems can be found in @ref{Bugs and
|
Some additional user-level problems can be found in @ref{Bugs and
|
||||||
problems, , Bugs and problems, efaq, GNU Emacs FAQ}.
|
problems, , Bugs and problems, efaq, GNU Emacs FAQ}.
|
||||||
|
|
||||||
|
@cindex bug tracker
|
||||||
|
@item
|
||||||
|
The GNU Bug Tracker at @url{http://debbugs.gnu.org}. Emacs bugs are
|
||||||
|
filed in the tracker under the @samp{emacs} package. The tracker
|
||||||
|
records information about the status of each bug, the initial bug
|
||||||
|
report, and the follow-up messages by the bug reporter and Emacs
|
||||||
|
developers. You can search for bugs by subject, severity, and other
|
||||||
|
criteria.
|
||||||
|
|
||||||
|
@cindex debbugs package
|
||||||
|
Instead of browsing the bug tracker as a webpage, you can browse it
|
||||||
|
from Emacs using the @code{debbugs} package, which can be downloaded
|
||||||
|
via the Package Menu (@pxref{Packages}). This package provides the
|
||||||
|
command @kbd{M-x debbugs-gnu} to list bugs, and @kbd{M-x
|
||||||
|
debbugs-gnu-search} to search for a specific bug.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The @samp{bug-gnu-emacs} mailing list (also available as the newsgroup
|
The @samp{bug-gnu-emacs} mailing list (also available as the newsgroup
|
||||||
@samp{gnu.emacs.bug}). You can read the list archives at
|
@samp{gnu.emacs.bug}). You can read the list archives at
|
||||||
@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}. If you
|
@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}. This list
|
||||||
like, you can also subscribe to the list. Be aware that the sole
|
works as a ``mirror'' of the Emacs bug reports and follow-up messages
|
||||||
purpose of this list is to provide the Emacs maintainers with
|
which are sent to the bug tracker. It also contains old bug reports
|
||||||
information about bugs and feature requests. Reports may contain
|
from before the bug tracker was introduced (in early 2008).
|
||||||
fairly large amounts of data; spectators should not complain about
|
|
||||||
this.
|
|
||||||
|
|
||||||
@item
|
If you like, you can subscribe to the list. Be aware that its purpose
|
||||||
The bug tracker at @url{http://debbugs.gnu.org}. From early 2008,
|
is to provide the Emacs maintainers with information about bugs and
|
||||||
reports from the @samp{bug-gnu-emacs} list have also been sent here.
|
feature requests, so reports may contain fairly large amounts of data;
|
||||||
The tracker contains the same information as the mailing list, just in
|
spectators should not complain about this.
|
||||||
a different format. You may prefer to browse and read reports using
|
|
||||||
the tracker.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The @samp{emacs-pretest-bug} mailing list. This list is no longer
|
The @samp{emacs-pretest-bug} mailing list. This list is no longer
|
||||||
used, and is mainly of historical interest. At one time, it was used
|
used, and is mainly of historical interest. At one time, it was used
|
||||||
for bug reports in development (i.e., not yet released) versions of
|
for bug reports in development (i.e., not yet released) versions of
|
||||||
Emacs. You can read the archives for 2003 to mid 2007 at
|
Emacs. You can read the archives for 2003 to mid 2007 at
|
||||||
@url{http://lists.gnu.org/archive/html/emacs-pretest-bug/}. From
|
@url{http://lists.gnu.org/archive/html/emacs-pretest-bug/}. Nowadays,
|
||||||
late 2007 to mid 2008, the address was an alias for the
|
it is an alias for @samp{bug-gnu-emacs}.
|
||||||
@samp{emacs-devel} mailing list. From mid 2008 onwards, it has been
|
|
||||||
an alias for @samp{bug-gnu-emacs}.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The @samp{emacs-devel} mailing list. Sometimes people report bugs to
|
The @samp{emacs-devel} mailing list. Sometimes people report bugs to
|
||||||
|
|
@ -485,33 +465,32 @@ fault''), or exits with an operating system error message that
|
||||||
indicates a problem in the program (as opposed to something like
|
indicates a problem in the program (as opposed to something like
|
||||||
``disk full''), then it is certainly a bug.
|
``disk full''), then it is certainly a bug.
|
||||||
|
|
||||||
If Emacs updates the display in a way that does not correspond to what is
|
If the Emacs display does not correspond properly to the contents of
|
||||||
in the buffer, then it is certainly a bug. If a command seems to do the
|
the buffer, then it is a bug. But you should check that features like
|
||||||
wrong thing but the problem corrects itself if you type @kbd{C-l}, it is a
|
buffer narrowing (@pxref{Narrowing}), which can hide parts of the
|
||||||
case of incorrect display updating.
|
buffer or change how it is displayed, are not responsible.
|
||||||
|
|
||||||
Taking forever to complete a command can be a bug, but you must make
|
Taking forever to complete a command can be a bug, but you must make
|
||||||
certain that it was really Emacs's fault. Some commands simply take a
|
sure that it is really Emacs's fault. Some commands simply take a
|
||||||
long time. Type @kbd{C-g} (@kbd{C-@key{BREAK}} on MS-DOS) and then @kbd{C-h l}
|
long time. Type @kbd{C-g} (@kbd{C-@key{BREAK}} on MS-DOS) and then
|
||||||
to see whether the input Emacs received was what you intended to type;
|
@kbd{C-h l} to see whether the input Emacs received was what you
|
||||||
if the input was such that you @emph{know} it should have been processed
|
intended to type; if the input was such that you @emph{know} it should
|
||||||
quickly, report a bug. If you don't know whether the command should
|
have been processed quickly, report a bug. If you don't know whether
|
||||||
take a long time, find out by looking in the manual or by asking for
|
the command should take a long time, find out by looking in the manual
|
||||||
assistance.
|
or by asking for assistance.
|
||||||
|
|
||||||
If a command you are familiar with causes an Emacs error message in a
|
If a command you are familiar with causes an Emacs error message in a
|
||||||
case where its usual definition ought to be reasonable, it is probably a
|
case where its usual definition ought to be reasonable, it is probably a
|
||||||
bug.
|
bug.
|
||||||
|
|
||||||
If a command does the wrong thing, that is a bug. But be sure you know
|
If a command does the wrong thing, that is a bug. But be sure you
|
||||||
for certain what it ought to have done. If you aren't familiar with the
|
know for certain what it ought to have done. If you aren't familiar
|
||||||
command, or don't know for certain how the command is supposed to work,
|
with the command, it might actually be working right. If in doubt,
|
||||||
then it might actually be working right. Rather than jumping to
|
read the command's documentation (@pxref{Name Help}).
|
||||||
conclusions, show the problem to someone who knows for certain.
|
|
||||||
|
|
||||||
Finally, a command's intended definition may not be the best
|
A command's intended definition may not be the best possible
|
||||||
possible definition for editing with. This is a very important sort
|
definition for editing with. This is a very important sort of
|
||||||
of problem, but it is also a matter of judgment. Also, it is easy to
|
problem, but it is also a matter of judgment. Also, it is easy to
|
||||||
come to such a conclusion out of ignorance of some of the existing
|
come to such a conclusion out of ignorance of some of the existing
|
||||||
features. It is probably best not to complain about such a problem
|
features. It is probably best not to complain about such a problem
|
||||||
until you have checked the documentation in the usual ways, feel
|
until you have checked the documentation in the usual ways, feel
|
||||||
|
|
@ -527,59 +506,61 @@ you should report. The manual's job is to make everything clear to
|
||||||
people who are not Emacs experts---including you. It is just as
|
people who are not Emacs experts---including you. It is just as
|
||||||
important to report documentation bugs as program bugs.
|
important to report documentation bugs as program bugs.
|
||||||
|
|
||||||
If the on-line documentation string of a function or variable disagrees
|
If the built-in documentation for a function or variable disagrees
|
||||||
with the manual, one of them must be wrong; that is a bug.
|
with the manual, one of them must be wrong; that is a bug.
|
||||||
|
|
||||||
@node Understanding Bug Reporting
|
@node Understanding Bug Reporting
|
||||||
@subsection Understanding Bug Reporting
|
@subsection Understanding Bug Reporting
|
||||||
|
|
||||||
@findex emacs-version
|
@findex emacs-version
|
||||||
When you decide that there is a bug, it is important to report it and to
|
When you decide that there is a bug, it is important to report it
|
||||||
report it in a way which is useful. What is most useful is an exact
|
and to report it in a way which is useful. What is most useful is an
|
||||||
description of what commands you type, starting with the shell command to
|
exact description of what commands you type, starting with the shell
|
||||||
run Emacs, until the problem happens.
|
command to run Emacs, until the problem happens.
|
||||||
|
|
||||||
The most important principle in reporting a bug is to report
|
The most important principle in reporting a bug is to report
|
||||||
@emph{facts}. Hypotheses and verbal descriptions are no substitute for
|
@emph{facts}. Hypotheses and verbal descriptions are no substitute
|
||||||
the detailed raw data. Reporting the facts is straightforward, but many
|
for the detailed raw data. Reporting the facts is straightforward,
|
||||||
people strain to posit explanations and report them instead of the
|
but many people strain to posit explanations and report them instead
|
||||||
facts. If the explanations are based on guesses about how Emacs is
|
of the facts. If the explanations are based on guesses about how
|
||||||
implemented, they will be useless; meanwhile, lacking the facts, we will
|
Emacs is implemented, they will be useless; meanwhile, lacking the
|
||||||
have no real information about the bug.
|
facts, we will have no real information about the bug. If you want to
|
||||||
|
actually @emph{debug} the problem, and report explanations that are
|
||||||
|
more than guesses, that is useful---but please include the raw facts
|
||||||
|
as well.
|
||||||
|
|
||||||
For example, suppose that you type @kbd{C-x C-f /glorp/baz.ugh
|
For example, suppose that you type @kbd{C-x C-f /glorp/baz.ugh
|
||||||
@key{RET}}, visiting a file which (you know) happens to be rather
|
@key{RET}}, visiting a file which (you know) happens to be rather
|
||||||
large, and Emacs displays @samp{I feel pretty today}. The best way to
|
large, and Emacs displays @samp{I feel pretty today}. The bug report
|
||||||
report the bug is with a sentence like the preceding one, because it
|
would need to provide all that information. You should not assume
|
||||||
gives all the facts.
|
that the problem is due to the size of the file and say, ``I visited a
|
||||||
|
large file, and Emacs displayed @samp{I feel pretty today}.'' This is
|
||||||
A bad way would be to assume that the problem is due to the size of
|
what we mean by ``guessing explanations.'' The problem might be due
|
||||||
the file and say, ``I visited a large file, and Emacs displayed @samp{I
|
to the fact that there is a @samp{z} in the file name. If this is so,
|
||||||
feel pretty today}.'' This is what we mean by ``guessing
|
then when we got your report, we would try out the problem with some
|
||||||
explanations.'' The problem is just as likely to be due to the fact
|
``large file,'' probably with no @samp{z} in its name, and not see any
|
||||||
that there is a @samp{z} in the file name. If this is so, then when we
|
problem. There is no way we could guess that we should try visiting a
|
||||||
got your report, we would try out the problem with some ``large file,''
|
|
||||||
probably with no @samp{z} in its name, and not see any problem. There
|
|
||||||
is no way in the world that we could guess that we should try visiting a
|
|
||||||
file with a @samp{z} in its name.
|
file with a @samp{z} in its name.
|
||||||
|
|
||||||
Alternatively, the problem might be due to the fact that the file starts
|
You should not even say ``visit a file'' instead of @kbd{C-x C-f}.
|
||||||
with exactly 25 spaces. For this reason, you should make sure that you
|
Similarly, rather than saying ``if I have three characters on the
|
||||||
inform us of the exact contents of any file that is needed to reproduce the
|
line,'' say ``after I type @kbd{@key{RET} A B C @key{RET} C-p},'' if
|
||||||
bug. What if the problem only occurs when you have typed the @kbd{C-x C-a}
|
that is the way you entered the text.
|
||||||
command previously? This is why we ask you to give the exact sequence of
|
|
||||||
characters you typed since starting the Emacs session.
|
|
||||||
|
|
||||||
You should not even say ``visit a file'' instead of @kbd{C-x C-f} unless
|
If possible, try quickly to reproduce the bug by invoking Emacs with
|
||||||
you @emph{know} that it makes no difference which visiting command is used.
|
@command{emacs -Q} (so that Emacs starts with no initial
|
||||||
Similarly, rather than saying ``if I have three characters on the line,''
|
customizations; @pxref{Initial Options}), and repeating the steps that
|
||||||
say ``after I type @kbd{@key{RET} A B C @key{RET} C-p},'' if that is
|
you took to trigger the bug. If you can reproduce the bug this way,
|
||||||
the way you entered the text.
|
that rules out bugs in your personal customizations. Then your bug
|
||||||
|
report should begin by stating that you started Emacs with
|
||||||
|
@command{emacs -Q}, followed by the exact sequence of steps for
|
||||||
|
reproducing the bug. If possible, inform us of the exact contents of
|
||||||
|
any file that is needed to reproduce the bug.
|
||||||
|
|
||||||
So please don't guess any explanations when you report a bug. If you
|
Some bugs are not reproducible from @command{emacs -Q}; some are not
|
||||||
want to actually @emph{debug} the problem, and report explanations that
|
easily reproducible at all. In that case, you should report what you
|
||||||
are more than guesses, that is useful---but please include the facts as
|
have---but, as before, please stick to the raw facts about what you
|
||||||
well.
|
did to trigger the bug the first time.
|
||||||
|
|
||||||
@node Checklist
|
@node Checklist
|
||||||
@subsection Checklist for Bug Reports
|
@subsection Checklist for Bug Reports
|
||||||
|
|
@ -616,15 +597,14 @@ address. Or you can simply send an email to that address describing
|
||||||
the problem.
|
the problem.
|
||||||
|
|
||||||
Your report will be sent to the @samp{bug-gnu-emacs} mailing list, and
|
Your report will be sent to the @samp{bug-gnu-emacs} mailing list, and
|
||||||
stored in the tracker at @url{http://debbugs.gnu.org}. Please try to
|
stored in the GNU Bug Tracker at @url{http://debbugs.gnu.org}. Please
|
||||||
include a valid reply email address, in case we need to ask you for
|
include a valid reply email address, in case we need to ask you for
|
||||||
more information about your report. Submissions are moderated, so
|
more information about your report. Submissions are moderated, so
|
||||||
there may be a delay before your report appears.
|
there may be a delay before your report appears.
|
||||||
|
|
||||||
You do not need to know how the @url{http://debbugs.gnu.org} bug
|
You do not need to know how the Gnu Bug Tracker works in order to
|
||||||
tracker works in order to report a bug, but if you want to, you can
|
report a bug, but if you want to, you can read the tracker's online
|
||||||
read the tracker's online documentation to see the various features
|
documentation to see the various features you can use.
|
||||||
you can use.
|
|
||||||
|
|
||||||
All mail sent to the @samp{bug-gnu-emacs} mailing list is also
|
All mail sent to the @samp{bug-gnu-emacs} mailing list is also
|
||||||
gatewayed to the @samp{gnu.emacs.bug} newsgroup. The reverse is also
|
gatewayed to the @samp{gnu.emacs.bug} newsgroup. The reverse is also
|
||||||
|
|
@ -689,10 +669,10 @@ newline after the last line in the buffer (nothing ought to care whether
|
||||||
the last line is terminated, but try telling the bugs that).
|
the last line is terminated, but try telling the bugs that).
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The precise commands we need to type to reproduce the bug.
|
The precise commands we need to type to reproduce the bug. If at all
|
||||||
If at all possible, give a full recipe for an Emacs started with the
|
possible, give a full recipe for an Emacs started with the @samp{-Q}
|
||||||
@samp{-Q} option (@pxref{Initial Options}). This bypasses your
|
option (@pxref{Initial Options}). This bypasses your personal
|
||||||
@file{.emacs} customizations.
|
customizations.
|
||||||
|
|
||||||
@findex open-dribble-file
|
@findex open-dribble-file
|
||||||
@cindex dribble file
|
@cindex dribble file
|
||||||
|
|
@ -722,8 +702,8 @@ using @kbd{M-:} or from the @samp{*scratch*} buffer just after
|
||||||
starting Emacs. From then on, Emacs copies all terminal output to the
|
starting Emacs. From then on, Emacs copies all terminal output to the
|
||||||
specified termscript file as well, until the Emacs process is killed.
|
specified termscript file as well, until the Emacs process is killed.
|
||||||
If the problem happens when Emacs starts up, put this expression into
|
If the problem happens when Emacs starts up, put this expression into
|
||||||
your @file{.emacs} file so that the termscript file will be open when
|
your Emacs initialization file so that the termscript file will be
|
||||||
Emacs displays the screen for the first time.
|
open when Emacs displays the screen for the first time.
|
||||||
|
|
||||||
Be warned: it is often difficult, and sometimes impossible, to fix a
|
Be warned: it is often difficult, and sometimes impossible, to fix a
|
||||||
terminal-dependent bug without access to a terminal of the type that
|
terminal-dependent bug without access to a terminal of the type that
|
||||||
|
|
@ -806,13 +786,13 @@ produce it, copy it into the bug report.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Check whether any programs you have loaded into the Lisp world,
|
Check whether any programs you have loaded into the Lisp world,
|
||||||
including your @file{.emacs} file, set any variables that may affect the
|
including your initialization file, set any variables that may affect
|
||||||
functioning of Emacs. Also, see whether the problem happens in a
|
the functioning of Emacs. Also, see whether the problem happens in a
|
||||||
freshly started Emacs without loading your @file{.emacs} file (start
|
freshly started Emacs without loading your initialization file (start
|
||||||
Emacs with the @code{-Q} switch to prevent loading the init files). If
|
Emacs with the @code{-Q} switch to prevent loading the init files).
|
||||||
the problem does @emph{not} occur then, you must report the precise
|
If the problem does @emph{not} occur then, you must report the precise
|
||||||
contents of any programs that you must load into the Lisp world in order
|
contents of any programs that you must load into the Lisp world in
|
||||||
to cause the problem to occur.
|
order to cause the problem to occur.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
If the problem does depend on an init file or other Lisp programs that
|
If the problem does depend on an init file or other Lisp programs that
|
||||||
|
|
@ -983,8 +963,8 @@ your best to help.
|
||||||
Send an explanation with your changes of what problem they fix or what
|
Send an explanation with your changes of what problem they fix or what
|
||||||
improvement they bring about. For a fix for an existing bug, it is
|
improvement they bring about. For a fix for an existing bug, it is
|
||||||
best to reply to the relevant discussion on the @samp{bug-gnu-emacs}
|
best to reply to the relevant discussion on the @samp{bug-gnu-emacs}
|
||||||
list, or item in the @url{http://debbugs.gnu.org} tracker. Explain
|
list, or the bug entry in the GNU Bug Tracker at
|
||||||
why your change fixes the bug.
|
@url{http://debbugs.gnu.org}. Explain why your change fixes the bug.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Always include a proper bug report for the problem you think you have
|
Always include a proper bug report for the problem you think you have
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@c This file is included in emacs-xtra.texi when producing the printed
|
@c This file is included in emacs-xtra.texi when producing the printed
|
||||||
|
|
|
||||||
|
|
@ -1,305 +1,10 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 2004-2011 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2012 Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@c
|
@c
|
||||||
@c This file is included either in vc-xtra.texi (when producing the
|
@c This file is included either in vc-xtra.texi (when producing the
|
||||||
@c printed version) or in the main Emacs manual (for the on-line version).
|
@c printed version) or in the main Emacs manual (for the on-line version).
|
||||||
|
|
||||||
@node Remote Repositories
|
|
||||||
@subsection Remote Repositories
|
|
||||||
@cindex remote repositories
|
|
||||||
|
|
||||||
A common way of using CVS and other more advanced VCSes is to set up
|
|
||||||
a central repository on some Internet host, then have each
|
|
||||||
developer check out a personal working copy of the files on his local
|
|
||||||
machine. Committing changes to the repository, and picking up changes
|
|
||||||
from other users into one's own working area, then works by direct
|
|
||||||
interactions with the repository server.
|
|
||||||
|
|
||||||
One difficulty is that access to a repository server is often slow,
|
|
||||||
and that developers might need to work off-line as well. While only
|
|
||||||
third-generation decentralized VCses such as GNU Arch or Mercurial
|
|
||||||
really solve this problem, VC is designed to reduce the amount of
|
|
||||||
network interaction necessary.
|
|
||||||
|
|
||||||
If you are using a truly decentralized VCS you can skip the rest of
|
|
||||||
this section. It describes backup and local-repository techniques
|
|
||||||
that are only useful for Subversion and earlier VCSes.
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* Version Backups:: Keeping local copies of repository versions.
|
|
||||||
* Local Version Control:: Using another version system for local editing.
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node Version Backups
|
|
||||||
@subsubsection Version Backups
|
|
||||||
@cindex version backups
|
|
||||||
|
|
||||||
@cindex automatic version backups
|
|
||||||
When VC sees that the repository for a file is on a remote
|
|
||||||
machine, it automatically makes local backups of unmodified versions
|
|
||||||
of the file---@dfn{automatic version backups}. This means that you
|
|
||||||
can compare the file to the repository version (@kbd{C-x v =}), or
|
|
||||||
revert to that version (@kbd{C-x v u}), without any network
|
|
||||||
interactions.
|
|
||||||
|
|
||||||
The local copy of the unmodified file is called a @dfn{version
|
|
||||||
backup} to indicate that it corresponds exactly to a version that is
|
|
||||||
stored in the repository. Note that version backups are not the same
|
|
||||||
as ordinary Emacs backup files
|
|
||||||
@iftex
|
|
||||||
(@pxref{Backup,,,emacs, the Emacs Manual}).
|
|
||||||
@end iftex
|
|
||||||
@ifnottex
|
|
||||||
(@pxref{Backup}).
|
|
||||||
@end ifnottex
|
|
||||||
But they follow a similar naming convention.
|
|
||||||
|
|
||||||
For a file that comes from a remote repository, VC makes a
|
|
||||||
version backup whenever you save the first changes to the file, and
|
|
||||||
removes it after you have committed your modified version to the
|
|
||||||
repository. You can disable the making of automatic version backups by
|
|
||||||
setting @code{vc-cvs-stay-local} to @code{nil} (@pxref{CVS Options}).
|
|
||||||
|
|
||||||
@cindex manual version backups
|
|
||||||
The name of the automatic version backup for version @var{version}
|
|
||||||
of file @var{file} is @code{@var{file}.~@var{version}.~}. This is
|
|
||||||
almost the same as the name used by @kbd{C-x v ~}
|
|
||||||
@iftex
|
|
||||||
(@pxref{Old Revisions,,,emacs, the Emacs Manual}),
|
|
||||||
@end iftex
|
|
||||||
@ifnottex
|
|
||||||
(@pxref{Old Revisions}),
|
|
||||||
@end ifnottex
|
|
||||||
the only difference being the additional dot (@samp{.}) after the
|
|
||||||
version number. This similarity is intentional, because both kinds of
|
|
||||||
files store the same kind of information. The file made by @kbd{C-x v
|
|
||||||
~} acts as a @dfn{manual version backup}.
|
|
||||||
|
|
||||||
All the VC commands that operate on old versions of a file can use
|
|
||||||
both kinds of version backups. For instance, @kbd{C-x v ~} uses
|
|
||||||
either an automatic or a manual version backup, if possible, to get
|
|
||||||
the contents of the version you request. Likewise, @kbd{C-x v =} and
|
|
||||||
@kbd{C-x v u} use either an automatic or a manual version backup, if
|
|
||||||
one of them exists, to get the contents of a version to compare or
|
|
||||||
revert to. If you changed a file outside of Emacs, so that no
|
|
||||||
automatic version backup was created for the previous text, you can
|
|
||||||
create a manual backup of that version using @kbd{C-x v ~}, and thus
|
|
||||||
obtain the benefit of the local copy for Emacs commands.
|
|
||||||
|
|
||||||
The only difference in Emacs's handling of manual and automatic
|
|
||||||
version backups, once they exist, is that Emacs deletes automatic
|
|
||||||
version backups when you commit to the repository. By contrast,
|
|
||||||
manual version backups remain until you delete them.
|
|
||||||
|
|
||||||
@node Local Version Control
|
|
||||||
@subsubsection Local Version Control
|
|
||||||
@cindex local version control
|
|
||||||
@cindex local back end (version control)
|
|
||||||
|
|
||||||
When you make many changes to a file that comes from a remote
|
|
||||||
repository, it can be convenient to have version control on your local
|
|
||||||
machine as well. You can then record intermediate versions, revert to
|
|
||||||
a previous state, etc., before you actually commit your changes to the
|
|
||||||
remote server.
|
|
||||||
|
|
||||||
VC lets you do this by putting a file under a second, local version
|
|
||||||
control system, so that the file is effectively registered in two
|
|
||||||
systems at the same time. For the description here, we will assume
|
|
||||||
that the remote system is CVS, and you use RCS locally, although the
|
|
||||||
mechanism works with any combination of version control systems
|
|
||||||
(@dfn{back ends}).
|
|
||||||
|
|
||||||
To make it work with other back ends, you must make sure that the
|
|
||||||
``more local'' back end comes before the ``more remote'' back end in
|
|
||||||
the setting of @code{vc-handled-backends} (@pxref{Customizing VC}). By
|
|
||||||
default, this variable is set up so that you can use remote CVS and
|
|
||||||
local RCS as described here.
|
|
||||||
|
|
||||||
To start using local RCS for a file that comes from a remote CVS
|
|
||||||
server, you must @emph{register the file in RCS}, by typing @kbd{C-u
|
|
||||||
C-x v v rcs @key{RET}}. (In other words, use @code{vc-next-action} with a
|
|
||||||
prefix argument, and specify RCS as the back end.)
|
|
||||||
|
|
||||||
You can do this at any time; it does not matter whether you have
|
|
||||||
already modified the file with respect to the version in the CVS
|
|
||||||
repository. If possible, VC tries to make the RCS master start with
|
|
||||||
the unmodified repository version, then checks in any local changes
|
|
||||||
as a new version. This works if you have not made any changes yet, or
|
|
||||||
if the unmodified repository version exists locally as a version
|
|
||||||
backup (@pxref{Version Backups}). If the unmodified version is not
|
|
||||||
available locally, the RCS master starts with the modified version;
|
|
||||||
the only drawback to this is that you cannot compare your changes
|
|
||||||
locally to what is stored in the repository.
|
|
||||||
|
|
||||||
The version number of the RCS master is derived from the current CVS
|
|
||||||
version, starting a branch from it. For example, if the current CVS
|
|
||||||
version is 1.23, the local RCS branch will be 1.23.1. Version 1.23 in
|
|
||||||
the RCS master will be identical to version 1.23 under CVS; your first
|
|
||||||
changes are checked in as 1.23.1.1. (If the unmodified file is not
|
|
||||||
available locally, VC will check in the modified file twice, both as
|
|
||||||
1.23 and 1.23.1.1, to make the revision numbers consistent.)
|
|
||||||
|
|
||||||
If you do not use locking under CVS (the default), locking is also
|
|
||||||
disabled for RCS, so that editing under RCS works exactly as under
|
|
||||||
CVS.
|
|
||||||
|
|
||||||
When you are done with local editing, you can commit the final version
|
|
||||||
back to the CVS repository by typing @kbd{C-u C-x v v cvs @key{RET}}.
|
|
||||||
This initializes the log entry buffer
|
|
||||||
@iftex
|
|
||||||
(@pxref{Log Buffer,,,emacs, the Emacs Manual})
|
|
||||||
@end iftex
|
|
||||||
@ifnottex
|
|
||||||
(@pxref{Log Buffer})
|
|
||||||
@end ifnottex
|
|
||||||
to contain all the log entries you have recorded in the RCS master;
|
|
||||||
you can edit them as you wish, and then commit in CVS by typing
|
|
||||||
@kbd{C-c C-c}. If the commit is successful, VC removes the RCS
|
|
||||||
master, so that the file is once again registered under CVS only.
|
|
||||||
(The RCS master is not actually deleted, just renamed by appending
|
|
||||||
@samp{~} to the name, so that you can refer to it later if you wish.)
|
|
||||||
|
|
||||||
While using local RCS, you can pick up recent changes from the CVS
|
|
||||||
repository into your local file, or commit some of your changes back
|
|
||||||
to CVS, without terminating local RCS version control. To do this,
|
|
||||||
switch to the CVS back end temporarily, with the @kbd{C-x v b} command:
|
|
||||||
|
|
||||||
@table @kbd
|
|
||||||
@item C-x v b
|
|
||||||
Switch to another back end that the current file is registered
|
|
||||||
under (@code{vc-switch-backend}).
|
|
||||||
|
|
||||||
@item C-u C-x v b @var{backend} @key{RET}
|
|
||||||
Switch to @var{backend} for the current file.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@kindex C-x v b
|
|
||||||
@findex vc-switch-backend
|
|
||||||
@kbd{C-x v b} does not change the buffer contents, or any files; it
|
|
||||||
only changes VC's perspective on how to handle the file. Any
|
|
||||||
subsequent VC commands for that file will operate on the back end that
|
|
||||||
is currently selected.
|
|
||||||
|
|
||||||
If the current file is registered in more than one back end, typing
|
|
||||||
@kbd{C-x v b} ``cycles'' through all of these back ends. With a
|
|
||||||
prefix argument, it asks for the back end to use in the minibuffer.
|
|
||||||
|
|
||||||
Thus, if you are using local RCS, and you want to pick up some recent
|
|
||||||
changes in the file from remote CVS, first visit the file, then type
|
|
||||||
@kbd{C-x v b} to switch to CVS, and finally use @kbd{C-x v m
|
|
||||||
@key{RET}} to merge the news
|
|
||||||
@iftex
|
|
||||||
(@pxref{Merging,,,emacs, the Emacs Manual}).
|
|
||||||
@end iftex
|
|
||||||
@ifnottex
|
|
||||||
(@pxref{Merging}).
|
|
||||||
@end ifnottex
|
|
||||||
You can then switch back to RCS by typing @kbd{C-x v b} again, and
|
|
||||||
continue to edit locally.
|
|
||||||
|
|
||||||
But if you do this, the revision numbers in the RCS master no longer
|
|
||||||
correspond to those of CVS. Technically, this is not a problem, but
|
|
||||||
it can become difficult to keep track of what is in the CVS repository
|
|
||||||
and what is not. So we suggest that you return from time to time to
|
|
||||||
CVS-only operation, by committing your local changes back to the
|
|
||||||
repository using @kbd{C-u C-x v v cvs @key{RET}}.
|
|
||||||
|
|
||||||
@node Revision Tags
|
|
||||||
@subsection Revision Tags
|
|
||||||
@cindex tags and version control
|
|
||||||
|
|
||||||
In a VCS with per-file revision numbers (such as SCCS, RCS, or CVS)
|
|
||||||
@dfn{tag} is a named set of file versions (one for each registered
|
|
||||||
file) that you can treat as a unit. In a VCS with per-repository
|
|
||||||
version numbers (Subversion and most later ones) a tag is simply
|
|
||||||
a symbolic name for a revision.
|
|
||||||
|
|
||||||
One important kind of tag is a @dfn{release}, a (theoretically)
|
|
||||||
stable version of the system that is ready for distribution to users.
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* Making Revision Tags:: The tag facilities.
|
|
||||||
* Revision Tag Caveats:: Things to be careful of when using tags.
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node Making Revision Tags
|
|
||||||
@subsubsection Making and Using Revision Tags
|
|
||||||
|
|
||||||
There are two basic commands for tags; one makes a
|
|
||||||
tag with a given name, the other retrieves a named tag.
|
|
||||||
|
|
||||||
@table @code
|
|
||||||
@kindex C-x v s
|
|
||||||
@findex vc-create-tag
|
|
||||||
@item C-x v s @var{name} @key{RET}
|
|
||||||
Define the working revision of every registered file in or under the
|
|
||||||
current directory as a tag named @var{name}
|
|
||||||
(@code{vc-create-tag}).
|
|
||||||
|
|
||||||
@kindex C-x v r
|
|
||||||
@findex vc-retrieve-tag
|
|
||||||
@item C-x v r @var{name} @key{RET}
|
|
||||||
For all registered files at or below the current directory level,
|
|
||||||
retrieve the tagged revision @var{name}. This command will
|
|
||||||
switch to a branch if @var{name} is a branch name and your VCS
|
|
||||||
distinguishes branches from tags.
|
|
||||||
(@code{vc-retrieve-tag}).
|
|
||||||
|
|
||||||
This command reports an error if any files are locked at or below the
|
|
||||||
current directory, without changing anything; this is to avoid
|
|
||||||
overwriting work in progress.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
Tags are inexpensive, so you need not hesitate to create them whenever
|
|
||||||
they are useful. Branches vary in cost depending on your VCS; in
|
|
||||||
older ones they may be expensive.
|
|
||||||
|
|
||||||
You can give a tag or branch name as an argument to @kbd{C-x v =} or
|
|
||||||
@kbd{C-x v ~}
|
|
||||||
@iftex
|
|
||||||
(@pxref{Old Revisions,,,emacs, the Emacs Manual}).
|
|
||||||
@end iftex
|
|
||||||
@ifnottex
|
|
||||||
(@pxref{Old Revisions}).
|
|
||||||
@end ifnottex
|
|
||||||
Thus, you can use it to compare a tagged version against the current files,
|
|
||||||
or two tagged versions against each other.
|
|
||||||
|
|
||||||
@node Revision Tag Caveats
|
|
||||||
@subsubsection Revision Tag Caveats
|
|
||||||
|
|
||||||
For SCCS, VC implements tags itself; these tags are visible only
|
|
||||||
through VC. Most later systems (including CVS, Subversion, bzr, git,
|
|
||||||
and hg) have a native tag facility, and VC uses it where
|
|
||||||
available; those tags will be visible even when you bypass VC.
|
|
||||||
|
|
||||||
There is no support for VC tags using GNU Arch yet.
|
|
||||||
|
|
||||||
Under older VCSes (SCCS, RCS, CVS, early versions of Subversion),
|
|
||||||
renaming and deletion could create some difficulties with tags. This is
|
|
||||||
not a VC-specific problem, but a general design issue in version
|
|
||||||
control systems that was not solved effectively until the earliest
|
|
||||||
third-generation systems.
|
|
||||||
|
|
||||||
In a file-oriented VCS, when you rename a registered file you need
|
|
||||||
to rename its master along with it; the command @code{vc-rename-file}
|
|
||||||
will do this automatically. If you are using SCCS, you must also
|
|
||||||
update the records of the tag, to mention the file by its new name
|
|
||||||
(@code{vc-rename-file} does this, too). An old tag that refers to a
|
|
||||||
master file that no longer exists under the recorded name is invalid;
|
|
||||||
VC can no longer retrieve it. It would be beyond the scope of this
|
|
||||||
manual to explain enough about RCS and SCCS to explain how to update
|
|
||||||
the tags by hand.
|
|
||||||
|
|
||||||
Using @code{vc-rename-file} makes the tag remain valid for
|
|
||||||
retrieval, but it does not solve all problems. For example, some of the
|
|
||||||
files in your program probably refer to others by name. At the very
|
|
||||||
least, the makefile probably mentions the file that you renamed. If you
|
|
||||||
retrieve an old tag, the renamed file is retrieved under its new
|
|
||||||
name, which is not the name that the makefile expects. So the program
|
|
||||||
won't really work as retrieved.
|
|
||||||
|
|
||||||
@node Miscellaneous VC
|
@node Miscellaneous VC
|
||||||
@subsection Miscellaneous Commands and Features of VC
|
@subsection Miscellaneous Commands and Features of VC
|
||||||
|
|
||||||
|
|
@ -307,52 +12,55 @@ won't really work as retrieved.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Change Logs and VC:: Generating a change log file from log entries.
|
* Change Logs and VC:: Generating a change log file from log entries.
|
||||||
* Renaming and VC:: A command to rename both the source and master
|
* VC Delete/Rename:: Deleting and renaming version-controlled files.
|
||||||
file correctly.
|
* Revision Tags:: Symbolic names for revisions.
|
||||||
* Version Headers:: Inserting version control headers into working files.
|
* Version Headers:: Inserting version control headers into working files.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Change Logs and VC
|
@node Change Logs and VC
|
||||||
@subsubsection Change Logs and VC
|
@subsubsection Change Logs and VC
|
||||||
|
|
||||||
If you use RCS or CVS for a program and also maintain a change log
|
If you use RCS or CVS for a program with a @file{ChangeLog} file
|
||||||
file for it
|
|
||||||
@iftex
|
@iftex
|
||||||
(@pxref{Change Log,,,emacs, the Emacs Manual}),
|
(@pxref{Change Log,,,emacs, the Emacs Manual}),
|
||||||
@end iftex
|
@end iftex
|
||||||
@ifnottex
|
@ifnottex
|
||||||
(@pxref{Change Log}),
|
(@pxref{Change Log}),
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
you can generate change log entries automatically from the version
|
you can generate change log entries from the version control log
|
||||||
control log entries:
|
entries of previous commits.
|
||||||
|
|
||||||
|
Note that this only works with RCS or CVS. This procedure would be
|
||||||
|
particularly incorrect on a modern changeset-based version control
|
||||||
|
system, where changes to the @file{ChangeLog} file would normally be
|
||||||
|
committed as part of a changeset. In that case, you should write the
|
||||||
|
change log entries first, then pull them into the @samp{*vc-log*}
|
||||||
|
buffer when you commit
|
||||||
|
@iftex
|
||||||
|
(@pxref{Log Buffer,,,emacs, the Emacs Manual}).
|
||||||
|
@end iftex
|
||||||
|
@ifnottex
|
||||||
|
(@pxref{Log Buffer}).
|
||||||
|
@end ifnottex
|
||||||
|
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@item C-x v a
|
@item C-x v a
|
||||||
@kindex C-x v a
|
@kindex C-x v a
|
||||||
@findex vc-update-change-log
|
@findex vc-update-change-log
|
||||||
Visit the current directory's change log file and, for registered files
|
Visit the current directory's @file{ChangeLog} file and, for
|
||||||
in that directory, create new entries for versions checked in since the
|
registered files in that directory, create new entries for versions
|
||||||
most recent entry in the change log file.
|
committed since the most recent change log entry
|
||||||
(@code{vc-update-change-log}).
|
(@code{vc-update-change-log}).
|
||||||
|
|
||||||
This command works with RCS or CVS only, not with any of the other
|
|
||||||
back ends.
|
|
||||||
|
|
||||||
@item C-u C-x v a
|
@item C-u C-x v a
|
||||||
As above, but only find entries for the current buffer's file.
|
As above, but only find entries for the current buffer's file.
|
||||||
|
|
||||||
@item M-1 C-x v a
|
|
||||||
As above, but find entries for all the currently visited files that are
|
|
||||||
maintained with version control. This works only with RCS, and it puts
|
|
||||||
all entries in the log for the default directory, which may not be
|
|
||||||
appropriate.
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
For example, suppose the first line of @file{ChangeLog} is dated
|
For example, suppose the first line of @file{ChangeLog} is dated
|
||||||
1999-04-10, and that the only check-in since then was by Nathaniel
|
1999-04-10, and that the only check-in since then was by Nathaniel
|
||||||
Bowditch to @file{rcs2log} on 1999-05-22 with log text @samp{Ignore log
|
Bowditch to @file{rcs2log} on 1999-05-22 with log entry @samp{Ignore
|
||||||
messages that start with `#'.}. Then @kbd{C-x v a} visits
|
log messages that start with `#'.}. Then @kbd{C-x v a} inserts this
|
||||||
@file{ChangeLog} and inserts text like this:
|
@file{ChangeLog} entry:
|
||||||
|
|
||||||
@iftex
|
@iftex
|
||||||
@medbreak
|
@medbreak
|
||||||
|
|
@ -369,17 +77,11 @@ messages that start with `#'.}. Then @kbd{C-x v a} visits
|
||||||
@end iftex
|
@end iftex
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
You can then edit the new change log entry further as you wish.
|
If the version control log entry specifies a function name (in
|
||||||
|
parenthesis at the beginning of a line), that is reflected in the
|
||||||
Some of the new change log entries may duplicate what's already in
|
@file{ChangeLog} entry. For example, if a log entry for @file{vc.el}
|
||||||
ChangeLog. You will have to remove these duplicates by hand.
|
is @samp{(vc-do-command): Check call-process status.}, the
|
||||||
|
@file{ChangeLog} entry is:
|
||||||
Normally, the log entry for file @file{foo} is displayed as @samp{*
|
|
||||||
foo: @var{text of log entry}}. The @samp{:} after @file{foo} is omitted
|
|
||||||
if the text of the log entry starts with @w{@samp{(@var{functionname}):
|
|
||||||
}}. For example, if the log entry for @file{vc.el} is
|
|
||||||
@samp{(vc-do-command): Check call-process status.}, then the text in
|
|
||||||
@file{ChangeLog} looks like this:
|
|
||||||
|
|
||||||
@iftex
|
@iftex
|
||||||
@medbreak
|
@medbreak
|
||||||
|
|
@ -395,221 +97,184 @@ if the text of the log entry starts with @w{@samp{(@var{functionname}):
|
||||||
@medbreak
|
@medbreak
|
||||||
@end iftex
|
@end iftex
|
||||||
|
|
||||||
When @kbd{C-x v a} adds several change log entries at once, it groups
|
When @kbd{C-x v a} adds several change log entries at once, it
|
||||||
related log entries together if they all are checked in by the same
|
groups related log entries together if they all are checked in by the
|
||||||
author at nearly the same time. If the log entries for several such
|
same author at nearly the same time. If the log entries for several
|
||||||
files all have the same text, it coalesces them into a single entry.
|
such files all have the same text, it coalesces them into a single
|
||||||
For example, suppose the most recent check-ins have the following log
|
entry.
|
||||||
entries:
|
|
||||||
|
|
||||||
@flushleft
|
@node VC Delete/Rename
|
||||||
@bullet{} For @file{vc.texinfo}: @samp{Fix expansion typos.}
|
@subsubsection Deleting and Renaming Version-Controlled Files
|
||||||
@bullet{} For @file{vc.el}: @samp{Don't call expand-file-name.}
|
@cindex renaming version-controlled files
|
||||||
@bullet{} For @file{vc-hooks.el}: @samp{Don't call expand-file-name.}
|
|
||||||
@end flushleft
|
|
||||||
|
|
||||||
@noindent
|
@table @kbd
|
||||||
They appear like this in @file{ChangeLog}:
|
@item M-x vc-delete-file
|
||||||
|
Prompt for a file name, delete the file from the working tree, and
|
||||||
|
schedule the deletion for committing.
|
||||||
|
|
||||||
|
@item M-x vc-rename-file
|
||||||
|
Prompt for two file names, @var{VAR} and @var{OLD}, rename them in the
|
||||||
|
working tree, and schedule the renaming for committing.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
@findex vc-delete-file
|
||||||
|
If you wish to delete a version-controlled file, use the command
|
||||||
|
@kbd{M-x vc-delete-file}. This prompts for the file name, and deletes
|
||||||
|
it via the version control system. The file is removed from the
|
||||||
|
working tree, and in the VC Directory buffer
|
||||||
@iftex
|
@iftex
|
||||||
@medbreak
|
(@pxref{VC Directory Mode}),
|
||||||
@end iftex
|
@end iftex
|
||||||
@smallexample
|
@ifnottex
|
||||||
@group
|
(@pxref{VC Directory Mode}),
|
||||||
1999-04-01 Nathaniel Bowditch <nat@@apn.org>
|
@end ifnottex
|
||||||
|
it is displayed with the @samp{removed} status. When you commit it,
|
||||||
* vc.texinfo: Fix expansion typos.
|
the deletion takes effect in the repository.
|
||||||
|
|
||||||
* vc.el, vc-hooks.el: Don't call expand-file-name.
|
|
||||||
@end group
|
|
||||||
@end smallexample
|
|
||||||
@iftex
|
|
||||||
@medbreak
|
|
||||||
@end iftex
|
|
||||||
|
|
||||||
Normally, @kbd{C-x v a} separates log entries by a blank line, but you
|
|
||||||
can mark several related log entries to be clumped together (without an
|
|
||||||
intervening blank line) by starting the text of each related log entry
|
|
||||||
with a label of the form @w{@samp{@{@var{clumpname}@} }}. The label
|
|
||||||
itself is not copied to @file{ChangeLog}. For example, suppose the log
|
|
||||||
entries are:
|
|
||||||
|
|
||||||
@flushleft
|
|
||||||
@bullet{} For @file{vc.texinfo}: @samp{@{expand@} Fix expansion typos.}
|
|
||||||
@bullet{} For @file{vc.el}: @samp{@{expand@} Don't call expand-file-name.}
|
|
||||||
@bullet{} For @file{vc-hooks.el}: @samp{@{expand@} Don't call expand-file-name.}
|
|
||||||
@end flushleft
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
Then the text in @file{ChangeLog} looks like this:
|
|
||||||
|
|
||||||
@iftex
|
|
||||||
@medbreak
|
|
||||||
@end iftex
|
|
||||||
@smallexample
|
|
||||||
@group
|
|
||||||
1999-04-01 Nathaniel Bowditch <nat@@apn.org>
|
|
||||||
|
|
||||||
* vc.texinfo: Fix expansion typos.
|
|
||||||
* vc.el, vc-hooks.el: Don't call expand-file-name.
|
|
||||||
@end group
|
|
||||||
@end smallexample
|
|
||||||
@iftex
|
|
||||||
@medbreak
|
|
||||||
@end iftex
|
|
||||||
|
|
||||||
A log entry whose text begins with @samp{#} is not copied to
|
|
||||||
@file{ChangeLog}. For example, if you merely fix some misspellings in
|
|
||||||
comments, you can log the change with an entry beginning with @samp{#}
|
|
||||||
to avoid putting such trivia into @file{ChangeLog}.
|
|
||||||
|
|
||||||
@node Renaming and VC
|
|
||||||
@subsubsection Renaming VC Work Files and Master Files
|
|
||||||
|
|
||||||
@findex vc-rename-file
|
@findex vc-rename-file
|
||||||
When you rename a registered file, you must also rename its master
|
To rename a version-controlled file, type @kbd{M-x vc-rename-file}.
|
||||||
file correspondingly to get proper results. Use @code{vc-rename-file}
|
This prompts for two arguments: the name of the file you wish to
|
||||||
to rename the source file as you specify, and rename its master file
|
rename, and the new name; then it performs the renaming via the
|
||||||
accordingly. It also updates any tags (@pxref{Revision Tags}) that
|
version control system. The renaming takes effect immediately in the
|
||||||
mention the file, so that they use the new name; despite this, the
|
working tree, and takes effect in the repository when you commit the
|
||||||
tag thus modified may not completely work (@pxref{Revision Tag Caveats}).
|
renamed file.
|
||||||
|
|
||||||
Some back ends do not provide an explicit rename operation to their
|
On modern version control systems that have built-in support for
|
||||||
repositories. After issuing @code{vc-rename-file}, use @kbd{C-x v v}
|
renaming, the renamed file retains the full change history of the
|
||||||
on the original and renamed buffers and provide the necessary edit
|
original file. On CVS and older version control systems, the
|
||||||
log.
|
@code{vc-rename-file} command actually works by creating a copy of the
|
||||||
|
old file under the new name, registering it, and deleting the old
|
||||||
|
file. In this case, the change history is not preserved.
|
||||||
|
|
||||||
You cannot use @code{vc-rename-file} on a file that is locked by
|
@node Revision Tags
|
||||||
someone else.
|
@subsubsection Revision Tags
|
||||||
|
@cindex revision tag
|
||||||
|
@cindex tags for version control
|
||||||
|
|
||||||
|
Most version control systems allow you to apply a @dfn{revision tag}
|
||||||
|
to a specific version of a version-controlled tree. On modern
|
||||||
|
changeset-based version control systems, a revision tag is simply a
|
||||||
|
symbolic name for a particular revision. On older file-based systems
|
||||||
|
like CVS, each tag is added to the entire set of version-controlled
|
||||||
|
files, allowing them to be handled as a unit. Revision tags are
|
||||||
|
commonly used to identify releases that are distributed to users.
|
||||||
|
|
||||||
|
There are two basic commands for tags; one makes a tag with a given
|
||||||
|
name, the other retrieves a named tag.
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@kindex C-x v s
|
||||||
|
@findex vc-create-tag
|
||||||
|
@item C-x v s @var{name} @key{RET}
|
||||||
|
Define the working revision of every registered file in or under the
|
||||||
|
current directory as a tag named @var{name}
|
||||||
|
(@code{vc-create-tag}).
|
||||||
|
|
||||||
|
@kindex C-x v r
|
||||||
|
@findex vc-retrieve-tag
|
||||||
|
@item C-x v r @var{name} @key{RET}
|
||||||
|
For all registered files at or below the current directory level,
|
||||||
|
retrieve the tagged revision @var{name}. This command will switch to a
|
||||||
|
branch if @var{name} is a branch name and your VCS distinguishes
|
||||||
|
branches from tags. (@code{vc-retrieve-tag}).
|
||||||
|
|
||||||
|
This command reports an error if any files are locked at or below the
|
||||||
|
current directory, without changing anything; this is to avoid
|
||||||
|
overwriting work in progress.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
You can give a tag or branch name as an argument to @kbd{C-x v =} or
|
||||||
|
@kbd{C-x v ~}
|
||||||
|
@iftex
|
||||||
|
(@pxref{Old Revisions,,,emacs, the Emacs Manual}).
|
||||||
|
@end iftex
|
||||||
|
@ifnottex
|
||||||
|
(@pxref{Old Revisions}).
|
||||||
|
@end ifnottex
|
||||||
|
Thus, you can use it to compare a tagged version against the current files,
|
||||||
|
or two tagged versions against each other.
|
||||||
|
|
||||||
|
On SCCS, VC implements tags itself; these tags are visible only
|
||||||
|
through VC. Most later systems (including CVS, Subversion, bzr, git,
|
||||||
|
and hg) have a native tag facility, and VC uses it where available;
|
||||||
|
those tags will be visible even when you bypass VC.
|
||||||
|
|
||||||
|
In a file-oriented VCS, when you rename a registered file you need
|
||||||
|
to rename its master along with it; the command @code{vc-rename-file}
|
||||||
|
will do this automatically. If you are using SCCS, you must also
|
||||||
|
update the records of the tag, to mention the file by its new name
|
||||||
|
(@code{vc-rename-file} does this, too). An old tag that refers to a
|
||||||
|
master file that no longer exists under the recorded name is invalid;
|
||||||
|
VC can no longer retrieve it. It would be beyond the scope of this
|
||||||
|
manual to explain enough about RCS and SCCS to explain how to update
|
||||||
|
the tags by hand. Using @code{vc-rename-file} makes the tag remain
|
||||||
|
valid for retrieval, but it does not solve all problems. For example,
|
||||||
|
some of the files in your program probably refer to others by name.
|
||||||
|
At the very least, the makefile probably mentions the file that you
|
||||||
|
renamed. If you retrieve an old tag, the renamed file is retrieved
|
||||||
|
under its new name, which is not the name that the makefile expects.
|
||||||
|
So the program won't really work as retrieved.
|
||||||
|
|
||||||
@node Version Headers
|
@node Version Headers
|
||||||
@subsubsection Inserting Version Control Headers
|
@subsubsection Inserting Version Control Headers
|
||||||
|
|
||||||
Sometimes it is convenient to put version identification strings
|
On Subversion, CVS, RCS, and SCCS, you can put certain special
|
||||||
directly into working files. Certain special strings called
|
strings called @dfn{version headers} into a work file. When the file
|
||||||
@dfn{version headers} are replaced in each successive version by the
|
is committed, the version control system automatically puts the
|
||||||
number of that version, the name of the user who created it, and other
|
revision number, the name of the user who made the commit, and other
|
||||||
relevant information. All of the back ends that VC supports have such
|
relevant information into the version header.
|
||||||
a mechanism, except GNU Arch.
|
|
||||||
|
|
||||||
VC does not normally use the information contained in these headers.
|
@vindex vc-consult-headers
|
||||||
The exception is RCS---with RCS, version headers are sometimes more
|
VC does not normally use the information in the version headers. As
|
||||||
reliable than the master file to determine which version of the file
|
an exception, when using RCS, Emacs uses the version header, if there
|
||||||
you are editing. Note that in a multi-branch environment, version
|
is one, to determine the file version, since it is often more reliable
|
||||||
headers are necessary to make VC behave correctly
|
than the RCS master file. To inhibit using the version header this
|
||||||
@iftex
|
way, change the variable @code{vc-consult-headers} to @code{nil}.
|
||||||
(@pxref{Multi-User Branching,,,emacs, the Emacs Manual}).
|
|
||||||
@end iftex
|
|
||||||
@ifnottex
|
|
||||||
(@pxref{Multi-User Branching}).
|
|
||||||
@end ifnottex
|
|
||||||
|
|
||||||
Searching for RCS version headers is controlled by the variable
|
|
||||||
@code{vc-consult-headers}. If it is non-@code{nil} (the default),
|
|
||||||
Emacs searches for headers to determine the version number you are
|
|
||||||
editing. Setting it to @code{nil} disables this feature.
|
|
||||||
|
|
||||||
Note that although CVS uses the same kind of version headers as RCS
|
|
||||||
does, VC never searches for these headers if you are using CVS,
|
|
||||||
regardless of the above setting.
|
|
||||||
|
|
||||||
@kindex C-x v h
|
@kindex C-x v h
|
||||||
@findex vc-insert-headers
|
@findex vc-insert-headers
|
||||||
You can use the @kbd{C-x v h} command (@code{vc-insert-headers}) to
|
|
||||||
insert a suitable header string.
|
|
||||||
|
|
||||||
@table @kbd
|
|
||||||
@item C-x v h
|
|
||||||
Insert headers in a file for use with your version-control system.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@vindex vc-@var{backend}-header
|
@vindex vc-@var{backend}-header
|
||||||
The default header string is @samp{@w{$}Id$} for RCS and
|
To insert a suitable header string into the current buffer, type
|
||||||
@samp{@w{%}W%} for SCCS. You can specify other headers to insert by
|
@kbd{C-x v h} (@code{vc-insert-headers}). This command works only on
|
||||||
setting the variables @code{vc-@var{backend}-header} where
|
Subversion, CVS, RCS, and SCCS. The variable
|
||||||
@var{backend} is @code{rcs} or @code{sccs}.
|
@code{vc-@var{backend}-header} contains the list of keywords to insert
|
||||||
|
into the version header; for instance, CVS uses @code{vc-cvs-header},
|
||||||
Instead of a single string, you can specify a list of strings; then
|
whose default value is @code{'("\$Id\$")}. (The extra backslashes
|
||||||
each string in the list is inserted as a separate header on a line of
|
prevent the string constant from being interpreted as a header, if the
|
||||||
its own.
|
Emacs Lisp file defining it is maintained with version control.) The
|
||||||
|
@kbd{C-x v h} command inserts each keyword in the list on a new line
|
||||||
It may be necessary to use apparently-superfluous backslashes when
|
at point, surrounded by tabs, and inside comment delimiters if
|
||||||
writing the strings that you put in this variable. For instance, you
|
necessary.
|
||||||
might write @code{"$Id\$"} rather than @code{"$Id@w{$}"}. The extra
|
|
||||||
backslash prevents the string constant from being interpreted as a
|
|
||||||
header, if the Emacs Lisp file containing it is maintained with
|
|
||||||
version control.
|
|
||||||
|
|
||||||
@vindex vc-comment-alist
|
|
||||||
Each header is inserted surrounded by tabs, inside comment delimiters,
|
|
||||||
on a new line at point. Normally the ordinary comment
|
|
||||||
start and comment end strings of the current mode are used, but for
|
|
||||||
certain modes, there are special comment delimiters for this purpose;
|
|
||||||
the variable @code{vc-comment-alist} specifies them. Each element of
|
|
||||||
this list has the form @code{(@var{mode} @var{starter} @var{ender})}.
|
|
||||||
|
|
||||||
@vindex vc-static-header-alist
|
@vindex vc-static-header-alist
|
||||||
The variable @code{vc-static-header-alist} specifies further strings
|
The variable @code{vc-static-header-alist} specifies further strings
|
||||||
to add based on the name of the buffer. Its value should be a list of
|
to add based on the name of the buffer. Its value should be a list of
|
||||||
elements of the form @code{(@var{regexp} . @var{format})}. Whenever
|
elements of the form @code{(@var{regexp} . @var{format})}. Whenever
|
||||||
@var{regexp} matches the buffer name, @var{format} is inserted as part
|
@var{regexp} matches the buffer name, @var{format} is also inserted as
|
||||||
of the header. A header line is inserted for each element that matches
|
part of the version header. A @samp{%s} in @var{format} is replaced
|
||||||
the buffer name, and for each string specified by
|
with the file's version control type.
|
||||||
@code{vc-@var{backend}-header}. The header line is made by processing the
|
|
||||||
string from @code{vc-@var{backend}-header} with the format taken from the
|
|
||||||
element. The default value for @code{vc-static-header-alist} is as follows:
|
|
||||||
|
|
||||||
@example
|
|
||||||
@group
|
|
||||||
(("\\.c$" .
|
|
||||||
"\n#ifndef lint\nstatic char vcid[] = \"\%s\";\n\
|
|
||||||
#endif /* lint */\n"))
|
|
||||||
@end group
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
It specifies insertion of text of this form:
|
|
||||||
|
|
||||||
@example
|
|
||||||
@group
|
|
||||||
|
|
||||||
#ifndef lint
|
|
||||||
static char vcid[] = "@var{string}";
|
|
||||||
#endif /* lint */
|
|
||||||
@end group
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
Note that the text above starts with a blank line.
|
|
||||||
|
|
||||||
If you use more than one version header in a file, put them close
|
|
||||||
together in the file. The mechanism in @code{revert-buffer} that
|
|
||||||
preserves markers may not handle markers positioned between two version
|
|
||||||
headers.
|
|
||||||
|
|
||||||
@node Customizing VC
|
@node Customizing VC
|
||||||
@subsection Customizing VC
|
@subsection Customizing VC
|
||||||
|
|
||||||
@vindex vc-handled-backends
|
@vindex vc-handled-backends
|
||||||
The variable @code{vc-handled-backends} determines which version
|
The variable @code{vc-handled-backends} determines which version
|
||||||
control systems VC should handle. The default value is @code{(RCS CVS
|
control systems VC should handle. The default value is @code{(RCS CVS
|
||||||
SVN SCCS Bzr Git Hg Mtn Arch)}, so it contains all the version systems
|
SVN SCCS Bzr Git Hg Mtn Arch)}, so it contains all the version systems
|
||||||
that are currently supported. If you want VC to ignore one or more of
|
that are currently supported. If you want VC to ignore one or more of
|
||||||
these systems, exclude its name from the list. To disable VC entirely,
|
these systems, exclude its name from the list. To disable VC
|
||||||
set this variable to @code{nil}.
|
entirely, set this variable to @code{nil}.
|
||||||
|
|
||||||
The order of systems in the list is significant: when you visit a file
|
The order of systems in the list is significant: when you visit a
|
||||||
registered in more than one system (@pxref{Local Version Control}), VC
|
file registered in more than one system, VC uses the system that comes
|
||||||
uses the system that comes first in @code{vc-handled-backends} by
|
first in @code{vc-handled-backends} by default. The order is also
|
||||||
default. The order is also significant when you register a file for
|
significant when you register a file for the first time
|
||||||
the first time, see
|
|
||||||
@iftex
|
@iftex
|
||||||
@ref{Registering,,,emacs, the Emacs Manual},
|
(@pxref{Registering,,,emacs, the Emacs Manual}).
|
||||||
@end iftex
|
@end iftex
|
||||||
@ifnottex
|
@ifnottex
|
||||||
@ref{Registering},
|
(@pxref{Registering}).
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
for details.
|
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* General VC Options:: Options that apply to multiple back ends.
|
* General VC Options:: Options that apply to multiple back ends.
|
||||||
|
|
@ -626,40 +291,27 @@ maintained with version control. If you want to make backup files even
|
||||||
for files that use version control, set the variable
|
for files that use version control, set the variable
|
||||||
@code{vc-make-backup-files} to a non-@code{nil} value.
|
@code{vc-make-backup-files} to a non-@code{nil} value.
|
||||||
|
|
||||||
@vindex vc-keep-workfiles
|
|
||||||
Normally the work file exists all the time, whether it is locked or
|
|
||||||
not. If you set @code{vc-keep-workfiles} to @code{nil}, then checking
|
|
||||||
in a new version with @kbd{C-x v v} deletes the work file; but any
|
|
||||||
attempt to visit the file with Emacs creates it again. (With CVS, work
|
|
||||||
files are always kept.)
|
|
||||||
|
|
||||||
@vindex vc-follow-symlinks
|
@vindex vc-follow-symlinks
|
||||||
Editing a version-controlled file through a symbolic link can be
|
@cindex symbolic links (and version control)
|
||||||
dangerous. It bypasses the version control system---you can edit the
|
Editing a version-controlled file through a symbolic link may cause
|
||||||
file without locking it, and fail to check your changes in. Also,
|
unexpected results, if you are unaware that the underlying file is
|
||||||
your changes might overwrite those of another user. To protect against
|
version-controlled. The variable @code{vc-follow-symlinks} controls
|
||||||
this, VC checks each symbolic link that you visit, to see if it points
|
what Emacs does if you try to visit a symbolic link pointing to a
|
||||||
to a file under version control.
|
version-controlled file. If the value is @code{ask} (the default),
|
||||||
|
Emacs asks for confirmation. If it is @code{nil}, Emacs just displays
|
||||||
The variable @code{vc-follow-symlinks} controls what to do when a
|
a warning message. If it is @code{t}, Emacs automatically follows the
|
||||||
symbolic link points to a version-controlled file. If it is @code{nil},
|
link and visits the real file instead.
|
||||||
VC only displays a warning message. If it is @code{t}, VC automatically
|
|
||||||
follows the link, and visits the real file instead, telling you about
|
|
||||||
this in the echo area. If the value is @code{ask} (the default), VC
|
|
||||||
asks you each time whether to follow the link.
|
|
||||||
|
|
||||||
@vindex vc-suppress-confirm
|
@vindex vc-suppress-confirm
|
||||||
If @code{vc-suppress-confirm} is non-@code{nil}, then @kbd{C-x v v}
|
If @code{vc-suppress-confirm} is non-@code{nil}, then @kbd{C-x v v}
|
||||||
and @kbd{C-x v i} can save the current buffer without asking, and
|
and @kbd{C-x v i} can save the current buffer without asking, and
|
||||||
@kbd{C-x v u} also operates without asking for confirmation. (This
|
@kbd{C-x v u} also operates without asking for confirmation.
|
||||||
variable does not affect @kbd{C-x v c}; that operation is so drastic
|
|
||||||
that it should always ask for confirmation.)
|
|
||||||
|
|
||||||
@vindex vc-command-messages
|
@vindex vc-command-messages
|
||||||
VC mode does much of its work by running the shell commands for the
|
VC mode does much of its work by running the shell commands for the
|
||||||
appropriate backend. If @code{vc-command-messages} is non-@code{nil}, VC
|
appropriate version control system. If @code{vc-command-messages} is
|
||||||
displays messages to indicate which shell commands it runs, and
|
non-@code{nil}, VC displays messages to indicate which shell commands
|
||||||
additional messages when the commands finish.
|
it runs, and additional messages when the commands finish.
|
||||||
|
|
||||||
@vindex vc-path
|
@vindex vc-path
|
||||||
You can specify additional directories to search for version control
|
You can specify additional directories to search for version control
|
||||||
|
|
@ -715,37 +367,16 @@ the variable @code{vc-mistrust-permissions} affects SCCS use, but
|
||||||
@node CVS Options
|
@node CVS Options
|
||||||
@subsubsection Options specific for CVS
|
@subsubsection Options specific for CVS
|
||||||
|
|
||||||
@cindex locking (CVS)
|
@vindex vc-cvs-global-switches
|
||||||
By default, CVS does not use locking to coordinate the activities of
|
You can specify additional command line options to pass to all CVS
|
||||||
several users; anyone can change a work file at any time. However,
|
operations in the variable @code{vc-cvs-global-switches}. These
|
||||||
there are ways to restrict this, resulting in behavior that resembles
|
switches are inserted immediately after the @code{cvs} command, before
|
||||||
locking.
|
the name of the operation to invoke.
|
||||||
|
|
||||||
@cindex CVSREAD environment variable (CVS)
|
|
||||||
For one thing, you can set the @env{CVSREAD} environment variable
|
|
||||||
(the value you use makes no difference). If this variable is defined,
|
|
||||||
CVS makes your work files read-only by default. In Emacs, you must
|
|
||||||
type @kbd{C-x v v} to make the file writable, so that editing works
|
|
||||||
in fact similar as if locking was used. Note however, that no actual
|
|
||||||
locking is performed, so several users can make their files writable
|
|
||||||
at the same time. When setting @env{CVSREAD} for the first time, make
|
|
||||||
sure to check out all your modules anew, so that the file protections
|
|
||||||
are set correctly.
|
|
||||||
|
|
||||||
@cindex cvs watch feature
|
|
||||||
@cindex watching files (CVS)
|
|
||||||
Another way to achieve something similar to locking is to use the
|
|
||||||
@dfn{watch} feature of CVS. If a file is being watched, CVS makes it
|
|
||||||
read-only by default, and you must also use @kbd{C-x v v} in Emacs to
|
|
||||||
make it writable. VC calls @code{cvs edit} to make the file writable,
|
|
||||||
and CVS takes care to notify other developers of the fact that you
|
|
||||||
intend to change the file. See the CVS documentation for details on
|
|
||||||
using the watch feature.
|
|
||||||
|
|
||||||
@vindex vc-stay-local
|
@vindex vc-stay-local
|
||||||
@vindex vc-cvs-stay-local
|
@vindex vc-cvs-stay-local
|
||||||
@cindex remote repositories (CVS)
|
@cindex remote repositories (CVS)
|
||||||
When a file's repository is on a remote machine, VC tries to keep
|
When using a CVS repository on a remote machine, VC can try keeping
|
||||||
network interactions to a minimum. This is controlled by the variable
|
network interactions to a minimum. This is controlled by the variable
|
||||||
@code{vc-cvs-stay-local}. There is another variable,
|
@code{vc-cvs-stay-local}. There is another variable,
|
||||||
@code{vc-stay-local}, which enables the feature also for other back
|
@code{vc-stay-local}, which enables the feature also for other back
|
||||||
|
|
@ -753,36 +384,58 @@ ends that support it, including CVS. In the following, we will talk
|
||||||
only about @code{vc-cvs-stay-local}, but everything applies to
|
only about @code{vc-cvs-stay-local}, but everything applies to
|
||||||
@code{vc-stay-local} as well.
|
@code{vc-stay-local} as well.
|
||||||
|
|
||||||
If @code{vc-cvs-stay-local} is @code{t} (the default), then VC uses
|
If @code{vc-cvs-stay-local} is @code{t} (the default), VC determines
|
||||||
only the entry in the local CVS subdirectory to determine the file's
|
the version control status of each file using only the entry in the
|
||||||
state (and possibly information returned by previous CVS commands).
|
local CVS subdirectory and the information returned by previous CVS
|
||||||
One consequence of this is that when you have modified a file, and
|
commands. As a consequence, if you have modified a file and somebody
|
||||||
somebody else has already checked in other changes to the file, you
|
else has checked in other changes, you will not be notified of the
|
||||||
are not notified of it until you actually try to commit. (But you can
|
conflict until you try to commit.
|
||||||
try to pick up any recent changes from the repository first, using
|
|
||||||
@kbd{C-x v m @key{RET}},
|
|
||||||
@iftex
|
|
||||||
@pxref{Merging,,,emacs, the Emacs Manual}).
|
|
||||||
@end iftex
|
|
||||||
@ifnottex
|
|
||||||
@pxref{Merging}).
|
|
||||||
@end ifnottex
|
|
||||||
|
|
||||||
When @code{vc-cvs-stay-local} is @code{t}, VC also makes local
|
If you change @code{vc-cvs-stay-local} to @code{nil}, VC queries the
|
||||||
version backups, so that simple diff and revert operations are
|
remote repository @emph{before} it decides what to do in
|
||||||
completely local (@pxref{Version Backups}).
|
@code{vc-next-action} (@kbd{C-x v v}), just as it does for local
|
||||||
|
repositories.
|
||||||
On the other hand, if you set @code{vc-cvs-stay-local} to @code{nil},
|
|
||||||
then VC queries the remote repository @emph{before} it decides what to
|
|
||||||
do in @code{vc-next-action} (@kbd{C-x v v}), just as it does for local
|
|
||||||
repositories. It also does not make any version backups.
|
|
||||||
|
|
||||||
You can also set @code{vc-cvs-stay-local} to a regular expression
|
You can also set @code{vc-cvs-stay-local} to a regular expression
|
||||||
that is matched against the repository host name; VC then stays local
|
that is matched against the repository host name; VC then stays local
|
||||||
only for repositories from hosts that match the pattern.
|
only for repositories from hosts that match the pattern.
|
||||||
|
|
||||||
@vindex vc-cvs-global-switches
|
@cindex automatic version backups
|
||||||
You can specify additional command line options to pass to all CVS
|
When using a remote repository, Emacs normally makes @dfn{automatic
|
||||||
operations in the variable @code{vc-cvs-global-switches}. These
|
version backups} of the original versions of each edited file. These
|
||||||
switches are inserted immediately after the @code{cvs} command, before
|
local backups are made whenever you save the first changes to a file,
|
||||||
the name of the operation to invoke.
|
and they are removed after you commit your changes to the repository.
|
||||||
|
(Note that these are not the same as ordinary Emacs backup files;
|
||||||
|
@iftex
|
||||||
|
@pxref{Backup,,,emacs, the Emacs Manual}.)
|
||||||
|
@end iftex
|
||||||
|
@ifnottex
|
||||||
|
@pxref{Backup}.)
|
||||||
|
@end ifnottex
|
||||||
|
Commands like @kbd{C-x v =} and @kbd{C-x v u} make use of automatic
|
||||||
|
version backups, if possible, to avoid having to access the network.
|
||||||
|
|
||||||
|
Setting @code{vc-cvs-stay-local} to @code{nil} disables the making
|
||||||
|
of automatic version backups.
|
||||||
|
|
||||||
|
@cindex manual version backups
|
||||||
|
Automatic version backups have names of the form
|
||||||
|
@w{@code{@var{file}.~@var{version}.~}}. This is similar to the name
|
||||||
|
that @kbd{C-x v ~} saves old versions to
|
||||||
|
@iftex
|
||||||
|
(@pxref{Old Revisions,,,emacs, the Emacs Manual}),
|
||||||
|
@end iftex
|
||||||
|
@ifnottex
|
||||||
|
(@pxref{Old Revisions}),
|
||||||
|
@end ifnottex
|
||||||
|
except for the additional dot (@samp{.}) after the version. The
|
||||||
|
relevant VC commands can use both kinds of version backups. The main
|
||||||
|
difference is that the ``manual'' version backups made by @kbd{C-x v
|
||||||
|
~} are not deleted automatically when you commit.
|
||||||
|
|
||||||
|
@cindex locking (CVS)
|
||||||
|
CVS does not use locking by default, but there are ways to enable
|
||||||
|
locking-like behavior using its @env{CVSREAD} or @dfn{watch} feature;
|
||||||
|
see the CVS documentation for details. If that case, you can use
|
||||||
|
@kbd{C-x v v} in Emacs to toggle locking, as you would for a
|
||||||
|
locking-based version control system (@pxref{VC With A Locking VCS}).
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
|
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node Windows, Frames, Buffers, Top
|
@node Windows, Frames, Buffers, Top
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the Emacs manual.
|
@c This is part of the Emacs manual.
|
||||||
@c Copyright (C) 1987, 1993-1995, 1997, 2001-2011
|
@c Copyright (C) 1987, 1993-1995, 1997, 2001-2012
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
@node X Resources, Antinews, Emacs Invocation, Top
|
@node X Resources, Antinews, Emacs Invocation, Top
|
||||||
|
|
@ -51,15 +51,16 @@ this file do not take effect immediately, because the X server stores
|
||||||
its own list of resources; to update it, use the command
|
its own list of resources; to update it, use the command
|
||||||
@command{xrdb}---for instance, @samp{xrdb ~/.Xdefaults}.
|
@command{xrdb}---for instance, @samp{xrdb ~/.Xdefaults}.
|
||||||
|
|
||||||
@cindex Registry (MS-Windows)
|
@cindex registry, setting resources (MS-Windows)
|
||||||
(MS-Windows systems do not support X resource files; on Windows,
|
(MS-Windows systems do not support X resource files; on Windows,
|
||||||
Emacs looks for X resources in the Windows Registry, first under the
|
Emacs looks for X resources in the Windows Registry, first under the
|
||||||
key @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs} and then under the key
|
key @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs}, which affects only
|
||||||
@samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}. The menu and scroll
|
the current user and override the system-wide settings, and then under
|
||||||
bars are native widgets on MS-Windows, so they are only customizable
|
the key @samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}, which affects
|
||||||
via the system-wide settings in the Display Control Panel. You can
|
all users of the system. The menu and scroll bars are native widgets
|
||||||
also set resources using the @samp{-xrm} command line option, as
|
on MS-Windows, so they are only customizable via the system-wide
|
||||||
explained below.)
|
settings in the Display Control Panel. You can also set resources
|
||||||
|
using the @samp{-xrm} command line option, as explained below.)
|
||||||
|
|
||||||
Each line in the X resource file specifies a value for one option or
|
Each line in the X resource file specifies a value for one option or
|
||||||
for a collection of related options. Each resource specification
|
for a collection of related options. Each resource specification
|
||||||
|
|
|
||||||
|
|
@ -471,7 +471,7 @@
|
||||||
;; coding: utf-8
|
;; coding: utf-8
|
||||||
;; End:
|
;; End:
|
||||||
|
|
||||||
Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Emacs.
|
This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#### Makefile for the Emacs Lisp Introduction manual
|
#### Makefile for the Emacs Lisp Introduction manual
|
||||||
|
|
||||||
# Copyright (C) 1994-1999, 2001-2011 Free Software Foundation, Inc.
|
# Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is part of GNU Emacs.
|
# This file is part of GNU Emacs.
|
||||||
|
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue