Commit graph

5033 commits

Author SHA1 Message Date
Paul Eggert
dcd90f60eb Merge from origin/emacs-25
0ffc9ce Update admin/authors.el
0ad7410 Update Antinews in ELisp manual
ea0f750 Fix comments on window height macros
0bbdeed Fix 'url-http-create-request' when cookies are used
0045998 Fix cross reference in frames.texi
1392894 ; * etc/DEBUG: Minor copyedits.
304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
56bf7d7 Fix regexp-opt documentation (bug #17862)
803ad6f ; Fix documentation of seq-subseq
ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
88ea396 ; Spelling fixes
17197d0 Fix tags-query-replace docstring
80a7f8b Clarify documentation of precision in format specs
88a5052 Improve and clarify documentation of subprocesses
89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).

# Conflicts:
#	etc/PROBLEMS
#	src/process.c
2016-09-26 13:32:28 -07:00
Alan Mackenzie
277e7b011d Improve accuracy of line/column numbers in byte compiler's warning messages.
* lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
value of byte-compile-last-position is not lower than old value.
(byte-compile-function-warn): call byte-compile-set-symbol-position.
2016-09-17 12:43:54 +00:00
Johan Bockgård
5b6066d942 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430). 2016-09-14 21:50:31 +02:00
Johan Bockgård
0eb85a5091 * lisp/emacs-lisp/edebug.el (defun): Fix debug spec. 2016-09-14 21:01:08 +02:00
Philipp Stephani
7edaa77c5e Stop calling ‘byte-compile-log-warning’
For errors, use ‘byte-compile-report-error’ instead so that the error
is registered and causes compilation to fail (Bug#24359).

For warnings, use ‘byte-compile-warn’ instead so that
‘byte-compile-error-on-warn’ is honored (Bug#24360).

* lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
(macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
‘byte-compile-log-warning’.

* lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
(byte-compile-setq, byte-compile-funcall): Use
‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
(byte-compile-log-warning): Convert comment to documentation
string.  Explain that the function shouldn’t be called directly.
(byte-compile-report-error): Add optional FILL argument.

* lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
(cconv--analyze-function, cconv-analyze-form): Use
‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.

* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.

* lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
of ‘byte-compile-log-warning’.
(do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
‘byte-compile-log-warning’.
2016-09-11 18:12:33 +02:00
Simen Heggestøyl
367f8568bc * lisp/emacs-lisp/ring.el: Use lexical-binding
* lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
argument of `dotimes' when the iteration variable isn't referred by
it.
(ring-member): Don't pass nil as the RESULT argument of `dotimes'
since it's the default.
2016-09-09 18:46:55 +02:00
Michal Nazarewicz
4516130d5a Don’t allocate char-table’s extra slots in regexp-out-charset
* lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
'case-table as charmap char-table’s property.  The function has nothing
to do with casing and in addition using 'case-table causes unnecessary
extra slots to be allocated which ‘regexp-opt-charset’ does not use.
2016-09-09 03:07:15 +02:00
immerrr
56bf7d7e27 Fix regexp-opt documentation (bug #17862)
* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
* doc/lispref/searching.texi (Regexp Functions): Update PAREN doc.
2016-09-03 23:50:42 -04:00
Robert Cochran
2ad16e4bf9 Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
Passing the prefix argument as the 3rd argument to 'call-interactively'
causes the prefix argument to be interpreted as events, which is not
only wrong, but also causes a type error, as 'current-prefix-arg' can
never be a vector as 'call-interactively' expects.  'call-interactively'
automatically passes its prefix argument to the called function, so just
do that, eliminating faulty behavior.

* lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
(checkdoc-ispell-current-buffer):
(checkdoc-ispell-interactive):
(checkdoc-ispell-message-text):
(checkdoc-ispell-start):
(checkdoc-ispell-continue):
(checkdoc-ispell-comments):
(checkdoc-ispell-defun):
Do not pass 'current-prefix-arg' to 'call-interactively' as an event
vector; merely allow it to propagate forward to the interactive call.
2016-09-03 12:02:04 -04:00
Clément Pit--Claudel
803ad6f7e7 ; Fix documentation of seq-subseq 2016-09-02 09:53:31 -04:00
Nicolas Richard
ed4530dbc9 * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in docstring. 2016-08-31 23:51:27 +02:00
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