Commit graph

4516 commits

Author SHA1 Message Date
Stefan Monnier
d1b74200da * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
(cl--generic-mandatory-args): Remove.
(cl--generic-split-args): New function.
(cl-generic-define, cl--generic-lambda): Use it.
(cl-generic-define-method): Use it as well, and add support for
context args.
(cl--generic-get-dispatcher): Handle &context dispatch.
(cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
(cl--generic-dispatchers): Pre-fill.

* test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
2015-05-12 00:10:38 -04:00
Nicolas Petton
387e1e1943 New version of `seq-let' based on a pcase pattern
* lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
2015-05-10 20:19:38 +02:00
Glenn Morris
5b0af214c8 Quieten compilation, eg in --without-x builds.
* lisp/dired-aux.el (lpr-printer-switch):
* lisp/frame.el (tool-bar-height):
* lisp/linum.el (font-info):
* lisp/window.el (font-info, overflow-newline-into-fringe)
(tool-bar-height):
* lisp/emacs-lisp/package-x.el (tar-data-buffer):
* lisp/gnus/gnus-util.el (iswitchb-mode):
* lisp/mail/rmailmm.el (libxml-parse-html-region):
* lisp/net/nsm.el (gnutls-peer-status)
(gnutls-peer-status-warning-describe):
* lisp/net/shr.el (libxml-parse-xml-region):
* lisp/url/url-http.el (gnutls-peer-status): Declare.
2015-05-08 20:13:47 -04:00
Glenn Morris
5ed5a04963 ; Auto-commit of loaddefs files. 2015-05-08 06:22:25 -04:00
Glenn Morris
19f4aca23b * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare. 2015-05-07 22:42:12 -07:00
Artur Malabarba
3a33ac8911 * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
Support the case when BINDINGS is a single tuple.  (Bug#20525)
2015-05-07 21:13:29 +01:00
Artur Malabarba
14bb519f10 * lisp/emacs-lisp/package.el: New "external" package status
An external package is any installed package that's not built-in
and not from `package-user-dir', which usually means it's from an
entry in `package-directory-list'.  They are treated much like
built-in packages, in that they cannot be through the Package Menu
deleted and are not considered for upgrades.

(package-desc-status): Identify if a package is installed outside
`package-user-dir'.
(package-menu--print-info-simple)
(package-menu--status-predicate): Add support for it.

* etc/NEWS: Document it.
2015-05-07 16:13:45 +01:00
Stefan Monnier
bceffdb379 (define-modify-macro): Make sure cl--arglist-args is defined
* lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
cl--arglist-args is defined (bug#20517).
2015-05-06 17:43:43 -04:00
Stefan Monnier
1340aefd96 * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
* lisp/emacs-lisp/testcover.el: Use lexical-binding.
(testcover--read): Rename from testcover-read.  Change calling convention.
Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
(testcover-start): Use add-function.  Move edebug-all-defs binding to
testcover--read.
(testcover-this-defun): Tighten scope of edebug-all-defs binding.
(testcover-mark): Remove unused var `item'.

* src/lread.c (syms_of_lread): Default load-read-function to `read'.
2015-05-06 10:50:48 -04:00
Glenn Morris
ada5e6b7a7 ; Auto-commit of loaddefs files. 2015-05-06 06:19:35 -04:00
Glenn Morris
276f5d9e10 Minor declare-function improvement
* lisp/emacs-lisp/bytecomp.el
(byte-compile-macroexpand-declare-function):
Handle declarations after calls.  (Bug#20509)
2015-05-05 20:13:10 -07:00
Stefan Monnier
a7d630eb48 * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
(semantic-grammar--template-expand): New function.
(semantic-grammar-header, semantic-grammar-footer): Use it.
(semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
(semantic-grammar-file-regexp): Refine regexp.
(semantic-grammar-eldoc-get-macro-docstring):
Use elisp-get-fnsym-args-string when available.
(semantic-idle-summary-current-symbol-info): Use new elisp-* names
instead of the old eldoc-* names.

* lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
from elisp-mode.el.  Tweak calling convention.

* lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
(elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
elisp--get-fnsym-args-string.
(elisp--highlight-function-argument): Add `prefix' arg.
(elisp-get-var-docstring): Rename from elisp--get-var-docstring.
(elisp--docstring-format-sym-doc): Move back to eldoc.el.
2015-05-05 22:18:19 -04:00
Nicolas Petton
4ac426a1b9 Merge branch 'seq-let' 2015-05-05 22:10:32 +02:00
Nicolas Petton
6cd7415598 Add support for &rest in `seq-let'
* lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
in the argument list.
* test/automated/seq-tests.el: Add a test for parsing and binding
`&rest' in `seq-let'.
2015-05-05 21:45:36 +02:00
Paul Eggert
0508aa2670 Spelling fixes 2015-05-05 12:25:48 -07:00
(tiny change) Pierre Lorenzon
ad9e659b30 * eieio-custom.el (eieio-object-value-get): Add missing increment
Fixes: debbugs:20467
2015-05-05 14:47:58 -04:00
(tiny change) Pierre Lorenzon
a53545fc4b (eieio-object-value-create): Adjust to new slots representation
Fixes: debbugs:20467

* eieio-custom.el (eieio-object-value-create):
Fix missed adjustment to new representation of slots metadata.
2015-05-05 14:43:48 -04:00
Nicolas Petton
b096be2aa8 * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring. 2015-05-05 20:39:40 +02:00
Glenn Morris
a6b6ab22d5 * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration. 2015-05-04 20:22:15 -04:00
Glenn Morris
7ccf25770a * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
* lisp/emacs-lisp/package.el (epg-signature-status):
Fix declarations.
2015-05-04 20:21:47 -04:00
Glenn Morris
b2f3c8071b * lisp/emacs-lisp/check-declare.el (check-declare-verify):
Handle cl-defgeneric, cl-defmethod.
2015-05-04 20:17:35 -04:00
Artur Malabarba
5d3940a3b9 * lisp/emacs-lisp/package.el: Remove `package--silence' variable
(package-import-keyring, package-refresh-contents)
(package-compute-transaction, package--save-selected-packages)
(package-install-from-archive, package-delete)
(package-menu--perform-transaction): Use `inhibit-message'
instead.
(package--compile): Set `warning-minimum-level' to :error.
2015-05-04 14:14:09 +01:00
Nicolas Petton
0bbc027356 * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'. 2015-05-02 14:26:37 +02:00
Glenn Morris
a73af96549 * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
(help-fns--signature): Declare.
2015-05-01 13:40:31 -04:00
Glenn Morris
d6b91bf5d4 * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns. 2015-05-01 13:39:23 -04:00
Nicolas Petton
c856843f6b New macro seq-let, providing destructuring support to seq.el
* lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
to `cl-destructuring-bind' but works on all sequence types supported
by `seq.el'.  Bump version number to 1.6.
* test/automated/seq-tests.el: Add tests for seq-let.
* doc/lispref/sequences.texi: Add documentation for seq-let.
2015-05-01 19:33:40 +02:00
Przemysław Wojnowski
7e7fd3010b ; Add class name to error message
* lisp/emacs-lisp/eieio-core.el (eieio-oref): Add class name to error
  message to ease finding offending code.
2015-05-01 13:10:26 -04:00
Glenn Morris
b0481de73b * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous. 2015-05-01 08:29:18 -07:00
Artur Malabarba
9b909c4265 * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
This reverts commit 9a7ddde977.
This reverts commit 3c0ea587da.
With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
(Bug#20445).
2015-05-01 15:25:02 +01:00
Glenn Morris
55496af138 * lisp/emacs-lisp/ert.el (ert--special-operator-p):
Update for 2015-02-08 change to indirect-function.
2015-04-30 21:18:52 -04:00
Glenn Morris
e22f333ddb Silence some compilation warnings
* lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
* lisp/emulation/cua-base.el (delete-active-region):
* lisp/net/net-utils.el (w32-get-console-output-codepage):
* lisp/term/ns-win.el (ns-own-selection-internal)
(ns-disown-selection-internal, ns-selection-owner-p)
(ns-selection-exists-p, ns-get-selection):
Declare for compiler..
2015-04-30 20:09:02 -04:00
Glenn Morris
ce7ff436ff Function declaration updates prompted by 'make check-declare'
* lisp/emacs-lisp/package.el (lm-homepage):
* lisp/gnus/gnus-util.el (iswitchb-read-buffer):
* lisp/gnus/mm-decode.el (libxml-parse-html-region):
* lisp/gnus/mml.el (libxml-parse-html-region):
* lisp/gnus/nnrss.el (libxml-parse-html-region):
* lisp/net/eww.el (libxml-parse-html-region):
* lisp/net/shr.el (libxml-parse-html-region):
* lisp/vc/vc-bzr.el (vc-annotate-convert-time):
* lisp/vc/vc-cvs.el (vc-annotate-convert-time):
* lisp/vc/vc-git.el (vc-annotate-convert-time):
* lisp/vc/vc-hg.el (vc-annotate-convert-time):
* lisp/vc/vc-mtn.el (vc-annotate-convert-time):
* lisp/vc/vc-rcs.el (vc-annotate-convert-time):
Update declaration.
2015-04-30 20:06:15 -04:00
Artur Malabarba
f4ad42936e * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
(package-menu--print-info): Obsolete.
(package-menu--print-info-simple): New function.
(package-menu--refresh): Use it, simplify code, and improve
performance.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
Tiny performance improvement.
2015-04-30 09:35:20 +01:00
Artur Malabarba
5b6c58395d * lisp/emacs-lisp/package.el (package--message): inhibit-message 2015-04-30 09:35:20 +01:00
Artur Malabarba
c1d30c4b13 * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
(package--download-and-read-archives): Use pushnew instead of
append.  If something terrible happened during a previous
download, simply refreshing should now make things work again.
2015-04-30 00:59:26 +01:00
Artur Malabarba
3c0ea587da * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
(byte-compile--message): Use `inhibit-message' instead of hiding
the previous message with (message nil).
2015-04-29 09:48:07 +01:00
Artur Malabarba
301514f2bf * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
(package-menu--refresh): Delegate obsolete-hiding to
`package--remove-hidden'.
(package--remove-hidden): Disregard high-priority package if it is
older than the installed one.
2015-04-28 22:29:50 +01:00
Artur Malabarba
fecd155703 * lisp/emacs-lisp/package.el: Skip space and comments in init file
(package--ensure-init-file): Insert snippet at first
non-whitespace non-comments line.  Respects local-vars at the top
of the file.
2015-04-28 11:08:40 +01:00
Nicolas Petton
66fec8bec4 Bump version of seq.el to 1.5
* lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
  from seq-doseq.  Bump version number of seq.el.
2015-04-27 23:26:33 +02:00
Artur Malabarba
f3b43fca47 * lisp/emacs-lisp/package.el: Small improvements
(package--with-work-buffer-async): More informative error.
(package-install-user-selected-packages): Rename to
`package-install-selected-packages'.
2015-04-27 22:06:32 +01:00
Stefan Monnier
d320ec576d * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
(eieio--class-make): Remove leftover `tag'.
2015-04-27 16:01:39 -04:00
Stefan Monnier
d92e0c58e8 * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc. 2015-04-27 15:33:43 -04:00
Stefan Monnier
0b72388293 lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
Remove redundant ":group 'package".
2015-04-26 17:03:21 -04:00
Artur Malabarba
864573cafe * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
(package--all-keywords): Deleted variable.
2015-04-25 17:04:02 +01:00
Paul Eggert
2f5da6d45a Spelling fixes 2015-04-24 23:19:59 -07:00
Nicolas Petton
7ecda8a221 * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro. 2015-04-24 23:12:50 +02:00
Stefan Monnier
e224c9465d * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
(seq-doseq): Fix out-of-scope binding.
Don't call `seq-length at every iteration.
Reduce `if's from 3 to 2 per iteration.
(emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
2015-04-24 16:11:35 -04:00
Artur Malabarba
8991937a74 * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
(package-menu-hide-low-priority): New variable, see its doc.
(package-archive-priorities): Update doc.
(package-desc-priority): New function.
(package-desc-priority-version): Use it.
(package--remove-hidden): New function.
(package-menu--refresh): Use it.
2015-04-22 11:27:47 +01:00
Artur Malabarba
c3b41c6448 * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
(package-menu--hide-obsolete): New variable.
(package--remove-hidden): Use it.
(package-menu-hide-obsolete): New interactive function to toggle
the variable.
(package--quick-help-keys): Document it.
(package-menu-async): Add :version tag.
(package-menu-mode-map): Bind package-menu-hide-obsolete.
(package-desc-status): Indicate non-installed obsolete packages as
avail-obso.
(package-menu-mark-install): Allow installation of avail-obso.
(package-menu--status-predicate): Sort avail-obso with available.
2015-04-22 11:27:47 +01:00
Stefan Monnier
c9a75a4030 Fix byte-compiler warnings about looking-back.
* lisp/vc/log-view.el (log-view-end-of-defun-1):
* lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
* lisp/textmodes/reftex-ref.el (reftex-goto-label):
* lisp/textmodes/bibtex.el (bibtex-insert-kill):
* lisp/progmodes/sh-script.el (sh--maybe-here-document):
* lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
* lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
* lisp/org/org.el (org-insert-heading, org-sort-entries):
* lisp/org/org-mouse.el (org-mouse-end-headline)
(org-mouse-context-menu):
* lisp/org/org-clock.el (org-clock-cancel):
* lisp/man.el (Man-default-man-entry):
* lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
(rmail-ensure-blank-line):
* lisp/mail/footnote.el (Footnote-delete-footnote):
* lisp/mail/emacsbug.el (report-emacs-bug):
* lisp/info.el (Info-follow-reference, Info-fontify-node):
* lisp/info-look.el (info-lookup-guess-custom-symbol):
* lisp/help-fns.el (help-fns--key-bindings):
* lisp/files.el (hack-local-variables):
* lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
(viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
(viper-complete-filename-or-exit):
* lisp/emulation/viper-cmd.el (viper-backward-indent):
* lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
* lisp/emacs-lisp/elint.el (elint-get-top-forms):
* lisp/cus-edit.el (custom-face-edit-value-create):
* lisp/calendar/todo-mode.el (todo-set-item-priority)
(todo-filter-items-1, todo-convert-legacy-files)
(todo-prefix-overlays): Add explicit second arg to looking-back.
2015-04-20 21:55:00 -04:00