Commit graph

6136 commits

Author SHA1 Message Date
Lars Ingebrigtsen
e2acf4d29d New command edebug-remove-instrumentation
* doc/lispref/edebug.texi (Instrumenting): Document it.

* lisp/emacs-lisp/edebug.el (edebug-remove-instrumentation): New
command (bug#15843).
2019-10-20 11:29:34 +02:00
Lars Ingebrigtsen
cfaecdb293 Fix doc string and interactive spec of cancel-edebug-on-entry
* lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): Add doc
string and make the interactive spec complete over functions that
have the spec (bug#10806).
(edebug-cancel-edebug-on-entry): Add alias for discoverability.
(edebug-on-entry): Clarify what this command does.
2019-10-20 10:51:08 +02:00
Lars Ingebrigtsen
27490cec4e Revert "Add an edebug-cancel-debug-on-entry alias"
This reverts commit cea9577b7d.

cancel-edebug-on-entry and cancel-debug-on-entry are not the same functions.
2019-10-20 10:28:44 +02:00
Lars Ingebrigtsen
cea9577b7d Add an edebug-cancel-debug-on-entry alias
* lisp/emacs-lisp/debug.el (edebug-cancel-debug-on-entry): Add an
alias for easier discoverability (bug#10806).
2019-10-20 09:48:28 +02:00
Mattias Engdegård
6331d23de3 Use [^z-a] for matching any character (anychar/anything) in rx
* lisp/emacs-lisp/rx.el (rx--translate-symbol):
* test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-atoms):
Use [^z-a] instead of ".\\|\n" for anychar.

The new expression is faster (about 2×) and does not allocate regexp
stack space.  For example, (0+ anychar) now matches strings of any
size (bug#37659).
2019-10-18 14:46:12 +02:00
Mattias Engdegård
ae5407b857 Add `unmatchable' as alias for (or) in rx (bug#37659)
* lisp/emacs-lisp/rx.el (rx--translate-symbol, rx--builtin-symbols, rx):
* test/lisp/emacs-lisp/rx-tests.el (rx-atoms):
* doc/lispref/searching.texi (Rx Constructs):
* etc/NEWS:
Add `unmatchable', more descriptive than (or), and corresponding to
the variable `regexp-unmatchable'.
2019-10-18 14:46:06 +02:00
Mattias Engdegård
e5a446b0a7 Add anychar' as alias to anything' in rx (bug#37659)
* lisp/emacs-lisp/rx.el (rx--translate-symbol, rx--builtin-symbols, rx):
* test/lisp/emacs-lisp/rx-tests.el (rx-atoms):
* doc/lispref/searching.texi (Rx Constructs):
* etc/NEWS:
Add `anychar', an alias for `anything'.  Since `anychar' is more
descriptive (and slightly shorter), treat it as the preferred name.
2019-10-18 14:45:47 +02:00
Michael Heerdegen
2d13a3f68d Extend debug spec of cl-flet (Bug#34481)
* lisp/emacs-lisp/cl-macs.el (cl-flet): Extend debug spec to cover
definitions of the form (FUNC EXP).
2019-10-17 20:13:40 +02:00
Juanma Barranquero
2bb0703e24 lisp/*.el: Force non-nil result to t, to match docstring
* lisp/emacs-lock.el (emacs-lock-live-process-p):
* lisp/shadowfile.el (shadow-file-match):
* lisp/emacs-lisp/edebug.el (edebug-basic-spec):
* lisp/mail/rmail.el (rmail-expunge-confirmed):
* lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
* lisp/progmodes/idlwave.el (idlwave-quoted):
* lisp/progmodes/idlw-shell.el (idlwave-shell-filename-string):
* lisp/textmodes/refbib.el (r2b-isa-proceedings):
* lisp/textmodes/texnfo-upd.el (texinfo-find-lower-level-node):
Normalize boolean result.
2019-10-17 02:08:43 +02:00
Lars Ingebrigtsen
a1dbb81f18 Fix some &rest body edebug specs
* lisp/ses.el (ses--letref):

* lisp/emacs-lisp/crm.el (crm--completion-command): Fix edebug
&rest body spec (bug#28747).

* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):

* lisp/emacs-lisp/inline.el (inline--leteval)
(inline--letlisteval, inline-letevals):
2019-10-16 04:44:22 +02:00
Eric Ludlam
128f803197 Update CEDET manual tests so that they run.
To run visit test/manual/cedet/cedet-utests.el
M-x eval-buffer
M-x cedet-utest
Author: Eric Ludlam <zappo@gnu.org>
2019-10-15 11:08:18 -04:00
Lars Ingebrigtsen
ddc9837bf4 Add new macro `benchmark-progn'
* doc/lispref/debugging.texi (Profiling): Mention it.

* lisp/emacs-lisp/benchmark.el (benchmark-progn): New macro.
2019-10-15 08:19:14 +02:00
Mattias Engdegård
67ed6ee733 Correctly explain test failures with mixed uni/multibyte strings
* lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
* test/lisp/emacs-lisp/ert-tests.el (ert-test-explain-equal):
When explaining a difference between a unibyte and a multibyte string,
first convert both to multibyte.  Otherwise, we might end up comparing
unibyte char C to multibyte char C, 127<C<256, and not detect the
difference (bug#30219).
2019-10-13 20:29:27 +02:00
Lars Ingebrigtsen
043d88862c Make the cl-letf doc string link to the manual
* lisp/emacs-lisp/cl-macs.el (cl-letf): Add a link to the manual
from the doc string (bug#24459).
2019-10-12 22:21:11 +02:00
Lars Ingebrigtsen
3fcfa8071a ert-deftest macro doc string clarification
* lisp/emacs-lisp/ert.el (ert-deftest): Mention that macros are
expanded when defined, not when tested (bug#21742).
2019-10-12 21:34:56 +02:00
Andrea Corallo
421db07d06 * lisp/emacs-lisp/map.el (map-into) <hash-table>: Allow keyword args
(map--into-hash): New function, extracted from `map-into <hash-table>`.
Speed it up a bit by using gethash instead of map-elt when we know
we're accessing a hash table.

* test/lisp/emacs-lisp/map-tests.el (test-map-into): Add corresponding test.
2019-10-11 12:18:21 -04:00
dick r. chiang
b9211d0bc2 Make checkdoc work better with cl-lib functions
* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info): Make checkdoc
work for cl-lib methods with more complex parameter lists
(bug#37063).

Copyright-paperwork-exempt: yes
2019-10-10 02:18:20 +02:00
Lars Ingebrigtsen
a6dfd9145f Allow global-edebug-prefix to be nil
* lisp/emacs-lisp/edebug.el (global-edebug-prefix): Allow
global-edebug-prefix to be nil (if the user doesn't want that
prefix) (bug#25188).
2019-10-09 09:26:58 +02:00
Juanma Barranquero
9db9b0b12d Fix typos in lisp/*.el
* lisp/emacs-lisp/generator.el (cps--with-value-wrapper)
(cps-inhibit-atomic-optimization, iter-close):
* lisp/gnus/nnir.el (nnir-imap-search-arguments)
(nnir-imap-search-argument-history, nnir-categorize)
(nnir-ignored-newsgroups)
(nnir-retrieve-headers-override-function)
(nnir-imap-default-search-key, nnir-namazu-additional-switches)
(gnus-group-make-nnir-group, nnir-add-result)
(nnir-compose-result, nnir-run-imap, nnir-imap-make-query)
(nnir-imap-query-to-imap, nnir-imap-expr-to-imap)
(nnir-imap-next-term, nnir-run-swish-e, nnir-run-namazu)
(nnir-read-parm, nnir-read-server-parm, nnir-search-thread):
Trivial doc fixes.
2019-10-09 06:15:46 +02:00
Federico Tedin
f96b8fd27c Filter packages by name in list-packages. (Bug#36981)
* lisp/emacs-lisp/package.el (package-menu-filter-by-name): New
function to filter packages by name.
(package-menu-clear-filter): New function to clear applied filters.
(package-menu-filter-by-keyword): Rename function from
package-menu-filter.
(package-menu--generate): Don't change 'q' binding anymore.
(package-menu-mode-map): Bind '/ n' to package-menu-filter-by-name, '/
k' to package-menu-filter-by-keyword and '/ /' to
package-menu-clear-filter.
(package-menu-mode-menu): Update menu entries for the three functions.
* test/lisp/emacs-lisp/package-tests.el (package-test-list-filter-by-name)
(package-test-list-clear-filter): New tests.
* doc/emacs/package.texi: Document usage of
package-menu-filter-by-name, package-menu-clear-filter and update
reference to package-menu-filter-by-keyword.
* etc/NEWS: Announce changes.
2019-10-08 19:24:12 +02:00
Stefan Monnier
b12edc6171 * lisp/emacs-lisp/package.el (package--get-deps): Fix thinko
* test/lisp/emacs-lisp/package-tests.el (package-test-get-deps):
Adjust test to new calling convention.
2019-10-08 09:36:01 -04:00
Lars Ingebrigtsen
67830e7569 Use text properties instead of truncating strings
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): Use
this to allow using commands like `C-s' to search for even
truncated bits.

* lisp/international/mule-util.el (truncate-string-to-width):
Allow using text properties to truncate strings instead of
actually truncating strings (bug#17782).
2019-10-07 20:11:26 +02:00
Basil L. Contovounesios
bb59647420 Improve recent doc fix for cl-reduce
* lisp/emacs-lisp/cl-seq.el: (cl-reduce): Clarify treatment of
:INITIAL-VALUE when :FROM-END is non-nil.  Improve wording when SEQ
is empty and :INITIAL-VALUE is unspecified (bug#37400).  Describe
behavior when SEQ comprises a single element.
2019-10-07 17:54:18 +01:00
Lars Ingebrigtsen
c11910a8be cl-reduce doc fix
* lisp/emacs-lisp/cl-seq.el (cl-reduce): Clarify what happens when
SEQ is the empty list (bug#37400).
2019-10-07 06:32:36 +02:00
Lars Ingebrigtsen
a5a967b43d Make mailcap-prefer-mailcap-viewers work as documented
* lisp/emacs-lisp/seq.el (seq-find): Autoload.

* lisp/net/mailcap.el (mailcap-parse-mailcaps): Note where all the
entries come from so that we can later distinguish between user
values and system values (bug#36771).
(mailcap-parse-mailcap): Take a source parameter.
(mailcap-possible-viewers): No need to sort wildcards/exact
matches; these are later sorted anyway.
(mailcap-add-mailcap-entry): Remove `after' parameter.
(mailcap-mime-info): Make mailcap-prefer-mailcap-viewers work as
documented.
2019-10-07 05:00:24 +02:00
Stefan Monnier
47cf2a37e7 * eieio-core.el (eieio--full-class-object): New function.
Rather than explicitly call eieio-class-un-autoload, the autoloading is
now performed on-demand if you use eieio--full-class-object.

* lisp/emacs-lisp/eieio-core.el (eieio-class-un-autoload): Remove.
(eieio--full-class-object): New function, to replace it.
(eieio-oref, eieio--class-precedence-list):
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
Use it instead of eieio-class-un-autoload.
* lisp/emacs-lisp/eieio.el (eieio-class-parents, child-of-class-p):
Load the class if needed.
2019-10-06 16:00:21 -04:00
Stefan Monnier
ef9124aaa0 * lisp/emacs-lisp/package.el (package--get-deps): Rewrite.
Avoid inf-recursion with dependency cycles.
Remove unused `only` arg.  Prune duplicates early rather than late.
(package--removable-packages): Simplify code accordingly.
2019-10-06 13:48:28 -04:00
Juanma Barranquero
bbfa9995ff Improve docstrings auto-generated by `define-minor-mode'
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
When using `easy-mmode--arg-docstring' to auto-generate a
docstring, refill it up to `emacs-lisp-docstring-fill-column'.
2019-10-05 00:31:17 +02:00
Stefan Kangas
094e48e4e7 Remove XEmacs compat code from re-builder.el
* lisp/emacs-lisp/re-builder.el (top-level)
(reb-color-display-p): Remove XEmacs compat code.
2019-10-04 15:26:10 +02:00
Juanma Barranquero
4df55f8f2f Revert "Improve docstrings auto-generated by `define-minor-mode'"
This reverts commit a397fa06d1.
The original change breaks bootstrapping because of a circular dependency.
2019-10-04 14:03:11 +02:00
Juanma Barranquero
a397fa06d1 Improve docstrings auto-generated by `define-minor-mode'
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
When using `easy-mmode--arg-docstring' to auto-generate a
docstring, refill it up to `emacs-lisp-docstring-fill-column'.
2019-10-04 01:26:56 +02:00
Stefan Kangas
93dd959711 More doc fixes in package.el (Bug#37544)
* lisp/emacs-lisp/package.el (package-menu-hide-low-priority)
(package-pinned-packages, package-load-descriptor)
package-archive-version, package-archive-contents)
package--read-archive-file, package-read-archive-contents)
(package-unsigned-archives, package-read-all-archive-contents)
(package--download-and-read-archives, package-install):
* lisp/subr.el (package--description-file):
* test/lisp/emacs-lisp/package-tests.el: Doc fixes.
2019-10-04 01:14:15 +02:00
Lars Ingebrigtsen
3ad9e5133e Fix bytecomp.el warning a different way than the previous patch
* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode-map):
No need to use set-keymap-parent here; `define-derived-mode' will
do that automatically.
2019-10-03 17:17:50 +02:00
Stefan Kangas
84d7fdbee5 Remove old commented out XEmacs compat code from syntax.el (Bug#37524)
* lisp/emacs-lisp/syntax.el: Remove ancient commented out XEmacs
compat code.  This code has been commented out since 2001.
2019-10-01 20:25:11 +02:00
Lars Ingebrigtsen
bc95fc78bb Make the help page mention the customizeable global mode variable
* lisp/help-fns.el (help-fns--customize-variable): Factor out into
own function for reuse.
(help-fns--globalized-minor-mode): Use it to mention the
equivalent variable.

* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Mark globalized minor modes as such (bug#7177).
2019-10-01 16:45:24 +02:00
Lars Ingebrigtsen
28b7dd4ee4 Fix build error in bytecomp.el from previous change 2019-10-01 16:40:57 +02:00
Lars Ingebrigtsen
ad33e3e549 Add a new command in *Compile-Log* buffers to re-byte-compile
* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-recompile):
New command (bug#4516).
(emacs-lisp-compilation--current-file)
(emacs-lisp-compilation-mode-map): New variables with new `g'
binding.
(byte-compile-log-file): Set variable so that `g' can recompile it.
2019-10-01 15:40:05 +02:00
Mattias Engdegård
2fa33eb6ee Add `rx-submatch-n' for compatibility (bug#37517)
It was an internal symbol in the old `rx' implementation, used in old
versions of the `flycheck' package.

* lisp/emacs-lisp/rx.el (rx-submatch-n): Alias of `rx-to-string'.
* test/lisp/emacs-lisp/rx-tests.el (rx-compat): Test it.
2019-09-29 17:08:43 +02:00
Stefan Kangas
a444bb78ad Improve sorting in package list (Bug#37419)
* lisp/emacs-lisp/package.el (package-menu-mode): Allow sorting by
version or description.
(package-menu--version-predicate): Fix sorting by version.
(package-menu--description-predicate): Fix sorting by description.
(package-menu--archive-predicate): Fall back to sorting by name if
archive is the same.
(package-menu--name-predicate, package-menu--status-predicate): Add
doc string.
* etc/NEWS: Announce the above changes.
2019-09-28 17:03:15 +02:00
Eli Zaretskii
df05c26df3 More improvements of doc strings in text-property-search.el
* lisp/emacs-lisp/text-property-search.el (text-property-search-forward)
(text-property-search-backward): Further improvements of doc
strings.  (Bug#37488)
2019-09-28 17:43:15 +03:00
Stefan Kangas
814cab3b4d Add new function to clear tags in tabulated list
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-clear-all-tags):
New function to clear all tags from padding area in current buffer.
* doc/lispref/modes.texi (Tabulated List Mode): Document it.
* etc/NEWS: Announce it.
2019-09-26 17:24:35 +02:00
Mattias Engdegård
07367e5b95 Add rx extension mechanism
Add a built-in set of extension macros: `rx-define', `rx-let' and
`rx-let-eval'.

* lisp/emacs-lisp/rx.el (rx-constituents, rx-to-string): Doc updates.
(rx--builtin-symbols, rx--builtin-names, rx--local-definitions)
(rx--lookup-def, rx--substitute, rx--expand-template)
(rx--make-binding, rx--make-named-binding, rx--extend-local-defs)
(rx-let-eval, rx-let, rx-define): New.
(rx--translate-symbol, rx--translate-form): Use extensions if any.
(rx): Use local definitions.
* test/lisp/emacs-lisp/rx-tests.el (rx-let, rx-define)
(rx-to-string-define, rx-let-define, rx-let-eval): New.
* etc/NEWS (Changes in Specialized Modes and Packages):
* doc/lispref/searching.texi (Rx Notation, Rx Functions, Extending Rx):
Add node about rx extensions.
2019-09-25 14:29:50 -07:00
Mattias Engdegård
2ed71227c6 New rx implementation
* lisp/emacs-lisp/rx.el:
* test/lisp/emacs-lisp/rx-tests.el:
* doc/lispref/searching.texi (Rx Constructs):
Rewrite rx for correctness, clarity, and performance.  The new
implementation retains full compatibility and has more comprehensive
tests.

* lisp/emacs-lisp/re-builder.el (reb-rx-font-lock-keywords):
Adapt to changes in internal variables in rx.el.
2019-09-25 14:29:50 -07:00
Eli Zaretskii
165890a70a Improve documentation of 'text-property-search-forward'
* lisp/emacs-lisp/text-property-search.el (text-property-search-forward)
(text-property-search-backward): Improve doc strings.  (Bug#37488)
2019-09-25 11:42:35 +03:00
Eli Zaretskii
213bcaf1bf ; * lisp/emacs-lisp/debug.el (debugger-mode): Doc fix. (Bug#37352) 2019-09-25 11:09:09 +03:00
Alan Mackenzie
ef0fc0bed1 New edebug-spec, nested-backquote-form. This fixes bug #31090
* lisp/emacs-lisp/edebug.el: (nested-backquote-form): a new edebug-spec which
handles nested backquote structures without a , or ,@ "between" the outer and
inner backquotes.
(backquote-form): Use nested-backquote-form.
2019-09-24 17:06:20 +00:00
Juanma Barranquero
5e86db05fc Fix arg name of `text-property-search-{forward|backward}' (bug#37488)
* lisp/emacs-lisp/text-property-search.el
(text-property-search-forward, text-property-search-backward):
Rename arg NOT-IMMEDIATE to NOT-CURRENT.  Also fix docstring.
2019-09-23 09:20:03 +02:00
Lars Ingebrigtsen
4eac64fcf2 Clarify `debug' doc string
* lisp/emacs-lisp/debug.el (debug): Mention that inhibit-redisplay
will inhibit the function.
2019-09-23 02:13:26 +02:00
Stefan Kangas
b86bc62ca5 Several doc fixes in package.el
* lisp/emacs-lisp/package.el (top-level)
(package-check-signature, package--from-builtin)
(package-desc-full-name, package-desc-suffix)
(package-desc--keywords, package--bi-desc)
(package-process-define-package, package-archive-base)
(package-install-from-archive, package-install-from-buffer)
(package-install-file, package-autoremove, describe-package-1)
(package-install-button-action, package-delete-button-action)
(package-keyword-button-action, package-make-button)
(package--print-email-button, package-list-unversioned)
(package--emacs-version-list, package-menu-toggle-hiding)
(package-hidden-regexps, package-menu-hide-package)
(package-menu-get-status, package-menu--find-upgrades)
(package-menu--post-refresh): Doc fixes.  (Bug#37410)
2019-09-21 23:09:14 +02:00
Lars Ingebrigtsen
c56fabdfc7 Move describe-face to the new help-fns machinery
* lisp/help-fns.el (describe-face): Move to here from faces.el and
split up (bug#36670).
(help-fns--face-custom-version-info):
(help-fns--face-attributes): Factored out into own functions.
(help-fns-describe-face-functions): New variable.

* lisp/emacs-lisp/subr-x.el (when-let): Add autoload cookie.
2019-09-21 00:45:41 +02:00