Commit graph

5466 commits

Author SHA1 Message Date
Stefan Monnier
b0ed9d1433 * lisp/emacs-lisp/cursor-sensor.el: Add motivation 2018-12-09 20:56:35 -05:00
Stefan Monnier
505ac9a0b1 Improve documentation of cursor-sensor.el (bug#33664)
* doc/lispref/text.texi (Special Properties): Mention cursor-sensor-inhibit.
* lisp/emacs-lisp/cursor-sensor.el (Commentary): Add cursor-sensor-mode.
(cursor-sensor-inhibit): Add docstring.
2018-12-09 08:59:20 -05:00
Glenn Morris
8fa0d9679d * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: active voice. 2018-12-01 17:21:29 -08:00
Eli Zaretskii
74a3a795af Fix a typo in a doc string
* lisp/emacs-lisp/map-ynp.el (read-answer-short): Fix typo.
(Bug#33528)
2018-11-28 09:28:36 +02:00
Glenn Morris
5f3926053e * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to message. 2018-11-27 08:24:33 -08:00
Eli Zaretskii
03bb7a8da9 Avoid clearing echo-area message by auto-save-visited-file-name
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Record the
previous echo-area message, if any, and restore it before
exiting.  (Bug#33490)
2018-11-26 19:27:45 +02:00
Stephen Berman
d667318a7f Fix two Edebug defcustoms (bug#33428)
* lisp/emacs-lisp/edebug.el (edebug-print-length)
(edebug-print-level): Fix customization type to allow setting
the documented valid value nil via the Customize interface.
2018-11-19 23:12:52 +01:00
Paul Eggert
a306d03974 Fix tempfile creation when byte compiling
This improves on the recent fix for master failing to build
on FreeBSD.  Suggested by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
Put tempfile next to the target file, as was the original intent.

(cherry picked from commit 64c8467386)
2018-11-15 16:45:36 +02:00
Eli Zaretskii
e824c914da Improve documentation of destructuring-binding macros
* lisp/emacs-lisp/pcase.el (pcase-dolist, pcase-let)
(pcase-let*): Improve the doc strings.

* doc/lispref/sequences.texi (Sequence Functions): Improve
wording and rename arguments of seq-let to be more
descriptive.  Add a cross-reference to "Destructuring with
pcase Patterns".
* doc/lispref/control.texi (Pattern-Matching Conditional):
Improve wording and the menu.
(pcase Macro): Incorporate patch suggested by Paul Eggert
<eggert@cs.ucla.edu>.  Reformat text.
(Destructuring with pcase Patterns): Rename from
"Destructuring patterns", and improve wording and indexing.
2018-11-03 15:11:33 +02:00
Eric Abrahamsen
97660fa9d6 Doc fix for checkdoc-continue
* lisp/emacs-lisp/checkdoc.el (checkdoc-continue): There is no second
  optional argument, and the function always starts from point.
2018-11-01 13:21:27 -07:00
Eli Zaretskii
96f055bb4b Fix a typo in autoload.el
* lisp/emacs-lisp/autoload.el (update-directory-autoloads):
Remove stray backslashes.  (Bug#33231)
2018-11-01 20:56:31 +02:00
Stefan Monnier
eb903d8f20 * lisp/emacs-lisp/pcase.el: Improve docstrings. 2018-10-30 14:24:31 -04:00
Eli Zaretskii
86abbb3cb8 * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string. (Bug#33205) 2018-10-30 19:25:14 +02:00
Noam Postavsky
92de44fa1f Don't error when indenting malformed Lisp (Bug#30891)
* lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): If we run out
of indent stack, reset the parse state.
2018-10-25 17:55:49 -04:00
Eric Abrahamsen
2cae1cf6f8 Further fix to eieio-persistent
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
  Make handling of hash tables and vectors recursive. This is
  necessary because the write process, in `eieio-override-prin1' is
  also recursive. With any luck, this will be the last fix of its
  kind. If that's true, cherry-pick to Emacs 26.2 later on.
2018-10-04 12:10:58 -07:00
Tino Calancha
7296b6fbf2 Improve cl-do, cl-do* docstrings
* lisp/emacs-lisp/cl-macs.el(cl-do, cl-do*):
Improve docstring (Bug#32803).
2018-09-29 18:06:15 +09:00
Glenn Morris
d0d162c2d6 Small checkdoc quoting fix (bug#32546)
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Fix quoting thinko.
2018-08-27 18:27:01 -04:00
Yuri D'Elia
d2ad4ba4f3 Do not consider external packages to be removable (Bug#27822)
Packages which are not directly user-installed shouldn't be autoremoved,
since they can be setup through a different path (via
`package-directory-list') where we have no authority over.
* lisp/emacs-lisp/package.el (package--user-installed-p): New
function.
(package--removable-packages): Use it.
2018-08-11 21:06:26 -04:00
Juri Linkov
cc233365a9 New function read-answer (Bug#31782)
* lisp/emacs-lisp/map-ynp.el (read-answer-short): New defcustom.
(read-answer): New function.
* lisp/subr.el (assoc-delete-all): New function.
* etc/NEWS: Announce them.

* lisp/dired.el (dired-delete-file): Use read-answer.
(dired--yes-no-all-quit-help): Remove function.
(dired-delete-help): Remove defconst.

(backported from master, "New function read-answer (bug#30073)" and
"Respect non-saved value of `read-short-answer' (Bug#31782)")
2018-08-04 11:37:39 -04:00
Noam Postavsky
8579105393 Don't fail to indent-sexp before a full sexp (Bug#31984)
* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only signal error if the
initial forward-sexp fails.  Suppress scan-error forn any of the
forward-sexp calls after that.
* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-cant-go): New
test.
2018-07-27 19:41:39 -04:00
Noam Postavsky
1b4b96597c Fix indent-sexp of #s(...) (Bug#31984)
* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Look for a sexp that
ends after the current line.
* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-go): New test.
2018-07-21 21:07:07 -04:00
Eli Zaretskii
3e722980df Improve documentation of 'pcase-defmacro rx'
* lisp/emacs-lisp/rx.el (rx): Clarify and improve the doc string.
For the details, see the discussion starting at
http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00399.html.
2018-07-20 11:44:36 +03:00
John Shahid
35e0305dc2 Avoid turning on the global-minor-mode recursively
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Clear
the buffer-list inside MODE-enable-in-buffers to avoid enabling the
mode recursively.  (Bug#31793)
2018-07-10 08:13:39 -04:00
Noam Postavsky
8f7d35cabd Stop using indent-line-to in lisp-indent-line (Bug#32014)
This is partial revert of "Remove ignored argument from
lisp-indent-line", because `indent-line-to' doesn't respect field
boundaries.
* lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Use delete-region
and indent-to instead of `indent-line-to'.
* test/lisp/emacs-lisp/lisp-mode-tests.el
(lisp-indent-with-read-only-field): Expect to pass.

Don't merge to master, we will fix indent-line-to there instead.
2018-07-09 19:39:03 -04:00
Gemini Lasswell
4bd43b0352 Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)
* src/eval.c (call_debugger): Increase the amount of extra Lisp
evaluation depth given to the debugger to allow it to call cl-print.
* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Add a comment
to suggest updating call_debugger when changing print-level.
2018-06-30 07:36:11 -07:00
Noam Postavsky
6f6d525683 Detect a non-list package archive content properly (Bug#22311)
* lisp/emacs-lisp/package.el (package--download-one-archive): Use
`read' instead of `read-from-string'; the latter always returns a
cons, so the `listp' check on its return value doesn't make sense.  It
was changed from `read' to `read-from-string' in 2015-04-01 "*
emacs-lisp/package.el: Implement asynchronous refreshing", but that
change was not needed because `read' works fine on strings as well as
buffers.
2018-06-26 19:56:04 -04:00
Noam Postavsky
7488de4f27 * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring quotes. 2018-06-24 10:57:54 -04:00
Simen Heggestøyl
3d2e3dc1ca Change name of `seqp' argument (Bug#26411)
* lisp/emacs-lisp/seq.el (seqp): Change argument name.

* doc/lispref/sequences.texi: Update the documentation for seqp.
2018-06-21 20:27:35 -04:00
Noam Postavsky
e292c0973c Fix #'fun handling inside `labels' (Bug#31792)
* lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the
cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix
last change".
* test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New
test.
* lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring,
link to relevant manual page.
* doc/misc/cl.texi (Function Bindings): Don't imply that function
cells of symbols are modified by cl-flet.  Don't claim that cl-flet or
cl-labels affect references of the form (quote FUNC).
2018-06-19 20:02:16 -04:00
Paul Eggert
e1284341fd Fix byte compilation of (eq foo 'default)
Backport from master.
Do not use the symbol ‘default’ as a special marker.
Instead, use a value that cannot appear in the program,
improving on a patch proposed by Robert Cochran (Bug#31718#14).
* lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
New constant.
(byte-compile-cond-jump-table-info)
(byte-compile-cond-jump-table): Use it instead of 'default.
* test/lisp/emacs-lisp/bytecomp-tests.el:
(byte-opt-testsuite-arith-data): Add a test for the bug.
2018-06-16 09:44:05 -07:00
Gemini Lasswell
c6ef3c8321 Make cl-print respect print-quoted (bug#31649)
* lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe
print-quoted when printing quote and its relatives.  Add printing of
'function' as #'.
2018-06-07 08:27:43 -07:00
Gemini Lasswell
5d448ca98c Make cl-print respect print-level and print-length (bug#31559)
* lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
(cl-print-object) <cons>: Print ellipsis if printing depth greater
than 'print-level' or length of list greater than 'print-length'.
(cl-print-object) <vector>: Truncate printing with ellipsis if
vector is longer than 'print-length'.
(cl-print-object) <cl-structure-object>: Truncate printing with
ellipsis if structure has more slots than 'print-length'.
(cl-print-object) <:around>: Bind 'cl-print--depth'.
* test/lisp/emacs-lisp/cl-print-tests.el
(cl-print-tests-3, cl-print-tests-4): New tests.

(cherry picked from commit 0f48d18fd2)
2018-06-04 08:57:10 -07:00
Eli Zaretskii
16e8541b74 Update doc string of 'rx'
* lisp/emacs-lisp/rx.el (rx): Update the description of some
character classes.
2018-06-03 20:20:52 +03:00
Noam Postavsky
9552485c4d Fix cl-print for circular sublists (Bug#31146)
* lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
element of list being printed onto cl-print--currently-printing.
* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
test.

(cherry picked from commit b8aa7ecf54)
2018-06-03 12:48:13 -04:00
Damien Cassou
24ba63314f Improve read-multiple-choice docstring (Bug#31628)
* lisp/emacs-lisp/rmc.el (read-multiple-choice): Improve docstring.
2018-05-29 08:17:32 -04:00
Thien-Thi Nguyen
567cb9046d Overhaul pcase documentation
Suggested by Drew Adams (Bug#31311).

* doc/lispref/control.texi (Control Structures):
Add "Pattern-Matching Conditional" to menu, before "Iteration".
(Conditionals): Delete menu.
(Pattern matching case statement): Delete node/subsection,
by actually moving, renaming, and overhauling it to...
(Pattern-Matching Conditional): ...new node/section.
(pcase Macro): New node/subsection.
(Extending pcase): Likewise.
(Backquote Patterns): Likewise.
* doc/lispref/elisp.texi (Top) In @detailmenu, add
"Pattern-Matching Conditional" under "Control Structures"
section and delete "Conditionals" section.
* lisp/emacs-lisp/pcase.el (pcase): Rewrite docstring.
(pcase-defmacro \` (qpat) ...): Likewise.
2018-05-27 17:14:27 +02:00
Thien-Thi Nguyen
4d7e54acff Use EXPVAL in docstrings of patterns defined using pcase-defmacro
Suggested by Drew Adams (Bug#31311).

* lisp/emacs-lisp/cl-macs.el (cl-struct): ...here.
* lisp/emacs-lisp/eieio.el (eieio): Likewise.
* lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Likewise.
* lisp/emacs-lisp/rx.el (rx): Likewise.
2018-05-27 10:36:35 +02:00
Thien-Thi Nguyen
7e8227ed68 Introduce EXPVAL for pcase, pcase-defmacro docstrings
Suggested by Drew Adams (Bug#31311).

* lisp/emacs-lisp/pcase.el (pcase): Use EXPVAL in
docstring to stand for the result of evaluating EXP.
(pcase-defmacro): Add (fn ...) form in docstring
that includes [DOC], and the EXPVAL convention.
2018-05-27 10:36:35 +02:00
Thien-Thi Nguyen
e6de5b3d51 Ensure pcase doc shows `QPAT first among extensions
* lisp/emacs-lisp/pcase.el (pcase--make-docstring):
Split extensions display into two phases, collection
and display, separated by a reordering step that
ensures backquote is the first.
2018-05-27 10:36:34 +02:00
Noam Postavsky
e3f00f5637 Clarify when to use advice-add vs add-function
* lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that
advice-add should be used for named functions.
2018-05-22 20:08:01 -04:00
Stefan Monnier
80d868ed1c * lisp/emacs-lisp/inline.el: Clarify apparent typos 2018-04-04 21:15:36 -04:00
Philipp Stephani
52501ec3f1 Quote a few backticks in docstrings.
* lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
(macroexp-if): Quote backtick in docstrings.
2018-04-01 23:33:16 +02:00
Noam Postavsky
e50196e8a9 Document return value of pcase (Bug#30425)
* doc/lispref/control.texi (Pattern matching case statement):
* lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
patterns match.
(pcase-exhaustive): State that an error is signaled if no patterns
match.
2018-03-31 00:50:37 -04:00
Glenn Morris
1b075a9e38 ; Fix some tiny doc typos 2018-03-27 17:02:04 -04:00
Michael Heerdegen
441fe201ea De-obsolete if-let' and when-let'
For the following release it is planned to make `if-let*' and
`when-let*' aliases for `if-let' and `when-let'.  For now we revert
declaring `if-let' and `when-let' obsolete and tweak the docstrings.

* lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
refer to those of `if-let' and `when-let'.
(if-let, when-let): De-obsolete.  Rewrite documentation.
2018-03-27 01:54:22 +02:00
Glenn Morris
86960383cf * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix. 2018-03-26 16:12:51 -04:00
Eric Abrahamsen
daa9e853bd Improve warning and error messages
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
  (eieio-persistent-validate/fix-slot-value): Indicate exactly what
  went wrong.
2018-03-22 10:46:09 +08:00
Eric Abrahamsen
f0cf4dc629 Let eieio-persistent-read read what object-write has written
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
  `object-write' may quote lists inside hash tables and vectors, so
  unquote those lists here.

This patch allows the eieio-persistent write/restore process to
perform a clean round trip. It only handles a very specific and
limited range of object structures, but at least the write and read
procedures match.
2018-03-22 10:46:08 +08:00
Eric Abrahamsen
40ad1ff327 Handle possible classtype values in eieio-persistent-read
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
  The function `eieio-persistent-slot-type-is-class-p' could return
  either a single class, or a list of classes.
2018-03-22 10:46:08 +08:00
Noam Postavsky
e244fed5e0 Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
* lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
=> (ATOM) short form is only for non-nil ATOMs.
2018-03-10 17:56:04 -05:00