diff options
| author | Paul Eggert | 2011-08-26 09:13:07 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-08-26 09:13:07 -0700 |
| commit | 5fc295a42feaef453b57010b826e589b9b9cb7dd (patch) | |
| tree | 8a965da92c7ebc7d78c04d2dbc220a6bbe40e094 | |
| parent | fcbc5f60ee9c1ed2fb8b8b4f36b8a0658250a1bd (diff) | |
| parent | 7254299e4d19b0acdfc5dd7580c24be817731488 (diff) | |
| download | emacs-5fc295a42feaef453b57010b826e589b9b9cb7dd.tar.gz emacs-5fc295a42feaef453b57010b826e589b9b9cb7dd.zip | |
Merge from trunk.
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rwxr-xr-x | autogen/configure | 4 | ||||
| -rw-r--r-- | configure.in | 4 | ||||
| -rw-r--r-- | doc/emacs/ChangeLog | 8 | ||||
| -rw-r--r-- | doc/emacs/Makefile.in | 1 | ||||
| -rw-r--r-- | doc/emacs/custom.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/emacs.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/help.texi | 12 | ||||
| -rw-r--r-- | doc/emacs/makefile.w32-in | 1 | ||||
| -rw-r--r-- | doc/emacs/misc.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/package.texi | 230 | ||||
| -rw-r--r-- | doc/emacs/trouble.texi | 2 | ||||
| -rw-r--r-- | etc/NEWS | 3 | ||||
| -rw-r--r-- | lisp/ChangeLog | 9 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-loaddefs.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 10 | ||||
| -rw-r--r-- | lisp/emacs-lisp/package.el | 26 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 2 | ||||
| -rw-r--r-- | lisp/gnus/mailcap.el | 2 | ||||
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/xdisp.c | 10 |
21 files changed, 312 insertions, 31 deletions
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-08-26 Jan Djärv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * configure.in: Add -MP to DEPFLAGS (Bug#9372). | ||
| 4 | |||
| 1 | 2011-08-13 Jan Djärv <jan.h.d@swipnet.se> | 5 | 2011-08-13 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 6 | ||
| 3 | * configure.in: Add header check: sys/socket.h (Bug#8477), | 7 | * configure.in: Add header check: sys/socket.h (Bug#8477), |
diff --git a/autogen/configure b/autogen/configure index 02fa5abb626..5996e241c0e 100755 --- a/autogen/configure +++ b/autogen/configure | |||
| @@ -9112,7 +9112,7 @@ $as_echo "$HAVE_GNU_MAKE" >&6; } | |||
| 9112 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc understands -MMD -MF" >&5 | 9112 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc understands -MMD -MF" >&5 |
| 9113 | $as_echo_n "checking whether gcc understands -MMD -MF... " >&6; } | 9113 | $as_echo_n "checking whether gcc understands -MMD -MF... " >&6; } |
| 9114 | SAVE_CFLAGS="$CFLAGS" | 9114 | SAVE_CFLAGS="$CFLAGS" |
| 9115 | CFLAGS="$CFLAGS -MMD -MF deps.d" | 9115 | CFLAGS="$CFLAGS -MMD -MF deps.d -MP" |
| 9116 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 9116 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
| 9117 | /* end confdefs.h. */ | 9117 | /* end confdefs.h. */ |
| 9118 | 9118 | ||
| @@ -9137,7 +9137,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | |||
| 9137 | $as_echo "$ac_enable_autodepend" >&6; } | 9137 | $as_echo "$ac_enable_autodepend" >&6; } |
| 9138 | fi | 9138 | fi |
| 9139 | if test $ac_enable_autodepend = yes; then | 9139 | if test $ac_enable_autodepend = yes; then |
| 9140 | DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d' | 9140 | DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d -MP' |
| 9141 | ## In parallel builds, another make might create depdir between | 9141 | ## In parallel builds, another make might create depdir between |
| 9142 | ## the first test and mkdir, so stick another test on the end. | 9142 | ## the first test and mkdir, so stick another test on the end. |
| 9143 | ## Or use install-sh -d? mkdir -p is not portable. | 9143 | ## Or use install-sh -d? mkdir -p is not portable. |
diff --git a/configure.in b/configure.in index cfb9dc8bab2..f62f364715f 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -1390,7 +1390,7 @@ if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then | |||
| 1390 | if test $HAVE_GNU_MAKE = yes; then | 1390 | if test $HAVE_GNU_MAKE = yes; then |
| 1391 | AC_MSG_CHECKING([whether gcc understands -MMD -MF]) | 1391 | AC_MSG_CHECKING([whether gcc understands -MMD -MF]) |
| 1392 | SAVE_CFLAGS="$CFLAGS" | 1392 | SAVE_CFLAGS="$CFLAGS" |
| 1393 | CFLAGS="$CFLAGS -MMD -MF deps.d" | 1393 | CFLAGS="$CFLAGS -MMD -MF deps.d -MP" |
| 1394 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], , ac_enable_autodepend=no) | 1394 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], , ac_enable_autodepend=no) |
| 1395 | CFLAGS="$SAVE_CFLAGS" | 1395 | CFLAGS="$SAVE_CFLAGS" |
| 1396 | test -f deps.d || ac_enable_autodepend=no | 1396 | test -f deps.d || ac_enable_autodepend=no |
| @@ -1398,7 +1398,7 @@ if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then | |||
| 1398 | AC_MSG_RESULT([$ac_enable_autodepend]) | 1398 | AC_MSG_RESULT([$ac_enable_autodepend]) |
| 1399 | fi | 1399 | fi |
| 1400 | if test $ac_enable_autodepend = yes; then | 1400 | if test $ac_enable_autodepend = yes; then |
| 1401 | DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d' | 1401 | DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d -MP' |
| 1402 | ## In parallel builds, another make might create depdir between | 1402 | ## In parallel builds, another make might create depdir between |
| 1403 | ## the first test and mkdir, so stick another test on the end. | 1403 | ## the first test and mkdir, so stick another test on the end. |
| 1404 | ## Or use install-sh -d? mkdir -p is not portable. | 1404 | ## Or use install-sh -d? mkdir -p is not portable. |
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 9050efa83d0..f74f06e962f 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2011-08-26 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * package.texi: New file, documenting the package manager. | ||
| 4 | |||
| 5 | * emacs.texi: Include it. | ||
| 6 | |||
| 7 | * help.texi (Help Summary): Add describe-package. | ||
| 8 | |||
| 1 | 2011-08-25 Chong Yidong <cyd@stupidchicken.com> | 9 | 2011-08-25 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 10 | ||
| 3 | * misc.texi (Printing): Convert subnodes into subsections. | 11 | * misc.texi (Printing): Convert subnodes into subsections. |
diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index 9465c726eba..66cd7f1d92e 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in | |||
| @@ -96,6 +96,7 @@ EMACSSOURCES= \ | |||
| 96 | ${srcdir}/dired.texi \ | 96 | ${srcdir}/dired.texi \ |
| 97 | ${srcdir}/calendar.texi \ | 97 | ${srcdir}/calendar.texi \ |
| 98 | ${srcdir}/misc.texi \ | 98 | ${srcdir}/misc.texi \ |
| 99 | ${srcdir}/package.texi \ | ||
| 99 | ${srcdir}/custom.texi \ | 100 | ${srcdir}/custom.texi \ |
| 100 | ${srcdir}/trouble.texi \ | 101 | ${srcdir}/trouble.texi \ |
| 101 | ${srcdir}/cmdargs.texi \ | 102 | ${srcdir}/cmdargs.texi \ |
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 6a6d465438d..a22d6c1f5dd 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 | 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 |
| 3 | @c Free Software Foundation, Inc. | 3 | @c Free Software Foundation, Inc. |
| 4 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 5 | @node Customization, Quitting, Amusements, Top | 5 | @node Customization |
| 6 | @chapter Customization | 6 | @chapter Customization |
| 7 | @cindex customization | 7 | @cindex customization |
| 8 | 8 | ||
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 24a7e6d62e6..060f939fa7a 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -212,6 +212,7 @@ Advanced Features | |||
| 212 | * Emulation:: Emulating some other editors with Emacs. | 212 | * Emulation:: Emulating some other editors with Emacs. |
| 213 | * Hyperlinking:: Following links in buffers. | 213 | * Hyperlinking:: Following links in buffers. |
| 214 | * Amusements:: Various games and hacks. | 214 | * Amusements:: Various games and hacks. |
| 215 | * Packages:: Installing additional features. | ||
| 215 | * Customization:: Modifying the behavior of Emacs. | 216 | * Customization:: Modifying the behavior of Emacs. |
| 216 | 217 | ||
| 217 | Recovery from Problems | 218 | Recovery from Problems |
| @@ -1497,6 +1498,7 @@ Lisp programming. | |||
| 1497 | @include rmail.texi | 1498 | @include rmail.texi |
| 1498 | @c Includes picture-xtra.texi | 1499 | @c Includes picture-xtra.texi |
| 1499 | @include misc.texi | 1500 | @include misc.texi |
| 1501 | @include package.texi | ||
| 1500 | @include custom.texi | 1502 | @include custom.texi |
| 1501 | @include trouble.texi | 1503 | @include trouble.texi |
| 1502 | 1504 | ||
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index 9a75bfb1887..bf93892c0db 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi | |||
| @@ -126,16 +126,20 @@ The complete Emacs manual is available on-line in Info. | |||
| 126 | Display the name and documentation of the command that @var{key} runs | 126 | Display the name and documentation of the command that @var{key} runs |
| 127 | (@code{describe-key}). | 127 | (@code{describe-key}). |
| 128 | @item C-h l | 128 | @item C-h l |
| 129 | Display a description of your last 300 keystrokes | 129 | Display a description of your last 300 keystrokes |
| 130 | (@code{view-lossage}). | 130 | (@code{view-lossage}). |
| 131 | @item C-h m | 131 | @item C-h m |
| 132 | Display documentation of the current major mode (@code{describe-mode}). | 132 | Display documentation of the current major mode (@code{describe-mode}). |
| 133 | @item C-h n | 133 | @item C-h n |
| 134 | Display news of recent Emacs changes (@code{view-emacs-news}). | 134 | Display news of recent Emacs changes (@code{view-emacs-news}). |
| 135 | @item C-h p | 135 | @item C-h p |
| 136 | Find packages by topic keyword (@code{finder-by-keyword}). For an | 136 | Find packages by topic keyword (@code{finder-by-keyword}). This lists |
| 137 | alternative interface to the same information, try the @code{info-finder} | 137 | packages using a package menu buffer (@pxref{Package Menu}); for an |
| 138 | command. | 138 | alternative interface to the same information, try the |
| 139 | @code{info-finder} command. | ||
| 140 | @item C-h P @var{package} @key{RET} | ||
| 141 | Display documentation about the package named @var{package} | ||
| 142 | (@code{describe-package}; @pxref{Packages}). | ||
| 139 | @item C-h r | 143 | @item C-h r |
| 140 | Display the Emacs manual in Info (@code{info-emacs-manual}). | 144 | Display the Emacs manual in Info (@code{info-emacs-manual}). |
| 141 | @item C-h s | 145 | @item C-h s |
diff --git a/doc/emacs/makefile.w32-in b/doc/emacs/makefile.w32-in index 4064f4ef6a3..e128a50ebd3 100644 --- a/doc/emacs/makefile.w32-in +++ b/doc/emacs/makefile.w32-in | |||
| @@ -88,6 +88,7 @@ EMACSSOURCES= \ | |||
| 88 | $(srcdir)/dired.texi \ | 88 | $(srcdir)/dired.texi \ |
| 89 | $(srcdir)/calendar.texi \ | 89 | $(srcdir)/calendar.texi \ |
| 90 | $(srcdir)/misc.texi \ | 90 | $(srcdir)/misc.texi \ |
| 91 | $(srcdir)/package.texi \ | ||
| 91 | $(srcdir)/custom.texi \ | 92 | $(srcdir)/custom.texi \ |
| 92 | $(srcdir)/trouble.texi \ | 93 | $(srcdir)/trouble.texi \ |
| 93 | $(srcdir)/cmdargs.texi \ | 94 | $(srcdir)/cmdargs.texi \ |
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index e43a8adce74..2dab70c512a 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi | |||
| @@ -2513,7 +2513,7 @@ Display a menu of files and URLs mentioned in current buffer, then | |||
| 2513 | find the one you select (@code{ffap-menu}). | 2513 | find the one you select (@code{ffap-menu}). |
| 2514 | @end table | 2514 | @end table |
| 2515 | 2515 | ||
| 2516 | @node Amusements, Customization, Hyperlinking, Top | 2516 | @node Amusements, Packages, Hyperlinking, Top |
| 2517 | @section Other Amusements | 2517 | @section Other Amusements |
| 2518 | @cindex boredom | 2518 | @cindex boredom |
| 2519 | 2519 | ||
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi new file mode 100644 index 00000000000..739a8ce6c65 --- /dev/null +++ b/doc/emacs/package.texi | |||
| @@ -0,0 +1,230 @@ | |||
| 1 | @c This is part of the Emacs manual. | ||
| 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 | ||
| 3 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | ||
| 5 | @node Packages | ||
| 6 | @chapter Emacs Lisp Packages | ||
| 7 | @cindex Package | ||
| 8 | @cindex Emacs Lisp package archive | ||
| 9 | @cindex Package archive | ||
| 10 | @cindex Emacs Lisp package | ||
| 11 | |||
| 12 | Emacs includes a facility that lets you easily download and install | ||
| 13 | @dfn{packages} that implement additional features. Each package is a | ||
| 14 | separate Emacs Lisp program, sometimes including other components such | ||
| 15 | as an Info manual. | ||
| 16 | |||
| 17 | @kbd{M-x list-packages} brings up a buffer named @samp{*Packages*} | ||
| 18 | with a list of all packages. You can install or uninstall packages | ||
| 19 | via this buffer. @xref{Package Menu}. | ||
| 20 | |||
| 21 | @findex describe-package | ||
| 22 | The command @kbd{C-h P} (@code{describe-package}) prompts for the | ||
| 23 | name of a package, and displays a help buffer describing that | ||
| 24 | attributes of the package and the features that it implements. | ||
| 25 | |||
| 26 | By default, Emacs downloads packages from a @dfn{package archive} | ||
| 27 | maintained by the Emacs developers and hosted by the GNU project. | ||
| 28 | Optionally, you can also download packages from archives maintained by | ||
| 29 | third parties. @xref{Package Installation}. | ||
| 30 | |||
| 31 | For information about turning an Emacs Lisp program into an | ||
| 32 | installable package, @xref{Packaging,,,elisp, The Emacs Lisp Reference | ||
| 33 | Manual}. For information about finding third-party packages and other | ||
| 34 | Emacs Lisp extensions, @xref{Packages that do not come with | ||
| 35 | Emacs,,,efaq, GNU Emacs FAQ}. | ||
| 36 | |||
| 37 | @menu | ||
| 38 | * Package Menu:: Buffer for viewing and managing packages. | ||
| 39 | * Package Installation:: Options for package installation. | ||
| 40 | * Package Files:: Where packages are installed. | ||
| 41 | @end menu | ||
| 42 | |||
| 43 | @node Package Menu | ||
| 44 | @section The Package Menu Buffer | ||
| 45 | @cindex package menu | ||
| 46 | @cindex built-in package | ||
| 47 | @findex list-packages | ||
| 48 | |||
| 49 | The command @kbd{M-x list-packages} brings up the @dfn{package menu}. | ||
| 50 | This is a buffer listing all the packages that Emacs knows about, one | ||
| 51 | on each line, with the following information: | ||
| 52 | |||
| 53 | @itemize @bullet | ||
| 54 | @item | ||
| 55 | The package name (e.g. @samp{auctex}). | ||
| 56 | |||
| 57 | @item | ||
| 58 | The package's version number (e.g. @samp{11.86}). | ||
| 59 | |||
| 60 | @item | ||
| 61 | The package's status---normally one of @samp{available} (can be | ||
| 62 | downloaded from the package archive), @samp{installed}, or | ||
| 63 | @samp{built-in} (included in Emacs by default). | ||
| 64 | |||
| 65 | In some instances, the status can be @samp{held}, @samp{disabled}, or | ||
| 66 | @samp{obsolete}. @xref{Package Installation}. | ||
| 67 | |||
| 68 | @item | ||
| 69 | A short description of the package. | ||
| 70 | @end itemize | ||
| 71 | |||
| 72 | @noindent | ||
| 73 | The @code{list-packages} command accesses the network, to retrieve the | ||
| 74 | list of available packages from the package archive server. If the | ||
| 75 | network is unavailable, it falls back on the most recently retrieved | ||
| 76 | list. | ||
| 77 | |||
| 78 | The following commands are available in the package menu: | ||
| 79 | |||
| 80 | @table @kbd | ||
| 81 | @item h | ||
| 82 | Print a short message summarizing how to use the package menu | ||
| 83 | (@code{package-menu-quick-help}). | ||
| 84 | |||
| 85 | @item ? | ||
| 86 | @itemx @key{RET} | ||
| 87 | Display a help buffer for the package on the current line | ||
| 88 | (@code{package-menu-describe-package}), similar to the help window | ||
| 89 | displayed by the @kbd{C-h P} command (@pxref{Packages}). | ||
| 90 | |||
| 91 | @item i | ||
| 92 | Mark the package on the current line for installation | ||
| 93 | (@code{package-menu-mark-install}). If the package status is | ||
| 94 | @samp{available}, this adds an @samp{I} character to the start of the | ||
| 95 | line; typing @kbd{x} (see below) will download and install the | ||
| 96 | package. | ||
| 97 | |||
| 98 | @item d | ||
| 99 | Mark the package on the current line for deletion | ||
| 100 | (@code{package-menu-mark-delete}). If the package status is | ||
| 101 | @samp{installed}, this adds a @samp{D} character to the start of the | ||
| 102 | line; typing @kbd{x} (see below) will delete the package. | ||
| 103 | @xref{Package Files}, for information about what package deletion | ||
| 104 | entails. | ||
| 105 | |||
| 106 | @item u | ||
| 107 | Remove any installation or deletion mark previously added to the | ||
| 108 | current line by an @kbd{i} or @kbd{d} command. | ||
| 109 | |||
| 110 | @item x | ||
| 111 | Download and install all packages marked with @kbd{i}, and their | ||
| 112 | dependencies; also, delete all packages marked with @kbd{d} | ||
| 113 | (@code{package-menu-execute}). This also removes the marks. | ||
| 114 | |||
| 115 | @item r | ||
| 116 | Refresh the package list (@code{package-menu-refresh}). This also | ||
| 117 | retrieves the list of available packages from the package archive | ||
| 118 | again. | ||
| 119 | @end table | ||
| 120 | |||
| 121 | @noindent | ||
| 122 | For example, you can install a package by typing @kbd{i} on the line | ||
| 123 | listing that package, followed by @kbd{x}. | ||
| 124 | |||
| 125 | @node Package Installation | ||
| 126 | @section Package Installation | ||
| 127 | |||
| 128 | @findex package-install | ||
| 129 | Packages are most conveniently installed using the package menu | ||
| 130 | (@pxref{Package Menu}), but you can also use the command @kbd{M-x | ||
| 131 | package-install}. This prompts for the name of a package with the | ||
| 132 | @samp{available} status, then downloads and installs it. | ||
| 133 | |||
| 134 | @cindex package requirements | ||
| 135 | A package may @dfn{require} certain other packages to be installed, | ||
| 136 | because it relies on functionality provided by them. When Emacs | ||
| 137 | installs such a package, it also automatically downloads and installs | ||
| 138 | any required package that is not already installed. (If a required | ||
| 139 | package is somehow unavailable, Emacs signals an error and stops | ||
| 140 | installation.) A package's requirements list is shown in its help | ||
| 141 | buffer. | ||
| 142 | |||
| 143 | @vindex package-archives | ||
| 144 | By default, packages are downloaded from a single package archive | ||
| 145 | maintained by the Emacs developers. This is controlled by the | ||
| 146 | variable @code{package-archives}, whose value is a list of package | ||
| 147 | archives known to Emacs. Each list element must have the form | ||
| 148 | @code{(@var{id} . @var{location})}, where @var{id} is the name of a | ||
| 149 | package archive and @var{location} is the @acronym{HTTP} address or | ||
| 150 | directory name of the package archive. You can alter this list if you | ||
| 151 | wish to use third party package archives---but do so at your own risk, | ||
| 152 | and use only third parties that you think you can trust! | ||
| 153 | |||
| 154 | Once a package is downloaded and installed, it takes effect in the | ||
| 155 | current Emacs session. What ``taking effect'' means depends on the | ||
| 156 | package; most packages just make some new commands available, while | ||
| 157 | others have more wide-ranging effects on the Emacs session. For such | ||
| 158 | information, consult the package's help buffer. | ||
| 159 | |||
| 160 | By default, Emacs also automatically loads all installed packages | ||
| 161 | (causing them to ``take effect'') in subsequent Emacs sessions. This | ||
| 162 | happens at startup, after processing the init file (@pxref{Init | ||
| 163 | File}). As an exception, Emacs does not load packages at startup if | ||
| 164 | invoked with the @samp{-q} or @samp{--no-init-file} options | ||
| 165 | (@pxref{Initial Options}). | ||
| 166 | |||
| 167 | @vindex package-enable-at-startup | ||
| 168 | @findex package-initialize | ||
| 169 | To disable automatic package loading, change the variable | ||
| 170 | @code{package-enable-at-startup} to @code{nil}. If you do this, you | ||
| 171 | can use the command @kbd{M-x package-initialize} to load your | ||
| 172 | packages. | ||
| 173 | |||
| 174 | @vindex package-load-list | ||
| 175 | For finer control over package loading, you can use the variable | ||
| 176 | @code{package-load-list}. Its value should be a list. A list element | ||
| 177 | of the form @code{(@var{name} @var{version})} tells Emacs to load | ||
| 178 | version @var{version} of the package named @var{name}. Here, | ||
| 179 | @var{version} should be a version string (corresponding to a specific | ||
| 180 | version of the package), or @code{t} (which means to load any | ||
| 181 | installed version), or @code{nil} (which means no version; this | ||
| 182 | ``disables'' the package, preventing it from being loaded). A list | ||
| 183 | element can also be the symbol @code{all}, which means to load the | ||
| 184 | latest installed version of any package not named by the other list | ||
| 185 | elements. The default value is just @code{'(all)}. | ||
| 186 | |||
| 187 | For example, if you set @code{package-load-list} to @code{'((muse | ||
| 188 | "3.20") all)}, then Emacs only loads version 3.20 of the @samp{muse} | ||
| 189 | package, plus any installed version of packages other than | ||
| 190 | @samp{muse}. Any other version of @samp{muse} that happens to be | ||
| 191 | installed will be ignored. The @samp{muse} package will be listed in | ||
| 192 | the package menu with the @samp{held} status. | ||
| 193 | |||
| 194 | @node Package Files | ||
| 195 | @section Package Files and Directory Layout | ||
| 196 | @cindex package directory | ||
| 197 | |||
| 198 | @cindex package file | ||
| 199 | @findex package-install-file | ||
| 200 | Each package is downloaded from the package archive in the form of a | ||
| 201 | single @dfn{package file}---either an Emacs Lisp source file, or a tar | ||
| 202 | file containing multiple Emacs Lisp source and other files. Package | ||
| 203 | files are automatically retrieved, processed, and disposed of by the | ||
| 204 | Emacs commands that install packages. Normally, you will not need to | ||
| 205 | deal directly with them, unless you are making a package | ||
| 206 | (@pxref{Packaging,,,elisp, The Emacs Lisp Reference Manual}). Should | ||
| 207 | you ever need to install a package directly from a package file, use | ||
| 208 | the command @kbd{M-x package-install-file}. | ||
| 209 | |||
| 210 | @vindex package-user-dir | ||
| 211 | Once installed, the contents of a package are placed in a | ||
| 212 | subdirectory of @file{~/.emacs.d/elpa/} (you can change the name of | ||
| 213 | that directory by changing the variable @code{package-user-dir}). The | ||
| 214 | package subdirectory is named @file{@var{name}-@var{version}}, where | ||
| 215 | @var{name} is the package name and @var{version} is its version | ||
| 216 | string. | ||
| 217 | |||
| 218 | @cindex system-wide packages | ||
| 219 | @vindex package-directory-list | ||
| 220 | In addition to @code{package-user-dir}, Emacs looks for installed | ||
| 221 | packages in the directories listed in @code{package-directory-list}. | ||
| 222 | These directories are meant for system administrators to make Emacs | ||
| 223 | packages available system-wide; Emacs itself never installs packages | ||
| 224 | there. The package subdirectories for @code{package-directory-list} | ||
| 225 | are laid out in the same way as in @code{package-user-dir}. | ||
| 226 | |||
| 227 | Deleting a package (@pxref{Package Menu}) involves deleting the | ||
| 228 | corresponding package subdirectory. This only works for packages | ||
| 229 | installed in @code{package-user-dir}; if told to act on a package in a | ||
| 230 | system-wide package directory, the deletion command signals an error. | ||
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 4be892639fc..fd06dde5174 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi | |||
| @@ -15,7 +15,7 @@ also considered. | |||
| 15 | @raisesections | 15 | @raisesections |
| 16 | @end ifnottex | 16 | @end ifnottex |
| 17 | 17 | ||
| 18 | @node Quitting, Lossage, Customization, Top | 18 | @node Quitting |
| 19 | @section Quitting and Aborting | 19 | @section Quitting and Aborting |
| 20 | @cindex quitting | 20 | @cindex quitting |
| 21 | 21 | ||
| @@ -319,11 +319,14 @@ for `list-colors-display'. | |||
| 319 | This is a convenient way to download and install additional packages, | 319 | This is a convenient way to download and install additional packages, |
| 320 | from a package repository at elpa.gnu.org. | 320 | from a package repository at elpa.gnu.org. |
| 321 | 321 | ||
| 322 | +++ | ||
| 322 | *** `M-x list-packages' shows a list of packages, which can be | 323 | *** `M-x list-packages' shows a list of packages, which can be |
| 323 | selected for installation. | 324 | selected for installation. |
| 324 | 325 | ||
| 326 | +++ | ||
| 325 | *** New command `describe-package', bound to `C-h P'. | 327 | *** New command `describe-package', bound to `C-h P'. |
| 326 | 328 | ||
| 329 | +++ | ||
| 327 | *** By default, all installed packages are loaded and activated | 330 | *** By default, all installed packages are loaded and activated |
| 328 | automatically when Emacs starts up. To disable this, set | 331 | automatically when Emacs starts up. To disable this, set |
| 329 | `package-enable-at-startup' to nil. To change which packages are | 332 | `package-enable-at-startup' to nil. To change which packages are |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b922e21681f..e3fe51454e5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2011-08-26 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * emacs-lisp/package.el (package-install): Call package-initialize | ||
| 4 | if called interactively. | ||
| 5 | |||
| 6 | 2011-08-26 Leo Liu <sdl.web@gmail.com> | ||
| 7 | |||
| 8 | * emacs-lisp/cl-macs.el (defstruct): Fix format. (Bug#9357) | ||
| 9 | |||
| 1 | 2011-08-25 Juri Linkov <juri@jurta.org> | 10 | 2011-08-25 Juri Linkov <juri@jurta.org> |
| 2 | 11 | ||
| 3 | * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to | 12 | * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to |
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el index 7beb4d4b4cc..d6512306ad1 100644 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el | |||
| @@ -282,7 +282,7 @@ Not documented | |||
| 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist | 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist |
| 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase | 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase |
| 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* | 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* |
| 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "0907093f7720996444ededb4edfe8072") | 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "cc8cbd8c86e2facbe61986e992e6c508") |
| 286 | ;;; Generated autoloads from cl-macs.el | 286 | ;;; Generated autoloads from cl-macs.el |
| 287 | 287 | ||
| 288 | (autoload 'gensym "cl-macs" "\ | 288 | (autoload 'gensym "cl-macs" "\ |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index fb19115287c..d9531cc5261 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -2416,9 +2416,8 @@ value, that slot cannot be set via `setf'. | |||
| 2416 | (append | 2416 | (append |
| 2417 | (and pred-check | 2417 | (and pred-check |
| 2418 | (list (list 'or pred-check | 2418 | (list (list 'or pred-check |
| 2419 | (list 'error | 2419 | `(error "%s accessing a non-%s" |
| 2420 | (format "%s accessing a non-%s" | 2420 | ',accessor ',name)))) |
| 2421 | accessor name))))) | ||
| 2422 | (list (if (eq type 'vector) (list 'aref 'cl-x pos) | 2421 | (list (if (eq type 'vector) (list 'aref 'cl-x pos) |
| 2423 | (if (= pos 0) '(car cl-x) | 2422 | (if (= pos 0) '(car cl-x) |
| 2424 | (list 'nth pos 'cl-x)))))) forms) | 2423 | (list 'nth pos 'cl-x)))))) forms) |
| @@ -2426,9 +2425,8 @@ value, that slot cannot be set via `setf'. | |||
| 2426 | (push (list 'define-setf-method accessor '(cl-x) | 2425 | (push (list 'define-setf-method accessor '(cl-x) |
| 2427 | (if (cadr (memq :read-only (cddr desc))) | 2426 | (if (cadr (memq :read-only (cddr desc))) |
| 2428 | (list 'progn '(ignore cl-x) | 2427 | (list 'progn '(ignore cl-x) |
| 2429 | (list 'error | 2428 | `(error "%s is a read-only slot" |
| 2430 | (format "%s is a read-only slot" | 2429 | ',accessor)) |
| 2431 | 'accessor))) | ||
| 2432 | ;; If cl is loaded only for compilation, | 2430 | ;; If cl is loaded only for compilation, |
| 2433 | ;; the call to cl-struct-setf-expander would | 2431 | ;; the call to cl-struct-setf-expander would |
| 2434 | ;; cause a warning because it may not be | 2432 | ;; cause a warning because it may not be |
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 19e8375966b..88282606aa8 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el | |||
| @@ -852,18 +852,26 @@ using `package-compute-transaction'." | |||
| 852 | (t | 852 | (t |
| 853 | (error "Unknown package kind: %s" (symbol-name kind))))))) | 853 | (error "Unknown package kind: %s" (symbol-name kind))))))) |
| 854 | 854 | ||
| 855 | (defvar package--initialized nil) | ||
| 856 | |||
| 855 | ;;;###autoload | 857 | ;;;###autoload |
| 856 | (defun package-install (name) | 858 | (defun package-install (name) |
| 857 | "Install the package named NAME. | 859 | "Install the package named NAME. |
| 858 | Interactively, prompt for the package name. | 860 | NAME should be the name of one of the available packages in an |
| 859 | The package is found on one of the archives in `package-archives'." | 861 | archive in `package-archives'. Interactively, prompt for NAME." |
| 860 | (interactive | 862 | (interactive |
| 861 | (list (intern (completing-read "Install package: " | 863 | (progn |
| 862 | (mapcar (lambda (elt) | 864 | ;; Initialize the package system to get the list of package |
| 863 | (cons (symbol-name (car elt)) | 865 | ;; symbols for completion. |
| 864 | nil)) | 866 | (unless package--initialized |
| 865 | package-archive-contents) | 867 | (package-initialize t)) |
| 866 | nil t)))) | 868 | (list (intern (completing-read |
| 869 | "Install package: " | ||
| 870 | (mapcar (lambda (elt) | ||
| 871 | (cons (symbol-name (car elt)) | ||
| 872 | nil)) | ||
| 873 | package-archive-contents) | ||
| 874 | nil t))))) | ||
| 867 | (let ((pkg-desc (assq name package-archive-contents))) | 875 | (let ((pkg-desc (assq name package-archive-contents))) |
| 868 | (unless pkg-desc | 876 | (unless pkg-desc |
| 869 | (error "Package `%s' is not available for installation" | 877 | (error "Package `%s' is not available for installation" |
| @@ -1076,8 +1084,6 @@ makes them available for download." | |||
| 1076 | (car archive))))) | 1084 | (car archive))))) |
| 1077 | (package-read-all-archive-contents)) | 1085 | (package-read-all-archive-contents)) |
| 1078 | 1086 | ||
| 1079 | (defvar package--initialized nil) | ||
| 1080 | |||
| 1081 | ;;;###autoload | 1087 | ;;;###autoload |
| 1082 | (defun package-initialize (&optional no-activate) | 1088 | (defun package-initialize (&optional no-activate) |
| 1083 | "Load Emacs Lisp packages, and activate them. | 1089 | "Load Emacs Lisp packages, and activate them. |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 076afdd2323..5c8b4333332 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | 2011-08-26 Katsumi Yamaoka <yamaoka@jpl.org> | 1 | 2011-08-26 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 2 | ||
| 3 | * mailcap.el (mailcap-mime-data): Regexp-quote MIME subtype. | ||
| 4 | |||
| 3 | * gnus-msg.el (gnus-setup-message): Remove extra apostrophe. | 5 | * gnus-msg.el (gnus-setup-message): Remove extra apostrophe. |
| 4 | 6 | ||
| 5 | 2011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> | 7 | 2011-08-21 Lars Magne Ingebrigtsen <larsi@gnus.org> |
diff --git a/lisp/gnus/mailcap.el b/lisp/gnus/mailcap.el index dffb279daba..7959104d646 100644 --- a/lisp/gnus/mailcap.el +++ b/lisp/gnus/mailcap.el | |||
| @@ -90,7 +90,7 @@ This is a compatibility function for different Emacsen." | |||
| 90 | ;; files for the rest? -- fx | 90 | ;; files for the rest? -- fx |
| 91 | (defvar mailcap-mime-data | 91 | (defvar mailcap-mime-data |
| 92 | `(("application" | 92 | `(("application" |
| 93 | ("vnd.ms-excel" | 93 | ("vnd\\.ms-excel" |
| 94 | (viewer . "gnumeric %s") | 94 | (viewer . "gnumeric %s") |
| 95 | (test . (getenv "DISPLAY")) | 95 | (test . (getenv "DISPLAY")) |
| 96 | (type . "application/vnd.ms-excel")) | 96 | (type . "application/vnd.ms-excel")) |
diff --git a/src/ChangeLog b/src/ChangeLog index b5ba1d74f8a..bb2a0d20c1f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | 2011-08-25 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-08-26 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | Integer and memory overflow issues (Bug#9196). | 3 | Integer and memory overflow issues (Bug#9196). |
| 4 | 4 | ||
| @@ -422,6 +422,11 @@ | |||
| 422 | (gs_load): Use printmax_t to print the widest integers possible. | 422 | (gs_load): Use printmax_t to print the widest integers possible. |
| 423 | Check for integer overflow when computing image height and width. | 423 | Check for integer overflow when computing image height and width. |
| 424 | 424 | ||
| 425 | 2011-08-26 Eli Zaretskii <eliz@gnu.org> | ||
| 426 | |||
| 427 | * xdisp.c (redisplay_window): Don't force window start if point | ||
| 428 | will be invisible in the resulting window. (Bug#9324) | ||
| 429 | |||
| 425 | 2011-08-25 Eli Zaretskii <eliz@gnu.org> | 430 | 2011-08-25 Eli Zaretskii <eliz@gnu.org> |
| 426 | 431 | ||
| 427 | * xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when | 432 | * xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when |
diff --git a/src/xdisp.c b/src/xdisp.c index 5f7020ba379..b60e3b466a8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -15097,6 +15097,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 15097 | || (XFASTINT (w->last_modified) >= MODIFF | 15097 | || (XFASTINT (w->last_modified) >= MODIFF |
| 15098 | && XFASTINT (w->last_overlay_modified) >= OVERLAY_MODIFF))) | 15098 | && XFASTINT (w->last_overlay_modified) >= OVERLAY_MODIFF))) |
| 15099 | { | 15099 | { |
| 15100 | int d1, d2, d3, d4, d5, d6; | ||
| 15100 | 15101 | ||
| 15101 | /* If first window line is a continuation line, and window start | 15102 | /* If first window line is a continuation line, and window start |
| 15102 | is inside the modified region, but the first change is before | 15103 | is inside the modified region, but the first change is before |
| @@ -15118,7 +15119,14 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 15118 | compute_window_start_on_continuation_line. (See also | 15119 | compute_window_start_on_continuation_line. (See also |
| 15119 | bug#197). */ | 15120 | bug#197). */ |
| 15120 | && XMARKER (w->start)->buffer == current_buffer | 15121 | && XMARKER (w->start)->buffer == current_buffer |
| 15121 | && compute_window_start_on_continuation_line (w)) | 15122 | && compute_window_start_on_continuation_line (w) |
| 15123 | /* It doesn't make sense to force the window start like we | ||
| 15124 | do at label force_start if it is already known that point | ||
| 15125 | will not be visible in the resulting window, because | ||
| 15126 | doing so will move point from its correct position | ||
| 15127 | instead of scrolling the window to bring point into view. | ||
| 15128 | See bug#9324. */ | ||
| 15129 | && pos_visible_p (w, PT, &d1, &d2, &d3, &d4, &d5, &d6)) | ||
| 15122 | { | 15130 | { |
| 15123 | w->force_start = Qt; | 15131 | w->force_start = Qt; |
| 15124 | SET_TEXT_POS_FROM_MARKER (startp, w->start); | 15132 | SET_TEXT_POS_FROM_MARKER (startp, w->start); |