]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoPrefer ert-with-temp-(directory|file)
Stefan Kangas [Sat, 6 Nov 2021 22:20:59 +0000 (23:20 +0100)]
Prefer ert-with-temp-(directory|file)

* test/lisp/abbrev-tests.el (read-write-abbrev-file-test)
(read-write-abbrev-file-test-with-props)
(abbrev-edit-save-to-file-test):
* test/lisp/auth-source-tests.el (auth-source-test-netrc-create-secret)
(auth-source-delete):
* test/lisp/autoinsert-tests.el (autoinsert-tests-auto-insert-file):
* test/lisp/bookmark-tests.el (with-bookmark-test-save-load):
* test/lisp/buff-menu-tests.el (buff-menu-24962):
* test/lisp/calendar/icalendar-tests.el (icalendar-tests--do-test-export):
* test/lisp/calendar/todo-mode-tests.el (with-todo-test):
* test/lisp/dired-tests.el
(dired-test-bug27243-01, dired-test-bug27243-02)
(dired-test-bug27243-03, dired-test-bug27631)
(dired-test-bug27968, dired-test-with-temp-dirs):
* test/lisp/dired-x-tests.el (dired-test-bug25942):
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
* test/lisp/emacs-lisp/check-declare-tests.el (check-declare-tests-scan)
(check-declare-tests-verify-mismatch):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env):
* test/lisp/emacs-lisp/package-tests.el (with-package-test)
(package-test-signed):
* test/lisp/emacs-lisp/testcover-tests.el (testcover-tests-markup-region)
(testcover-tests-run-test-case):
* test/lisp/emulation/viper-tests.el (viper-test-undo-kmacro):
* test/lisp/epg-tests.el (with-epg-tests):
* test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
* test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631):
* test/lisp/ffap-tests.el (ffap-tests-25243):
* test/lisp/files-tests.el (files-tests-bug-18141)
(files-tests-read-file-in-~, files-tests-make-directory)
(files-tests-copy-directory, files-tests-executable-find)
(files-tests-dont-rewrite-precious-files)
(files-tests--save-some-buffers):
* test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27631):
* test/lisp/mail/uudecode-tests.el (uudecode-tests-decode-region-internal)
(uudecode-tests-decode-region-external):
* test/lisp/net/browse-url-tests.el (browse-url-tests-delete-temp-file):
* test/lisp/progmodes/elisp-mode-tests.el (xref--case-insensitive):
* test/lisp/progmodes/etags-tests.el (etags-buffer-local-tags-table-list):
* test/lisp/progmodes/flymake-tests.el (ruby-backend):
* test/lisp/progmodes/python-tests.el (python-tests-with-temp-file):
* test/lisp/progmodes/sql-tests.el (with-sql-test-connect-harness):
* test/lisp/saveplace-tests.el (saveplace-test-save-place-to-alist/file)
(saveplace-test-forget-unreadable-files)
(saveplace-test-place-alist-to-file):
* test/lisp/so-long-tests/spelling-tests.el:
* test/lisp/textmodes/reftex-tests.el (reftex-locate-bibliography-files)
(reftex-parse-from-file-test):
* test/lisp/thumbs-tests.el (thumbs-tests-thumbsdir/create-if-missing):
* test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
(vc-bzr-test-bug9781, vc-bzr-test-faulty-bzr-autoloads):
* test/lisp/vc/diff-mode-tests.el (diff-mode-test-ignore-trailing-dashes):
* test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
* test/lisp/wdired-tests.el (wdired-test-bug32173-01)
(wdired-test-bug32173-02, wdired-test-symlink-name)
(wdired-test-unfinished-edit-01, wdired-test-bug34915)
(wdired-test-bug39280):
* test/src/buffer-tests.el (test-kill-buffer-auto-save-default):
* test/src/filelock-tests.el (filelock-tests--fixture):
* test/src/inotify-tests.el (inotify-file-watch-simple):
* test/src/undo-tests.el (undo-test-file-modified): Prefer
'ert-with-temp-(directory|file)' to using 'make-temp-file' directly.
In some cases, this is just cleanup, but in several cases this fixes
bugs where an error would have lead to us not cleaning up.

3 years agoAdd generated suffix to test temp file names
Stefan Kangas [Sat, 6 Nov 2021 20:54:02 +0000 (21:54 +0100)]
Add generated suffix to test temp file names

* lisp/emacs-lisp/ert-x.el
(ert-with-temp-file): Add temp file name suffix based on file name of
caller.  Reflow docstring.
(ert--with-temp-file-generate-suffix): New defun.
* test/lisp/emacs-lisp/ert-x-tests.el
(ert-x-tests--with-temp-file-generate-suffix): New test.

3 years agoFix byte compilation of package built-ins
dickmao [Sun, 7 Nov 2021 00:28:47 +0000 (01:28 +0100)]
Fix byte compilation of package built-ins

* lisp/emacs-lisp/package.el
(package--activate-autoloads-and-load-path):
(package--load-files-for-activation): Remove.
(package--library-stem): New function, because
file-name-sans-extension is insufficient.
(package--reload-previously-loaded): New function.
(package-activate-1): Reload directly.
(package--files-load-history):
(package--list-of-conflicts):
(package--list-loaded-files): Remove
(package-unpack): Adjust call.

* test/lisp/emacs-lisp/package-tests.el (macro-builtin-func): Test.
(macro-builtin-10-and-90): Test.
(package-test-macro-compilation): Test.
(package-test-macro-compilation-gz): Test (bug#49708).

3 years agoAdd new user option eww-url-transformers
Lars Ingebrigtsen [Sat, 6 Nov 2021 23:45:01 +0000 (00:45 +0100)]
Add new user option eww-url-transformers

* doc/misc/eww.texi (Advanced): Document it.
* lisp/net/eww.el (eww-url-transformers): New user option.
(eww-remove-tracking): New default function.
(eww--transform-url): Helper function.
(eww-follow-link): Use it.
(eww): Ditto.

3 years agoExpand register-yank-media-handler doc string
Lars Ingebrigtsen [Sat, 6 Nov 2021 23:24:13 +0000 (00:24 +0100)]
Expand register-yank-media-handler doc string

* lisp/yank-media.el (register-yank-media-handler): Expand doc string.

3 years agoFix yank-media logic when there's several handlers
Lars Ingebrigtsen [Sat, 6 Nov 2021 23:18:02 +0000 (00:18 +0100)]
Fix yank-media logic when there's several handlers

* lisp/yank-media.el (yank-media): Fix logic when there's several
different handler functions.

3 years agoAllow yanking images to html-mode
Lars Ingebrigtsen [Sat, 6 Nov 2021 23:08:36 +0000 (00:08 +0100)]
Allow yanking images to html-mode

* lisp/net/mailcap.el (mailcap-mime-type-to-extension): Autoload.
* lisp/textmodes/sgml-mode.el (html-mode--image-yank-handler): New
function.
(html-mode): Accept image/*.

3 years agoFix "Yanking Media" sectioning
Lars Ingebrigtsen [Sat, 6 Nov 2021 21:47:41 +0000 (22:47 +0100)]
Fix "Yanking Media" sectioning

* doc/lispref/frames.texi (Yanking Media): Fix sectioning.

3 years agoSupport yank-media in html-mode
Lars Ingebrigtsen [Sat, 6 Nov 2021 21:45:05 +0000 (22:45 +0100)]
Support yank-media in html-mode

* lisp/textmodes/sgml-mode.el (html-mode--html-yank-handler): New
function.
(html-mode): Handle text/html.

3 years agoFix typo in previous yank-media--get-selection change
Lars Ingebrigtsen [Sat, 6 Nov 2021 21:44:31 +0000 (22:44 +0100)]
Fix typo in previous yank-media--get-selection change

* lisp/yank-media.el (yank-media--get-selection): Fix typo in
previous change.

3 years agoFix nul-terminated text/* strings from some programs
Lars Ingebrigtsen [Sat, 6 Nov 2021 21:43:22 +0000 (22:43 +0100)]
Fix nul-terminated text/* strings from some programs

* lisp/yank-media.el (yank-media--get-selection): Some programs
nul-terminate text/* strings.  Fix that.

3 years agoMake the lambda/closure buttons in `C-h b' say what they do
Lars Ingebrigtsen [Sat, 6 Nov 2021 21:31:06 +0000 (22:31 +0100)]
Make the lambda/closure buttons in `C-h b' say what they do

* lisp/button.el (buttonize): Add a help-echo property.

* lisp/help.el (help--describe-command): Say what the
lambda/closure buttons do.

3 years agoAdd mouse-face to buttonize
Lars Ingebrigtsen [Sat, 6 Nov 2021 21:26:46 +0000 (22:26 +0100)]
Add mouse-face to buttonize

* lisp/button.el (buttonize): Add the highlight mouse-face.

3 years agoAdd a framework for yanking media into Emacs
Lars Ingebrigtsen [Sat, 6 Nov 2021 20:59:22 +0000 (21:59 +0100)]
Add a framework for yanking media into Emacs

* doc/emacs/killing.texi (Clipboard): Refer to it.
* doc/lispref/frames.texi (Yanking Media): Document the mechanism.

* lisp/yank-media.el: New file.

* lisp/gnus/message.el (message-mode): Register a yank handler for
images.
(message-insert-screenshot): Factor out image code from here...
(message--yank-media-image-handler): ... to here.

3 years agoAdd new function mailcap-mime-type-to-extension
Lars Ingebrigtsen [Sat, 6 Nov 2021 20:14:54 +0000 (21:14 +0100)]
Add new function mailcap-mime-type-to-extension

* lisp/net/mailcap.el (mailcap-mime-type-to-extension): Add a new
helper function to do the reverse of `mailcap-file-name-to-mime-type'.

3 years agoAdd a pcase-let example to the manual
Lars Ingebrigtsen [Sat, 6 Nov 2021 19:40:28 +0000 (20:40 +0100)]
Add a pcase-let example to the manual

* doc/lispref/control.texi (Destructuring with pcase Patterns):
Add a pcase-let example.

3 years agoNew user option image-auto-resize-max-scale-percent
Stefan Kangas [Fri, 5 Nov 2021 03:22:12 +0000 (04:22 +0100)]
New user option image-auto-resize-max-scale-percent

* lisp/image-mode.el (image-auto-resize-max-scale-percent): New
user option to limit how much 'fit-window' will scale up an image.
(image--scale-within-limits-p): New function.
(image-toggle-display-image): Respect above new user option.

3 years agoNew command image-transform-fit-to-window
Stefan Kangas [Fri, 5 Nov 2021 02:24:50 +0000 (03:24 +0100)]
New command image-transform-fit-to-window

* lisp/image-mode.el (image-auto-resize, image-transform-resize):
Add new value 'fit-window', meaning to scale the image up or down
to fit the window.  (Bug#)
(image-transform-fit-to-window): New command.
(image-transform-fit-to-height, image-transform-fit-to-width):
Make obsolete in favor of above new command.
(image-mode-map): Bind "s w" to 'image-transform-fit-to-window'.
Move binding for obsolete command 'image-transform-fit-to-width'
to "s i".
(image-mode-map): Add menu entry for
'image-transform-fit-to-window'.  Remove menu entries for above
obsolete commands.
* doc/emacs/files.texi (Image Mode): Update documentation.
(image-transform-fit-both): Doc fix.

3 years agoAdd outline-minor-mode-use-buttons doc string caveat
Lars Ingebrigtsen [Sat, 6 Nov 2021 18:54:16 +0000 (19:54 +0100)]
Add outline-minor-mode-use-buttons doc string caveat

* lisp/outline.el (outline-minor-mode-use-buttons): Note that the
feature is for special mode buffers only (bug#51629).

3 years agoMake `outline-hide-body' work in `C-h b' buffers
Lars Ingebrigtsen [Sat, 6 Nov 2021 18:49:07 +0000 (19:49 +0100)]
Make `outline-hide-body' work in `C-h b' buffers

* lisp/outline.el (outline-flag-region): Update buttons on most
outline toggling commands (bug#51629).
(outline--fix-up-all-buttons): Take a region as parameter.
(outline-cycle-buffer): Adjust call.

3 years agoMake substitute-command-keys regexp tests more strict
Stefan Kangas [Sat, 6 Nov 2021 18:37:46 +0000 (19:37 +0100)]
Make substitute-command-keys regexp tests more strict

* test/lisp/help-tests.el (with-substitute-command-keys-test): Make
regexp tests more strict.

3 years ago; * test/lisp/help-tests.el: Fix failing tests after recent change.
Stefan Kangas [Sat, 6 Nov 2021 18:35:31 +0000 (19:35 +0100)]
; * test/lisp/help-tests.el: Fix failing tests after recent change.

3 years agoReplace some macros with ert-with-temp-(file|directory)
Stefan Kangas [Sat, 6 Nov 2021 15:05:02 +0000 (16:05 +0100)]
Replace some macros with ert-with-temp-(file|directory)

* test/lisp/custom-tests.el (custom-tests--with-temp-dir):
* test/lisp/files-tests.el (files-tests--with-temp-file):
* test/lisp/progmodes/project-tests.el
(project-tests--with-temporary-directory):
* test/src/emacs-module-tests.el (module--with-temp-directory):
* test/src/emacs-tests.el (emacs-tests--with-temp-file):
* test/src/lread-tests.el (lread-tests--with-temp-file):
* test/src/process-tests.el (process-tests--with-temp-directory):
Replace macros with 'ert-with-temp-(file|directory)'.  Update callers.

3 years agoNew convenience macros ert-with-temp-(file|directory)
Stefan Kangas [Sat, 6 Nov 2021 12:50:46 +0000 (13:50 +0100)]
New convenience macros ert-with-temp-(file|directory)

* lisp/emacs-lisp/ert-x.el
(ert-with-temp-file)
(ert-with-temp-directory): New macros.
* test/lisp/emacs-lisp/ert-x-tests.el
(ert-x-tests-with-temp-directory)
ert-x-tests-with-temp-directory/text-signals-error
(ert-x-tests-with-temp-file)
(ert-x-tests-with-temp-file/handle-error)
(ert-x-tests-with-temp-file/prefix-and-suffix-kwarg)
(ert-x-tests-with-temp-file/text-kwarg)
(ert-x-tests-with-temp-file/unknown-kwargs-signals-error): New tests.

3 years agoDon't send empty lines for unknown commands in ERC
F. Jason Park [Sun, 13 Jun 2021 09:15:55 +0000 (02:15 -0700)]
Don't send empty lines for unknown commands in ERC

* lisp/erc/erc.el (erc-cmd-default): prevent excess trailing newlines
from being sent.

* test/lisp/erc/erc-tests.el: Update `erc-process-input-line' test to
check for excess line feeds with unknown commands.

3 years agoDeprecate instead of redefine erc-server-reconnecting
F. Jason Park [Fri, 11 Jun 2021 10:55:07 +0000 (03:55 -0700)]
Deprecate instead of redefine erc-server-reconnecting

* lisp/erc/erc-backend.el (erc-server-reconnecting,
erc--server-reconnecting): obsolete and replace the former with new
internal variant, which carries a simplified meaning.

(erc-server-reconnect-p, erc--server-reconnect-p): Obsolete and
replace the former with an internal function, and change behavior to
disregard `erc-server-reconnecting' when rendering verdict.

(erc-process-sentinel-2): ensure local var `erc--server-reconnecting'
is t when timers are scheduled or firing, and nil otherwise, including
after retries exhausted.  This agrees with the straightforward way
`erc-server-reconnecting' has always been used by `erc-cmd-RECONNECT'.

(erc-server-connect): set `erc--server-reconnecting'.

* lisp/erc/erc.el (erc-cmd-RECONNECT): use `erc--server-reconnecting'
instead of `erc-server-reconnecting'.

3 years agoFix Emoji-related documentation
Eli Zaretskii [Sat, 6 Nov 2021 18:05:02 +0000 (20:05 +0200)]
Fix Emoji-related documentation

* etc/NEWS: Fix wording and spelling.

* doc/emacs/mule.texi (Input Methods): Add index entries and fix
wording.

* admin/notes/unicode: Update instructions for updating Emacs for
the latest Unicode Standard.

3 years agoInclude make Errors in admin/emake
Lars Ingebrigtsen [Sat, 6 Nov 2021 17:54:17 +0000 (18:54 +0100)]
Include make Errors in admin/emake

3 years agoAdd an example to the display-supports-face-attributes-p doc string
Lars Ingebrigtsen [Sat, 6 Nov 2021 17:52:30 +0000 (18:52 +0100)]
Add an example to the display-supports-face-attributes-p doc string

* src/xfaces.c (Fdisplay_supports_face_attributes_p): Add an example.

3 years agoPartially revert previous make-separator-line change
Lars Ingebrigtsen [Sat, 6 Nov 2021 17:51:49 +0000 (18:51 +0100)]
Partially revert previous make-separator-line change

* lisp/simple.el (make-separator-line): Use dashes on displays
that don't support underlines (bug#32950).

3 years agoFix the build broken by recent commits
Eli Zaretskii [Sat, 6 Nov 2021 17:46:19 +0000 (19:46 +0200)]
Fix the build broken by recent commits

* admin/unidata/Makefile.in (${unifiles})
(${unidir}/emoji-labels.el): Fix typos in last commits.

3 years agoFix up emoji-labels.el generation incantation
Lars Ingebrigtsen [Sat, 6 Nov 2021 17:27:27 +0000 (18:27 +0100)]
Fix up emoji-labels.el generation incantation

* admin/unidata/Makefile.in (${unidir}/emoji-labels.el): Make
generation more silent.

3 years agoMake describe-char include emoji combination descriptions
Lars Ingebrigtsen [Sat, 6 Nov 2021 17:21:05 +0000 (18:21 +0100)]
Make describe-char include emoji combination descriptions

* lisp/descr-text.el (describe-char): Output emoji descriptions.

3 years agoAdd emoji insertion support to Emacs
Lars Ingebrigtsen [Sat, 6 Nov 2021 17:19:35 +0000 (18:19 +0100)]
Add emoji insertion support to Emacs

* .gitignore: Ignore the generated emoji-labels.el file.
* admin/unidata/Makefile.in (${unidir}/emoji-labels.el): Generate
the emoji-labels.el file.
(gen-clean): Delete it.

* admin/unidata/README (https): Note the source for the Unicode
file that has emoji categorisations.

* admin/unidata/emoji-test.txt: Import another Unicode file.

* doc/emacs/mule.texi (Input Methods): Document the new key bindings.

* lisp/international/emoji.el: New file.

* lisp/international/mule-cmds.el (ctl-x-map): Bind the emoji
commands.

3 years agoImprove latin-2-postfix and latin-2prefix input methods
Eli Zaretskii [Sat, 6 Nov 2021 17:14:55 +0000 (19:14 +0200)]
Improve latin-2-postfix and latin-2prefix input methods

* lisp/leim/quail/latin-pre.el ("latin-2-prefix"):
* lisp/leim/quail/latin-post.el ("latin-2-postfix"): Add variants
of "`s" and "s," for Romanian.  Add key bindings for moving
between variants, when there are more than one.  (Bug#51638)

3 years agoFix an error in 'highlight-confusing-reorderings'
Eli Zaretskii [Sat, 6 Nov 2021 17:13:44 +0000 (19:13 +0200)]
Fix an error in 'highlight-confusing-reorderings'

* lisp/international/mule-cmds.el
(highlight-confusing-reorderings): Don't signal an error when
a confusingly-reordered sequence ends at EOB.

3 years agoMerge from origin/emacs-28
Michael Albinus [Sat, 6 Nov 2021 16:27:16 +0000 (17:27 +0100)]
Merge from origin/emacs-28

5e9b4e70ab Fix dbus-test04-register-method on CentOS (Bug#51369)
d96de23510 * lisp/transient.el: Update to package version v0.3.7-11-g...
7343b0d0e4 ; * etc/NEWS: Native compilation is more picky about missi...
0d6b2b0b9d ; * etc/PROBLEMS: Move entry about LLVM plugin to the righ...

# Conflicts:
# etc/NEWS

3 years agoFix dbus-test04-register-method on CentOS (Bug#51369)
Michael Albinus [Sat, 6 Nov 2021 16:25:19 +0000 (17:25 +0100)]
Fix dbus-test04-register-method on CentOS (Bug#51369)

* test/lisp/net/dbus-tests.el (dbus-test04-register-method):
Fix problem on CentOS.  (Bug#51369)

3 years ago* lisp/transient.el: Update to package version v0.3.7-11-g7f5520b3.
Jonas Bernoulli [Sat, 6 Nov 2021 14:36:29 +0000 (15:36 +0100)]
* lisp/transient.el: Update to package version v0.3.7-11-g7f5520b3.

3 years ago; * etc/NEWS: Native compilation is more picky about missing dependencies.
Eli Zaretskii [Sat, 6 Nov 2021 13:02:57 +0000 (15:02 +0200)]
; * etc/NEWS: Native compilation is more picky about missing dependencies.

3 years agoGeneral improvements to NS port
Po Lu [Sat, 23 Oct 2021 11:51:31 +0000 (19:51 +0800)]
General improvements to NS port

* src/dispextern.h: Remove some !HAVE_NS conditionals around grab
related code.
* src/frame.c (gui_mouse_grabbed, gui_redo_mouse_highlight): Remove
!HAVE_NS conditionals around code.

* src/nsmenu.m (ns_update_menubar): Prevent recursive calls and enable
shallow updates on GNUstep.
(menuNeedsUpdate): Prevent recursive calls.
(ns_menu_show): Fix mysterious GC-related bug.
(update_frame_tool_bar_1): Work around mysterious toolbar sizing bug
on GNUstep.

* src/nsterm.h (struct ns_output): New field for tracking toolbar
visibility changes.

* src/nsterm.m (frame_set_mouse_pixel_position): Implement for
GNUstep.
(ns_redraw_scroll_bars): Enable for GNUstep.
(ns_clear_frame): Redraw scrollbars on GNUstep.
(ns_update_window_end): New function.
(ns_redisplay_interface): Add ns_update_window_end on GNUstep.
(- keyDown): Remove debug code that doesn't work on GNUstep.
(- mouseDown): Enable grab tracking on NS port.
(- resizeWithOldSuperviewSize): Fix build with NSTRACE.

* src/xdisp.c (note_tab_bar_highlight): Enable some code for NS port.

3 years agoImprove font display on NS port
Po Lu [Sat, 23 Oct 2021 11:44:03 +0000 (19:44 +0800)]
Improve font display on NS port

* src/nsfns.m (Fx_create_frame): Use "fixed" for the default font on
GNUstep.

* src/nsfont.m (LCD_SMOOTHING_MARGIN, ns_escape_name)
(ns_unescape_name, ns_attribute_fvalue)
(STYLE_REF): Remove unused defines and functions.

(struct ns_glyph_layout, enum lgstring_direction).
(enum gs_font_slant, enum gs_font_weight, enum gs_font_width)
(enum gs_specified, struct gs_font_data): New enumerators and
structures.

(ns_font_descs_match_p)
(ns_done_font_data, ns_get_font_data): New functions.
(ns_glyph_metrics): Stop escaping names.

(ns_spec_to_descriptor): Fix font descriptor creation for symbolic
font spec entires.
(ns_descriptor_to_entity): Create entries with the correct symbolic
styles.

(ns_fallback_entity): Fix fallback entity selection.
(ns_findfonts): Use our own font matcher instead of the broken GNUstep
matcher.

(ns_list_family): Remove obsolete comment.
(nsfont_open): Remove obsolete code, comments, and synthItal logic
which doesn't work on GNUstep.

(nsfont_encode_char): Use a type that can fit NSGlyph
(nsfont_draw): Chose correct font, remove obsolete mouse face logic,
obsolete comments, and switch to using glyph-based drawing instead of
character-based drawing.

(ns_font_shape, nsfont_shape): New functions.

(ns_uni_to_glyphs_1): New function.
(ns_uni_to_glyphs): Return glyphs instead of unicode codepoints.

(ns_glyph_metrics): Use NSGlyphs instead of unicode codepoints and fix
left bearing, right bearing, ascent and descent computation.

(struct nsfont_driver): Add shaping capability.

* src/nsterm.h (struct nsfont_info): Use unsigned int for glyph cache.

* src/nsterm.c (ns_focus): Set DPS clipping on GNUstep.

(ns_compute_glyph_string_overhangs): Fix overhang computation by using
xterm code.
(ns_draw_window_cursor): Simplify cursor drawing.
(ns_maybe_dumpglyphs_background): Test for cursor HL and remove
obsolete mouse face logic.
(ns_dumpglyphs_image)
(ns_dumpglyphs_box_or_relief): Rectify for new cursor logic.
(ns_dumpglyphs_stretch): Rectify for new cursor logic and rely on
ns_draw_glyph_string to set focus.
(ns_draw_glyph_string_foreground): Remove mouse face logic.
(ns_draw_glyph_strings): Implement overhangs, remove obsolete
comment, and always focus before dumping glyphs.
(ns_draw_text_decoration): Add condition for DRAW_CURSOR and simplify
color selection.
(ns_define_frame_cursor): Remove nonsensical code (define_frame_cursor
has nothing to do with the text cursor, aka caret).

* src/xdisp.c (draw_glyphs): Enable code for NS port to fix mouse face
cursor display.

* src/macfont.m (get_cgcolor_from_nscolor): New function.
(macfont_draw): Remove obsolete mouse-face code and enable cursor
display.

3 years ago; * etc/PROBLEMS: Move entry about LLVM plugin to the right section.
Eli Zaretskii [Sat, 6 Nov 2021 12:23:02 +0000 (14:23 +0200)]
; * etc/PROBLEMS: Move entry about LLVM plugin to the right section.

3 years agoFix display of BW images on MS-Windows
Kazuhiro Ito [Thu, 26 Aug 2010 07:35:54 +0000 (07:35 +0000)]
Fix display of BW images on MS-Windows

* src/image.c (convert_mono_to_color_image) [HAVE_NTGUI]: Swap the
fore- and the back-ground colors back to their normal conventions.
(Bug#6918)

3 years agoImprove detection of suspicious reordering in source code
Eli Zaretskii [Sat, 6 Nov 2021 10:33:26 +0000 (12:33 +0200)]
Improve detection of suspicious reordering in source code

* src/bidi.c (bidi_find_first_overridden): Detect suspiciously
reordered EN types as well.

* test/src/xdisp-tests.el
(xdisp-tests--find-directional-overrides-case-1): Rename from
'xdisp-tests--find-directional-overrides'.
(xdisp-tests--find-directional-overrides-case-2): New test.

3 years ago; * etc/NEWS: Fix a typo.
Eli Zaretskii [Sat, 6 Nov 2021 09:38:08 +0000 (11:38 +0200)]
; * etc/NEWS: Fix a typo.

3 years ago; * etc/NEWS.28: Merge recent changes from emacs-28 branch.
Eli Zaretskii [Sat, 6 Nov 2021 09:23:39 +0000 (11:23 +0200)]
; * etc/NEWS.28: Merge recent changes from emacs-28 branch.

3 years agoMerge from origin/emacs-28
Eli Zaretskii [Sat, 6 Nov 2021 09:21:43 +0000 (11:21 +0200)]
Merge from origin/emacs-28

9bdb1d0 ; * etc/PROBLEMS: Describe a crash in xwidgets due to Bubblew...
550887c ; * etc/PROBLEMS: Rearrange and update the section about cras...
c2e3cd6 Clarify "text area of a window" in the documentation
4e7e78d Improve docstring of kmacro-set-format

3 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sat, 6 Nov 2021 09:21:41 +0000 (11:21 +0200)]
; Merge from origin/emacs-28

The following commit was skipped:

d8c9a9d Revert "* lisp/wid-edit.el (widget-field): Add subtle border ...

3 years agoMerge from origin/emacs-28
Eli Zaretskii [Sat, 6 Nov 2021 09:21:39 +0000 (11:21 +0200)]
Merge from origin/emacs-28

# Conflicts:
# etc/NEWS

3 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sat, 6 Nov 2021 09:21:08 +0000 (11:21 +0200)]
; Merge from origin/emacs-28

The following commits were skipped:

b1885ac ; * etc/NEWS: slightly more careful wording
6ee929c Use current face foreground for SVG icons in customize
82529b9 ; * etc/NEWS: Improve wording of a recently changed entry.
e9c7a49 ; * etc/NEWS: Improve NEWS entry for Image-Dired.
2de7be4 ; * etc/NEWS: Various fixes.

3 years agoMerge from origin/emacs-28
Eli Zaretskii [Sat, 6 Nov 2021 09:21:07 +0000 (11:21 +0200)]
Merge from origin/emacs-28

b5ccad3 * doc/emacs/building.texi (Compilation Mode): Add next-error-...

3 years ago; * etc/PROBLEMS: Describe a crash in xwidgets due to Bubblewrap.
Eli Zaretskii [Sat, 6 Nov 2021 08:49:54 +0000 (10:49 +0200)]
; * etc/PROBLEMS: Describe a crash in xwidgets due to Bubblewrap.

3 years ago; * etc/PROBLEMS: Rearrange and update the section about crashes.
Eli Zaretskii [Sat, 6 Nov 2021 08:45:58 +0000 (10:45 +0200)]
; * etc/PROBLEMS: Rearrange and update the section about crashes.

3 years agoClarify "text area of a window" in the documentation
Eli Zaretskii [Sat, 6 Nov 2021 06:59:09 +0000 (08:59 +0200)]
Clarify "text area of a window" in the documentation

* src/keyboard.c (Fposn_at_x_y): Clarify that the Y coordinate
includes the header-line and the tab-line.  (Bug#51590)

* doc/lispref/windows.texi (Window Sizes, Splitting Windows)
(Textual Scrolling, Coordinates and Windows): Fix/remove improper
or confusing uses of "text area" of a window.

3 years agoInhibit isearching over message-insert-screenshot data
Lars Ingebrigtsen [Sat, 6 Nov 2021 05:26:57 +0000 (06:26 +0100)]
Inhibit isearching over message-insert-screenshot data

* lisp/gnus/message.el (message-insert-screenshot): Inhibit
isearch over the image data.

3 years agoImprove docstring of kmacro-set-format
Stefan Kangas [Sat, 6 Nov 2021 04:37:08 +0000 (05:37 +0100)]
Improve docstring of kmacro-set-format

* lisp/kmacro.el (kmacro-set-format): Improve docstring.
(kmacro-insert-counter, kmacro-display-counter)
(kmacro-set-counter, kmacro-add-counter): Add cross-references
to the info manual.

3 years agoUpdate help-tests after separator line changes
Lars Ingebrigtsen [Sat, 6 Nov 2021 04:22:26 +0000 (05:22 +0100)]
Update help-tests after separator line changes

3 years agoAllow 'insert-image' to inhibit isearches or not
Lars Ingebrigtsen [Sat, 6 Nov 2021 04:18:32 +0000 (05:18 +0100)]
Allow 'insert-image' to inhibit isearches or not

* doc/lispref/display.texi (Showing Images): Mention it.
* lisp/image.el (insert-image): Take an optional parameter to
inhibit isearch of the STRING argument.

3 years agoIntroduce a new 'inhibit-isearch' text property
Lars Ingebrigtsen [Sat, 6 Nov 2021 03:59:05 +0000 (04:59 +0100)]
Introduce a new 'inhibit-isearch' text property

* doc/lispref/text.texi (Special Properties): Mention it.

* lisp/image.el (insert-image): Make `C-s' skip over the image data.
* lisp/isearch.el (isearch--search-skip-inhibited): New function.
(isearch-search-string): Use it.
(isearch--invisible-p): New function.
(isearch-range-invisible): Use it.

3 years agoRe-rename the minibuffer heading
Lars Ingebrigtsen [Sat, 6 Nov 2021 02:58:43 +0000 (03:58 +0100)]
Re-rename the minibuffer heading

* lisp/minibuffer.el: There's more here than completion functions
(bug#49844).

3 years agoCorrect minibuffer.el heading
Lars Ingebrigtsen [Sat, 6 Nov 2021 02:41:11 +0000 (03:41 +0100)]
Correct minibuffer.el heading

* lisp/minibuffer.el: There's more here than completion functions
(bug#49844).

3 years agoUse underline on non-graphical terminals in make-separator-line
Lars Ingebrigtsen [Sat, 6 Nov 2021 02:31:51 +0000 (03:31 +0100)]
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).

3 years agoNormalize usage of variable erc-server-reconnecting
F. Jason Park [Sat, 6 Nov 2021 02:15:24 +0000 (03:15 +0100)]
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).

3 years agoDon't send empty lines for implicit targets in ERC
F. Jason Park [Sat, 6 Nov 2021 02:09:43 +0000 (03:09 +0100)]
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).

3 years agoRemove messaging in pp-display-expression.
Lars Ingebrigtsen [Sat, 6 Nov 2021 01:20:06 +0000 (02:20 +0100)]
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.

3 years agoAllow getting verbose results on erts 'C-u C-c C-c'
Lars Ingebrigtsen [Sat, 6 Nov 2021 00:54:25 +0000 (01:54 +0100)]
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'.

3 years agoImprove behavior of 'electric-pair-mode' in 'cc-mode'
Jim Porter [Sat, 6 Nov 2021 00:21:35 +0000 (01:21 +0100)]
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).

3 years agoMake 'C-x v v' on an unregistered file use the most specific backend
Manuel Giraud [Sat, 6 Nov 2021 00:13:49 +0000 (01:13 +0100)]
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).

3 years agoTweak `eww' new-buffer parameters
Lars Ingebrigtsen [Fri, 5 Nov 2021 23:17:18 +0000 (00:17 +0100)]
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).

3 years agoFix GNUstep build (ns_compute_glyph_string_overhangs)
Daniel Martín [Fri, 5 Nov 2021 22:24:27 +0000 (23:24 +0100)]
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.

3 years agoAdd "N.B." abbreviation to checkdoc
Stefan Kangas [Fri, 5 Nov 2021 21:31:42 +0000 (22:31 +0100)]
Add "N.B." abbreviation to checkdoc

* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add
abbreviation "N.B.".

3 years agoDon't hardcode "Commentary" section in checkdoc
Stefan Kangas [Fri, 5 Nov 2021 21:31:17 +0000 (22:31 +0100)]
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.

3 years agoUse correct compiler options for building with libwebp
Eli Zaretskii [Fri, 5 Nov 2021 20:20:04 +0000 (22:20 +0200)]
Use correct compiler options for building with libwebp

* src/Makefile.in (WEBP_CFLAGS): Define.
(EMACS_CFLAGS): Use it.  (Bug#51611)

3 years agoImprove `file-has-changed-p'
Michael Albinus [Fri, 5 Nov 2021 19:46:35 +0000 (20:46 +0100)]
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.

3 years agorsvg_handle_get_dimensions is deprecated in 2.52.0
Paul Eggert [Fri, 5 Nov 2021 18:51:46 +0000 (11:51 -0700)]
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.

3 years agoAllow 'pp' to limit the line widths
Lars Ingebrigtsen [Fri, 5 Nov 2021 14:27:03 +0000 (15:27 +0100)]
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.

3 years ago; Fix documentation of a recent change
Eli Zaretskii [Fri, 5 Nov 2021 13:51:08 +0000 (15:51 +0200)]
; 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.

3 years ago; Fix doc strings of a recent commit
Eli Zaretskii [Fri, 5 Nov 2021 13:47:00 +0000 (15:47 +0200)]
; 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.

3 years agoEnhance 'highlight-confusing-reorderings'
Eli Zaretskii [Fri, 5 Nov 2021 13:40:37 +0000 (15:40 +0200)]
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.

3 years agoRevert "* lisp/wid-edit.el (widget-field): Add subtle border to face."
Stefan Kangas [Fri, 5 Nov 2021 07:24:02 +0000 (08:24 +0100)]
Revert "* lisp/wid-edit.el (widget-field): Add subtle border to face."

This reverts commit 8b024a6ff10f7907445ea60c4db8355638616ed1.

This lead to some alignment issues.  (Bug#51550)
Don't merge to master, where we will continue investigating.

3 years agoMatch dummy output even with non-default rl config
Carlos Pita [Thu, 14 Oct 2021 00:09:40 +0000 (21:09 -0300)]
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)

3 years ago* etc/PROBLEMS: Mention X forwarding slowdowns. (Bug#7092)
Stefan Kangas [Fri, 5 Nov 2021 06:49:39 +0000 (07:49 +0100)]
* etc/PROBLEMS: Mention X forwarding slowdowns.  (Bug#7092)

3 years agoFix (un)compressing directories in Tramp
Tino Calancha [Fri, 5 Nov 2021 03:35:08 +0000 (04:35 +0100)]
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).

3 years agoFix 'diff-font-lock-prettify' breaking display of outline headers
Matthias Meulien [Fri, 5 Nov 2021 02:50:01 +0000 (03:50 +0100)]
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).

3 years agoFix buffer overflow in ns_compute_glyph_string_overhangs
Daniel Martín [Sat, 9 Oct 2021 19:10:20 +0000 (21:10 +0200)]
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)

3 years ago; * doc/man/emacsclient.1: Bump date after last change.
Stefan Kangas [Fri, 5 Nov 2021 00:10:32 +0000 (01:10 +0100)]
; * doc/man/emacsclient.1: Bump date after last change.

3 years agoimage-dired: Delete commented out code
Stefan Kangas [Fri, 5 Nov 2021 00:06:38 +0000 (01:06 +0100)]
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.

3 years agoimage-dired: New defgroup and section for gallery support
Stefan Kangas [Thu, 4 Nov 2021 23:47:00 +0000 (00:47 +0100)]
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.

3 years agoNew emacsclient option to either create or reuse an existing frame.
Gregory Heytings [Thu, 4 Nov 2021 23:14:30 +0000 (00:14 +0100)]
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.

3 years agoTry harder to keep lines short in pp-emacs-lisp-code
Lars Ingebrigtsen [Thu, 4 Nov 2021 22:32:51 +0000 (23:32 +0100)]
Try harder to keep lines short in pp-emacs-lisp-code

* lisp/emacs-lisp/pp.el (pp--insert): Try harder to keep lines short.

3 years agoTweak multi-line expressions in pp--format-function
Lars Ingebrigtsen [Thu, 4 Nov 2021 22:16:47 +0000 (23:16 +0100)]
Tweak multi-line expressions in pp--format-function

* lisp/emacs-lisp/pp.el (pp--format-function): Fix up multi-line
expressions.

3 years agoFix up some list folding in pp-emacs-lisp-code
Lars Ingebrigtsen [Thu, 4 Nov 2021 21:31:15 +0000 (22:31 +0100)]
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.

3 years agoIndent lambdas/closures better
Lars Ingebrigtsen [Thu, 4 Nov 2021 21:07:48 +0000 (22:07 +0100)]
Indent lambdas/closures better

* lisp/emacs-lisp/pp.el (pp--format-function): Indent lambdas and
closures better.

3 years agoMake lambda/closure help buttons format as Emacs Lisp
Lars Ingebrigtsen [Thu, 4 Nov 2021 20:52:56 +0000 (21:52 +0100)]
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.

3 years agoAdd new basic Emacs Lisp code formatting function
Lars Ingebrigtsen [Thu, 4 Nov 2021 20:44:46 +0000 (21:44 +0100)]
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.

3 years ago; Comment on the code in a recent commit
Eli Zaretskii [Thu, 4 Nov 2021 19:46:07 +0000 (21:46 +0200)]
; Comment on the code in a recent commit

* lisp/international/mule-cmds.el
(highlight-confusing-reorderings): Comment on the strategy of
highlighting suspicious text.

3 years ago* lisp/custom.el (defgroup): Document the :prefix keyword.
Stefan Kangas [Thu, 4 Nov 2021 19:20:07 +0000 (20:20 +0100)]
* lisp/custom.el (defgroup): Document the :prefix keyword.

3 years agoFix allout point movement problem
Stephen Berman [Thu, 4 Nov 2021 18:39:01 +0000 (19:39 +0100)]
Fix allout point movement problem

* lisp/allout.el (allout-next-visible-heading): Ensure that we
move to the next physical line (bug#51530).

3 years ago; Fix typo
Stefan Kangas [Thu, 4 Nov 2021 18:05:44 +0000 (19:05 +0100)]
; Fix typo

* lisp/image-dired.el (image-dired-display-current-image-full):
Fix typo.