Commit graph

5072 commits

Author SHA1 Message Date
Noam Postavsky
14a86f8377 Improve error when installing non-package dirs
* lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
when no file with package info is found (Bug #19851).
2016-08-21 12:22:18 -04:00
Robert Cochran
a4ba426d25 * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
The docstring referenced a non-existant parameter, as well as a
parameter that has been renamed since the docstring was written. Fix
both errors, fixing (Bug#24182).
2016-08-20 00:41:43 +02:00
Tino Calancha
50548fd9af cl-fill: Rename arguments to cl-seq and cl-item
* lisp/emacs-lisp/cl-seq.el (cl-fill):
Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
2016-08-13 13:25:15 +09:00
Tino Calancha
76f3328199 cl-delete-duplicates: Parse :if to have cl-if bound
* lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
We need also to parse keyword :if, otherwise cl-if
is unbound.
This reverts commit:
68fdbeb917
2016-08-10 23:23:18 +09:00
Tino Calancha
68fdbeb917 cl-delete-duplicates: do not parse :if keyword
* lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
Parse only the supported keywords.
2016-08-10 22:34:21 +09:00
Stefan Monnier
c97cd6c005 * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
Change the code which detects and circumvents the case where one of the
variables used in λ-lifting is shadowed, so that it also works when the
shadowing comes before the λ-lifted function (bug#24171).

(cconv--remap-llv): New function, extracted from cconv-convert.
(cconv-convert): Use it, but differently for `let' and `let*'.
2016-08-09 13:05:03 -04:00
Noam Postavsky
0095837d90 Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
* lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
list when showing its (non-existent) arguments (Bug #18587).
2016-08-06 16:16:02 -04:00
Noam Postavsky
031af49e74 Fix byte-compile of interactive closures
* lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
bindings after docstring and `interactive' form, if any (Bug #24122).
2016-08-06 16:16:02 -04:00
Noam Postavsky
4dec928691 Fix quoted lambda warning from lexical-let
* lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
with `function', not `quote' (Bug #11357).
2016-08-06 16:16:02 -04:00
Paul Eggert
6b780a2e97 Merge from origin/emacs-25
9ba51ed Document buffer-swap-text+save-excursion interaction
452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
248d5dd Include cl-generic in package--builtin-versions (bug#22817)
8f5a8b6 Improve timing in `tramp-test29-environment-variables'
05ba7a0 Add test for handling environment variables in Tramp
e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
90f2169 ; Spelling fixes
069fc05 Improve documentation of search functions
0a0144a Delete environment variables in Tramp when needed
f624671 Add "New in Emacs 25" section to the FAQ
658daf9 Fix 'vertical-motion' in non-interactive sessions
686b520 Fix memory leak in imagemagick-types
4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
1b2d6a6 Clarify docstring of find-feature-regexp
aac62a6 Add details to cl-lib defining macros' docstrings
d6aa4da Clarify doc string of 'save-buffer'
03bcf11 Un-confuse doc string of 'string-collate-equalp'
c53135b Clarify documentation of 'mouse-on-link-p'

# Conflicts:
#	lisp/emacs-lisp/eieio-core.el
2016-08-05 14:09:08 -07:00
Stefan Monnier
d0838f201a * cl-generic.el: Fix problems introduced by new load-history format
* lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
(cl-generic-define-method, cl--generic-describe): Use it.
(cl--generic-search-method): Adjust for new format.

* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
* test/lisp/progmodes/elisp-mode-tests.el:
Use cl--generic-load-hist-format rather than hard-coding cl-generic's
internal format.
2016-08-02 13:01:26 -04:00
Glenn Morris
573dde70a4 * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
Respect autoload-timestamps for "actual autoloads are elsewhere" case.
2016-08-01 16:31:57 -04:00
Lars Ingebrigtsen
ad90397c59 Move read-multiple-choice to subr-x.el
* lisp/faces.el (read-multiple-choice-face): Fix doc string.

* lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
from subr.el.

* lisp/gnus/message.el (subr-x): Ditto.

* lisp/net/nsm.el: Require subr-x for read-multiple-choice.

read-multiple-choice doesn't need to be in the dumped Emacs, so move
it to a less central file.
2016-07-22 11:08:21 +02:00
Nicolas Petton
1879b9055e Better documentation for cl-reduce (bug#24014)
* lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
2016-07-18 14:17:28 +02:00
Dmitry Gutov
85b3eca57a ; Revert "Replace eldoc-documentation-function with a hook"
This reverts commit 5811404f0b.

It doesn't have the consensus, as evidenced by
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00138.html
2016-07-18 02:22:24 +03:00
Mark Oteiza
098d29af10 Revert "Add a couple cells to lisp-prettify-symbols-alist"
This reverts commit bdda4855c6.
2016-07-14 18:23:40 -04:00
Stefan Monnier
452aa949bc Fix eieio vs cl-generic incompatibilities found in Rudel (bug#23947)
* lisp/emacs-lisp/cl-generic.el (cl-generic-apply): New function.
* lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Fix incorrect
mapping between cl-no-applicable-method and EIEIO's no-applicable-method.
* lisp/emacs-lisp/eieio-core.el (eieio--class-precedence-c3):
`class' is not a symbol but a class object.
2016-07-14 15:05:49 -04:00
Stefan Monnier
248d5dd13c Include cl-generic in package--builtin-versions (bug#22817)
* lisp/emacs-lisp/cl-generic.el (package--builtin-versions):
Add ourselves manually.  Don't merge since there's a better fix on master.
2016-07-14 14:56:38 -04:00
Glenn Morris
e393d4f4ce * lisp/emacs-lisp/package.el (describe-package-1)
(package-status-external): Fix face references.  (Bug#23927)
2016-07-13 08:54:57 -07:00
Chris Feng
96bd07a322 Include versioned preloaded libraries in `package--builtin-versions'
* lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
exclude preloaded libraries or remove entries generated for them.
(autoload-generate-file-autoloads): Do not generate autoload
statements for preloaded libraries.
2016-07-13 19:58:10 +08:00
Stefan Monnier
9c8c3a5478 * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
(cl-prog, cl-prog*): New macros.
2016-07-12 12:05:01 -04:00
Stefan Monnier
3698c4e475 * cl-generic.el (cl-defmethod): Make docstring dynamic
* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
(cl--generic-make-defmethod-docstring): New function for that.
(cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
(cl-generic-define-method, cl--generic-describe): Change `load-history'
format of cl-defmethods, so as not to confused methods with equal
specializers but different qualifiers.
* lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
2016-07-12 12:04:01 -04:00
Mario Lang
466ee1b3ea An efficient built-in mapcan
A built-in version of `mapcan' avoids consing up (and GC'ing) the
intermediate list.

* src/fns.c (Fmapcan): New built-in.
(syms_of_fns): Define.

* lisp/emacs-lisp/cl.el (mapcan): Remove defalias.

* lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
if only one sequence is provided.

* lisp/progmodes/hideif.el (hif-delimit):
* lisp/dired-aux.el (dired-do-find-regexp):
* lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
`cl-mapcan'.

* lisp/woman.el (eval-when-compile): Require 'cl-lib only when
compiling.

* lisp/mouse.el (mouse-buffer-menu-map):
* lisp/net/pop3.el (pop3-uidl-dele):
* lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
* lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
* lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
* lisp/gnus/nnmail.el (nnmail-split-it):
* lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
* lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
* lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
2016-07-10 01:18:47 +02:00
Noam Postavsky
1b2d6a6f68 Clarify docstring of find-feature-regexp
* lisp/emacs-lisp/find-func.el (find-feature-regexp): Explain that `%s'
is optional (Bug #23520).
2016-07-09 17:45:48 -04:00
Noam Postavsky
aac62a67dd Add details to cl-lib defining macros' docstrings
* lisp/emacs-lisp/cl-macs.el (cl-defun, cl-defmacro): Add terse summary
of supported arglist forms (Bug #22462).
2016-07-09 10:58:55 -04:00
Mark Oteiza
bdda4855c6 Add a couple cells to lisp-prettify-symbols-alist
* lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
"sqrt" and "not".
2016-07-08 17:12:54 -04:00
Mark Oteiza
5811404f0b Replace eldoc-documentation-function with a hook
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
(eldoc-documentation-function): Make into obsolete alias.
(eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
(eldoc-argument-case, global-eldoc-mode): Update docstrings.
(eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
on eldoc-documentation-functions.
(eldoc-supported-p): New function.
(eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
* etc/NEWS: Mention eldoc-documentation-functions.
* doc/lispref/modes.texi: Update reference.
2016-07-06 23:16:32 -04:00
Paul Eggert
8419f0d166 ; Spelling fixes 2016-06-26 13:38:48 +02:00
Stefan Monnier
8270a64d53 * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region. 2016-06-22 09:44:24 -04:00
Paul Eggert
d9088290ef Merge from origin/emacs-25
2317c61 Fix last todo-mode change
5d4d8a3 Improve last todo-mode fix
d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
d308aa1 Minor grammar fix (bug#23746)
20de667 Doc fixes for grammar and typos (bug#23746)
a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
27f440e Add cross-reference to ELisp manual
10802d8 ; make change-history-commit
4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
12e009e Restore initial undo boundary with viper
291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
6921f4a Fix dbus crash on 32-bit Cygwin
2016-06-19 00:53:51 +02:00
Paul Eggert
68cb71c092 Merge from origin/emacs-25
9ae514a * etc/AUTHORS: Update the AUTHORS file
3ca428e add entries to authors.el
66d556b Fix eldoc-related freezes in python mode
d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
a813487 Fix undo boundary in recursive edit (Bug#23632)
1f85b7c Doc fixes re alist-get.  (Bug#23548)
ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
2016-06-19 00:47:00 +02:00
Nicolas Petton
87c9d8fcec * lisp/emacs-lisp/map.el (map-contains-key): Better docstring 2016-06-18 10:10:00 +02:00
Nicolas Petton
ead28454b8 Fix seq-contains
Make sure seq-contains return the element of the sequence instead of t.

* lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
* test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
2016-06-18 10:10:00 +02:00
Nicolas Petton
2aebb0dd1f Add new function map-do
* lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
  functions.
* test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
2016-06-18 10:10:00 +02:00
Nicolas Petton
9726856f29 Add seq-do-indexed
* lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
* test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
2016-06-18 10:10:00 +02:00
Stefan Monnier
44eca25a4b map.el (map-merge*): Use `map-into' at beginning rather than end
* lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
and don't use of an intermediate alist.
(map-merge-with): Same, plus use `cl-callf' to try and avoid performing
3 lookups per inner iteration.
2016-06-18 00:52:58 -04:00
Stefan Monnier
fd8084aaf9 Automatically find vars and functions via definition-prefixes
* lisp/help-fns.el (help-definition-prefixes): New var and function.
(help--loaded-p, help--load-prefixes, help--symbol-completion-table):
New functions.
(describe-function, describe-variable): Use them.

* lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
(radix-tree-prefixes, radix-tree-from-map): New functions.
2016-06-15 13:21:59 -04:00
Glenn Morris
f526191719 * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
Avoid mangling autoloads with unspecified arguments.  (Bug#21299)
2016-06-13 18:18:34 -04:00
Nicolas Petton
37f8a470d0
* lisp/emacs-lisp/seq.el (seq-drop): Better list implementation 2016-06-12 12:41:42 +02:00
Stefan Monnier
4b2d77d8db * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bug#19704)
Don't rewrite (funcall 'f ...) to (f ...).
2016-06-11 17:38:11 -04:00
Michal Nazarewicz
7715ee54b3 Remove ‘ert-with-function-mocked’ macro in favour of ‘cl-letf’ macro
* lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
in favour of ‘cl-letf’ macro which is more generic.  All existing
uses are migrated accordingly.  The macro has not been included in
an official release yet so it should be fine to delete it.
2016-06-08 19:10:59 +02:00
Tino Calancha
a3f7ae80b1 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by". 2016-06-07 13:48:11 -04:00
Paul Eggert
5feeead126 Merge from origin/emacs-25
604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
2016-06-07 09:34:27 -07:00
Stefan Monnier
4428f5a97b * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less 2016-06-01 14:54:40 -04:00
Glenn Morris
07bd97217b * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table):
Fix typo.  (Bug#23654)
2016-05-31 14:50:52 -04:00
Paul Eggert
25cc0f2aad Merge from origin/emacs-25
788c9b6 ; Spelling fix
25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
0992ec3 Correct cl-flet usage (Bug#22317)
50caae3 Release MH-E manual version 8.6
602bb40 Update MH-E's documentation about HTML renderers
89018f0 Fx the we->the typo
845ee57 Restore frames into the current display by default
ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
01c3cd1 etc/TODO: Remove out-of-place issue
5e18486 Clarify doc string of 'file-name-sans-extension'
bffda22 Fix the MSDOS build
f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
f7ffc4b Fix infloop in 'number-sequence'
4ab2673 ; Spelling and punctuation fixes in comments
71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
2016-05-31 08:07:41 -07:00
Paul Eggert
01030eed93 ; Spelling fixes 2016-05-30 23:20:20 -07:00
Stefan Monnier
0c26f14b7e * lisp/emacs-lisp/autoload.el: Use radix-tree.
(autoload--make-defs-autoload): Rewrite.
(autoload--split-prefixes-1): Remove.
(autoload-def-prefixes-max-entries): Rename from
autoload-defs-autoload-max-size.
(autoload-popular-prefixes): Remove.
(autoload-def-prefixes-max-length): New const.

* lisp/emacs-lisp/radix-tree.el: New file.
2016-05-30 23:22:49 -04:00
Stefan Monnier
13411853b2 * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes 2016-05-30 16:35:00 -04:00
Stefan Monnier
89cc852af3 * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'. 2016-05-30 16:33:07 -04:00