Commit graph

151421 commits

Author SHA1 Message Date
Lars Ingebrigtsen
68d3f2b69c Correct minibuffer.el heading
* lisp/minibuffer.el: There's more here than completion functions
(bug#49844).
2021-11-06 03:41:11 +01:00
Lars Ingebrigtsen
5b630caebf Use underline on non-graphical terminals in make-separator-line
* lisp/simple.el (separator-line):
(make-separator-line): Use an underline on terminals (bug#32950).
2021-11-06 03:31:51 +01:00
F. Jason Park
58deb30fd0 Normalize usage of variable erc-server-reconnecting
* lisp/erc/erc-backend.el (erc-server-reconnecting-p):
Don't consider erc-server-reconnecting when rendering verdict.
(erc-process-sentinel-2): ensure local variable
erc-server-reconnecting is t when timers are scheduled or running and
trying to reconnect, and nil otherwise, including after no retries
remain. Previously, its use and meaning in erc-backend were convoluted
and conflicted with its use in erc-cmd-RECONNECT (bug#50007).
2021-11-06 03:15:24 +01:00
F. Jason Park
4d656ea5ff Don't send empty lines for implicit targets in ERC
* erc.el (erc-send-input-line): Previously, any line typed into a
query or channel buffer without an explicit user-command
handler (meaning most lines), would be sent twice because a trailing
newline (linefeed) would be appended. This has been verified by
checking IRCd server logs. IRCds won't return an error upon receiving
an empty message, but they also won't forward them to channel
subscribers and DM pals.

* erc-tests.el: Add test for erc-process-input-line, which also
indirectly tests erc-send-input-line. It also tests the command
lookup and dispatch facility (bug#50008).
2021-11-06 03:09:43 +01:00
Lars Ingebrigtsen
82d0550648 Remove messaging in pp-display-expression.
* lisp/emacs-lisp/pp.el (pp-display-expression): Remove confusing
message -- we don't usually say that we've popped up a new buffer when
we do so.
2021-11-06 02:20:06 +01:00
Lars Ingebrigtsen
2804747f9e Allow getting verbose results on erts 'C-u C-c C-c'
* lisp/progmodes/erts-mode.el (erts-run-test): Allow getting a
diff buffer of the differences with `C-u C-c C-c'.
2021-11-06 01:54:25 +01:00
Jim Porter
b811ad15be Improve behavior of 'electric-pair-mode' in 'cc-mode'
* lisp/progmodes/cc-mode.el (c-electric-pair-inhibit-predicate):
Inhibit insertion of paired quote in fewer cases.
* test/lisp/electric-tests.el (define-electric-pair-test):
Add 'c-mode' to list of modes to test by default (bug#50538).

This ensures that quotes are paired correctly within comments, allows for
insertion of quote pairs immediately before another quote, and allows
inserting quote pairs within a string (thus splitting the string in two).
2021-11-06 01:21:35 +01:00
Manuel Giraud
cfd4d45f11 Make 'C-x v v' on an unregistered file use the most specific backend
* lisp/vc/vc.el (vc-next-action): Mention this.

* lisp/vc/vc.el (vc-backend-for-registration): Choose the most
specific backend (bug#50572).
2021-11-06 01:13:49 +01:00
Lars Ingebrigtsen
ec2939c379 Tweak `eww' new-buffer parameters
* lisp/net/eww.el (eww): Don't require that the function be called
with 4 to open a new buffer (bug#51613).
2021-11-06 00:17:18 +01:00
Daniel Martín
0970684011 Fix GNUstep build (ns_compute_glyph_string_overhangs)
* src/nsterm.m (ns_compute_glyph_string_overhangs): Declare the font
variable so that it's in scope for the GNUstep code.
2021-11-05 23:24:33 +01:00
Stefan Kangas
1eaee319ea Add "N.B." abbreviation to checkdoc
* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add
abbreviation "N.B.".
2021-11-05 22:31:42 +01:00
Stefan Kangas
49a6b26cf7 Don't hardcode "Commentary" section in checkdoc
* lisp/emacs-lisp/checkdoc.el
(checkdoc-commentary-header-string): New defvar.
(checkdoc-file-comments-engine): Insert value of above new
variable instead of hardcoding what is inserted for the
"Commentary" section.
2021-11-05 22:31:17 +01:00
Eli Zaretskii
c5adec394a Use correct compiler options for building with libwebp
* src/Makefile.in (WEBP_CFLAGS): Define.
(EMACS_CFLAGS): Use it.  (Bug#51611)
2021-11-05 22:20:04 +02:00
Michael Albinus
a08a9a9aea Improve `file-has-changed-p'
* doc/lispref/files.texi (File Attributes): Be precise when
filename does not exist in `file-has-changed-p'.

* lisp/files.el (file-has-changed-p): Suppress remote file caches.
Handle the case FILE does not exists.
2021-11-05 20:46:35 +01:00
Paul Eggert
133026c362 rsvg_handle_get_dimensions is deprecated in 2.52.0
In Bug#44655#32 (2020-11-19) it was reported that
rsvg_handle_get_dimensions was not deprecated.  However, it became
deprecated in librsvg 2.52.0 (2021-09-15), and because of this Emacs
builds with --enable-gcc-warnings fail in Fedora 35 (2025-11-02)
with the diagnostic “‘rsvg_handle_get_dimensions’ is deprecated:
Use 'rsvg_handle_get_intrinsic_size_in_pixels' instead
[-Werror=deprecated-declarations]”.
* src/image.c (rsvg_handle_get_dimensions): Define as a DLL
function only if < librsvg 2.46.0, since it’s not used
in 2.46.0 or later.
(svg_load_image): Use rsvg_handle_get_dimensions only if librsvg <
2.46.0, since it isn’t needed if >= 2.46.0.
2021-11-05 11:53:17 -07:00
Lars Ingebrigtsen
c1865384d7 Allow 'pp' to limit the line widths
* lisp/emacs-lisp/pp.el (pp-max-width, pp-use-max-width): New user
options (bug#11934).
(pp-to-string): Use it.
(pp--insert-lisp): Tweak whether to use standard-output or not.
(pp--max-width): New function.
2021-11-05 15:27:08 +01:00
Eli Zaretskii
c19aa6aeb2 ; Fix documentation of a recent change
* doc/emacs/misc.texi (emacsclient Options): No need to use @dfn
more than once for the same term.

* etc/NEWS (emacsclient): Don't use passive voice.
2021-11-05 15:51:08 +02:00
Eli Zaretskii
c659182d55 ; Fix doc strings of a recent commit
* lisp/image-dired.el (image-dired-gallery-image-root-url)
(image-dired-gallery-thumb-image-root-url)
(image-dired-gallery-dir): Don't use "path" for file names and
URLs.
2021-11-05 15:47:00 +02:00
Eli Zaretskii
b7bbf6f28f Enhance 'highlight-confusing-reorderings'
* lisp/international/mule-cmds.el (confusingly-reordered): Make
sure the face looks distinct on displays that don't support the
"wavy" underline attribute.
(highlight-confusing-reorderings): Add a tooltip explaining why
the text was highlighted.  Allow to remove the highlighting by
invoking the command with a prefix argument.
2021-11-05 15:40:37 +02:00
Carlos Pita
a0973fa7a6 Match dummy output even with non-default rl config
* lisp/progmodes/python.el
(python-shell-completion-native-get-completions): Match dummy output
even when readline is configured in non-default ways.  (Bug#51010)
2021-11-05 08:02:31 +01:00
Tino Calancha
f80d701ec8 Fix (un)compressing directories in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-dired-compress-file):
Check whether the file is a directory (bug#50581).
2021-11-05 04:35:08 +01:00
Matthias Meulien
f0768d3145 Fix 'diff-font-lock-prettify' breaking display of outline headers
* lisp/vc/diff-mode.el (diff-outline-level): Make hunk headers be
at level 2.
(diff-mode): Use prettified line as outline header.
(diff--outline-level): New function (bug#51016).

* lisp/vc/vc.el (vc-diff-internal): Fix diff mode being set before
content inserted (bug#51016).
2021-11-05 03:50:01 +01:00
Daniel Martín
48af19c1f0 Fix buffer overflow in ns_compute_glyph_string_overhangs
* src/nsterm.m (ns_compute_glyph_string_overhangs): When the first
glyph of a glyph string is a composite glyph, `s->nchars' is 0, so
"s->char2b + s->nchars - 1" dereferenced a position before buffer
`s->char2b'.  Instead, rewrite part of the function to distinguish
between character glyphs and composite glyphs.  For character glyphs,
calculate the font metrics using the `text_extents' function, passing
it the entire glyph string; for composite glyphs, call
`composition_gstring_width'. (Bug#51105)
2021-11-05 03:39:19 +01:00
Stefan Kangas
3601e23679 ; * doc/man/emacsclient.1: Bump date after last change. 2021-11-05 01:10:32 +01:00
Stefan Kangas
e29e2f5776 image-dired: Delete commented out code
* lisp/image-dired.el: Delete broken and commented out speedbar code;
it is not clear what, if anything, it is supposed to do.  If anyone
wants to work on this, they are better off starting from scratch.
2021-11-05 01:10:11 +01:00
Stefan Kangas
b5420c46c2 image-dired: New defgroup and section for gallery support
* lisp/image-dired.el: Add new section header "Gallery support" to
improve file organization.  Move relevant TODO:s there.

(image-dired-gallery): New defgroup.
(image-dired-gallery-dir, image-dired-gallery-image-root-url)
(image-dired-gallery-thumb-image-root-url)
(image-dired-gallery-hidden-tags): Add options to above new defgroup.

(image-dired-add-to-file-comment-list)
(image-dired-create-gallery-lists)
(image-dired-add-to-tag-file-lists, image-dired-hidden-p): Rename to...
(image-dired--add-to-file-comment-list)
(image-dired--create-gallery-lists)
(image-dired--add-to-tag-file-lists, image-dired--hidden-p):
...this, to make it more clear that these functions are internal.
Make the old names obsolete function aliases.
(image-dired-add-to-tag-file-list): Make unused function obsolete.
2021-11-05 01:09:52 +01:00
Gregory Heytings
2bcc2160c9 New emacsclient option to either create or reuse an existing frame.
* doc/emacs/misc.texi (emacsclient Options): Document the new option.

* doc/man/emacsclient.1: Mention the new option (bug#51374).
* etc/NEWS: Mention the new option.

* lib-src/emacsclient.c (reuse_frame): New variable.
(longopts): New option.
(decode_options): Decode the new option.
(print_help_and_exit): Document the new option.
(main): Use the new option.
2021-11-05 00:14:30 +01:00
Lars Ingebrigtsen
a78ac0c5df Try harder to keep lines short in pp-emacs-lisp-code
* lisp/emacs-lisp/pp.el (pp--insert): Try harder to keep lines short.
2021-11-04 23:32:51 +01:00
Lars Ingebrigtsen
4cf7af5a2a Tweak multi-line expressions in pp--format-function
* lisp/emacs-lisp/pp.el (pp--format-function): Fix up multi-line
expressions.
2021-11-04 23:16:47 +01:00
Lars Ingebrigtsen
cb9f3e1158 Fix up some list folding in pp-emacs-lisp-code
* lisp/emacs-lisp/pp.el (pp--insert-lisp, pp--format-list)
(pp--insert): Touch up list folding.
2021-11-04 22:31:15 +01:00
Lars Ingebrigtsen
fb1267d90a Indent lambdas/closures better
* lisp/emacs-lisp/pp.el (pp--format-function): Indent lambdas and
closures better.
2021-11-04 22:07:48 +01:00
Lars Ingebrigtsen
292f50d27b Make lambda/closure help buttons format as Emacs Lisp
* lisp/help.el (help--describe-command): Format lambda/closures as
Emacs Lisp.

* lisp/emacs-lisp/pp.el (pp-display-expression): Allow formatting
as Emacs Lisp.
2021-11-04 21:52:56 +01:00
Lars Ingebrigtsen
6cf86ed4c1 Add new basic Emacs Lisp code formatting function
* lisp/emacs-lisp/pp.el (pp-emacs-lisp-code): New interface function.
(pp): Mention it.
(pp--insert-lisp, pp--format-vector, pp--format-list)
(pp--format-function, pp--format-definition, pp--insert-binding)
(pp--insert, pp--indent-buffer): New helper functions.
2021-11-04 21:44:53 +01:00
Eli Zaretskii
4c6afb527b ; Comment on the code in a recent commit
* lisp/international/mule-cmds.el
(highlight-confusing-reorderings): Comment on the strategy of
highlighting suspicious text.
2021-11-04 21:46:07 +02:00
Stephen Berman
0a7ccdaeef Fix allout point movement problem
* lisp/allout.el (allout-next-visible-heading): Ensure that we
move to the next physical line (bug#51530).
2021-11-04 19:39:16 +01:00
Stefan Kangas
99a1e87067 ; Fix typo
* lisp/image-dired.el (image-dired-display-current-image-full):
Fix typo.
2021-11-04 19:36:45 +01:00
Eli Zaretskii
b96855310e Better detection of potentially malicious bidi text
* src/bidi.c (bidi_find_first_overridden): Extend to detect more
subtle effects of directional formatting controls, to include
embeddings and isolates.
* src/xdisp.c (Fbidi_find_overridden_directionality): Accept an
additional argument BASE-DIR to specify the base direction of the
paragraphs.

* lisp/international/mule-cmds.el (confusingly-reordered): New
face.
(reorder-starters, reorder-enders): New variables.
(highlight-confusing-reorderings): New command to detect and
highlight suspiciously reordered text.

* test/src/xdisp-tests.el
(xdisp-tests--find-directional-overrides): New test.

* etc/NEWS: Announce the new and improved features.
* etc/tutorials/TUTORIAL.he: Fix embeddings with incorrect
directions.
2021-11-04 20:33:26 +02:00
Lars Ingebrigtsen
f875ed53f6 font-lock-type-face doc string improvement
* lisp/font-lock.el (font-lock-type-face): Fix grammar in doc
string (bug#51574).
2021-11-04 19:28:06 +01:00
Lars Ingebrigtsen
57d54bb49d Improve defface error message
* lisp/cus-face.el (custom-declare-face): Improve the error
message when there's a missing doc string (bug#51576).
2021-11-04 19:23:07 +01:00
Lars Ingebrigtsen
bf47bc8b94 Don't have M-x term' call term-mode' twice
* lisp/term.el (term): Don't call `term-mode' twice (bug#51589).
2021-11-04 19:02:23 +01:00
Lars Ingebrigtsen
824a139434 Document that `unspecified' isn't valid in defface
* doc/lispref/display.texi (Face Attributes): Mention that
unspecified isn't valid in defface (bug#51595).
2021-11-04 18:58:21 +01:00
Gregory Heytings
f565e58166 Reset mailcap entries only when mailcap files are read again
* lisp/net/mailcap.el (mailcap-parse-mailcaps): Move the clear and
load defaults operations at their appropriate place.  Fixes bug#51600.
2021-11-04 18:48:35 +01:00
Lars Ingebrigtsen
1def47fd98 Fix return value of python-nav-end-of-defun
* lisp/progmodes/python.el (python-nav-end-of-defun): Return
non-nil if in a def/class, as the doc string implies (bug#51601).
2021-11-04 18:47:04 +01:00
Lars Ingebrigtsen
1c3e45396e Rename button-buttonize to buttonize
* lisp/help.el (help--describe-command):
* lisp/emacs-lisp/memory-report.el (memory-report--buffers):
* lisp/button.el (button-buttonize):
* doc/lispref/display.texi (Making Buttons): Rename
button-buttonize to just buttonize and adjust callers.
2021-11-04 18:14:29 +01:00
Mattias Engdegård
51929066d5 Revert "* lisp/progmodes/xref.el (xref-pop-marker-stack): Don't obsolete."
This reverts commit f56408a6f0.

As commented by Dmitry Gutov in [1], obsoleting `xref-pop-marker-stack`
makes sense.

[1] https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg01870.html
2021-11-04 10:14:15 +01:00
Lars Ingebrigtsen
1b2588998a Add a Gnus command to emojize symbols
* doc/misc/gnus.texi (Article Display): Document it.

* lisp/gnus/gnus-art.el (gnus-treat-emojize-symbols): New user option.
(gnus-treatment-function-alist): Map.
(article-emojize-symbols): New command and keystroke.
2021-11-04 06:38:22 +01:00
Lars Ingebrigtsen
742879f1b3 Add new user option mml-attach-file-at-the-end
* lisp/gnus/mml.el (mml-attach-file-at-the-end): New user option.
(mml-attach-file): Use it.
2021-11-04 06:09:08 +01:00
Stefan Kangas
e4c6673be6 image-dired: Set default-directory in thumbnail buffer
* lisp/image-dired.el (image-dired-show-all-from-dir): Set
default-directory.  This fixes e.g. 'dired-jump'.
2021-11-04 05:10:28 +01:00
Stefan Kangas
73a6c8f98f Make image-dired-display-image-mode inherit from image-mode
* lisp/image-dired.el (image-dired-display-image-mode):
Inherit from 'image-mode'.  (Bug#10758)
(image-dired-display-image): Don't generate a temporary image, which
is no longer needed with the above change.
(image-dired-display-thumbnail-original-image)
(image-dired-dired-display-image)
(image-dired-mouse-display-image): Simplify.

(image-dired-temp-image-file)
(image-dired-cmd-create-temp-image-program)
(image-dired-cmd-create-temp-image-options)
(image-dired-display-window-width-correction)
(image-dired-display-window-height-correction)
(image-dired-display-window-width)
(image-dired-display-window-height)
(image-dired-display-current-image-full)
(image-dired-display-current-image-sized)
(image-dired-window-height-pixels): Make obsolete.
(image-dired-create-display-image-buffer): Make into obsolete
function alias for 'ignore'.
(image-dired-display-image-mode-map): Simplify by removing things
duplicated from `image-mode-map'.  Disable some commands from
`image-mode-map' that doesn't make sense for Image-Dired.
(image-dired-display-image-mode-menu): Remove menu, as it no longer
contains anything useful.
(image-dired-minor-mode):
* doc/emacs/dired.texi (Image-Dired): Update documentation for the
above change.
2021-11-04 02:05:29 +01:00
Stefan Kangas
bf953694ad ; * lisp/image-dired.el: Remove redundant :group args. 2021-11-03 23:25:23 +01:00