Commit graph

52 commits

Author SHA1 Message Date
Juanma Barranquero
cd1181dbec Fix typos. 2011-11-20 04:48:53 +01:00
Chong Yidong
38bb2ca88d * emacs-lisp/package.el (package-refresh-contents): Add autoload. 2011-10-29 11:42:12 +08:00
Chong Yidong
502f9ebda0 * lisp/emacs-lisp/package.el (list-packages): Fix echo area message. 2011-09-27 11:58:13 -04:00
Juri Linkov
7cc6e15441 Capitalize non-function content words in menu item strings.
* lisp/buff-menu.el (Buffer-menu-mode-map):
* lisp/dired.el (dired-mode-map):
* lisp/emacs-lisp/lisp-mode.el (emacs-lisp-mode-map)
(lisp-interaction-mode-map):
* lisp/emacs-lisp/package.el (package-menu-mode-map):
* lisp/epa.el (epa-key-list-mode-map):
* lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu)
(menu-bar-options-menu):
* lisp/outline.el (outline-mode-menu-bar-map):
* lisp/vc/vc-bzr.el (vc-bzr-shelve-menu-map, vc-bzr-extra-menu-map):
* lisp/vc/vc-dir.el (vc-dir-menu-map):
* lisp/vc/vc-git.el (vc-git-stash-menu-map, vc-git-extra-menu-map):
Capitalize non-function content words in menu item strings.

* lisp/dired.el (dired-mode-map): Add menu item for
`image-dired-dired-toggle-marked-thumbs'.
2011-09-18 23:43:20 +03:00
Chong Yidong
d770725a3d Add package-menu-mark-upgrades to the Package Menu menu bar map. 2011-09-14 22:05:17 -04:00
Chong Yidong
25322144fc Add an "mark upgradable packages" command to Package Menu mode.
* lisp/emacs-lisp/package.el (package-alist): Fix risky-local-variable
declaration.
(package--add-to-archive-contents): If there is a duplicate entry
with an older version, remove it.
(package-menu-mark-delete, package-menu-mark-install)
(package-menu-mark-unmark): Make unused args optional.
(package-menu-mark-obsolete-for-deletion): Use
package-menu-get-status instead of a regexp search.
(package-menu-get-status): Use tabulated-list-entry.
(package-menu-mark-upgrades): New command.
(package-menu-mode-map): Bind it to U.
(package-menu-execute): Do installation before deletion.
(package-menu-refresh, package-menu-execute): Use derived-mode-p
instead of checking major-mode.
(package-menu--find-upgrades): New function.
2011-09-14 21:57:54 -04:00
Chong Yidong
fb87e0fb94 Fix package menu bug in marking obsolete packages for deletion.
* lisp/emacs-lisp/package.el (package-menu-mark-delete): Allow marking
obsolete packages for deletion.
2011-08-28 17:32:50 -04:00
Chong Yidong
7254299e4d * package.el (package-install): Call package-initialize if called interactively. 2011-08-26 11:53:50 -04:00
Paul Eggert
9a70f03d70 Merge from trunk. 2011-08-02 22:05:38 -07:00
Chong Yidong
512e3ae1e9 Restore ability to show a restricted list of packages in Package Menu.
* emacs-lisp/package.el (package-built-in-p): Fix typo.
(package-menu--generate): New arg specifying packages to show.
(package-menu-refresh, package-menu-execute, list-packages):
Callers changed.
(package-show-package-list): New function.

* finder.el (finder-list-matches): Use package-show-package-list
instead of deleted package--list-packages.
2011-04-24 16:32:23 -04:00
Chong Yidong
7ede3b6577 Doc fixes for package.el.
* emacs-lisp/package.el (package--builtins, package-alist)
(package-load-descriptor, package-built-in-p, package-activate)
(define-package, package-installed-p)
(package-compute-transaction, package-buffer-info)
(package--push): Doc fix.  Distinguish more clearly between
version strings and version lists.
2011-04-21 22:35:48 -04:00
Chong Yidong
e91a96fefd Make Package Menu a child of Tabulated List mode.
* emacs-lisp/package.el: Use Tabulated List mode.
(package-menu-mode-map): Inherit from tabulated-list-mode-map.
(package-menu-mode): Derive from tabulated-list-mode.  Set up the
table format using Tabulated List mode variables.
(package--push): New macro, replacing package-list-maybe-add.
(package-menu--generate): Use package--push.  Renamed from
package--generate-package-list.
(package-menu-refresh, list-packages): Use it.
(package-menu--print-info): Renamed from package-print-package.
Return insertion data instead of inserting it directly.
(package-menu-describe-package, package-menu-execute): Use
tabulated-list-get-id.
(package-menu-mark-delete, package-menu-mark-install)
(package-menu-mark-unmark, package-menu-backup-unmark)
(package-menu-mark-obsolete-for-deletion): Use
tabulated-list-put-tag.
(package--list-packages, package-menu-revert)
(package-menu-get-package, package-menu-get-version)
(package-menu-sort-by-column): Functions deleted.
(package-menu-package-list, package-menu-sort-key): Vars deleted.
(package-menu--status-predicate, package-menu--version-predicate)
(package-menu--name-predicate)
(package-menu--description-predicate): Handle arguments in the
Tabulated List format.
(package-list-packages-no-fetch): Call list-packages.
2011-04-06 16:33:30 -04:00
Chong Yidong
da91b5f294 Merge open-protocol-stream into open-network-stream.
* lisp/subr.el (open-network-stream): Move to net/network-stream.el.

* lisp/gnus/proto-stream.el: Move to net/network-stream.el.

* lisp/net/network-stream.el: Move from gnus/proto-stream.el.
Change prefix to network-stream throughout.
(open-protocol-stream): Merge into open-network-stream, leaving
open-protocol-stream as an alias.  Handle nil BUFFER args.

* lisp/gnus/nnimap.el (nnimap-open-connection-1): Pass explicit :end-of-command
parameter to open-protocol-stream.

* lisp/emacs-lisp/package.el (package--with-work-buffer): Recognize
https URLs.

* lisp/url/url-gw.el (url-open-stream): Use new open-network-stream
functionality to perform encryption.
2011-04-02 19:41:03 -04:00
Chong Yidong
4525ce3eb5 Fix tar package handling, and clean up package-subdirectory-regexp usage.
* lisp/startup.el (package-subdirectory-regexp): Move from package.el.
Omit \\` and \\', and let callers add them.

* lisp/emacs-lisp/package.el (package-strip-version)
(package-load-all-descriptors): Add \\` and \\' to
package-subdirectory-regexp before using it.
(package-untar-buffer): New arg DIR; ensure that file untars only
into this expected directory.  Remove superfluous delete-region.
(package-unpack): Caller changed.
(package-tar-file-info): Use package-subdirectory-regexp.
2011-03-19 14:27:55 -04:00
Chong Yidong
ba08b24186 Fix package.el handling of version numbers like 1.0pre6.
* lisp/emacs-lisp/package.el (package-version-join): Impose a standard
string representation for pre/alpha/beta version lists.
(package-unpack-single): Standardize the directory name by passing
it through package-version-join.
2011-03-10 18:40:46 -05:00
Chong Yidong
ffbf300e1e Fix package-strip-rcs-id to be more robust.
See http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00396.html

* lisp/emacs-lisp/package.el (package-strip-rcs-id): Accept any version
string that does not signal an error in version-to-list.
2011-03-10 16:51:26 -05:00
Chong Yidong
515de2e321 Use condition-case-no-debug in package.el.
* lisp/emacs-lisp/package.el (package-refresh-contents)
(package-menu-execute): Use condition-case-no-debug.
2011-03-08 12:11:19 -05:00
Michael Albinus
b511b994ae * simple.el (shell-command-to-string): Use `process-file'.
* emacs-lisp/package.el (package-tar-file-info): Handle also
remote files.

* emacs-lisp/package-x.el (package-upload-buffer-internal): Use
`equal' for upload base check.
2011-03-08 13:58:40 +01:00
Chong Yidong
f561e49a25 Allow specifying local ELPA mirrors in package-archives.
* emacs-lisp/package.el (package-archives): Accept either ordinary
directory names, in addition to HTTP URLs.
(package--with-work-buffer): New macro.   Handle normal directories.
(package-handle-response): Don't display the failing buffer.
(package-download-single, package-download-tar)
(package--download-one-archive): Use package--with-work-buffer.
(package-archive-base): Rename from package-archive-url.
2011-03-05 22:22:06 -05:00
Chong Yidong
abd20d91ab Fix incorrect changes introduced in 2011-02-02T17:59:44Z!sds@gnu.org.
* lisp/apropos.el (apropos-print): Call apropos-mode before setting up
buffer variables.  Use inhibit-read-only.

* lisp/emacs-lisp/package.el (package--list-packages): Call
package-menu-mode before setting up buffer variables.

* lisp/play/solitaire.el (solitaire): Call solitaire-mode before
setting up buffer variables.  Use inhibit-read-only.
2011-02-18 17:52:58 -05:00
Phil Hagelberg
c6affbdeb9 Allow packages to be reinstalled.
* emacs-lisp/package.el (package--write-file-no-coding): Remove EXCL arg.
(package-unpack-single): Don't use it.
2011-02-11 20:18:15 -05:00
Sam Steingold
e90f854587 * lisp/apropos.el (apropos-print): Now that `apropos-mode' inherits
from `special-mode', entering it makes the buffer read-only, so
call it only when everything has been already inserted.
* lisp/emacs-lisp/ert.el (ert--setup-results-buffer)
(ert-results-pop-to-backtrace-for-test-at-point)
(ert-results-pop-to-messages-for-test-at-point)
(ert-results-pop-to-timings): Ditto.
* lisp/emacs-lisp/package.el (package--list-packages): Ditto.
* lisp/play/solitaire.el (solitaire): Ditto.
2011-02-02 12:59:44 -05:00
Sam Steingold
abef340a0c * lisp/simple.el (special-mode-map): Bind "h" to `describe-mode';
bind "z" to `kill-this-buffer'.
(completion-list-mode-map): Bind "z" to `kill-this-buffer'.
* lisp/apropos.el (apropos-mode-map): Inherit from `special-mode-map'.
(apropos-mode): Inherit from `special-mode'.
* lisp/arc-mode.el (archive-mode-map): Inherit from `special-mode-map'.
* lisp/bookmark.el (bookmark-bmenu-mode): Define using
`define-derived-mode' inheriting from `special-mode'.
* lisp/dired.el (dired-mode-map): Inherit from `special-mode-map'.
* lisp/image-mode.el (image-mode-map): Ditto.
* lisp/replace.el (occur-mode): Define using
`define-derived-mode' inheriting from `special-mode'.
* lisp/tar-mode.el (tar-mode): Inherit from `special-mode'.
* lisp/calendar/diary-lib.el (diary-fancy-display-mode):
Inherit from `special-mode-map'.
* lisp/emacs-lisp/ert.el (ert-simple-view-mode, ert-results-mode):
Inherit from `special-mode'.
* lisp/emacs-lisp/package.el (package-menu-mode-map): Copy from
`special-mode-map'.
(package-menu-mode): Define using `define-derived-mode'
inheriting from `special-mode'.
* erc/erc-list.el (erc-list-menu-mode): Inherit from `special-mode'.
* lisp/net/xesam.el (xesam-mode): Inherit from `special-mode'.
(xesam-mode-map): Define separately.
* lisp/play/solitaire.el (solitaire-mode): Inherit from `special-mode'.
* lisp/progmodes/compile.el (compilation-minor-mode-map)
(compilation-mode-map): Inherit from `special-mode-map'.
* lisp/vc/diff-mode.el (diff-mode-shared-map):
Inherit from `special-mode-map'.
* lisp/vc/log-view.el (log-view-mode-map): Add a comment.
2011-02-01 16:22:21 -05:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
d0d4361dba Add 2011 to remaining FSF/AIST copyright years. 2011-01-15 14:10:37 -08:00
Chong Yidong
2a8b13afb7 * emacs-lisp/package.el (package--list-packages): Use switch-to-buffer. 2011-01-12 13:57:23 -05:00
Chong Yidong
fbe3be3fa2 Minor fix to package-archive-contents recalculation.
lisp/emacs-lisp/package.el (package-read-all-archive-contents): Reset
package-archive-contents to nil before re-reading.
2010-11-10 16:35:06 -05:00
Chong Yidong
015eea5996 * emacs-lisp/package.el (package-unpack): Remove no-op.
(package--builtins, package--dir): Doc fix.
(package-activate-1, package-activate, package-install)
(package-compute-transaction): Fix error message.
(package-delete): Use delete-directory.  Omit system packages.
(package-initialize): Set package-alist to nil first.
(package-menu-mark-delete, package-menu-mark-install): Don't add
symbols that are inconsistent with the package state.
(package-menu-execute): Perform deletions and installations as
single batch operations.
2010-11-03 19:21:51 -04:00
Chong Yidong
4b99edf23f Separate built-in packages from elpa packages, for efficiency.
* emacs-lisp/package.el: Don't put built-in packages in
package-alist, to avoid loading inefficiencies.
(package-built-in-p): Make VERSION optional, and treat it as a
minimum acceptable version.
(package-activate): Search separately for built-in packages.  Emit
a warning if a dependency fails.
(define-package): Handle most common case, where there is no
obsolete package, first.
(package-compute-transaction): Print required version in error.
(package--initialized): New variable.
(list-packages): Use it.
(package-initialize): Optional arg NO-ACTIVATE.  Don't put
built-in packages in packages-alist; keep it separate.  Set
package--initialized.
(describe-package): Avoid activating packages as a side-effect.
Search separately for built-in packages.
(describe-package-1): Handle the case where an elpa package is
simultaneously built-in and available/installed.
(package-installed-p, package--generate-package-list): Search
separately for built-in packages.
(package-load-descriptor): Doc fix.
2010-11-02 23:25:36 -04:00
Chong Yidong
be577d03d7 Fix last change to package.el. 2010-11-01 22:30:50 -04:00
Chong Yidong
0f75c62ae3 Two fixes for elpa packages overriding built-in ones.
* emacs-lisp/package.el (package-initialize): Ensure that
obsoleted built-in packages are not in package-activated-list
during activation.
(describe-package-1): Make the "installed" status override
"built-in".
2010-11-01 21:50:26 -04:00
Chong Yidong
8a500a91a2 Check more carefully for packages before loading package.el.
* startup.el (command-line): Search for package directories, and
don't load package.el if none are found.

* emacs-lisp/package.el (describe-package, list-packages): Call
package-initialize if it has not been called yet.
2010-10-30 20:06:18 -04:00
Chong Yidong
43207249e0 * package.el (package-menu-mode-map): Inherit from button-buffer-map. 2010-10-24 11:46:21 -04:00
Chong Yidong
484db896fa Fix last commit. 2010-10-24 11:39:32 -04:00
Chong Yidong
f34e6aaaf8 Make the *Packages* buffer read-only.
* emacs-lisp/package.el (package--generate-package-list): Make the
*Packages* buffer read-only.
2010-10-24 11:37:21 -04:00
Glenn Morris
cd205c7615 Tiny package.el fix.
* lisp/emacs-lisp/package.el (package-menu-mode): `revert-buffer-function'
is not automatically buffer-local.
2010-09-21 20:31:30 -07:00
Chong Yidong
0be01d2c86 * emacs-lisp/package.el (package-directory-list): Only call file-name-nondirectory on a string. 2010-09-04 13:54:48 -04:00
Chong Yidong
ebf662f494 Avoid corrupting archive-contents file.
* emacs-lisp/package.el (package--download-one-archive): Ensure
that archive-contents is valid before saving it.
(package-activate-1, package-mark-obsolete, define-package)
(package-compute-transaction, package-list-maybe-add): Use push.
2010-09-04 13:13:14 -04:00
Chong Yidong
e687c2cdd6 Set revert-buffer-function in Package Menu.
* emacs-lisp/package.el (package-menu-mode-map): Change
package-menu-revert bindings to revert-buffer.
(package-menu-mode): Set revert-buffer-function.
(package-menu-revert): Doc fix.
2010-09-02 11:29:15 -04:00
Chong Yidong
187d3296ae Fix several Package Menu and Finder bugs.
* finder.el: Load finder-inf using `require'.
(finder-list-matches): Sorting by status is now the default.
(finder-compile-keywords): Simpify printing.

* emacs-lisp/package.el (package--read-archive-file): Just use
`read', to avoid copying an additional string.
(package-menu-mode): Set header-line-format here.
(package-menu-refresh, package-menu-revert): Signal an error if
not in the Package Menu.
(package-menu-package-list): New var.
(package--generate-package-list): Operate on the current buffer;
don't assume that it is *Packages*, since the user may rename it.
Allow persistent package listings and sort keys using
package-menu-package-list and package-menu-package-sort-key.
(package-menu--version-predicate): Fix version calculation.
(package-menu-sort-by-column): Don't select the window.
(package--list-packages): Create the *Packages* buffer.  Set
package-menu-package-list-key.
(list-packages): Sorting by status is now the default.
(package-buffer-info): Use match-string-no-properties.
(define-package): Add a &rest argument for future proofing, but
don't use it yet.
(package-install-from-buffer, package-install-buffer-internal):
Merged into a single function, package-install-from-buffer.
(package-install-file): Caller changed.

Also, fix headers for hfy-cmap.el and ps-print.el.
2010-08-30 21:53:46 -04:00
Chong Yidong
96ae4c8fa7 Merge Finder and package-menu functionality.
* lisp/finder.el: Require `package'.
(finder-known-keywords): Tweak descriptions.  Retire `oop' keyword.
(finder-package-info): Var deleted.
(finder-keywords-hash, finder--builtins-alist): New vars.
(finder-compile-keywords): Compute package--builtins and
finder-keywords-hash instead of finder-keywords-hash, respecting
the "Package" header.
(finder-unknown-keywords, finder-list-matches): Use
finder-keywords-hash and package--list-packages.
(finder-mode): Don't set font-lock-defaults.
(finder-exit): We don't use "*Finder-package*" and "*Finder
Category*" buffers anymore.

* lisp/info.el (Info-finder-find-node): Search package-alist instead of
finder-package-info.

* lisp/emacs-lisp/package.el (package--builtins-base): Var deleted.
(package--builtins): Set default value to nil.
(package-initialize): Load precomputed value of package--builtins
from finder-inf.el.
(package-alist, package-compute-transaction)
(package-download-transaction): Improve docstring.
(package-read-all-archive-contents): Do not change
package--builtins here.
(list-packages): Make package-list-packages an alias for this.
Sort by status by default.
(package--list-packages): Add optional PACKAGES arg.
(describe-package-1): Use font-lock-face property.  For built-in
packages, insert file commentary.
(package--generate-package-list): Rename from
package-list-packages-internal; all callers changed.  Add optional
PACKAGES arg.  Add alphabetical sort fallbacks.
(package-menu--version-predicate, package-menu--status-predicate)
(package-menu--description-predicate)
(package-menu--name-predicate): New functions.
2010-08-29 18:15:09 -04:00
Chong Yidong
cb6c4991ef Improvements to describe-package buffer.
* lisp/help.el (help-map): Bind `C-h P' to describe-package.

* lisp/menu-bar.el (menu-bar-describe-menu): Add describe-package.

* lisp/emacs-lisp/package.el (package-refresh-contents): Catch errors
when downloading archives.
(describe-package-1): Add package commentary.
(package-install-button-action): New function.
(package-menu-mode-map): Bind ? to package-menu-describe-package.
(package-menu-view-commentary): Function removed.
(package-list-packages-internal): Hide the `package' package too.
2010-08-25 23:31:34 -04:00
Chong Yidong
cb8759ca5a * emacs-lisp/package.el (list-packages): Alias for package-list-packages. 2010-08-24 17:36:33 -04:00
Chong Yidong
148cef8e7a Use version-list-* functions in package.el.
* emacs-lisp/package-x.el (package-upload-buffer-internal): Use
version-to-list.
(package-upload-buffer-internal): Use version-list-<=.

* emacs-lisp/package.el (package-version-split)
(package--version-first-nonzero, package-version-compare):
Functions removed.
(package-directory-list, package-load-all-descriptors)
(package--built-in, package-activate, define-package)
(package-installed-p, package-compute-transaction)
(package-read-all-archive-contents)
(package--add-to-archive-contents, package-buffer-info)
(package-tar-file-info, package-list-packages-internal): Use
version-to-list and version-list-*.
2010-08-09 14:05:56 -04:00
Chong Yidong
376c2b6b21 Package listing tweaks.
* emacs-lisp/package.el (package--list-packages): Fix column
alignment.
(package--builtins): Tweak descriptions.
(package-print-package): Upcase descriptions if necessary.  Show
all built-in packages in font-lock-builtin-face.
(package-list-packages-internal): Omit "emacs" package.  Show
status of built-in packages as "built-in".
2010-07-31 20:38:19 -04:00
Chong Yidong
063e52940d Update package-x to latest package.el changes.
* emacs-lisp/package-x.el (package--make-rss-entry):
(package-maint-add-news-item, package--update-news)
(package-upload-buffer-internal): New arg ARCHIVE-URL.

* emacs-lisp/package.el (package-archive-url): Rename from
package-archive-id.
(package-install): Doc fix.
(package-download-single, package-download-tar, package-install)
(package-menu-view-commentary): Callers changed.
2010-07-29 12:01:14 -04:00
Phil Hagelberg
bc44bef767 Add support for non-default package repositories.
* lisp/emacs-lisp/package.el (package-archive-base): Var deleted.
(package-archives): New variable.
(package-archive-contents): Doc fix.
(package-load-descriptor): Do nothing if descriptor file is
missing.
(package--write-file-no-coding): New function.
(package-unpack-single): Use it.
(package-archive-id): New function.
(package-download-single, package-download-tar)
(package-menu-view-commentary): Use it.
(package-installed-p): Make second argument optional.
(package-read-all-archive-contents): New function.
(package-initialize): Use it.
(package-read-archive-contents): Add ARCHIVE argument.
(package--add-to-archive-contents): New function.
(package-install): Don't call package-read-archive-contents.
(package--download-one-archive): Store archive file in a
subdirectory of package-user-dir.
(package-menu-execute): Remove spurious line movement.

* lisp/emacs-lisp/package.el (package-load-list, package-archives)
(package-archive-contents, package-user-dir)
(package-directory-list, package--builtins, package-alist)
(package-activated-list, package-obsolete-alist): Mark as risky.
2010-07-28 14:54:42 -04:00
Chong Yidong
8adb4c33da Tweaks to package list UI.
* help-mode.el (help-package): New button type.

* emacs-lisp/package.el (package-print-package): Add link to
package description via describe-package.
(describe-package-1): List package requirements.  Add button to
perform installation.
(package-menu-describe-package): New command.
2010-06-20 00:55:14 -04:00
Chong Yidong
cced75847f Add preliminary describe-package functionality, and some cleanup.
* help-mode.el (help-package-def): New button type.

* menu-bar.el: Move package-list-packages binding here from
package.el.

* emacs-lisp/package.el: Move package-list-packages binding to
menu-bar.el.
(describe-package, describe-package-1, package--dir): New funs.
(package-activate-1): Use package--dir.

* emacs-lisp/package-x.el (gnus-article-buffer): Require package.
2010-06-19 18:36:51 -04:00
Dan Nicolaescu
64eba874f5 * lisp/emacs-lisp/package.el (package-menu-mode-map): Add a menu. 2010-06-17 09:41:13 -07:00