b4937f64cd (origin/emacs-27) Improve documentation of manually instal...
efd4e973a4 Reflect the emacs-devel ELPA/MELPA dispute in FAQ
28541674cd Consider face inheritance when checking region face backgr...
e75f6be6cc Fix dired default file operation (bug#41261)
406fb0746c Fix documentation related to 'command-switch-alist'.
747e0a2523 Improve ediff readability in misterioso theme (Bug#41221)
48830c73e7 Fix a crash in handle_display_spec
a37290a6f9 In x_hide_tip reset tip_last_frame for GTK+ tooltips only ...
3d81995692 Fix docstring of flymake-make-diagnostic (bug#40351)
632aa9d57a Go back to “Bahá’í”
e2406ff60f * lisp/dired.el (dired-toggle-marks): Doc fix. (Bug#41097)
# Conflicts:
# doc/emacs/building.texi
The new packages state they require Emacs 26.3 to function, but a
small part of project.el breaks this "soft" rule: the two functions
requiring fileloop.el are incompatible with Emacs 26.3.
* lisp/jsonrpc.el: Tweak comment near Package-Requires.
* lisp/emacs-lisp/eldoc.el: Add Version and Package-Requires.
* lisp/progmodes/flymake.el: Add comment near Package-Requires.
* lisp/progmodes/project.el: Add Version and Package-Requires.
* lisp/progmodes/xref.el: Add Version and Package-Requires.
Eglot, a third-party package which uses Flymake, has its own
diagnostic types such as 'eglot-error', 'eglot-warning', etc... While
not being too long, they will not fit in the type column of the "list
all diagnostics" buffer. This commit allows diagnostic types to have
user-defined names and also assigns names to the default categories.
* doc/misc/flymake.texi (Flymake error types): Describe
flymake-type-name prop.
* lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
Use type names.
(flymake-error, flymake-warning, flymake-note): Give these
diagnostic categories default type names.
This replaces the awkward reuse of encode-time to both convert
calendrical timestamps to Lisp timestamps, and to convert Lisp
timestamps to other forms. Now, encode-time does just the
former and the new function does just the latter.
The new function builds on a suggestion by Lars Ingebrigtsen in:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00801.html
and refined by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00803.html
* doc/lispref/os.texi (Time of Day, Time Conversion):
* doc/misc/emacs-mime.texi (time-date):
* etc/NEWS: Update documentation.
* lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
* lisp/calendar/time-date.el (seconds-to-time, days-to-time):
* lisp/calendar/timeclock.el (timeclock-seconds-to-time):
* lisp/cedet/ede/detect.el (ede-detect-qtest):
* lisp/completion.el (cmpl-hours-since-origin):
* lisp/ecomplete.el (ecomplete-add-item):
* lisp/emacs-lisp/cl-extra.el (cl--random-time):
* lisp/emacs-lisp/timer.el (timer--time-setter)
(timer-next-integral-multiple-of-time):
* lisp/find-lisp.el (find-lisp-format-time):
* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
* lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
* lisp/gnus/nnrss.el (nnrss-normalize-date):
* lisp/gnus/nnspool.el (nnspool-request-newgroups):
* lisp/net/ntlm.el (ntlm-compute-timestamp):
* lisp/net/pop3.el (pop3-uidl-dele):
* lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
* lisp/org/org-clock.el (org-clock-get-clocked-time)
(org-clock-resolve, org-resolve-clocks, org-clock-in)
(org-clock-out, org-clock-sum):
* lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
* lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
* lisp/proced.el (proced-format-time):
* lisp/progmodes/cc-cmds.el (c-progress-init)
(c-progress-update):
* lisp/progmodes/cperl-mode.el (cperl-time-fontification):
* lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
* lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
(vhdl-fix-case-region-1):
* lisp/tar-mode.el (tar-octal-time):
* lisp/time.el (emacs-uptime):
* lisp/url/url-auth.el (url-digest-auth-make-cnonce):
* lisp/url/url-util.el (url-lazy-message):
* lisp/vc/vc-cvs.el (vc-cvs-parse-entry):
* lisp/vc/vc-hg.el (vc-hg-state-fast):
* lisp/xt-mouse.el (xterm-mouse-event):
* test/lisp/emacs-lisp/timer-tests.el:
(timer-next-integral-multiple-of-time-2):
Use time-convert, not encode-time.
* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
Don’t use now-removed FORM argument for encode-time.
It wasn’t crucial anyway.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add time-convert.
* lisp/emacs-lisp/elint.el (elint-unknown-builtin-args):
Update encode-time signature to match current arg set.
* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
Use timer-convert with t rather than doing it by hand.
* src/timefns.c (time_hz_ticks, time_form_stamp, lisp_time_form_stamp):
Remove; no longer needed.
(decode_lisp_time): Rturn the form instead of having a *PFORM arg.
All uses changed.
(time_arith): Just return TICKS if HZ is 1.
(Fencode_time): Remove argument FORM. All callers changed.
Do not attempt to encode time values; just encode
decoded (calendrical) times.
Unless CURRENT_TIME_LIST, just return VALUE since HZ is 1.
(Ftime_convert): New function, which does the time value
conversion that bleeding-edge encode-time formerly did.
Return TIME if it is easy to see that it is already
of the correct form.
(Fcurrent_time): Mention in doc that the form is planned to change.
* test/src/timefns-tests.el (decode-then-encode-time):
Don’t use (encode-time nil).
Diagnostics are supported by overlays, and they can legitimately move
around. So flymake-diagnostic-beg and flymake-diagnostic-end must
look up the overlay positions, not the immutable slots of the
flymake--diag structure, which become stale.
* lisp/progmodes/flymake.el (version): Bump to 1.0.8.
(flymake-diagnostic-beg, flymake-diagnostic-end): Use diag's
overlay.
(flymake-show-diagnostic): Use flymake-diagnostic-end,
flymake-diagnostic-beg.
We're supposed to delete intersecting diagnostics in that situation,
but the intersection logic was way off.
* lisp/progmodes/flymake.el (version): Bump to 1.0.7.
(flymake--intersects-p): New helper.
(flymake--handle-report): Fix handling of :region.
A backend building a diagnostic with a nil :type would cause Flymake
to create a diagnostic without an overlay, confusing Flymake's
accounting of overlays and diagnostics
* lisp/progmodes/flymake.el (flymake--highlight-line): Return
non-nil unconditionally.
* lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
Revert to using seconds-to-time, since this file is part
of ELPA and needs to work on Emacs 26 too.
Among other bugs fixed, modifying a list structure while iterating it
is a no-no. This would again cause duplicate diagnostics. See
https://github.com/joaotavora/eglot/issues/223 for an example.
* lisp/progmodes/flymake.el (Version): Bump to 1.0.5
(flymake--handle-report): Use cl-loop.
Not doing so would cause duplicate diagnostics. See
https://github.com/joaotavora/eglot/issues/223 for an example.
* lisp/progmodes/flymake.el (Version): 1.0.4
(flymake-mode): Cleanup overlays before starting Flymake.
A feature suggested by Yuri Khan <yurivkhan@gmail.com>.
* lisp/progmodes/flymake.el (flymake-suppress-zero-counters): New
variable. (flymake--mode-line-format): Use it.
* lisp/progmodes/flymake.el (Version): Bump to 1.0.3.
(flymake--diag): Add new field overlay-properties.
(flymake-make-diagnostic): New optional arg overlay-properties.
(flymake--highlight-line): Use it.
* lisp/cus-start.el: Test 'fringe-bitmaps' to see if fringe.c was compiled.
* lisp/fringe.el: Use lexical-binding.
(define-fringe-bitmap): Provide a fallback implementation.
* lisp/progmodes/flymake.el (flymake-double-exclamation-mark):
Define unconditionally.
* lisp/progmodes/gdb-mi.el (define-fringe-bitmap): Don't declare any more.
(breakpoint, hollow-right-triangle): Define unconditionally.
Add a paragraph to minor mode's docstring documenting the mode's ARG
usage if the supplied docstring doesn't already contain the word "ARG".
* easy-mmode.el (easy-mmode--arg-docstring): New const.
(easy-mmode--arg-docstring): New function.
(define-minor-mode): Use them.
Remove argument documentation from all minor modes.
The backend's diagnostic list must be updated too, not just cleared.
* lisp/progmodes/flymake.el (flymake--diag): Add overlay field.
(flymake--highlight-line): Return created overlay.
(flymake--handle-report): Iterate the backend's diagnostics, not
the overlays. Set diagnostic overlay.
(flymake--run-backend): Don't clean diagnostic list here.
(flymake-mode): Call delete-overlay directly.
The FILTER arg of flymake-goto-next-error, a list of types, includes
every diagnostic with a severity number `eq` to those types.
* lisp/progmodes/flymake.el (flymake--severity): New helper.
(flymake-goto-next-error, flymake-goto-prev-error): Clarify
meaning of FILTER.
(flymake-goto-next-error): Interpret filter as a severity filter.
(flymake--mode-line-format): Simplify.
That varaiable was an association between symbols and properties,
effecively duplicating symbol's property lists. It is simpler to just
put properties on symbols. Backward compatibility to the old variable
has been kept.
* doc/misc/flymake.texi (Flymake error types): Don't mention
flymake-diagnostic-types-alist.
(Flymake error types): Rework section.
(Backend functions): Refill a paragraph.
(Flymake utility functions): Don't mention
flymake-diagnostic-types-alist.
(Proc customization variables): Don't mention
flymake-diagnostic-types-alist.
* etc/NEWS: Mention obsoletion of flymake-diagnostic-types-alist.
* lisp/progmodes/flymake-proc.el
(flymake-proc--diagnostics-for-pattern): Don't use
flymake-diagnostic-types-alist.
* lisp/progmodes/flymake.el: Rewrite commentary.
(flymake-make-diagnostic, flymake-mode, flymake-goto-next-error)
(flymake-goto-prev-error): Don't mention
flymake-diagnostic-types-alist in docstring.
(flymake-diagnostic-types-alist): Make obsolete.
(:error, :warning, :note): Put flymake-category in these symbols.
(flymake-error, flymake-warning, flymake-note): Put
`flymake-bitmap', not `bitmap' in these symbols.
(flymake--lookup-type-property, flymake--highlight-line): Rewrite.
Honor flymake-diagnostic-types-alist for backward
compatibility.
* lisp/progmodes/python.el (python-flymake-msg-alist): Don't
mention flymake-diagnostic-types-alist.
Thus, if a package foo has its own types foo-error and
foo-warning, and if the buffer has no errors, the mode-line
will correctly show `[0 0]' (zero errors and warnings) instead
of `[0 0 0 0]' (zero errors, zero foo-errors, zero warnings,
zero foo-warnings).
* lisp/progmodes/flymake.el
(flymake--mode-line-format): Coalesce diagnostic types based on
the severity, not the symbol.
This is easier that setting properties on diagnostics' text.
* lisp/progmodes/flymake.el (flymake--diag): Add data slot.
(flymake-make-diagnostic): Add DATA arg.
(flymake-diagnostic-data): New accessor.
* doc/misc/flymake.texi: Update date and version.
Make myself the first author.
* lisp/progmodes/flymake.el: Update Maintainer and Version fields.
* lisp/progmodes/flymake-proc.el
(flymake-proc--diagnostics-for-pattern): Update Maintainer and Version fields.
f2caf08ca6 ; Spelling fixes
f0e5f220b6 * lisp/progmodes/grep.el (zrgrep):
a0f71260f8 Minor copyedits in doc/emacs/text.texi
adfe2f580f Remove outdated comment in syntax.el
b80e15b6a6 Prevent Flyspell from changing unrelated words
e385599457 Avoid errors in flymake in builds --without-x
d691e30cb0 More improvements of the Emacs manual
63b04c11d5 Fix copyright years by hand
5c7dd8a783 Update copyright year to 2018
220a9ecba1 Merge from Gnulib
312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
39ca289a7a Allow customization of decoding of "man" command
f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
acd289c5a4 Fix problems with indexing in User manual
b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
7175496d7a Fix doc string of 'enable-recursive-minibuffers'
5b38406491 Fix documentation of delsel and of killing text
# Conflicts:
# etc/NEWS
# etc/refcards/ru-refcard.tex
b3f4a3a (origin/emacs-26) Special-case %DUMBFW for GnuTLS between 3.2...
c2ae057 Work around GnuTLS version issues with %DUMBFW (tiny change)
2f9d9ef ; Remove the mention of "plain C code" in the docstring as well
aca827b Merge branch 'widen-less' into emacs-26
87548f5 ; Rephrase NEWS entry a bit
da0d773 (emacs-26) ; * lisp/erc/erc.el: Update URL.
3a60515 * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler...
471b6c1 ; Replace non-ascii quote characters in doc strings etc
7af7f5e Fix some more aliases to user options
79fb4b5 Fix some flymake aliases
b9fbc03 (origin/widen-less) Widen in indent-for-tab-command in the no...
446faf3 Replace the mention of c-indent-defun with js-indent-line
7e9eef0 Consolidate 'widen' calls
# Conflicts:
# etc/NEWS
# lisp/progmodes/flymake-proc.el
* lisp/progmodes/flymake-proc.el (flymake-xml-program)
(flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
(flymake-master-file-count-limit, flymake-allowed-file-name-masks):
* lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
Define aliases to user options before the options are defined.