mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-17 19:30: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>
|
||||
|
||||
* 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>
|
||||
|
||||
* 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>
|
||||
|
||||
|
|
@ -2439,7 +2447,7 @@
|
|||
|
||||
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)
|
||||
|
||||
|
|
@ -10072,7 +10080,7 @@
|
|||
;; coding: utf-8
|
||||
;; 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# 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.
|
||||
#
|
||||
|
|
|
|||
2
INSTALL
2
INSTALL
|
|
@ -1,5 +1,5 @@
|
|||
GNU Emacs Installation Guide
|
||||
Copyright (C) 1992, 1994, 1996-1997, 2000-2011
|
||||
Copyright (C) 1992, 1994, 1996-1997, 2000-2012
|
||||
Free Software Foundation, Inc.
|
||||
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.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# DIST: make most of the changes to this file you might want, so try
|
||||
# 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.
|
||||
|
||||
|
|
|
|||
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.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1226,7 +1226,7 @@
|
|||
;; coding: utf-8
|
||||
;; End:
|
||||
|
||||
Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
|||
|
|
@ -61,13 +61,6 @@ sk Miroslav Vaško
|
|||
|
||||
* 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
|
||||
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
|
||||
|
|
@ -90,25 +83,8 @@ and change key bindings where necessary. The current list of modes:
|
|||
`log-edit-comment-search-forward'. Perhaps search commands
|
||||
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
|
||||
|
||||
** Clean up Emacs.app references in code and documentation.
|
||||
|
||||
** Document new font backend
|
||||
|
||||
** Document XEmbed support
|
||||
|
||||
** Check the Emacs Tutorial.
|
||||
|
|
@ -148,19 +124,19 @@ TUTORIAL.zh
|
|||
|
||||
** Check the manual.
|
||||
|
||||
abbrevs.texi
|
||||
abbrevs.texi cyd
|
||||
ack.texi
|
||||
anti.texi
|
||||
arevert-xtra.texi cyd
|
||||
basic.texi cyd
|
||||
buffers.texi cyd
|
||||
building.texi
|
||||
building.texi cyd
|
||||
calendar.texi
|
||||
cal-xtra.texi
|
||||
cmdargs.texi
|
||||
commands.texi cyd
|
||||
custom.texi
|
||||
dired.texi
|
||||
custom.texi cyd
|
||||
dired.texi cyd
|
||||
dired-xtra.texi
|
||||
display.texi cyd
|
||||
emacs.texi
|
||||
|
|
@ -177,27 +153,27 @@ indent.texi cyd
|
|||
killing.texi cyd
|
||||
kmacro.texi cyd
|
||||
macos.texi
|
||||
maintaining.texi
|
||||
major.texi
|
||||
maintaining.texi cyd
|
||||
mark.texi cyd
|
||||
mini.texi
|
||||
misc.texi
|
||||
misc.texi cyd
|
||||
modes.texi cyd
|
||||
msdog.texi
|
||||
msdog-xtra.texi
|
||||
mule.texi
|
||||
m-x.texi cyd
|
||||
package.texi cyd
|
||||
picture-xtra.texi
|
||||
programs.texi
|
||||
programs.texi cyd
|
||||
regs.texi cyd
|
||||
rmail.texi
|
||||
screen.texi cyd
|
||||
search.texi cyd
|
||||
sending.texi
|
||||
text.texi
|
||||
trouble.texi
|
||||
vc-xtra.texi
|
||||
vc1-xtra.texi
|
||||
sending.texi cyd
|
||||
text.texi cyd
|
||||
trouble.texi cyd
|
||||
vc-xtra.texi cyd
|
||||
vc1-xtra.texi cyd
|
||||
windows.texi cyd
|
||||
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.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#! /usr/bin/perl
|
||||
# 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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>
|
||||
;; 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
|
||||
National Institute of Advanced Industrial Science and Technology (AIST)
|
||||
Registration Number H13PRO009
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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>
|
||||
;; Maintainer: Markus Rost <rost@math.ohio-state.edu>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#! /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.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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>
|
||||
;; 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
|
||||
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
|
||||
elements found since the last lambda expression. It should return a
|
||||
semantic element (see below.)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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>
|
||||
;; David Ponce <david@dponce.com>
|
||||
|
|
@ -261,7 +261,7 @@ define
|
|||
;
|
||||
|
||||
;; 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
|
||||
;; (EXPANDFULL $1 structsubparts)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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>
|
||||
;; Maintainer: David Ponce <david@dponce.com>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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>
|
||||
;; Maintainer: David Ponce <david@dponce.com>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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.
|
||||
|
||||
;; Author: Joakim Verona
|
||||
|
|
@ -66,7 +66,7 @@
|
|||
;; Other Goals
|
||||
%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
|
||||
;; when possible
|
||||
;; ------------------
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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>
|
||||
;; David Ponce <david@dponce.com>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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
|
||||
|
||||
;; Author: Richard Kim <ryk@dspwiz.com>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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>
|
||||
;; Keywords: syntax
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; 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>
|
||||
;; Maintainer: David Ponce <david@dponce.com>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#! /bin/bash
|
||||
|
||||
## Copyright (C) 2002-2011 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||
|
||||
## Author: Francesco Potorti` <pot@gnu.org>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# Build Emacs with various options for profiling, debugging,
|
||||
# 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
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.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
-*- 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.
|
||||
|
||||
From README.multi-tty in the multi-tty branch.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
-*-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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
Precompiled Distributions of
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
### 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>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
### 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>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
/* 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.
|
||||
|
||||
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.
|
||||
## FIXME this comes from src/s/{gnu,gnu-linux}.h:
|
||||
## #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
|
||||
gnu*) REL_ALLOC=no ;;
|
||||
esac
|
||||
|
|
@ -10339,9 +10339,15 @@ fi
|
|||
done
|
||||
|
||||
if test "$ac_cv_header_pthread_h"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5
|
||||
$as_echo_n "checking for pthread_self in -lpthread... " >&6; }
|
||||
if test "${ac_cv_lib_pthread_pthread_self+set}" = set; then :
|
||||
if test "$GMALLOC_OBJ" = gmalloc.o; then
|
||||
emacs_pthread_function=pthread_atfork
|
||||
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
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
|
|
@ -10355,27 +10361,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char pthread_self ();
|
||||
char $emacs_pthread_function ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return pthread_self ();
|
||||
return $emacs_pthread_function ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_lib_pthread_pthread_self=yes
|
||||
eval "$as_ac_Lib=yes"
|
||||
else
|
||||
ac_cv_lib_pthread_pthread_self=no
|
||||
eval "$as_ac_Lib=no"
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_self" >&5
|
||||
$as_echo "$ac_cv_lib_pthread_pthread_self" >&6; }
|
||||
if test "x$ac_cv_lib_pthread_pthread_self" = x""yes; then :
|
||||
eval ac_res=\$$as_ac_Lib
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
eval as_val=\$$as_ac_Lib
|
||||
if test "x$as_val" = x""yes; then :
|
||||
HAVE_PTHREAD=yes
|
||||
fi
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
### 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>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
@echo off
|
||||
rem ----------------------------------------------------------------------
|
||||
rem Configuration script for MSDOS
|
||||
rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003
|
||||
rem 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
|
||||
rem Inc.
|
||||
rem Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
|
||||
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 If you changed any AC_DEFINES, also run autoheader.
|
||||
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 This file is part of GNU Emacs.
|
||||
dnl
|
||||
|
|
@ -1683,7 +1683,7 @@ if test "$doug_lea_malloc" = "yes" ; then
|
|||
## Use mmap directly for allocating larger buffers.
|
||||
## FIXME this comes from src/s/{gnu,gnu-linux}.h:
|
||||
## #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
|
||||
gnu*) REL_ALLOC=no ;;
|
||||
esac
|
||||
|
|
@ -1720,7 +1720,15 @@ dnl Check if pthreads is available.
|
|||
LIB_PTHREAD=
|
||||
AC_CHECK_HEADERS(pthread.h)
|
||||
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
|
||||
if test "$HAVE_PTHREAD" = yes; then
|
||||
case "${canonical}" in
|
||||
|
|
@ -3508,7 +3516,7 @@ fi
|
|||
|
||||
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.
|
||||
|
||||
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>
|
||||
|
||||
* building.texi (Executing Lisp): Fix xref for C-M-x.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#### 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@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 .}.
|
||||
|
||||
@findex abbrev-mode
|
||||
@vindex abbrev-mode
|
||||
@cindex Abbrev mode
|
||||
@cindex mode, Abbrev
|
||||
Abbrevs expand only when Abbrev mode (a minor mode) is enabled.
|
||||
Disabling Abbrev mode does not cause abbrev definitions to be forgotten,
|
||||
but they do not expand until Abbrev mode is enabled again. The command
|
||||
@kbd{M-x abbrev-mode} toggles Abbrev mode; with a numeric argument, it
|
||||
turns Abbrev mode on if the argument is positive, off otherwise.
|
||||
@xref{Minor Modes}. @code{abbrev-mode} is also a variable; Abbrev mode is
|
||||
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 expand only when Abbrev mode, a buffer-local minor mode, is
|
||||
enabled. Disabling Abbrev mode does not cause abbrev definitions to
|
||||
be forgotten, but they do not expand until Abbrev mode is enabled
|
||||
again. The command @kbd{M-x abbrev-mode} toggles Abbrev mode; with a
|
||||
numeric argument, it turns Abbrev mode on if the argument is positive,
|
||||
off otherwise. @xref{Minor Modes}.
|
||||
|
||||
Abbrevs can have @dfn{mode-specific} definitions, active only in one major
|
||||
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
|
||||
@findex add-mode-abbrev
|
||||
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
|
||||
particular major mode. @kbd{C-x a l} defines an abbrev for the major mode
|
||||
in effect at the time @kbd{C-x a l} is typed. The arguments work the same
|
||||
as for @kbd{C-x a g}.
|
||||
defines a mode-specific abbrev for the current major mode. The
|
||||
arguments work the same as for @kbd{C-x a g}.
|
||||
|
||||
@kindex C-x a i g
|
||||
@findex inverse-add-global-abbrev
|
||||
@kindex C-x a i l
|
||||
@findex inverse-add-mode-abbrev
|
||||
If the abbrev text itself is already in the buffer, you can use the
|
||||
commands @kbd{C-x a i g} (@code{inverse-add-global-abbrev}) and
|
||||
@kbd{C-x a i l} (@code{inverse-add-mode-abbrev}) to define it as an
|
||||
abbrev by specify the expansion in the minibuffer. These commands are
|
||||
called ``inverse'' because they invert the meaning of the two text
|
||||
strings they use (one from the buffer and one read with the
|
||||
minibuffer).
|
||||
@kbd{C-x a i g} (@code{inverse-add-global-abbrev}) and @kbd{C-x a i
|
||||
l} (@code{inverse-add-mode-abbrev}) perform the opposite task: if the
|
||||
abbrev text is already in the buffer, you use these commands to define
|
||||
an abbrev by specifying the expansion in the minibuffer. These
|
||||
commands will expand the abbrev text used for the definition.
|
||||
|
||||
@findex define-mode-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
|
||||
@code{define-mode-abbrev} does likewise for a mode-specific abbrev.
|
||||
|
||||
To change the definition of an abbrev, just define a new definition.
|
||||
When the abbrev has a prior definition, the abbrev definition commands
|
||||
To change the definition of an abbrev, just make a new definition.
|
||||
When an abbrev has a prior definition, the abbrev definition commands
|
||||
ask for confirmation before replacing it.
|
||||
|
||||
@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.
|
||||
|
||||
@vindex abbrev-all-caps
|
||||
Abbrev expansion preserves case; thus, @samp{foo} expands into @samp{find
|
||||
outer otter}; @samp{Foo} into @samp{Find outer otter}, and @samp{FOO} into
|
||||
@samp{FIND OUTER OTTER} or @samp{Find Outer Otter} according to the
|
||||
variable @code{abbrev-all-caps} (setting it non-@code{nil} specifies
|
||||
@samp{FIND OUTER OTTER}).
|
||||
Abbrev expansion preserves case: @samp{foo} expands to @samp{find
|
||||
outer otter}, and @samp{Foo} to @samp{Find outer otter}. @samp{FOO}
|
||||
expands to @samp{Find Outer Otter} by default, but if you change the
|
||||
variable @code{abbrev-all-caps} to a non-@code{nil} value, it expands
|
||||
to @samp{FIND OUTER OTTER}.
|
||||
|
||||
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.
|
||||
|
||||
@findex unexpand-abbrev
|
||||
If you expand an abbrev by mistake, you can undo the expansion and
|
||||
bring back the abbrev itself by typing @kbd{C-_} to undo (@pxref{Undo}).
|
||||
This also undoes the insertion of the non-word character that expanded
|
||||
the abbrev. If the result you want is the terminating non-word
|
||||
character plus the unexpanded abbrev, you must reinsert the terminating
|
||||
character, quoting it with @kbd{C-q}. You can also use the command
|
||||
@kbd{M-x unexpand-abbrev} to cancel the last expansion without
|
||||
deleting the terminating character.
|
||||
If you expand an abbrev by mistake, you can undo the expansion by
|
||||
typing @kbd{C-/} (@code{undo}). @xref{Undo}. This undoes the
|
||||
insertion of the abbrev expansion and brings back the abbrev text. If
|
||||
the result you want is the terminating non-word character plus the
|
||||
unexpanded abbrev, you must reinsert the terminating character,
|
||||
quoting it with @kbd{C-q}. You can also use the command @kbd{M-x
|
||||
unexpand-abbrev} to cancel the last expansion without deleting the
|
||||
terminating character.
|
||||
|
||||
@findex expand-region-abbrevs
|
||||
@kbd{M-x expand-region-abbrevs} searches through the region for defined
|
||||
|
|
@ -409,12 +402,11 @@ you are expanding.
|
|||
|
||||
@vindex dabbrev-case-fold-search
|
||||
This feature is controlled by the variable
|
||||
@code{dabbrev-case-fold-search}. If it is @code{t}, case is ignored in
|
||||
this search; if it is @code{nil}, the word and the expansion must match
|
||||
in case. If the value of @code{dabbrev-case-fold-search} is
|
||||
@code{case-fold-search}, which is true by default, then the variable
|
||||
@code{case-fold-search} controls whether to ignore case while searching
|
||||
for expansions.
|
||||
@code{dabbrev-case-fold-search}. If it is @code{t}, case is ignored
|
||||
in this search; if it is @code{nil}, the word and the expansion must
|
||||
match in case. If the value is @code{case-fold-search} (the default),
|
||||
then the variable @code{case-fold-search} controls whether to ignore
|
||||
case while searching for expansions (@pxref{Search Case}).
|
||||
|
||||
@vindex dabbrev-case-replace
|
||||
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
|
||||
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
|
||||
@code{nil}, the expansion is always copied verbatim. If the value of
|
||||
@code{dabbrev-case-replace} is @code{case-replace}, which is true by
|
||||
default, then the variable @code{case-replace} controls whether to
|
||||
copy the expansion verbatim.
|
||||
@code{nil}, the expansion is always copied verbatim. If the value is
|
||||
@code{case-replace} (the default), then the variable
|
||||
@code{case-replace} controls whether to copy the expansion verbatim
|
||||
(@pxref{Replacement and Case}).
|
||||
|
||||
However, if the expansion contains a complex mixed case pattern, and
|
||||
the dynamic abbrev matches this pattern as far as it goes, then the
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
@c -*- coding: iso-latin-1 -*-
|
||||
@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
|
||||
@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.
|
||||
|
||||
@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.
|
||||
|
||||
@item
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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.
|
||||
|
||||
@node Antinews, Mac OS / GNUstep, X Resources, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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
|
||||
@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 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 See file emacs.texi for copying conditions.
|
||||
@node Basic, Minibuffer, Exiting, Top
|
||||
|
|
@ -130,11 +130,13 @@ specifies how many copies of the character to insert
|
|||
@cindex moving the cursor
|
||||
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},
|
||||
@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}
|
||||
present on most keyboards: @kbd{@key{right}}, @kbd{@key{left}},
|
||||
@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
|
||||
position clicked. Emacs also provides a variety of additional
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Buffers, Windows, Files, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@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,
|
||||
with different facilities for running
|
||||
the Lisp programs.
|
||||
* Lisp Libraries:: How Lisp programs are loaded into Emacs.
|
||||
* Lisp Eval:: Executing a single Lisp expression in Emacs.
|
||||
* Lisp Interaction:: Executing Lisp in an Emacs buffer.
|
||||
* Libraries: Lisp Libraries. How Lisp programs are loaded into Emacs.
|
||||
* Eval: Lisp Eval. Executing a single Lisp expression in Emacs.
|
||||
* Interaction: Lisp Interaction. Executing Lisp in an Emacs buffer.
|
||||
* External Lisp:: Communicating through Emacs with a separate Lisp.
|
||||
@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
|
||||
@iftex
|
||||
the preceding section.
|
||||
@end iftext
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@ref{Starting GUD}.
|
||||
@end ifnottex
|
||||
|
|
@ -565,7 +565,7 @@ Mode}). Completion is available for most debugger commands
|
|||
commands to repeat them.
|
||||
@iftex
|
||||
See the next section
|
||||
@end iftext
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@xref{Commands of GUD},
|
||||
@end ifnottex
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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
|
||||
@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 diary-entry-marker
|
||||
@vindex calenday-today-marker
|
||||
@vindex calendar-today-marker
|
||||
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
|
||||
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
|
||||
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
|
||||
default, the calendar uses faces named @code{holiday}, @code{diary}, and
|
||||
@code{calendar-today} for these purposes.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Calendar/Diary
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Emacs Invocation, X Resources, GNU Free Documentation License, Top
|
||||
|
|
@ -675,9 +675,9 @@ changing any environment or registry settings.
|
|||
@node MS-Windows Registry
|
||||
@appendixsubsec The MS-Windows System Registry
|
||||
@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},
|
||||
@env{EMACSPATH}, @env{EMACSDOC}, @env{SHELL} and @env{TERM} to the
|
||||
@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
|
||||
of the settings which on X belong in the @file{.Xdefaults} file
|
||||
(@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
|
||||
@appendixsec Specifying the Display Name
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@iftex
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,5 @@
|
|||
@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
|
||||
@c This file is included either in emacs-xtra.texi (when producing the
|
||||
|
|
@ -7,24 +7,24 @@
|
|||
@node Subdir Switches
|
||||
@section Subdirectory Switches in Dired
|
||||
|
||||
You can insert subdirectories with specified @code{ls} switches in
|
||||
Dired buffers using @kbd{C-u i}. You can change the @code{ls}
|
||||
You can insert subdirectories with specified @command{ls} switches in
|
||||
Dired buffers using @kbd{C-u i}. You can change the @command{ls}
|
||||
switches of an already inserted subdirectory using @kbd{C-u l}.
|
||||
|
||||
Dired preserves the switches if you revert the buffer. Deleting a
|
||||
subdirectory forgets about its switches.
|
||||
|
||||
Using @code{dired-undo} (usually bound to @kbd{C-_} and @kbd{C-x u})
|
||||
to reinsert or delete subdirectories that were inserted with explicit
|
||||
switches can bypass Dired's machinery for remembering (or forgetting)
|
||||
switches. Deleting a subdirectory using @code{dired-undo} does not
|
||||
forget its switches. When later reinserted using @kbd{i}, it will be
|
||||
reinserted using its old switches. Using @code{dired-undo} to
|
||||
reinsert a subdirectory that was deleted using the regular
|
||||
Dired commands (not @code{dired-undo}) will originally insert it with
|
||||
its old switches. Reverting the buffer, however, will relist it using
|
||||
the buffer's default switches. If any of this yields problems, you
|
||||
can easily correct the situation using @kbd{C-u i} or @kbd{C-u l}.
|
||||
Using @code{dired-undo} (@pxref{Marks vs Flags}) to reinsert or delete
|
||||
subdirectories that were inserted with explicit switches can bypass
|
||||
Dired's machinery for remembering (or forgetting) switches. Deleting
|
||||
a subdirectory using @code{dired-undo} does not forget its switches.
|
||||
When later reinserted using @kbd{i}, it will be reinserted using its
|
||||
old switches. Using @code{dired-undo} to reinsert a subdirectory that
|
||||
was deleted using the regular Dired commands (not @code{dired-undo})
|
||||
will originally insert it with its old switches. Reverting the
|
||||
buffer, however, will relist it using the buffer's default switches.
|
||||
If any of this yields problems, you can easily correct the situation
|
||||
using @kbd{C-u i} or @kbd{C-u l}.
|
||||
|
||||
Dired does not remember the @code{R} switch. Inserting a subdirectory
|
||||
with switches that include the @code{R} switch is equivalent to
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Dired
|
||||
|
|
@ -73,32 +73,45 @@ completion commands can be used in the minibuffer; in particular,
|
|||
a directory name.
|
||||
|
||||
The variable @code{dired-listing-switches} specifies the options to
|
||||
give to @code{ls} for listing the directory; this string @emph{must}
|
||||
contain @samp{-l}. If you use a prefix argument with the @code{dired}
|
||||
command, you can specify the @code{ls} switches with the minibuffer
|
||||
before you enter the directory specification. No matter how they are
|
||||
specified, the @code{ls} switches can include short options (that is,
|
||||
single characters) requiring no arguments, and long options (starting
|
||||
with @samp{--}) whose arguments are specified with @samp{=}.
|
||||
give to @command{ls} for listing the directory; this string
|
||||
@emph{must} contain @samp{-l}. If you use a prefix argument with the
|
||||
@code{dired} command, you can specify the @command{ls} switches with the
|
||||
minibuffer before you enter the directory specification. No matter
|
||||
how they are specified, the @command{ls} switches can include short
|
||||
options (that is, single characters) requiring no arguments, and long
|
||||
options (starting with @samp{--}) whose arguments are specified with
|
||||
@samp{=}.
|
||||
|
||||
@vindex dired-use-ls-dired
|
||||
Note that Dired automatically adds the option @samp{--dired}, if
|
||||
your @code{ls} program supports it, unless you explicitly set
|
||||
the variable @code{dired-use-ls-dired} to @code{nil}. Without this
|
||||
option, Dired will have trouble parsing some @samp{unusual} file-names.
|
||||
See the documentation of @code{dired-use-ls-dired} for more details.
|
||||
If your @command{ls} program supports the @samp{--dired} option,
|
||||
Dired automatically passes it that option; this causes @command{ls} to
|
||||
emit special escape sequences for certain unusual file names, without
|
||||
which Dired will not be able to parse those names. The first time you
|
||||
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};
|
||||
see @ref{ls in Lisp}, for options and peculiarities of that emulation.
|
||||
On MS-Windows and MS-DOS systems, Emacs emulates @command{ls}.
|
||||
@xref{ls in Lisp}, for options and peculiarities of this emulation.
|
||||
|
||||
@findex dired-other-window
|
||||
@kindex C-x 4 d
|
||||
@findex dired-other-frame
|
||||
@kindex C-x 5 d
|
||||
To display the Dired buffer in another window rather than in the
|
||||
selected window, use @kbd{C-x 4 d} (@code{dired-other-window}) instead
|
||||
of @kbd{C-x d}. @kbd{C-x 5 d} (@code{dired-other-frame}) uses a
|
||||
separate frame to display the Dired buffer.
|
||||
To display the Dired buffer in another window, use @kbd{C-x 4 d}
|
||||
(@code{dired-other-window}) instead of @kbd{C-x d}. @kbd{C-x 5 d}
|
||||
(@code{dired-other-frame}) displays the Dired buffer in a separate
|
||||
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
|
||||
@section Navigation in the Dired Buffer
|
||||
|
|
@ -124,7 +137,11 @@ minibuffer, and moves point to the line in the Dired buffer describing
|
|||
that file.
|
||||
|
||||
@cindex searching Dired buffers
|
||||
@findex 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
|
||||
incremental search in the Dired buffer, looking for matches only
|
||||
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
|
||||
@itemx Mouse-2
|
||||
@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
|
||||
to display the file, like the @kbd{o} command.
|
||||
|
||||
@item v
|
||||
@kindex v @r{(Dired)}
|
||||
@findex dired-view-file
|
||||
View the file described on the current line, using @kbd{M-x view-file}
|
||||
(@code{dired-view-file}). Viewing a file with @code{view-file} is
|
||||
like visiting it, but is slanted toward moving around in the file
|
||||
conveniently and does not allow changing the file. @xref{Misc File
|
||||
Ops, View File, Miscellaneous File Operations}.
|
||||
View the file described on the current line, with View mode
|
||||
(@code{dired-view-file}). View mode provides convenient commands to
|
||||
navigate the buffer but forbids changing it; @xref{View Mode}.
|
||||
|
||||
@item ^
|
||||
@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
|
||||
name.
|
||||
|
||||
@item C-x u
|
||||
@item C-/
|
||||
@itemx C-x u
|
||||
@itemx C-_
|
||||
@itemx C-/
|
||||
@kindex C-_ @r{(Dired)}
|
||||
@findex dired-undo
|
||||
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
|
||||
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
|
||||
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
|
||||
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)
|
||||
@item H @var{new} @key{RET}
|
||||
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
|
||||
name to give the link.
|
||||
|
||||
|
|
@ -642,9 +657,10 @@ link.
|
|||
@kindex M @r{(Dired)}
|
||||
@cindex changing file permissions (in Dired)
|
||||
@item M @var{modespec} @key{RET}
|
||||
Change the mode (also called ``permission bits'') of the specified files
|
||||
(@code{dired-do-chmod}). @var{modespec} can be in octal or symbolic
|
||||
notation like arguments handled by the @code{chmod} program.
|
||||
Change the mode (also called @dfn{permission bits}) of the specified
|
||||
files (@code{dired-do-chmod}). @var{modespec} can be in octal or
|
||||
symbolic notation, like arguments handled by the @command{chmod}
|
||||
program.
|
||||
|
||||
@findex dired-do-chgrp
|
||||
@kindex G @r{(Dired)}
|
||||
|
|
@ -663,8 +679,8 @@ this.)
|
|||
|
||||
@vindex dired-chown-program
|
||||
The variable @code{dired-chown-program} specifies the name of the
|
||||
program to use to do the work (different systems put @code{chown} in
|
||||
different places).
|
||||
program to use to do the work (different systems put @command{chown}
|
||||
in different places).
|
||||
|
||||
@findex dired-do-touch
|
||||
@kindex T @r{(Dired)}
|
||||
|
|
@ -952,17 +968,17 @@ The backup file is the first file given to @code{diff}.
|
|||
@cindex subdirectories in Dired
|
||||
@cindex expanding subdirectories in Dired
|
||||
|
||||
A Dired buffer displays just one directory in the normal case;
|
||||
but you can optionally include its subdirectories as well.
|
||||
A Dired buffer usually displays just one directory, but you can
|
||||
optionally include its subdirectories as well.
|
||||
|
||||
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
|
||||
in the minibuffer.) That produces a recursive directory listing showing
|
||||
all subdirectories at all levels.
|
||||
|
||||
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
|
||||
@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.
|
||||
@end table
|
||||
|
||||
Use the @kbd{i} (@code{dired-maybe-insert-subdir}) command on a line
|
||||
that describes a file which is a directory. It inserts the contents of
|
||||
that directory into the same Dired buffer, and moves there. Inserted
|
||||
subdirectory contents follow the top-level directory of the Dired
|
||||
buffer, just as they do in @samp{ls -lR} output.
|
||||
@noindent
|
||||
If you use this command on a line that describes a file which is a
|
||||
directory, it inserts the contents of that directory into the same
|
||||
Dired buffer, and moves there. Inserted subdirectory contents follow
|
||||
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
|
||||
@kbd{i} command just moves to it.
|
||||
If the subdirectory's contents are already present in the buffer,
|
||||
the @kbd{i} command just moves to it.
|
||||
|
||||
In either case, @kbd{i} sets the Emacs mark before moving, so @kbd{C-u
|
||||
C-@key{SPC}} takes you back to the old position in the buffer (the line
|
||||
describing that subdirectory). You can also use @samp{^} to return
|
||||
to the parent directory in the same Dired buffer.
|
||||
In either case, @kbd{i} sets the Emacs mark before moving, so
|
||||
@kbd{C-u C-@key{SPC}} returns to your previous position in the Dired
|
||||
buffer (@pxref{Setting Mark}). You can also use @samp{^} to return to
|
||||
the parent directory in the same Dired buffer (@pxref{Dired
|
||||
Visiting}).
|
||||
|
||||
Use the @kbd{l} command (@code{dired-do-redisplay}) to update the
|
||||
subdirectory's contents. Use @kbd{C-u k} on the subdirectory header
|
||||
line to remove the subdirectory listing (@pxref{Dired Updating}). You
|
||||
can also hide and show inserted subdirectories (@pxref{Hiding
|
||||
Subdirectories}).
|
||||
Use the @kbd{l} command (@code{dired-do-redisplay}) to update the
|
||||
subdirectory's contents, and use @kbd{C-u k} on the subdirectory
|
||||
header line to remove the subdirectory listing (@pxref{Dired
|
||||
Updating}). You can also hide and show inserted subdirectories
|
||||
(@pxref{Hiding Subdirectories}).
|
||||
|
||||
@ifnottex
|
||||
@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}.
|
||||
|
||||
@vindex find-ls-option
|
||||
The format of listing produced by these commands is controlled by the
|
||||
variable @code{find-ls-option}, whose default value specifies using
|
||||
options @samp{-ld} for @code{ls}. If your listings are corrupted, you
|
||||
may need to change the value of this variable.
|
||||
The format of listing produced by these commands is controlled by
|
||||
the variable @code{find-ls-option}, whose default value specifies
|
||||
using options @samp{-ld} for @command{ls}. If your listings are
|
||||
corrupted, you may need to change the value of this variable.
|
||||
|
||||
@findex locate
|
||||
@findex locate-with-filter
|
||||
|
|
@ -1338,10 +1356,14 @@ rotation is lossless, and uses an external utility called JpegTRAN.
|
|||
@kindex + @r{(Dired)}
|
||||
@findex dired-create-directory
|
||||
The command @kbd{+} (@code{dired-create-directory}) reads a
|
||||
directory name, and creates the directory if it does not already
|
||||
exist.
|
||||
directory name, and creates that directory. It signals an error if
|
||||
the directory already exists.
|
||||
|
||||
@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
|
||||
``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
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 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
|
||||
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
|
||||
@section Selective Display
|
||||
@cindex selective display
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
@copying
|
||||
This manual describes specialized features of Emacs.
|
||||
|
||||
Copyright @copyright{} 2004-2011
|
||||
Copyright @copyright{} 2004-2012
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
@quotation
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
|
||||
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
|
||||
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.
|
||||
* Text Mode:: The major modes for editing text files.
|
||||
* Outline Mode:: Editing outlines.
|
||||
* Org Mode:: The Emacs organizer.
|
||||
* TeX Mode:: Editing input to the formatter TeX.
|
||||
* HTML Mode:: Editing HTML and SGML files.
|
||||
* Nroff Mode:: Editing input to the formatter nroff.
|
||||
|
|
@ -741,11 +742,12 @@ Version Control
|
|||
* VC Mode Line:: How the mode line shows version control status.
|
||||
* Basic VC Editing:: How to edit a file under version control.
|
||||
* Log Buffer:: Features available in log entry buffers.
|
||||
* Registering:: Putting a file under version control.
|
||||
* 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.
|
||||
* Branches:: Multiple lines of development.
|
||||
* Remote Repositories:: Efficient access to remote CVS servers.
|
||||
* Revision Tags:: Symbolic names for revisions.
|
||||
* Miscellaneous VC:: Various other commands and features of VC.
|
||||
* Customizing VC:: Variables that change VC's behavior.
|
||||
|
|
@ -766,12 +768,6 @@ Basic Editing under Version Control
|
|||
* 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.
|
||||
|
||||
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 Buffer:: What the buffer looks like and means.
|
||||
|
|
@ -780,26 +776,15 @@ VC Directory Mode
|
|||
Multiple Branches of a File
|
||||
|
||||
* 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.
|
||||
* Multi-User Branching:: Multiple users working at multiple branches
|
||||
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.
|
||||
* Creating Branches:: How to start a new branch.
|
||||
|
||||
Miscellaneous Commands and Features of VC
|
||||
|
||||
* Change Logs and VC:: Generating a change log file from log entries.
|
||||
* Renaming and VC:: A command to rename both the source and master
|
||||
file correctly.
|
||||
* VC Delete/Rename:: Deleting and renaming version-controlled files.
|
||||
* Revision Tags:: Symbolic names for revisions.
|
||||
* Version Headers:: Inserting version control headers into working files.
|
||||
|
||||
Customizing VC
|
||||
|
|
@ -934,10 +919,10 @@ Customizing the Calendar and Diary
|
|||
|
||||
Document Viewing
|
||||
|
||||
* Navigation:: Navigation inside DocView buffers.
|
||||
* Searching:: Searching inside documents.
|
||||
* Slicing:: Specifying which part of pages should be displayed.
|
||||
* Conversion:: Influencing and triggering conversion.
|
||||
* DocView Navigation:: Navigating DocView buffers.
|
||||
* DocView Searching:: Searching inside documents.
|
||||
* DocView Slicing:: Specifying which part of a page is displayed.
|
||||
* DocView Conversion:: Influencing and triggering conversion.
|
||||
|
||||
Sending Mail
|
||||
|
||||
|
|
@ -989,7 +974,8 @@ Gnus
|
|||
|
||||
* Buffers of Gnus:: The group, summary, and article buffers.
|
||||
* 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
|
||||
|
||||
|
|
@ -1002,7 +988,6 @@ Running Shell Commands from Emacs
|
|||
* Shell Options:: Options for customizing Shell mode.
|
||||
* Terminal emulator:: An Emacs window as a terminal emulator.
|
||||
* Term Mode:: Special Emacs commands used in Term mode.
|
||||
* Paging in Term:: Paging in the terminal emulator.
|
||||
* Remote Host:: Connecting to another computer.
|
||||
* Serial Terminal:: Connecting to a serial port.
|
||||
|
||||
|
|
@ -1048,15 +1033,14 @@ Customization
|
|||
|
||||
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.
|
||||
* 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.
|
||||
* Specific Customization:: Making a customization buffer for specific
|
||||
variables, faces, or groups.
|
||||
* Custom Themes:: How to define collections of customized options
|
||||
that can be loaded and unloaded together.
|
||||
* Specific Customization:: Customizing specific settings or groups.
|
||||
* Custom Themes:: Collections of customization settings.
|
||||
* Creating Custom Themes:: How to create a new custom theme.
|
||||
|
||||
Variables
|
||||
|
||||
|
|
@ -1104,9 +1088,7 @@ Dealing with Emacs Trouble
|
|||
* Text Garbled:: Garbage in the text.
|
||||
* Memory Full:: How to cope when you run out of memory.
|
||||
* After a Crash:: Recovering editing in an Emacs session that crashed.
|
||||
* Emergency Escape:: Emergency escape---
|
||||
What to do if Emacs stops responding.
|
||||
* Total Frustration:: When you are at your wits' end.
|
||||
* Emergency Escape:: What to do if Emacs stops responding.
|
||||
|
||||
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
|
||||
Sommerfeld, Andre Spiegel, Michael Staats, Ulf Stegemann, Reiner Steib,
|
||||
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,
|
||||
Jens T.@: Berger Thielemann, Spencer Thomas, Jim Thompson, Luc
|
||||
Teirlinck, David O'Toole, Tom Tromey, Enami Tsugutomo, Eli Tziperman,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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
|
||||
@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 Copyright (C) 1985-1987, 1993-1995, 2001-2011
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
@iftex
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Files, Buffers, Keyboard Macros, Top
|
||||
|
|
@ -1352,9 +1352,25 @@ manipulate and apply parts of patches:
|
|||
@findex 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
|
||||
@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-@}
|
||||
@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
|
||||
name from the patch itself. This is useful for making log entries for
|
||||
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
|
||||
|
||||
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
|
||||
@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
|
||||
@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
|
||||
@cindex copying files
|
||||
@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
|
||||
of @var{old} into a new directory named @var{new}.
|
||||
|
||||
@cindex renaming files
|
||||
@findex rename-file
|
||||
@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
|
||||
|
|
@ -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
|
||||
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
|
||||
@cindex hard links (creation)
|
||||
@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 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 See file emacs.texi for copying conditions.
|
||||
@node Fixit, Keyboard Macros, Search, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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
|
||||
@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
|
||||
supports both free and fixed form. This manual mainly documents Fortran
|
||||
mode, but the corresponding F90 mode features are mentioned when
|
||||
revelant.
|
||||
relevant.
|
||||
|
||||
Fortran mode provides special motion commands for Fortran statements
|
||||
and subprograms, and indentation commands that understand Fortran
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Frames, International, Windows, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@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
|
||||
@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 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 See file emacs.texi for copying conditions.
|
||||
@node Help, Mark, M-x, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Indentation, Text, Modes, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Keyboard Macros, Files, Fixit, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node M-x, Help, Minibuffer, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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.
|
||||
@node Mac OS / GNUstep, Microsoft Windows, Antinews, Top
|
||||
@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
|
||||
|
||||
# Copyright (C) 2003-2011 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2012 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Mark, Killing, Help, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@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 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 See file emacs.texi for copying conditions.
|
||||
@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
|
||||
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;
|
||||
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
|
||||
source code comments are delimited (@pxref{Comments}).
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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
|
||||
@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 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 See file emacs.texi for copying conditions.
|
||||
@node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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.
|
||||
@node International, Modes, Frames, Top
|
||||
@chapter International Character Set Support
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Packages
|
||||
|
|
@ -20,7 +20,7 @@ via this buffer. @xref{Package Menu}.
|
|||
|
||||
@findex describe-package
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
@item r
|
||||
Refresh the package list (@code{package-menu-refresh}). This also
|
||||
retrieves the list of available packages from the package archive
|
||||
again.
|
||||
Refresh the package list (@code{package-menu-refresh}). This fetches
|
||||
the list of available packages from the package archive again, and
|
||||
recomputes the package list.
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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
|
||||
@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 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 See file emacs.texi for copying conditions.
|
||||
@node Programs, Building, Text, Top
|
||||
|
|
@ -38,8 +38,8 @@ Highlight program syntax (@pxref{Font Lock}).
|
|||
* Glasses:: Making identifiersLikeThis more readable.
|
||||
* Semantic:: Suite of editing tools based on source code parsing.
|
||||
* Misc for Programs:: Other Emacs features useful for editing programs.
|
||||
* C Modes:: Special commands of C, C++, Objective-C,
|
||||
Java, and Pike modes.
|
||||
* C Modes:: Special commands of C, C++, Objective-C, Java,
|
||||
IDL, Pike and AWK modes.
|
||||
* Asm Mode:: Asm mode and its special features.
|
||||
@ifnottex
|
||||
* 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
|
||||
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
|
||||
@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.
|
||||
|
||||
@cindex tags-based completion
|
||||
In-buffer symbol completion generates its completion list in a
|
||||
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}).
|
||||
|
||||
@findex completion-at-point
|
||||
@cindex Lisp symbol completion
|
||||
@cindex completion (Lisp symbols)
|
||||
In Emacs Lisp mode, completion is performed using the function,
|
||||
variable, and property names defined in the current Emacs session. If
|
||||
there is an open parenthesis immediately before the beginning of the
|
||||
partial symbol, only symbols with function definitions are considered.
|
||||
In most programming language modes, @kbd{C-M-i} (or
|
||||
@kbd{M-@key{TAB}}) invokes the command @code{completion-at-point},
|
||||
which generates its completion list in a flexible way. If Semantic
|
||||
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
|
||||
minibuffer completion. For instance, if Emacs cannot complete to a
|
||||
|
|
@ -1462,17 +1470,17 @@ with Emacs.
|
|||
related modes.
|
||||
|
||||
@table @code
|
||||
@item M-x c-beginning-of-defun
|
||||
@itemx M-x c-end-of-defun
|
||||
@item C-M-a
|
||||
@itemx C-M-e
|
||||
@findex c-beginning-of-defun
|
||||
@findex c-end-of-defun
|
||||
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
|
||||
@code{end-of-defun} search for braces in column zero.) If you are
|
||||
editing code where the opening brace of a function isn't placed in
|
||||
column zero, you may wish to bind @code{C-M-a} and @code{C-M-e} to
|
||||
these commands. @xref{Moving by Defuns}.
|
||||
@code{end-of-defun} search for braces in column zero.) @xref{Moving
|
||||
by Defuns}.
|
||||
|
||||
@item C-c C-u
|
||||
@kindex C-c C-u @r{(C mode)}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Registers, Display, Killing, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Rmail
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Screen, User Input, Acknowledgments, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Search, Fixit, Display, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@node Sending Mail
|
||||
|
|
@ -11,10 +11,10 @@
|
|||
|
||||
@kindex C-x m
|
||||
@findex compose-mail
|
||||
To send an @dfn{e-mail} message in Emacs, type @kbd{C-x m}. This
|
||||
selects and initializes a buffer named @samp{*mail*}, where you can
|
||||
edit the text and headers of the message. Finally, type @kbd{C-c C-s}
|
||||
or @kbd{C-c C-c} to send the message.
|
||||
To send an email message from Emacs, type @kbd{C-x m}. This
|
||||
switches to a buffer named @samp{*unsent mail*}, where you can edit
|
||||
the text and headers of the message. When done, type @kbd{C-c C-s} or
|
||||
@kbd{C-c C-c} to send it.
|
||||
|
||||
@table @kbd
|
||||
@item C-x m
|
||||
|
|
@ -30,37 +30,28 @@ In the mail buffer, send the message and bury the buffer
|
|||
(@code{message-send-and-exit}).
|
||||
@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
|
||||
@findex compose-mail-other-window
|
||||
@kindex C-x 5 m
|
||||
@findex compose-mail-other-frame
|
||||
@noindent
|
||||
The command @kbd{C-x 4 m} (@code{compose-mail-other-window}) does the
|
||||
same as @kbd{C-x m}, except it displays the mail buffer in a different
|
||||
window. The command @kbd{C-x 5 m} (@code{compose-mail-other-frame})
|
||||
creates a new frame for the mail buffer.
|
||||
The command @kbd{C-x 4 m} (@code{compose-mail-other-window}) does
|
||||
the same as @kbd{C-x m}, except it displays the mail buffer in a
|
||||
different window. The command @kbd{C-x 5 m}
|
||||
(@code{compose-mail-other-frame}) does it in a new frame.
|
||||
|
||||
Because the mail buffer is an ordinary Emacs buffer, you can switch
|
||||
to other buffers while in the middle of composing mail, and switch
|
||||
back later (or never). If you type @kbd{C-x m} again when you have
|
||||
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}).
|
||||
When you type @kbd{C-c C-c} or @kbd{C-c C-s} to send the mail, Emacs
|
||||
may ask you how it should deliver the mail---either directly via SMTP,
|
||||
or using some other method. @xref{Mail Sending}, for details.
|
||||
|
||||
@menu
|
||||
* Format: Mail Format. Format of a mail message.
|
||||
|
|
@ -75,77 +66,91 @@ cannot receive mail via SMTP (@pxref{Mail Headers}).
|
|||
@node Mail Format
|
||||
@section The Format of the Mail Buffer
|
||||
|
||||
An email message must contain certain pieces of information, called
|
||||
@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.
|
||||
Here is an example of the contents of a mail buffer:
|
||||
|
||||
@example
|
||||
To: gnu@@example.org
|
||||
CC: lungfish@@example.com, byob@@example.net
|
||||
Subject: The Emacs Manual
|
||||
To: subotai@@example.org
|
||||
CC: mongol.soldier@@example.net, rms@@gnu.org
|
||||
Subject: Re: What is best in life?
|
||||
From: conan@@example.org
|
||||
--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
|
||||
|
||||
@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
|
||||
@section Mail Header Fields
|
||||
@cindex headers (of mail message)
|
||||
|
||||
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
|
||||
equivalent in field names (and in mailing addresses also). After the
|
||||
colon and optional whitespace comes the contents of the field.
|
||||
equivalent in field names. After the colon and optional whitespace
|
||||
comes the contents of the field.
|
||||
|
||||
You can use any name you like for a header field, but normally
|
||||
people use only standard field names with accepted meanings. Here is
|
||||
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
|
||||
header field before you send the message, if you wish.
|
||||
people use only standard field names with accepted meanings.
|
||||
|
||||
@vindex user-full-name
|
||||
@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
|
||||
@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
|
||||
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
|
||||
A piece of text saying what the message is about. Most mail-reading
|
||||
programs can display a summary of messages, listing the subject of
|
||||
each message but not its text.
|
||||
The subject of the message.
|
||||
|
||||
@item CC
|
||||
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}.
|
||||
|
||||
@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
|
||||
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
|
||||
it accordingly. To specify more than one file, use several @samp{FCC}
|
||||
fields, with one file name in each field.
|
||||
writes in Babyl format. If an Rmail buffer is visiting the file,
|
||||
Emacs updates it accordingly. To specify more than one file, use
|
||||
several @samp{FCC} fields, with one file name in each field.
|
||||
|
||||
@item Reply-to
|
||||
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
|
||||
is unable to receive replies.
|
||||
This is used if, for some reason, your @samp{From} address cannot
|
||||
receive replies.
|
||||
|
||||
@item Mail-reply-to
|
||||
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
|
||||
(a somewhat controversial practice).
|
||||
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 (a somewhat controversial practice).
|
||||
|
||||
@item Mail-followup-to
|
||||
This field contains one or more addresses. It is typically used when
|
||||
you reply to a message from a mailing list that you are subscribed to.
|
||||
It usually indicates that you want replies to go to the list, and that
|
||||
you do not need an extra copy sent directly 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.
|
||||
One of more address(es) to use as default recipient(s) for follow-up
|
||||
messages. This is typically used when you reply to a message from a
|
||||
mailing list that you are subscribed to, and want replies to go to the
|
||||
list without sending an extra copy to you.
|
||||
|
||||
@item In-reply-to
|
||||
A piece of text describing the message you are replying to. Some mail
|
||||
systems can use this information to correlate related pieces of mail.
|
||||
Normally, you never need to think about this, because it is filled in
|
||||
automatically when you reply to a message in Rmail (or any other mail
|
||||
program built into Emacs).
|
||||
An identifier for the message you are replying to. Most mail readers
|
||||
use this information to group related messages together. Normally,
|
||||
this header is filled in automatically when you reply to a message in
|
||||
any mail program built into Emacs.
|
||||
|
||||
@item References
|
||||
The Message-Ids of previous related messages (a Message-Id is a unique
|
||||
identifier generated when a message is sent). Like
|
||||
@samp{In-reply-to}, this is normally set up automatically for you.
|
||||
Identifiers for previous related messages. Like @samp{In-reply-to},
|
||||
this is normally filled in automatically for you.
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
|
|
@ -217,35 +213,6 @@ To: foo@@example.net, this@@example.net,
|
|||
@end group
|
||||
@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 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
|
||||
|
||||
You can define @dfn{mail aliases}, which are short mnemonic names
|
||||
that stand for mail addresses or groups of mail addresses. By
|
||||
default, mail aliases are defined in the file @file{~/.mailrc}. You
|
||||
can specify a different file name to use, by setting the variable
|
||||
that stand for one or more mailing addresses. By default, mail
|
||||
aliases are defined in the file @file{~/.mailrc}. You can specify a
|
||||
different file name to use, by setting the variable
|
||||
@code{mail-personal-alias-file}.
|
||||
|
||||
To define an alias in @file{.mailrc}, write a line in the following
|
||||
format:
|
||||
To define an alias in @file{.mailrc}, write a line like this:
|
||||
|
||||
@example
|
||||
alias @var{nick} @var{fulladdresses}
|
||||
|
|
@ -362,11 +328,9 @@ in greater detail. @xref{Top,,Message, message, Message}.
|
|||
@node Mail Sending
|
||||
@subsection Mail Sending
|
||||
|
||||
There are two commands to send a message you have been editing:
|
||||
|
||||
@table @kbd
|
||||
@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
|
||||
Send the message, and leave the mail buffer selected (@code{message-send}).
|
||||
@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-c @r{(Message mode)}
|
||||
@findex message-send
|
||||
If you want to send a message and be done with it, type @kbd{C-c
|
||||
C-c} (@code{mail-send-and-exit}). This sends the message and then
|
||||
either deletes the window or switches to another buffer. It also
|
||||
@vindex message-kill-buffer-on-exit
|
||||
The usual command to send a message is @kbd{C-c C-c}
|
||||
(@code{mail-send-and-exit}). This sends the message and then
|
||||
``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
|
||||
The command @kbd{C-c C-s} (@code{message-send}) sends the message
|
||||
and marks the mail buffer unmodified, but leaves the buffer selected.
|
||||
Use this command if you want to modify the message (perhaps with new
|
||||
recipients) and send it again.
|
||||
and leaves the buffer selected. Use this command if you want to
|
||||
modify the message (perhaps with new recipients) and send it again.
|
||||
|
||||
@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
|
||||
modified flag, because only saving the file should do that. Also, you
|
||||
don't get a warning if you try to send the same message twice.
|
||||
@cindex SMTP
|
||||
@cindex Feedmail
|
||||
@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
|
||||
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,
|
||||
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
|
||||
@subsection Mail Header Editing
|
||||
|
||||
|
|
@ -511,7 +480,8 @@ just inserts a tab character.
|
|||
|
||||
@table @kbd
|
||||
@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
|
||||
Fill each paragraph cited from another message
|
||||
(@code{message-fill-yanked-message}).
|
||||
|
|
@ -522,9 +492,9 @@ Fill each paragraph cited from another message
|
|||
@findex message-yank-prefix
|
||||
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
|
||||
text of that message into the mail buffer. This command is active
|
||||
only when the mail buffer is invoked from a mail program running in
|
||||
Emacs, such as Rmail.
|
||||
text of that message into the mail buffer. This command works only if
|
||||
the mail buffer is invoked from a mail reader running in Emacs, such
|
||||
as Rmail.
|
||||
|
||||
By default, Emacs inserts the string @samp{>} in front of each line
|
||||
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 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 See file emacs.texi for copying conditions.
|
||||
@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
|
||||
in small ways for the syntactic conventions of text. Outline mode
|
||||
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
|
||||
@xref{Outline Mode}.
|
||||
@end iftex
|
||||
|
|
@ -70,6 +73,7 @@ for editing such pictures.
|
|||
* Case:: Changing the case of text.
|
||||
* Text Mode:: The major modes for editing text files.
|
||||
* Outline Mode:: Editing outlines.
|
||||
* Org Mode:: The Emacs organizer.
|
||||
* TeX Mode:: Editing input to the formatter TeX.
|
||||
* HTML Mode:: Editing HTML and SGML files.
|
||||
* 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))
|
||||
@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
|
||||
@section @TeX{} Mode
|
||||
@cindex @TeX{} mode
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@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
|
||||
@kbd{M-x top-level}. Quitting cancels a partially typed command, or
|
||||
one which is still running. Aborting exits a recursive editing level
|
||||
and cancels the command that invoked the recursive edit.
|
||||
(@xref{Recursive Edit}.)
|
||||
and cancels the command that invoked the recursive edit
|
||||
(@pxref{Recursive Edit}).
|
||||
|
||||
@cindex quitting
|
||||
@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}
|
||||
deactivates the mark, unless Transient Mark mode is off
|
||||
(@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.
|
||||
@xref{Incremental Search}, for details.
|
||||
|
||||
|
|
@ -136,12 +136,12 @@ facility.
|
|||
@node Lossage, Bugs, Quitting, Top
|
||||
@section Dealing with Emacs Trouble
|
||||
|
||||
This section describes various conditions in which Emacs fails to work
|
||||
normally, and how to recognize them and correct them. For a list of
|
||||
additional problems you might encounter, see @ref{Bugs and problems, ,
|
||||
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
|
||||
@kbd{C-h C-p} to read the @file{PROBLEMS} file.
|
||||
This section describes how to recognize and deal with situations in
|
||||
which Emacs does not work as you expect, such as keyboard code mixups,
|
||||
garbled displays, running out of memory, and crashes and hangs.
|
||||
|
||||
@xref{Bugs}, for what to do when you think you have found a bug in
|
||||
Emacs.
|
||||
|
||||
@menu
|
||||
* 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.
|
||||
* Memory Full:: How to cope when you run out of memory.
|
||||
* After a Crash:: Recovering editing in an Emacs session that crashed.
|
||||
* Emergency Escape:: Emergency escape---
|
||||
What to do if Emacs stops responding.
|
||||
* Total Frustration:: When you are at your wits' end.
|
||||
* Emergency Escape:: What to do if Emacs stops responding.
|
||||
@end menu
|
||||
|
||||
@node DEL Does Not Delete
|
||||
@subsection If @key{DEL} Fails to Delete
|
||||
@cindex @key{DEL} vs @key{BACKSPACE}
|
||||
@cindex @key{BACKSPACE} vs @key{DEL}
|
||||
@cindex usual erasure key
|
||||
|
||||
Every keyboard has a large key, usually labeled @key{Backspace},
|
||||
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
|
||||
supposed to be equivalent to @key{DEL}.
|
||||
In Emacs, this key is supposed to be equivalent to @key{DEL}.
|
||||
|
||||
When Emacs starts up on a graphical display, it determines
|
||||
automatically which key should be @key{DEL}. In some unusual cases,
|
||||
Emacs gets the wrong information from the system. If the usual
|
||||
erasure key deletes forwards instead of backwards, that is probably
|
||||
what happened---Emacs ought to be treating the @key{Backspace} key as
|
||||
@key{DEL}, but it isn't.
|
||||
Emacs gets the wrong information from the system, and @key{Backspace}
|
||||
ends up deleting forwards instead of backwards.
|
||||
|
||||
Some keyboards also have a @key{Delete} key, which is ordinarily
|
||||
used to delete forwards. If this key deletes backward in Emacs, that
|
||||
too suggests Emacs got the wrong information---but in the opposite
|
||||
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
|
||||
character, it means that key is actually sending the @key{BS}
|
||||
character. Emacs ought to be treating @key{BS} as @key{DEL}, but it
|
||||
isn't.
|
||||
|
||||
@findex normal-erase-is-backspace-mode
|
||||
In all of those cases, the immediate remedy is the same: use the
|
||||
command @kbd{M-x normal-erase-is-backspace-mode}. This toggles
|
||||
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
|
||||
work, if it sends character code 127.
|
||||
|
||||
@findex normal-erase-is-backspace-mode
|
||||
To fix the problem automatically for every Emacs session, you can
|
||||
put one of the following lines into your @file{.emacs} file
|
||||
(@pxref{Init File}). For the first case above, where @key{Backspace}
|
||||
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):
|
||||
To fix the problem in every Emacs session, put one of the following
|
||||
lines into your initialization file (@pxref{Init File}). For the
|
||||
first case above, where @key{Backspace} deletes forwards instead of
|
||||
backwards, use this line to make @key{Backspace} act as @key{DEL}:
|
||||
|
||||
@lisp
|
||||
(normal-erase-is-backspace-mode 0)
|
||||
|
|
@ -224,12 +216,12 @@ Customization}.
|
|||
Recursive editing levels are important and useful features of Emacs, but
|
||||
they can seem like malfunctions if you do not understand them.
|
||||
|
||||
If the mode line has square brackets @samp{[@dots{}]} around the parentheses
|
||||
that contain the names of the major and minor modes, you have entered a
|
||||
recursive editing level. If you did not do this on purpose, or if you
|
||||
don't understand what that means, you should just get out of the recursive
|
||||
editing level. To do so, type @kbd{M-x top-level}. This is called getting
|
||||
back to top level. @xref{Recursive Edit}.
|
||||
If the mode line has square brackets @samp{[@dots{}]} around the
|
||||
parentheses that contain the names of the major and minor modes, you
|
||||
have entered a recursive editing level. If you did not do this on
|
||||
purpose, or if you don't understand what that means, you should just
|
||||
get out of the recursive editing level. To do so, type @kbd{M-x
|
||||
top-level}. @xref{Recursive Edit}.
|
||||
|
||||
@node Screen Garbled
|
||||
@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
|
||||
the Emacs distribution gives the fixes for known problems of this
|
||||
sort. @file{INSTALL} contains general advice for these problems in
|
||||
one of its sections. To investigate the possibility that you have
|
||||
this sort of problem, try Emacs on another terminal made by a
|
||||
different manufacturer. If problems happen frequently on one kind of
|
||||
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.
|
||||
one of its sections. If you seem to be using the right terminfo
|
||||
entry, it is possible that there is a bug in the terminfo entry, or a
|
||||
bug in Emacs that appears for certain terminal types.
|
||||
|
||||
@node Text Garbled
|
||||
@subsection Garbage in the Text
|
||||
|
|
@ -385,25 +374,6 @@ program.
|
|||
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.
|
||||
|
||||
@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
|
||||
@section Reporting Bugs
|
||||
|
||||
|
|
@ -432,41 +402,51 @@ of the main places you can read about known issues:
|
|||
|
||||
@itemize
|
||||
@item
|
||||
The @file{etc/PROBLEMS} file in the Emacs distribution; type @kbd{C-h
|
||||
C-p} to read it. This file contains a list of particularly well-known
|
||||
issues that have been encountered in compiling, installing and running
|
||||
Emacs. Often, there are suggestions for workarounds and solutions.
|
||||
The @file{etc/PROBLEMS} file; type @kbd{C-h C-p} to read it. This
|
||||
file contains a list of particularly well-known issues that have been
|
||||
encountered in compiling, installing and running Emacs. Often, there
|
||||
are suggestions for workarounds and solutions.
|
||||
|
||||
@item
|
||||
Some additional user-level problems can be found in @ref{Bugs and
|
||||
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
|
||||
The @samp{bug-gnu-emacs} mailing list (also available as the newsgroup
|
||||
@samp{gnu.emacs.bug}). You can read the list archives at
|
||||
@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}. If you
|
||||
like, you can also subscribe to the list. Be aware that the sole
|
||||
purpose of this list is to provide the Emacs maintainers with
|
||||
information about bugs and feature requests. Reports may contain
|
||||
fairly large amounts of data; spectators should not complain about
|
||||
this.
|
||||
@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs}. This list
|
||||
works as a ``mirror'' of the Emacs bug reports and follow-up messages
|
||||
which are sent to the bug tracker. It also contains old bug reports
|
||||
from before the bug tracker was introduced (in early 2008).
|
||||
|
||||
@item
|
||||
The bug tracker at @url{http://debbugs.gnu.org}. From early 2008,
|
||||
reports from the @samp{bug-gnu-emacs} list have also been sent here.
|
||||
The tracker contains the same information as the mailing list, just in
|
||||
a different format. You may prefer to browse and read reports using
|
||||
the tracker.
|
||||
If you like, you can subscribe to the list. Be aware that its purpose
|
||||
is to provide the Emacs maintainers with information about bugs and
|
||||
feature requests, so reports may contain fairly large amounts of data;
|
||||
spectators should not complain about this.
|
||||
|
||||
@item
|
||||
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
|
||||
for bug reports in development (i.e., not yet released) versions of
|
||||
Emacs. You can read the archives for 2003 to mid 2007 at
|
||||
@url{http://lists.gnu.org/archive/html/emacs-pretest-bug/}. From
|
||||
late 2007 to mid 2008, the address was an alias for the
|
||||
@samp{emacs-devel} mailing list. From mid 2008 onwards, it has been
|
||||
an alias for @samp{bug-gnu-emacs}.
|
||||
@url{http://lists.gnu.org/archive/html/emacs-pretest-bug/}. Nowadays,
|
||||
it is an alias for @samp{bug-gnu-emacs}.
|
||||
|
||||
@item
|
||||
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
|
||||
``disk full''), then it is certainly a bug.
|
||||
|
||||
If Emacs updates the display in a way that does not correspond to what is
|
||||
in the buffer, then it is certainly a bug. If a command seems to do the
|
||||
wrong thing but the problem corrects itself if you type @kbd{C-l}, it is a
|
||||
case of incorrect display updating.
|
||||
If the Emacs display does not correspond properly to the contents of
|
||||
the buffer, then it is a bug. But you should check that features like
|
||||
buffer narrowing (@pxref{Narrowing}), which can hide parts of the
|
||||
buffer or change how it is displayed, are not responsible.
|
||||
|
||||
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
|
||||
long time. Type @kbd{C-g} (@kbd{C-@key{BREAK}} on MS-DOS) and then @kbd{C-h l}
|
||||
to see whether the input Emacs received was what you intended to type;
|
||||
if the input was such that you @emph{know} it should have been processed
|
||||
quickly, report a bug. If you don't know whether the command should
|
||||
take a long time, find out by looking in the manual or by asking for
|
||||
assistance.
|
||||
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} to see whether the input Emacs received was what you
|
||||
intended to type; if the input was such that you @emph{know} it should
|
||||
have been processed quickly, report a bug. If you don't know whether
|
||||
the command should take a long time, find out by looking in the manual
|
||||
or by asking for assistance.
|
||||
|
||||
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
|
||||
bug.
|
||||
|
||||
If a command does the wrong thing, that is a bug. But be sure you know
|
||||
for certain what it ought to have done. If you aren't familiar with the
|
||||
command, or don't know for certain how the command is supposed to work,
|
||||
then it might actually be working right. Rather than jumping to
|
||||
conclusions, show the problem to someone who knows for certain.
|
||||
If a command does the wrong thing, that is a bug. But be sure you
|
||||
know for certain what it ought to have done. If you aren't familiar
|
||||
with the command, it might actually be working right. If in doubt,
|
||||
read the command's documentation (@pxref{Name Help}).
|
||||
|
||||
Finally, a command's intended definition may not be the best
|
||||
possible definition for editing with. This is a very important sort
|
||||
of problem, but it is also a matter of judgment. Also, it is easy to
|
||||
A command's intended definition may not be the best possible
|
||||
definition for editing with. This is a very important sort of
|
||||
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
|
||||
features. It is probably best not to complain about such a problem
|
||||
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
|
||||
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.
|
||||
|
||||
@node Understanding Bug Reporting
|
||||
@subsection Understanding Bug Reporting
|
||||
|
||||
@findex emacs-version
|
||||
When you decide that there is a bug, it is important to report it and to
|
||||
report it in a way which is useful. What is most useful is an exact
|
||||
description of what commands you type, starting with the shell command to
|
||||
run Emacs, until the problem happens.
|
||||
When you decide that there is a bug, it is important to report it
|
||||
and to report it in a way which is useful. What is most useful is an
|
||||
exact description of what commands you type, starting with the shell
|
||||
command to run Emacs, until the problem happens.
|
||||
|
||||
The most important principle in reporting a bug is to report
|
||||
@emph{facts}. Hypotheses and verbal descriptions are no substitute for
|
||||
the detailed raw data. Reporting the facts is straightforward, but many
|
||||
people strain to posit explanations and report them instead of the
|
||||
facts. If the explanations are based on guesses about how Emacs is
|
||||
implemented, they will be useless; meanwhile, lacking the facts, we will
|
||||
have no real information about the bug.
|
||||
@emph{facts}. Hypotheses and verbal descriptions are no substitute
|
||||
for the detailed raw data. Reporting the facts is straightforward,
|
||||
but many people strain to posit explanations and report them instead
|
||||
of the facts. If the explanations are based on guesses about how
|
||||
Emacs is implemented, they will be useless; meanwhile, lacking the
|
||||
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
|
||||
@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
|
||||
report the bug is with a sentence like the preceding one, because it
|
||||
gives all the facts.
|
||||
|
||||
A bad way would be to assume 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 what we mean by ``guessing
|
||||
explanations.'' The problem is just as likely to be due to the fact
|
||||
that there is a @samp{z} in the file name. If this is so, then when we
|
||||
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
|
||||
large, and Emacs displays @samp{I feel pretty today}. The bug report
|
||||
would need to provide all that information. You should not assume
|
||||
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
|
||||
what we mean by ``guessing explanations.'' The problem might be due
|
||||
to the fact that there is a @samp{z} in the file name. If this is so,
|
||||
then when we 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 we could guess that we should try visiting a
|
||||
file with a @samp{z} in its name.
|
||||
|
||||
Alternatively, the problem might be due to the fact that the file starts
|
||||
with exactly 25 spaces. For this reason, you should make sure that you
|
||||
inform us of the exact contents of any file that is needed to reproduce the
|
||||
bug. What if the problem only occurs when you have typed the @kbd{C-x C-a}
|
||||
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}.
|
||||
Similarly, rather than saying ``if I have three characters on the
|
||||
line,'' say ``after I type @kbd{@key{RET} A B C @key{RET} C-p},'' if
|
||||
that is the way you entered the text.
|
||||
|
||||
You should not even say ``visit a file'' instead of @kbd{C-x C-f} unless
|
||||
you @emph{know} that it makes no difference which visiting command is used.
|
||||
Similarly, rather than saying ``if I have three characters on the line,''
|
||||
say ``after I type @kbd{@key{RET} A B C @key{RET} C-p},'' if that is
|
||||
the way you entered the text.
|
||||
If possible, try quickly to reproduce the bug by invoking Emacs with
|
||||
@command{emacs -Q} (so that Emacs starts with no initial
|
||||
customizations; @pxref{Initial Options}), and repeating the steps that
|
||||
you took to trigger the bug. If you can reproduce the bug this way,
|
||||
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
|
||||
want to actually @emph{debug} the problem, and report explanations that
|
||||
are more than guesses, that is useful---but please include the facts as
|
||||
well.
|
||||
Some bugs are not reproducible from @command{emacs -Q}; some are not
|
||||
easily reproducible at all. In that case, you should report what you
|
||||
have---but, as before, please stick to the raw facts about what you
|
||||
did to trigger the bug the first time.
|
||||
|
||||
@node Checklist
|
||||
@subsection Checklist for Bug Reports
|
||||
|
|
@ -616,15 +597,14 @@ address. Or you can simply send an email to that address describing
|
|||
the problem.
|
||||
|
||||
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
|
||||
more information about your report. Submissions are moderated, so
|
||||
there may be a delay before your report appears.
|
||||
|
||||
You do not need to know how the @url{http://debbugs.gnu.org} bug
|
||||
tracker works in order to report a bug, but if you want to, you can
|
||||
read the tracker's online documentation to see the various features
|
||||
you can use.
|
||||
You do not need to know how the Gnu Bug Tracker works in order to
|
||||
report a bug, but if you want to, you can read the tracker's online
|
||||
documentation to see the various features you can use.
|
||||
|
||||
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
|
||||
|
|
@ -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).
|
||||
|
||||
@item
|
||||
The precise commands we need to type to reproduce the bug.
|
||||
If at all possible, give a full recipe for an Emacs started with the
|
||||
@samp{-Q} option (@pxref{Initial Options}). This bypasses your
|
||||
@file{.emacs} customizations.
|
||||
The precise commands we need to type to reproduce the bug. If at all
|
||||
possible, give a full recipe for an Emacs started with the @samp{-Q}
|
||||
option (@pxref{Initial Options}). This bypasses your personal
|
||||
customizations.
|
||||
|
||||
@findex open-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
|
||||
specified termscript file as well, until the Emacs process is killed.
|
||||
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
|
||||
Emacs displays the screen for the first time.
|
||||
your Emacs initialization file so that the termscript file will be
|
||||
open when Emacs displays the screen for the first time.
|
||||
|
||||
Be warned: it is often difficult, and sometimes impossible, to fix a
|
||||
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
|
||||
Check whether any programs you have loaded into the Lisp world,
|
||||
including your @file{.emacs} file, set any variables that may affect the
|
||||
functioning of Emacs. Also, see whether the problem happens in a
|
||||
freshly started Emacs without loading your @file{.emacs} file (start
|
||||
Emacs with the @code{-Q} switch to prevent loading the init files). 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
|
||||
to cause the problem to occur.
|
||||
including your initialization file, set any variables that may affect
|
||||
the functioning of Emacs. Also, see whether the problem happens in a
|
||||
freshly started Emacs without loading your initialization file (start
|
||||
Emacs with the @code{-Q} switch to prevent loading the init files).
|
||||
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 to cause the problem to occur.
|
||||
|
||||
@item
|
||||
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
|
||||
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}
|
||||
list, or item in the @url{http://debbugs.gnu.org} tracker. Explain
|
||||
why your change fixes the bug.
|
||||
list, or the bug entry in the GNU Bug Tracker at
|
||||
@url{http://debbugs.gnu.org}. Explain why your change fixes the bug.
|
||||
|
||||
@item
|
||||
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 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
|
||||
@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 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
|
||||
@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).
|
||||
|
||||
@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
|
||||
@subsection Miscellaneous Commands and Features of VC
|
||||
|
||||
|
|
@ -307,52 +12,55 @@ won't really work as retrieved.
|
|||
|
||||
@menu
|
||||
* Change Logs and VC:: Generating a change log file from log entries.
|
||||
* Renaming and VC:: A command to rename both the source and master
|
||||
file correctly.
|
||||
* VC Delete/Rename:: Deleting and renaming version-controlled files.
|
||||
* Revision Tags:: Symbolic names for revisions.
|
||||
* Version Headers:: Inserting version control headers into working files.
|
||||
@end menu
|
||||
|
||||
@node Change Logs and VC
|
||||
@subsubsection Change Logs and VC
|
||||
|
||||
If you use RCS or CVS for a program and also maintain a change log
|
||||
file for it
|
||||
If you use RCS or CVS for a program with a @file{ChangeLog} file
|
||||
@iftex
|
||||
(@pxref{Change Log,,,emacs, the Emacs Manual}),
|
||||
@end iftex
|
||||
@ifnottex
|
||||
(@pxref{Change Log}),
|
||||
@end ifnottex
|
||||
you can generate change log entries automatically from the version
|
||||
control log entries:
|
||||
you can generate change log entries from the version control log
|
||||
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
|
||||
@item C-x v a
|
||||
@kindex C-x v a
|
||||
@findex vc-update-change-log
|
||||
Visit the current directory's change log file and, for registered files
|
||||
in that directory, create new entries for versions checked in since the
|
||||
most recent entry in the change log file.
|
||||
Visit the current directory's @file{ChangeLog} file and, for
|
||||
registered files in that directory, create new entries for versions
|
||||
committed since the most recent change log entry
|
||||
(@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
|
||||
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
|
||||
|
||||
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
|
||||
Bowditch to @file{rcs2log} on 1999-05-22 with log text @samp{Ignore log
|
||||
messages that start with `#'.}. Then @kbd{C-x v a} visits
|
||||
@file{ChangeLog} and inserts text like this:
|
||||
Bowditch to @file{rcs2log} on 1999-05-22 with log entry @samp{Ignore
|
||||
log messages that start with `#'.}. Then @kbd{C-x v a} inserts this
|
||||
@file{ChangeLog} entry:
|
||||
|
||||
@iftex
|
||||
@medbreak
|
||||
|
|
@ -369,17 +77,11 @@ messages that start with `#'.}. Then @kbd{C-x v a} visits
|
|||
@end iftex
|
||||
|
||||
@noindent
|
||||
You can then edit the new change log entry further as you wish.
|
||||
|
||||
Some of the new change log entries may duplicate what's already in
|
||||
ChangeLog. You will have to remove these duplicates by hand.
|
||||
|
||||
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:
|
||||
If the version control log entry specifies a function name (in
|
||||
parenthesis at the beginning of a line), that is reflected in the
|
||||
@file{ChangeLog} entry. For example, if a log entry for @file{vc.el}
|
||||
is @samp{(vc-do-command): Check call-process status.}, the
|
||||
@file{ChangeLog} entry is:
|
||||
|
||||
@iftex
|
||||
@medbreak
|
||||
|
|
@ -395,221 +97,184 @@ if the text of the log entry starts with @w{@samp{(@var{functionname}):
|
|||
@medbreak
|
||||
@end iftex
|
||||
|
||||
When @kbd{C-x v a} adds several change log entries at once, it groups
|
||||
related log entries together if they all are checked in by the same
|
||||
author at nearly the same time. If the log entries for several such
|
||||
files all have the same text, it coalesces them into a single entry.
|
||||
For example, suppose the most recent check-ins have the following log
|
||||
entries:
|
||||
When @kbd{C-x v a} adds several change log entries at once, it
|
||||
groups related log entries together if they all are checked in by the
|
||||
same author at nearly the same time. If the log entries for several
|
||||
such files all have the same text, it coalesces them into a single
|
||||
entry.
|
||||
|
||||
@flushleft
|
||||
@bullet{} For @file{vc.texinfo}: @samp{Fix expansion typos.}
|
||||
@bullet{} For @file{vc.el}: @samp{Don't call expand-file-name.}
|
||||
@bullet{} For @file{vc-hooks.el}: @samp{Don't call expand-file-name.}
|
||||
@end flushleft
|
||||
@node VC Delete/Rename
|
||||
@subsubsection Deleting and Renaming Version-Controlled Files
|
||||
@cindex renaming version-controlled files
|
||||
|
||||
@noindent
|
||||
They appear like this in @file{ChangeLog}:
|
||||
@table @kbd
|
||||
@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
|
||||
@medbreak
|
||||
(@pxref{VC Directory Mode}),
|
||||
@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
|
||||
|
||||
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
|
||||
@ifnottex
|
||||
(@pxref{VC Directory Mode}),
|
||||
@end ifnottex
|
||||
it is displayed with the @samp{removed} status. When you commit it,
|
||||
the deletion takes effect in the repository.
|
||||
|
||||
@findex vc-rename-file
|
||||
When you rename a registered file, you must also rename its master
|
||||
file correspondingly to get proper results. Use @code{vc-rename-file}
|
||||
to rename the source file as you specify, and rename its master file
|
||||
accordingly. It also updates any tags (@pxref{Revision Tags}) that
|
||||
mention the file, so that they use the new name; despite this, the
|
||||
tag thus modified may not completely work (@pxref{Revision Tag Caveats}).
|
||||
To rename a version-controlled file, type @kbd{M-x vc-rename-file}.
|
||||
This prompts for two arguments: the name of the file you wish to
|
||||
rename, and the new name; then it performs the renaming via the
|
||||
version control system. The renaming takes effect immediately in the
|
||||
working tree, and takes effect in the repository when you commit the
|
||||
renamed file.
|
||||
|
||||
Some back ends do not provide an explicit rename operation to their
|
||||
repositories. After issuing @code{vc-rename-file}, use @kbd{C-x v v}
|
||||
on the original and renamed buffers and provide the necessary edit
|
||||
log.
|
||||
On modern version control systems that have built-in support for
|
||||
renaming, the renamed file retains the full change history of the
|
||||
original file. On CVS and older version control systems, the
|
||||
@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
|
||||
someone else.
|
||||
@node Revision Tags
|
||||
@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
|
||||
@subsubsection Inserting Version Control Headers
|
||||
|
||||
Sometimes it is convenient to put version identification strings
|
||||
directly into working files. Certain special strings called
|
||||
@dfn{version headers} are replaced in each successive version by the
|
||||
number of that version, the name of the user who created it, and other
|
||||
relevant information. All of the back ends that VC supports have such
|
||||
a mechanism, except GNU Arch.
|
||||
On Subversion, CVS, RCS, and SCCS, you can put certain special
|
||||
strings called @dfn{version headers} into a work file. When the file
|
||||
is committed, the version control system automatically puts the
|
||||
revision number, the name of the user who made the commit, and other
|
||||
relevant information into the version header.
|
||||
|
||||
VC does not normally use the information contained in these headers.
|
||||
The exception is RCS---with RCS, version headers are sometimes more
|
||||
reliable than the master file to determine which version of the file
|
||||
you are editing. Note that in a multi-branch environment, version
|
||||
headers are necessary to make VC behave correctly
|
||||
@iftex
|
||||
(@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.
|
||||
@vindex vc-consult-headers
|
||||
VC does not normally use the information in the version headers. As
|
||||
an exception, when using RCS, Emacs uses the version header, if there
|
||||
is one, to determine the file version, since it is often more reliable
|
||||
than the RCS master file. To inhibit using the version header this
|
||||
way, change the variable @code{vc-consult-headers} to @code{nil}.
|
||||
|
||||
@kindex C-x v h
|
||||
@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
|
||||
The default header string is @samp{@w{$}Id$} for RCS and
|
||||
@samp{@w{%}W%} for SCCS. You can specify other headers to insert by
|
||||
setting the variables @code{vc-@var{backend}-header} where
|
||||
@var{backend} is @code{rcs} or @code{sccs}.
|
||||
|
||||
Instead of a single string, you can specify a list of strings; then
|
||||
each string in the list is inserted as a separate header on a line of
|
||||
its own.
|
||||
|
||||
It may be necessary to use apparently-superfluous backslashes when
|
||||
writing the strings that you put in this variable. For instance, you
|
||||
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})}.
|
||||
To insert a suitable header string into the current buffer, type
|
||||
@kbd{C-x v h} (@code{vc-insert-headers}). This command works only on
|
||||
Subversion, CVS, RCS, and SCCS. The variable
|
||||
@code{vc-@var{backend}-header} contains the list of keywords to insert
|
||||
into the version header; for instance, CVS uses @code{vc-cvs-header},
|
||||
whose default value is @code{'("\$Id\$")}. (The extra backslashes
|
||||
prevent the string constant from being interpreted as a header, if the
|
||||
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
|
||||
at point, surrounded by tabs, and inside comment delimiters if
|
||||
necessary.
|
||||
|
||||
@vindex vc-static-header-alist
|
||||
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
|
||||
elements of the form @code{(@var{regexp} . @var{format})}. Whenever
|
||||
@var{regexp} matches the buffer name, @var{format} is inserted as part
|
||||
of the header. A header line is inserted for each element that matches
|
||||
the buffer name, and for each string specified by
|
||||
@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.
|
||||
@var{regexp} matches the buffer name, @var{format} is also inserted as
|
||||
part of the version header. A @samp{%s} in @var{format} is replaced
|
||||
with the file's version control type.
|
||||
|
||||
@node Customizing VC
|
||||
@subsection Customizing VC
|
||||
|
||||
@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
|
||||
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
|
||||
these systems, exclude its name from the list. To disable VC entirely,
|
||||
set this variable to @code{nil}.
|
||||
these systems, exclude its name from the list. To disable VC
|
||||
entirely, set this variable to @code{nil}.
|
||||
|
||||
The order of systems in the list is significant: when you visit a file
|
||||
registered in more than one system (@pxref{Local Version Control}), VC
|
||||
uses the system that comes first in @code{vc-handled-backends} by
|
||||
default. The order is also significant when you register a file for
|
||||
the first time, see
|
||||
The order of systems in the list is significant: when you visit a
|
||||
file registered in more than one system, VC uses the system that comes
|
||||
first in @code{vc-handled-backends} by default. The order is also
|
||||
significant when you register a file for the first time
|
||||
@iftex
|
||||
@ref{Registering,,,emacs, the Emacs Manual},
|
||||
(@pxref{Registering,,,emacs, the Emacs Manual}).
|
||||
@end iftex
|
||||
@ifnottex
|
||||
@ref{Registering},
|
||||
(@pxref{Registering}).
|
||||
@end ifnottex
|
||||
for details.
|
||||
|
||||
@menu
|
||||
* 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
|
||||
@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
|
||||
Editing a version-controlled file through a symbolic link can be
|
||||
dangerous. It bypasses the version control system---you can edit the
|
||||
file without locking it, and fail to check your changes in. Also,
|
||||
your changes might overwrite those of another user. To protect against
|
||||
this, VC checks each symbolic link that you visit, to see if it points
|
||||
to a file under version control.
|
||||
|
||||
The variable @code{vc-follow-symlinks} controls what to do when a
|
||||
symbolic link points to a version-controlled file. If it is @code{nil},
|
||||
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.
|
||||
@cindex symbolic links (and version control)
|
||||
Editing a version-controlled file through a symbolic link may cause
|
||||
unexpected results, if you are unaware that the underlying file is
|
||||
version-controlled. The variable @code{vc-follow-symlinks} controls
|
||||
what Emacs does if you try to visit a symbolic link pointing to a
|
||||
version-controlled file. If the value is @code{ask} (the default),
|
||||
Emacs asks for confirmation. If it is @code{nil}, Emacs just displays
|
||||
a warning message. If it is @code{t}, Emacs automatically follows the
|
||||
link and visits the real file instead.
|
||||
|
||||
@vindex vc-suppress-confirm
|
||||
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
|
||||
@kbd{C-x v u} also operates without asking for confirmation. (This
|
||||
variable does not affect @kbd{C-x v c}; that operation is so drastic
|
||||
that it should always ask for confirmation.)
|
||||
@kbd{C-x v u} also operates without asking for confirmation.
|
||||
|
||||
@vindex vc-command-messages
|
||||
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
|
||||
displays messages to indicate which shell commands it runs, and
|
||||
additional messages when the commands finish.
|
||||
appropriate version control system. If @code{vc-command-messages} is
|
||||
non-@code{nil}, VC displays messages to indicate which shell commands
|
||||
it runs, and additional messages when the commands finish.
|
||||
|
||||
@vindex vc-path
|
||||
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
|
||||
@subsubsection Options specific for CVS
|
||||
|
||||
@cindex locking (CVS)
|
||||
By default, CVS does not use locking to coordinate the activities of
|
||||
several users; anyone can change a work file at any time. However,
|
||||
there are ways to restrict this, resulting in behavior that resembles
|
||||
locking.
|
||||
|
||||
@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-cvs-global-switches
|
||||
You can specify additional command line options to pass to all CVS
|
||||
operations in the variable @code{vc-cvs-global-switches}. These
|
||||
switches are inserted immediately after the @code{cvs} command, before
|
||||
the name of the operation to invoke.
|
||||
|
||||
@vindex vc-stay-local
|
||||
@vindex vc-cvs-stay-local
|
||||
@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
|
||||
@code{vc-cvs-stay-local}. There is another variable,
|
||||
@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
|
||||
@code{vc-stay-local} as well.
|
||||
|
||||
If @code{vc-cvs-stay-local} is @code{t} (the default), then VC uses
|
||||
only the entry in the local CVS subdirectory to determine the file's
|
||||
state (and possibly information returned by previous CVS commands).
|
||||
One consequence of this is that when you have modified a file, and
|
||||
somebody else has already checked in other changes to the file, you
|
||||
are not notified of it until you actually try to commit. (But you can
|
||||
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
|
||||
If @code{vc-cvs-stay-local} is @code{t} (the default), VC determines
|
||||
the version control status of each file using only the entry in the
|
||||
local CVS subdirectory and the information returned by previous CVS
|
||||
commands. As a consequence, if you have modified a file and somebody
|
||||
else has checked in other changes, you will not be notified of the
|
||||
conflict until you try to commit.
|
||||
|
||||
When @code{vc-cvs-stay-local} is @code{t}, VC also makes local
|
||||
version backups, so that simple diff and revert operations are
|
||||
completely local (@pxref{Version Backups}).
|
||||
|
||||
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.
|
||||
If you change @code{vc-cvs-stay-local} to @code{nil}, 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.
|
||||
|
||||
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
|
||||
only for repositories from hosts that match the pattern.
|
||||
|
||||
@vindex vc-cvs-global-switches
|
||||
You can specify additional command line options to pass to all CVS
|
||||
operations in the variable @code{vc-cvs-global-switches}. These
|
||||
switches are inserted immediately after the @code{cvs} command, before
|
||||
the name of the operation to invoke.
|
||||
@cindex automatic version backups
|
||||
When using a remote repository, Emacs normally makes @dfn{automatic
|
||||
version backups} of the original versions of each edited file. These
|
||||
local backups are made whenever you save the first changes to a file,
|
||||
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 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 See file emacs.texi for copying conditions.
|
||||
@node Windows, Frames, Buffers, Top
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@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 See file emacs.texi for copying conditions.
|
||||
@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
|
||||
@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,
|
||||
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
|
||||
@samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}. The menu and scroll
|
||||
bars are native widgets on MS-Windows, so they are only customizable
|
||||
via the system-wide settings in the Display Control Panel. You can
|
||||
also set resources using the @samp{-xrm} command line option, as
|
||||
explained below.)
|
||||
key @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs}, which affects only
|
||||
the current user and override the system-wide settings, and then under
|
||||
the key @samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}, which affects
|
||||
all users of the system. The menu and scroll bars are native widgets
|
||||
on MS-Windows, so they are only customizable via the system-wide
|
||||
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
|
||||
for a collection of related options. Each resource specification
|
||||
|
|
|
|||
|
|
@ -471,7 +471,7 @@
|
|||
;; coding: utf-8
|
||||
;; End:
|
||||
|
||||
Copyright (C) 2001-2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#### 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.
|
||||
|
||||
|
|
|
|||
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