Eli Zaretskii [Thu, 2 Sep 2021 11:58:41 +0000 (14:58 +0300)]
Fix 'clone-frame' on TTY frames
* src/frame.c (Fmake_terminal_frame): Make a separate copy of the
faces for the new frame before calling modify-frame-parameters, as
on TTY frames that needs the faces already set up. (Bug#34715)
Eli Zaretskii [Thu, 2 Sep 2021 10:43:00 +0000 (13:43 +0300)]
Improve a recent change in 'mule-cmds.el'
* lisp/international/mule-cmds.el
(select-safe-coding-system--format-list): Display codepoints in
hex and as characters. Display the ellipsis in a better place.
Enlarge the limit to 5 codepoints, as the display is now easier to
grasp.
(select-safe-coding-system-interactively): Don't use
'select-safe-coding-system--format-list' for "rejected"
coding-systems, as those don't come with characters and positions.
* lisp/international/mule-cmds.el
(select-safe-coding-system--format-list): New function to display
the coding system information in a more readable format (bug#31062).
(select-safe-coding-system-interactively): Use it.
* lisp/emacs-lisp/lisp.el (backward-up-list): Reformat the doc
string into several paragraphs (bug#31349).
(up-list): Ditto and fix the "start" to be "end".
Eli Zaretskii [Wed, 1 Sep 2021 16:27:43 +0000 (19:27 +0300)]
Fix segfault with invalid key-translation-map binding
* src/keyboard.c (access_keymap_keyremap): Don't assume an invalid
function is specified as a symbol. Reported by Perry E. Metzger
<perry@piermont.com>.
* lisp/epg.el (epg--start): We may be called from contexts where
the directory doesn't exist, but we need to have an existing
directory here for the process (bug#32004).
Make set-foreground-color display completions using foreground colors
* lisp/faces.el (defined-colors-with-face-attributes): Also create
colors for foregrounds (bug#33799).
(read-color): Also allow varying the foreground color.
* lisp/frame.el (set-foreground-color): Vary the foreground color.
Marco Centurion [Wed, 1 Sep 2021 07:37:12 +0000 (09:37 +0200)]
Use "gzip -d" instead of "gunzip"
* lisp/dired-aux.el (dired-compress-file-suffixes): Use "gzip -d"
instead of "gunzip" since we already assume that "gzip" exists on
the system (bug#10990).
* doc/emacs/maintaining.texi (Xref Commands): `mouse-1' is bound
to `xref-goto-xref', not `mouse-2' (bug#35376).
(Xref Commands): Mention what `mouse-2' does.
* lisp/progmodes/xref.el (xref--button-map): Adjust.
(xref-select-and-goto-xref): Rename from xref--mouse-2 (bug#35376).
* lisp/textmodes/ispell.el (ispell-complete-word): Leave point at
the end of the inserted word instead of a less than useful amount
of distance from the start of the word (bug#37552).
Make calc plotting through gnuplot work on non-X gnuplots
* lisp/calc/calc-graph.el (calc-graph-plot): Fall back on "dumb"
if we don't support the terminal (bug#50237).
(calc-gnuplot-command): Say whether the command errored out.
Make run-at-time try harder to run at integral multiples
* lisp/emacs-lisp/timer.el (timer): Add new slot integral-multiple.
(timerp): Adjust.
(timer-event-handler): Recompute the delay if requested
(bug#39099).
(run-at-time): Mark the timer as recomputable if given a t
parameter.
Harald Jörg [Mon, 30 Aug 2021 16:53:51 +0000 (18:53 +0200)]
; cperl-mode.el: Fix border cases of inserting with elisp
* lisp/progmodes/cperl-mode.el (cperl-unwind-to-safe): Replace
(and extend) inline comment by a docstring. Handle edge cases when
inserting text with elisp (related to Bug#28962).
(cperl-process-here-doc): Add syntax-type `here-doc-start'.
(cperl-find-pods-heres): Make sure that the results of this
function are immediately visible.
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-14343):
Add test cases for "empty" here-documents and inserting at the
edges of a here-document.
Stefan Monnier [Mon, 30 Aug 2021 14:52:25 +0000 (10:52 -0400)]
(cperl-test-bug-14343): Make it work for perl-mode
* test/lisp/progmodes/cperl-mode-tests.el (cperl--tests-heredoc-face):
New const.
(cperl-test-heredocs, cperl-test-bug-14343): Use it.
(cperl-test-identify-no-heredoc): Remove left-over message.
Move vc-branch-p and vc-branch-part from vc.el to vc-rcs.el and rename
* lisp/vc/vc-rcs.el (vc-rcs-branch-p): Renamed from `vc-branch-p'
(old name made into obsolete alias) and moved from vc.el.
(vc-rcs-branch-part): Renamed from `vc-branch-part'
(old name made into obsolete alias) and moved from vc.el.
Augusto Stoffel [Sun, 29 Aug 2021 18:56:11 +0000 (20:56 +0200)]
Add support for OSC 7 in comint (current directory tracking)
* lisp/comint.el (comint-osc-directory-tracker, comint-osc-handlers):
Define and register a handler for OSC 7.
(comint-osc-process-output): Do fewer checks on
'comint-last-output-start'.
Alan Mackenzie [Sun, 29 Aug 2021 14:03:57 +0000 (14:03 +0000)]
C++ Mode: handle compound identifiers preceding brace lists correctly
* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): early in
function, check alternatively for c-back-over-compound-identifier when doing
c-backward-token-2.
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Don't overly truncate headers that are before a right-aligned
column (bug#44594).
(tabulated-list--available-space): Separated out into own
function...
(tabulated-list-print-col): ... from here.
Put advice documentation at the end of the displayed doc string
* lisp/emacs-lisp/nadvice.el (advice--make-docstring): Put the
advice things at the end of the documentation (bug#50222). It's
important to have the first line of the original documentation
remain the first line, because it's used when doing one-line
summaries of the function.
Juri Linkov [Fri, 27 Aug 2021 06:24:07 +0000 (09:24 +0300)]
Replace flyspell-use-mouse-3-for-menu with context-menu-mode (bug#50067)
* doc/emacs/fixit.texi (Spelling): Replace mentions of
flyspell-use-mouse-3-for-menu with context-menu-mode.
* lisp/mouse.el (context-menu-map): Use the function from the
text property context-menu-function at mouse click event.
* lisp/textmodes/flyspell.el (flyspell--set-use-mouse-3-for-menu):
Remove function.
(flyspell-use-mouse-3-for-menu): Remove defcustom added recently in 28.1.
(flyspell-context-menu): New function.
(flyspell-mode): Don't call flyspell--set-use-mouse-3-for-menu.
(flyspell-mode-on): Replace flyspell-use-mouse-3-for-menu
with context-menu-mode.
(make-flyspell-overlay): When context-menu-mode is non-nil,
put overlay context-menu-function with flyspell-context-menu
instead of using keymap flyspell-mouse-map.
Fix backtrace when query-about-changed-file nil and file has changed
* lisp/userlock.el (userlock--check-content-unchanged): Make the
assertion more robust -- we may be called here from a different
contexts if `query-about-changed-file' is nil.
Enable setting timeclock-workday after switching mode on
* lisp/calendar/timeclock.el (timeclock--previous-workday): New
variable.
(timeclock-find-discrep): Use it to flush values when
timeclock-workday changes (bug#50216).
(timeclock-mode-line-display): Mention `timeclock-workday' setting
in doc string.
* lisp/progmodes/compile.el (compilation-find-file): Avoid
`expand-file-name' when computing the file names, because that will
reliably give the wrong result when there's symlinks and ".."
involved (bug#8035).
Michael Albinus [Thu, 26 Aug 2021 11:14:19 +0000 (13:14 +0200)]
Improve robustness of shadowfile.el
* lisp/shadowfile.el (shadow-site-help): New defconst.
(shadow-read-site): Use it.
(shadow-make-fullname, shadow-contract-file-name)
(shadow-define-literal-group): Handle errors more robust. (Bug#49596)
Tassilo Horn [Thu, 26 Aug 2021 10:51:08 +0000 (12:51 +0200)]
Fix docs about the meaning of the Re: in the subject
* doc/misc/message.texi (Message Headers): Clarify that it comes from
the Latin "res" meaning "in the matter of" rather than "in response
to" as claimed previously (see RFC-2822).
Augusto Stoffel [Wed, 25 Aug 2021 10:29:22 +0000 (12:29 +0200)]
Add support for OSC escape codes in comint
* doc/emacs/misc.texi (Shell Mode): Document it.
* lisp/comint.el (comint-osc-handlers, comint-osc--marker): New
variables.
(comint-osc-process-output): New function.
(comint-osc-hyperlink-map): New map.
(comint-osc-hyperlink-handler): New function.