| Age | Commit message (Collapse) | Author |
|
If we see "function `foo'" or "variable `foo'", it's clear what we
should link to.
Fixes #243
|
|
Fixes #248
|
|
|
|
|
|
|
|
* helpful.el (helpful--propertize-info): Follow Emacs convention for
function documentation. Consider lowercase "info" and angular
quotation marks in docstrings. Default to the Emacs manual if there's
no manual reference (ie. see the `blink-cursor-mode' variable).
* test/helpful-unit-test.el (helpful--format-docstring--info): Add new
testcases for the now covered cases.
|
|
Fixes #212
|
|
|
|
|
|
For example, say "ace-window is an autoloaded, interactive and
compiled function" rather than comma-separating everywhere.
Also simplify button logic and add a test for "an" in descriptions.
|
|
I don't know how these got mixed up, but they did.
|
|
Found with M-x emr-el-find-unused-definitions
|
|
Fixes #210
|
|
Fixes #207
|
|
Fixes #199
|
|
|
|
Fixes #203
|
|
Include this info like in `describe-function`
|
|
Helpful relies on several 24.x Emacs features (defvar-local, nadvice,
lexical binding), but the only 25.x feature is macroexpand-1.
`M-x package-lint-current-buffer` is happy with this change.
Fixes #205
|
|
|
|
Fixes #208
|
|
Fixes #200
|
|
|
|
Fixes #202
|
|
Fixes #197
|
|
|
|
This requires `foo' to be handled as part of the loop in
`helpful--format-command-keys' rather than a separate function.
Helps with #197
|
|
Helps with #197
|
|
|
|
|
|
Previously, we'd render "\\<foo-map>\n" as "\n", leading to an
unwanted blank line in the output. See `org-capture` (on MELPA) for an
example.
|
|
|
|
Fixes #117
|
|
|
|
In Emacs's C core, Lisp functions and variables take on slightly
different names: dashes are replaced with underscores, and functions
and variables are prefixed with "F" and "V" respectively. This change
allows for looking up those symbols. For example, if I am looking at
the source for `purecopy':
DEFUN ("purecopy", Fpurecopy, Spurecopy, 1, 1, 0,
doc: /* Make a copy of object OBJ in pure storage.
Recursively copies contents of vectors and cons cells.
Does not copy symbols. Copies strings without text properties. */)
(register Lisp_Object obj)
{
if (NILP (Vpurify_flag))
return obj;
else if (MARKERP (obj) || OVERLAYP (obj) || SYMBOLP (obj))
/* Can't purify those. */
return obj;
else
return purecopy (obj);
}
I can run `helpful-at-point' on `Vpurify_flag'.
This doesn't support running C-style names through `helpful-callable'
etc, but that doesn't seem like a useful feature.
|
|
|
|
Previously, we would only remove the outermost advice. This led to
`helpful--primitive-p` returning the wrong answer for primitive
functions with more than one active advice.
Fixes #185.
|
|
|
|
If we can't find the location but know the buffer, try expanding forms
in the buffer to see if we can find the relevant function.
This is largely code from elisp-def, but it wasn't in a terribly
reusable form and I've copied it.
|
|
See discussion in #49
|
|
Fixes #189
|
|
|
|
Fixes #172
|
|
|
|
helpful--aliases is expensive, so as usual we'll call it just once at
the beginning of helpful-update. This sacrifices a little elegance for
a significant peformance boost. Here are before and after times
running (helpful-callable #'move-beginning-of-line) 50 times on my
crappy little Thinkpad:
Before:
Elapsed time: 61.507899s (23.391894s in 148 GCs)
Elapsed time: 56.855148s (24.392109s in 133 GCs)
Elapsed time: 58.082409s (25.796263s in 146 GCs)
After:
Elapsed time: 43.519486s (17.412847s in 95 GCs)
Elapsed time: 43.171007s (17.036012s in 92 GCs)
Elapsed time: 44.725709s (18.705316s in 102 GCs)
So the time per call goes from a little over a second to a little
under a second.
|
|
helpful.el (helpful--obsolete-info): new function.
(helpful--format-alias): obsolescence info code extracted.
(helpful-update): display the obsolescence info.
(helpful--format-obsolete-info): new function.
Closes #152.
|
|
In a large function, 1 second isn't always enough to spot the
reference.
|
|
This is another change stemming from Remacs.
|
|
beginning-of-defun just uses open-paren-in-column-0-is-defun-start,
which fooled functions like face-attribute where the docstring
contains a open paren at the start of the line.
Fixes #170
|
|
|