Commit graph

536 commits

Author SHA1 Message Date
Dmitry Gutov
b5bcaee503 * lisp/emacs-lisp/package.el (package-load-descriptor): Remove
`with-syntax-table' call, `read' doesn't need it.
http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00539.html
2013-06-17 21:36:21 +04:00
Dmitry Gutov
d363bffbed * lisp/emacs-lisp/package.el (package-load-descriptor): Do not call
`emacs-lisp-mode', just use its syntax table.
2013-06-17 10:24:08 +04:00
Stefan Monnier
66bd25ab33 * lisp/emacs-lisp/package.el: Don't activate packages older than builtin.
(package-obsolete-list): Rename from package-obsolete-alist, and make
it into a simple list of package-desc.
(package-strip-version): Remove.
(package-built-in-p): Use package--builtin-versions.
(package-mark-obsolete): Simplify.
(package-process-define-package): Mark it obsolete if older than the
builtin version.
(package-handle-response): Use line-end-position.
(package-read-archive-contents, package--download-one-archive):
Simplify.
(package--add-to-archive-contents): Skip if older than the builtin or
installed version.
(package-menu-describe-package): Fix last change.
(package-list-unversioned): New var.
(package-menu--generate): Use it.

* lisp/Makefile.in (autoloads): Set autoload-builtin-package-versions.

* lisp/startup.el (package--builtin-versions): New var.
(package-subdirectory-regexp): Remove.
(package--description-file): Hard code its value instead.

* lisp/emacs-lisp/autoload.el: Manage package--builtin-versions.
(autoload--insert-text, autoload--insert-cookie-text): New functions.
(autoload-builtin-package-versions): New variable.
(autoload-generate-file-autoloads): Use them.
Remove the list of autoloaded functions/macros from the
(autoload...) comments.
2013-06-15 11:36:11 -04:00
Stefan Monnier
1b8dff239b * lisp/emacs-lisp/package.el: Don't recompute dir. Use pkg-descs more.
(package-desc): Add `dir' field.
(package-desc-full-name): New function.
(package-load-descriptor): Combine the two arguments.  Don't use `load'.
(package-maybe-load-descriptor): Remove.
(package-load-all-descriptors): Just call package-load-descriptor.
(package--disabled-p): New function.
(package-desc-vers, package-desc-doc): Remove aliases.
(package--dir): Remove function.
(package-activate): Check if a package is disabled.
(package-process-define-package): New function, extracted from
define-package.
(define-package): Turn into a place holder.
(package-unpack-single, package-tar-file-info):
Use package--description-file.
(package-compute-transaction): Use package--disabled-p.
(package-download-transaction): Don't call
package-maybe-load-descriptor since they're all loaded anyway.
(package-install): Change argument to be a pkg-desc.
(package-delete): Use a single pkg-desc argument.
(describe-package-1): Use package-desc-dir instead of package--dir.
Use package-desc property instead of package-symbol.
(package-install-button-action): Adjust accordingly.
(package--push): Rewrite.
(package-menu--print-info): Adjust accordingly.  Change the ID format
to be a pkg-desc.
(package-menu-describe-package, package-menu-get-status)
(package-menu--find-upgrades, package-menu-mark-upgrades)
(package-menu-execute, package-menu--name-predicate):
Adjust accordingly.
* lisp/startup.el (package--description-file): New function.
(command-line): Use it.
* lisp/emacs-lisp/package-x.el (package-upload-buffer-internal):
Use package-desc-version.
2013-06-13 23:20:18 -04:00
Stefan Monnier
f56be016d5 First part of Daniel Hackney's patch to package.el.
* lisp/emacs-lisp/package.el: Use defstruct.
(package-desc): New, main struct.
(package--bi-desc, package--ac-desc): New structs, used to describe the
format in external files.
(package-desc-vers): Replace with package-desc-version accessor.
(package-desc-doc): Replace with package-desc-summary accessor.
(package-activate-1): Remove `package' arg since the pkg-vec now
includes the name.
(define-package): Use package-desc-from-define.
(package-unpack-single): Change file-name arg to be a symbol.
(package--add-to-archive-contents): Use package-desc-create and new
accessor functions to package--ac-desc.
(package-buffer-info, package-tar-file-info): Return a package-desc.
(package-install-from-buffer): Remove `type' argument.  Change pkg-info
arg to be a package-desc.
(package-install-file): Adjust accordingly.  Use \' to match EOS.
(package--from-builtin): New function.
(describe-package-1, package-menu--generate): Use it.
(package--make-autoloads-and-compile): Change name arg to be a symbol.
(package-generate-autoloads): Idem and return the name of the file.
* lisp/emacs-lisp/package-x.el (package-upload-buffer-internal):
Change pkg-info arg to be a package-desc.
Use package-make-ac-desc.
(package-upload-file): Use \' to match EOS.
* lisp/finder.el (finder-compile-keywords): Use package-make-builtin.
2013-06-11 20:49:33 -04:00
Yann Hodique
469bfed936 * lisp/emacs-lisp/tabulated-list.el: Set a version number.
* lisp/emacs-lisp/package.el: Explicitly depend on a tabulated-list version.

Fixes: debbugs:14137
2013-05-14 00:35:21 -07:00
Glenn Morris
f20def1f2e Fix some declarations
* lisp/faces.el (internal-face-x-get-resource):
* lisp/frame.el (ns-display-monitor-attributes-list):
* lisp/calc/calc-aent.el (math-to-radians-2):
* lisp/cedet/ede/locate.el (cedet-cscope-version-check)
(cedet-cscope-support-for-directory):
* lisp/cedet/semantic/grammar.el (semantic-grammar-wy--install-parser):
* lisp/emacs-lisp/package.el (tar-header-name, tar-header-link-type):
Fix declarations.
2013-05-10 19:27:28 -07:00
Stefan Monnier
4fac34cee9 * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
Add current dir to the load-path.
(package-generate-autoloads): Don't rely on autoload-ensure-default-file.
2013-04-27 09:32:53 -04:00
Stefan Monnier
134abf1fae * lisp/emacs-lisp/package.el (package-compute-transaction): Fix last fix.
Suggested by Donald Curtis <dcurtis@coe.edu>.

Fixes: debbugs:14082
2013-04-05 14:46:59 -04:00
Stefan Monnier
b208ebc6e7 * lisp/emacs-lisp/package.el (package-compute-transaction): Fix ordering
when a package is required several times.

Fixes: debbugs:14082
2013-04-03 22:46:38 -04:00
Yann Hodique
397703b4ab * lisp/emacs-lisp/package.el (package-pinned-packages): New var.
(package--add-to-archive-contents): Obey it.

Fixes: debbugs:14118
2013-04-03 21:51:33 -04:00
Stefan Monnier
1ead7dbd66 * lisp/emacs-lisp/package.el (package--initialized): Move before first use. 2013-02-13 11:02:35 -05:00
Glenn Morris
eeb468daa1 * emacs-lisp/package.el (package-menu-execute): Doc fix. 2013-02-12 21:00:45 -08:00
Yves Baumes
a7da01148a * package.el (package-menu-execute): Add optional noquery argument (tiny change)
Fixes: debbugs:13625
2013-02-12 20:59:06 -08:00
Nicolas Richard
55b056bacf * emacs-lisp/package.el (describe-package-1): Tell what archive is used to
install the package.

Patch by Nicolas Richard.
2013-02-06 17:10:13 +01:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Chong Yidong
3c94d7a636 * emacs-lisp/package.el (package-untar-buffer): Improve integrity check for tarball contents. 2012-12-29 19:06:10 +08:00
Matt Fidler
af39894ab4 * emacs-lisp/package.el (package-untar-buffer): Handle problematic tarfile content listings.
Fixes: debbugs:13136
2012-12-29 18:26:14 +08:00
Daniel Hackney
cd44022cb0 * lisp/emacs-lisp/package.el (package-generate-autoloads): Kill buffer
"PKGNAME-autoloads.el" in case we created it.
2012-10-28 16:41:49 -04:00
Stefan Monnier
a7723be6dd * lisp/emacs-lisp/package.el (package-installed-p): Warn if not ready.
Fixes: debbugs:12721
2012-10-25 08:38:09 -04:00
Glenn Morris
267b82ff23 Standardize some more license notices 2012-09-24 09:36:42 -07:00
Chong Yidong
6005792624 In the Package Menu, indicate packages that are newly-available.
* lisp/emacs-lisp/package.el (list-packages): Compute a list of
packages that are newly-available since the last list-packages
invocation.
(package-menu--new-package-list): New var.
(package-menu--generate, package-menu--print-info)
(package-menu--status-predicate, package-menu-mark-install):
Handle new status label "new".
2012-06-13 15:33:38 +08:00
Glenn Morris
666b903b91 Merge from emacs-24; up to 2012-04-21T14:12:27Z!sdl.web@gmail.com 2012-05-08 20:06:08 -07:00
Chong Yidong
25f292cd48 * emacs-lisp/package.el (package-built-in-p): Handle `emacs' package.
Fixes: debbugs:11410
2012-05-06 12:05:43 +08:00
Chong Yidong
f677562b6c Fix package.el handling of local variables on first line.
* lisp/emacs-lisp/package.el (package-buffer-info): Avoid putting
local variables into description.
2012-05-05 13:13:27 +08:00
Juanma Barranquero
4d6769e1bb lisp/*: Add declarations, remove unused bindings, mark unused args.
* lisp/avoid.el (mouse-avoidance-mode): Mark unused arg.
  (mouse-avoidance-nudge-mouse): Remove unused binding.

* lisp/imenu.el (imenu-default-goto-function): Mark unused args.
  (imenu-progress-message): Remove obsolete macro; all callers changed.

* lisp/mouse.el (mouse-menu-major-mode-map):
* lisp/emacs-lisp/authors.el (authors-scan-change-log)
  (authors-add-to-author-list):
* lisp/emacs-lisp/avl-tree.el (avl-tree--enter-balance):
* lisp/emacs-lisp/smie.el (smie-auto-fill):
* lisp/mail/sendmail.el (mail-bury):
* lisp/mail/unrmail.el (unrmail):
* lisp/net/tls.el (open-tls-stream):
* lisp/textmodes/picture.el (picture-mouse-set-point):
  Remove unused bindings.

* lisp/subr.el (keymap-canonicalize): Remove unused binding.
  (read-passwd): Mark unused arg.

* lisp/tutorial.el (tutorial--display-changes): Remove unused binding.
  (tutorial--save-tutorial-to): Remove unused variable.

* lisp/emacs-lisp/package.el (define-package, package-menu-mark-delete)
  (package-menu-mark-install, package-menu-mark-unmark): Mark unused args.
  (package-generate-autoloads, package-menu--generate)
  (package-menu--find-upgrades): Remove unused bindings.

* lisp/emulation/cua-rect.el (cua-restrict-regexp-rectangle)
  (cua-restrict-prefix-rectangle): Doc fixes.  Remove unused bindings.
  (cua--mouse-ignore, cua--delete-rectangle, cua--extract-rectangle)
  (cua--indent-rectangle, cua-open-rectangle, cua-close-rectangle)
  (cua-blank-rectangle, cua-string-rectangle, cua-replace-in-rectangle)
  (cua-incr-rectangle, cua-sequence-rectangle, cua--convert-rectangle-as)
  (cua--rectangle-aux-replace, cua--left-fill-rectangle)
  (cua-scroll-rectangle-up, cua-scroll-rectangle-down)
  (cua-delete-char-rectangle): Mark unused args.
  (cua-align-rectangle): Remove unused binding.

* lisp/mail/rmail.el (compilation--message->loc)
  (epa--find-coding-system-for-mime-charset): Declare.

* lisp/net/dbus.el (dbus-register-service): Declare.
  (dbus-name-owner-changed-handler): Remove unused binding.

* lisp/nxml/nxml-mode.el (nxml-electric-slash, nxml-in-mixed-content-p)
  (nxml-compute-indent-from-matching-start-tag): Remove unused variables.
  (nxml-scan-backward-within): Mark unused arg.
  (nxml-dynamic-markup-word): Remove unused binding.
2012-04-19 19:20:26 +02:00
Chong Yidong
292112ed3b Load a package's generated autoloads file before byte compiling it.
* lisp/emacs-lisp/package.el (package-unpack, package-unpack-single):
Load generated autoloads file before byte compiling.
(package--make-autoloads-and-compile): New helper fun.

Fixes: debbugs:10970
2012-03-12 11:03:16 +08:00
Chong Yidong
e24b21b447 * lisp/emacs-lisp/package.el: Bump package version to 1.0.
Fixes: debbugs:10838
2012-03-04 17:45:01 +08:00
Daniel Hackney
8ac9e52930 Fix oversight in package-load-list handling.
* lisp/emacs-lisp/package.el (package-compute-transaction): Handle
holding a package version to t in package-load-list.
2012-02-27 09:57:50 +08:00
Leo Liu
1be3ca5ad7 Rename condition-case-no-debug to condition-case-unless-debug 2012-02-10 23:59:29 +08:00
Phil Hagelberg
70550acf88 Fix M-x package-install failure if no archive has been fetched yet.
* emacs-lisp/package.el (package-install): Run
package-refresh-contents if there is no archive yet.

Fixes: debbugs:97978
2012-01-28 17:49:29 +08:00
Chong Yidong
0ce8e868b9 Fix package.el dependency handling so that `require' calls work.
* lisp/emacs-lisp/package.el (package-maybe-load-descriptor): New
function, split from package-maybe-load-descriptor.
(package-maybe-load-descriptor): Use it.
(package-download-transaction): Fully load required packages
inside the loop, so that `require' calls work.
(package-install): No need to call package-initialize now.

Fixes: debbugs:10593
2012-01-28 16:14:24 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Glenn Morris
5580f89da8 * lisp/emacs-lisp/package.el (package-archives): Doc fix re riskiness. 2011-12-06 00:31:42 -08:00
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