Commit graph

4628 commits

Author SHA1 Message Date
Nicolas Richard
6689b537c8 * package.el (describe-package): Use symbol-at-point as additional guess 2015-06-29 09:14:58 +02:00
Nicolas Richard
a4760a347e * package.el (describe-package): Convert the guess to a string 2015-06-29 09:14:47 +02:00
Paul Eggert
da5e0050ac cl-extra fixes for most-negative-fixnum
* lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
Don't mishandle an argument equal to most-negative-fixnum,
whose absolute value equals itself.
(cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
2015-06-27 12:19:22 -07:00
Paul Eggert
efc262f5f8 Initialize cl--gensym-counter to 0
Previously it was initialized to a random value, which made it
harder to reproduce earlier Emacs runs.  The need for a random
value went away when Emacs introduced and used the #: syntax for
uninterned symbols (Bug#20862).
* doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
Document that cl--gensym-counter now starts with 0.
* lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
(cl--random-time): Move to near only remaining use.
* lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
2015-06-27 10:59:08 -07:00
Paul Eggert
5e3fde03b4 Improve docstring for macroexp-let2
* lisp/emacs-lisp/macroexp.el (macroexp-let2):
Improve as per suggestion by RMS in:
http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
Also, rename args to match new doc string.
2015-06-27 08:35:13 -07:00
Leo Liu
1546c6f2b3 Fix indentation for with-output-to-string
* lisp/emacs-lisp/cl-indent.el: Fix indentation for
  `with-output-to-string' in elisp.

  Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
  This reverts commit 659199f2ca.
2015-06-26 18:03:30 +08:00
Oleh Krehel
659199f2ca lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
* lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
  `with-output-to-string' should have the same indent as `progn'.
  This is in line with the declaration of `with-output-to-string'.
2015-06-25 13:17:30 +02:00
Artur Malabarba
567bf811dc * lisp/emacs-lisp/package.el: Exclude packages by name
(package-hidden-regexps): New variable.
(package-menu--refresh): Use it.
(package-menu-hide-package): New command.
2015-06-22 19:02:08 +01:00
Artur Malabarba
a9d9b66ebb * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding 2015-06-22 19:02:08 +01:00
Dmitry Gutov
0cee2fbc7d Make find-function-on-key use the current window
* lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
Extract from `find-function-on-key', add a second argument.
(find-function-on-key): Use it (bug#19679).
(find-function-on-key-other-window)
(find-function-on-key-other-frame): New commands.
2015-06-22 03:25:38 +03:00
Nicolas Petton
fa52edd4c4 Revert "Define `map-elt' as a generalized variable"
This reverts commit 8b6d82d3ca.
2015-06-21 23:44:50 +02:00
Paul Eggert
38bb9ff0f4 Fix some “nested” quoting confusion in doc strings
* lisp/emacs-lisp/advice.el (ad-map-arglists):
* lisp/kermit.el (kermit-clean-on):
* lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
* src/keyboard.c (Frecursive_edit):
Use curved quotes when quoting text containing apostrophe,
so that the apostrophe isn't curved in the output.
2015-06-21 12:38:08 -07:00
Nicolas Petton
8b6d82d3ca Define `map-elt' as a generalized variable
* lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.

* lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.

* lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
`setf' with `map-elt'.

* test/automated/map-tests.el: Comment out `test-map-put-literal'.
2015-06-21 20:49:16 +02:00
Nicolas Petton
a94202b78a Reuse `alist-get' in map.el
* lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
elements.
2015-06-21 20:26:52 +02:00
Glenn Morris
06d503faeb ; Auto-commit of loaddefs files. 2015-06-19 06:20:41 -04:00
Paul Eggert
c4151ebe15 Improve the optional translation of quotes
Fix several problems with the recently-added custom variable
help-quote-translation where the code would quote inconsistently
in help buffers.  Add support for quoting 'like this', which
is common in other GNU programs in ASCII environments.  Change
help-quote-translation to use more mnemonic values: values are now the
initial quoting char, e.g., (setq help-quote-translation ?`) gets the
traditional Emacs help-buffer quoting style `like this'.  Change the
default behavior of substitute-command-keys to match what's done in
set-locale-environment, i.e., quote ‘like this’ if displayable,
'like this' otherwise.
* doc/lispref/help.texi (Keys in Documentation): Document
new behavior of substitute-command-keys, and document
help-quote-translation.
* doc/lispref/tips.texi (Documentation Tips):
Mention the effect of help-quote-translation.
* etc/NEWS: Mention new behavior of substitute-command-keys,
and merge help-quote-translation news into it.
When talking about doc strings, mention new ways to type quotes.
* lisp/cedet/mode-local.el (overload-docstring-extension):
Revert my recent change to this function, which shouldn't be
needed as the result is a doc string.
* lisp/cedet/mode-local.el (mode-local-print-binding)
(mode-local-describe-bindings-2):
* lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
* lisp/cus-theme.el (describe-theme-1):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
(eieio-help-constructor):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/faces.el (describe-face):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--parent-mode)
(help-fns--obsolete, help-fns--interactive-only)
(describe-function-1, describe-variable):
* lisp/help.el (describe-mode):
Use substitute-command-keys to ensure a more-consistent quoting
style in help buffers.
* lisp/cus-start.el (standard):
Document new help-quote-translation behavior.
* lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
* lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
(help-xref-url-regexp):
* lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
* lisp/wid-edit.el (widget-documentation-link-regexp):
Also match 'foo', in case we're in a help buffer generated when
help-quote-translation is ?'.
* src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
(LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
(uRSQM1, uRSQM2, LSQM, RSQM): New constants.
(Fsubstitute_command_keys): Document and implement new behavior.
(Vhelp_quote_translation): Document new behavior.
2015-06-19 00:38:45 -07:00
Artur Malabarba
711e14ddad * lisp/emacs-lisp/package.el: Don't always propagate async errors
(package--with-work-buffer-async): Only propagate the error if the
callback returns non-nil.
(package--download-one-archive): Return nil on the signature
checking callback if we accept unsigned.
(package--download-and-read-archives): Return non-nil on the
archive download callback.
2015-06-18 14:28:03 +01:00
Artur Malabarba
517ab6238a * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
Properly delete packages.  (Bug#20836)
2015-06-18 09:24:36 +01:00
Artur Malabarba
5dc72bc4ba * lisp/emacs-lisp/package.el: Slightly better error reporting. 2015-06-17 20:33:38 +01:00
Stefan Monnier
82585144b6 (define-minor-mode): Use setq-default for :global minor modes
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
Use setq-default for :global minor modes (bug#20712).
2015-06-17 14:52:54 -04:00
Artur Malabarba
d6dd70b064 * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
Fix error reporting.
2015-06-17 16:59:55 +01:00
Artur Malabarba
02617f1507 * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el 2015-06-17 15:40:58 +01:00
Artur Malabarba
a142b77028 * lisp/emacs-lisp/package.el: Revert buffer after any operation
Call `package-menu--post-refresh' after any operation that changes
the package database (`package-install' and `package-delete').  To
avoid performance issues in large transactions, these functions
add `post-refresh' to `post-command-hook' instead of calling it
immediately.
(package-menu--mark-or-notify-upgrades): New function.
(list-packages): Add it to `package--post-download-archives-hook'.
(package-menu--post-refresh): Lose the upgrade-checking code, add
code to remove itself from `post-command-hook'.
(package-install, package-delete): Add it to `post-command-hook'.
(package-menu-execute): Don't call `package-menu--post-refresh'.
2015-06-17 15:40:58 +01:00
Glenn Morris
b7d5033c39 * lisp/emacs-lisp/check-declare.el (check-declare-warn):
Don't print filename twice (it's in the prefix now).
2015-06-16 20:45:35 -04:00
Glenn Morris
d3b779fa79 * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
No longer needed.
2015-06-16 20:44:57 -04:00
Glenn Morris
c07e67aaaf Address a compilation warning.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
Replace 't' with '_' in pcase.
2015-06-16 20:44:23 -04:00
Glenn Morris
55b41a82cd Address some compilation warnings.
* lisp/face-remap.el (text-scale-adjust):
* lisp/menu-bar.el (popup-menu-normalize-position):
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
* lisp/emacs-lisp/generator.el (cps--transform-1):
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
* lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
* lisp/progmodes/octave.el (octave-goto-function-definition)
(octave-find-definition-default-filename):
Replace 't' with '_' in pcase.
2015-06-16 20:04:35 -04:00
Glenn Morris
cf94a3e0c4 * lisp/emacs-lisp/pcase.el (pcase--u1):
Paper-over today's bootstrap failure.
2015-06-16 18:27:02 -04:00
Nicolas Petton
70a567971a * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase. 2015-06-16 23:49:35 +02:00
Nicolas Petton
7d5c120fed * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning. 2015-06-16 23:04:03 +02:00
Stefan Monnier
3ef311678b * lisp/emacs-lisp/pcase.el: Improve docs and error handling
(pcase--self-quoting-p): Floats aren't self-quoting.
(pcase): Tweak docstring.
(pcase--u1): Deprecate the t pattern.  Improve error detection for
the nil pattern.
(\`): Tweak docstring.  Signal an error for unrecognized cases.

(bug#20784)
2015-06-16 12:37:33 -04:00
Glenn Morris
4c4a329cf4 ; * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
Fix recent change.
2015-06-15 18:02:33 -04:00
Paul Eggert
e58a815339 Fix quoting when making derived mode docstring
* lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
Nest regexp-quote inside format, not the reverse.
Problem reported by Artur Malabarba in:
http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
2015-06-15 12:41:01 -07:00
Nicolas Petton
c8dc4d6804 * lisp/emacs-lisp/map.el (map-let): Better docstring. 2015-06-15 12:43:09 +02:00
Artur Malabarba
3881af45bf * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
Catch errors that happen before going async.  (Bug#20809)
2015-06-14 22:48:18 +01:00
Artur Malabarba
57e7666477 * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
Don't assume that `tabulated-list-printer' will leave point at the
end of the buffer.  (Bug#20810)
2015-06-14 14:40:48 +01:00
Glenn Morris
1fabab62f8 Ensure early startup warnings are visible at the end. (Bug#20792)
* lisp/emacs-lisp/warnings.el (display-warning):
If startup isn't complete, delay the warning.

* lisp/startup.el (normal-top-level, command-line):
Let display-warning automatically handle the needed delays.
Run delayed-warnings-hook.
2015-06-12 19:26:21 -07:00
Paul Eggert
b220562637 Fix quoting of help for functions with odd names
While investigating Bug#20759, I discovered other quoting problems:
C-h f mishandled characters like backslash and quote in function names.
This fix changes the behavior so that 'C-h f pcase RET' now
generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
in src/lread.c's read1 function says that the backslash will be
needed starting in Emacs 25, which implies that 'format' is
correct and the old pcase documention was wrong to omit the backslash.
* lisp/emacs-lisp/nadvice.el (advice--make-docstring):
* lisp/help-fns.el (help-fns--signature):
* lisp/help.el (help-add-fundoc-usage):
* lisp/progmodes/elisp-mode.el (elisp-function-argstring):
Use help--make-usage-docstring rather than formatting
help-make-usage.
* lisp/emacs-lisp/pcase.el (pcase--make-docstring):
Return raw docstring.
* lisp/help-fns.el (help-fns--signature): New arg RAW, to return
raw docstring.  Take more care to distinguish raw from cooked dstrings.
(describe-function-1): Let help-fns--signature substitute
command keys.
* lisp/help.el (help--docstring-quote): New function.
(help-split-fundoc): Use it, to quote funny characters more
systematically.
(help--make-usage): Rename from help-make-usage, since this
should be private.  Leave an obsolete alias for the old name.
(help--make-usage-docstring): New function.
* test/automated/help-fns.el (help-fns-test-funny-names): New test.
2015-06-11 10:24:38 -07:00
Glenn Morris
7c24a2c210 * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
Move requiring of finder from here...
(checkdoc-package-keywords): ... to here.
2015-06-10 17:06:02 -04:00
Stefan Monnier
a0f0f08a52 * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
(finder-known-keywords): Silence byte-compiler.
2015-06-10 09:11:20 -04:00
Oleh Krehel
20de61c833 Add new command checkdoc-package-keywords
* lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
  defcustom.
(checkdoc-list-of-strings-p): Add doc.
(checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
non-nil, call `checkdoc-package-keywords'.
(checkdoc-get-keywords): New defun.
(checkdoc-package-keywords): New command. Warns if the current file
has package.el-style keywords that aren't in `finder-known-keywords'.

* etc/NEWS: Add entry.
2015-06-08 16:54:51 +02:00
Artur Malabarba
f1aa40f47d * lisp/emacs-lisp/package.el (package-delete): Make interactive 2015-06-08 10:50:43 +01:00
Oleh Krehel
c941d47932 checkdoc.el (checkdoc-file): New function
* lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
  `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
  to the standard output.

(bug#20754)
2015-06-08 08:33:21 +02:00
Nicolas Petton
30e518379e * lisp/emacs-lisp/map.el (map-let): Better docstring. 2015-06-06 01:54:11 +02:00
Nicolas Petton
2a54e8dfff Better syntax for the map pcase pattern
* lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
2015-06-06 01:50:32 +02:00
Nicolas Petton
cd22663b85 * lisp/emacs-lisp/map.el (map--dispatch): Better docstring. 2015-06-06 01:26:25 +02:00
Nicolas Petton
431fca48a8 ; * lisp/emacs-lisp/map.el: Fix formatting. 2015-06-06 01:26:25 +02:00
Nicolas Petton
8fe836abbd Fix a byte-compiler error in map-put and map-delete
* lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
called with a symbol.
2015-06-06 01:26:25 +02:00
Glenn Morris
b0eb66823f * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
(map--delete-array): Fix typo.
2015-06-05 16:30:39 -04:00
Paul Eggert
1ba0149572 Fix curved quotes in a few places
* lisp/calc/calc-misc.el (calc-help): Fix quoting.
The strings in question are not doc strings, so this partially
undoes the recent change that assumed they were doc strings.
* lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
* lisp/info.el (Info-finder-find-node):
Use curved quotes.
* lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
Also allow curved quotes in doc strings.
2015-06-04 23:54:49 -07:00