]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoReduce complexity of scroll bar window protection code
Po Lu [Sat, 24 Sep 2022 08:27:42 +0000 (16:27 +0800)]
Reduce complexity of scroll bar window protection code

It turns out my previous theories of why ClientMessages were
generated were wrong, and they are just generated so we can set
finish to X_EVENT_GOTO_OUT to have them delivered immediately.

This allows for the code to be simplified greatly, by not
unpacking pointers to the raw window into the client messages.

* src/xterm.c (x_unprotect_window_for_callback): Return the
window removed from the queue, or nil if none.
(x_scroll_bar_to_input_event)
(x_horizontal_scroll_bar_to_input_event): Use window provided by
x_unprotect_window_for_callback.
(handle_one_xevent): Pass dpyinfo to functions that need it.
(x_free_frame_resources): Remove "first scroll bar request"
code.

* src/xterm.h (struct x_display_info): Likewise.

2 years agoNew Flymake backend using the shellcheck program
Augusto Stoffel [Sat, 17 Sep 2022 16:30:04 +0000 (18:30 +0200)]
New Flymake backend using the shellcheck program

See bug#57884.

* lisp/progmodes/sh-script.el: Require let-alist and subr-x when
compiling.
(sh--json-read): Helper function to deal with possible absence of
json-parse-buffer.
(sh-shellcheck-program, sh--shellcheck-process,
sh-shellcheck-flymake): Variables and function defining a Flymake
backend.
(sh-mode): Add it to 'flymake-diagnostic-functions'.

2 years agovc-git--pushpull: Restore handling of vc-git-program
Sean Whitton [Fri, 23 Sep 2022 17:43:31 +0000 (10:43 -0700)]
vc-git--pushpull: Restore handling of vc-git-program

* lisp/vc/vc-git.el (vc-git--pushpull): Restore handling of
vc-git-program before recent change: respect a buffer-local value of
vc-git-program, and don't ignore user edits to the git program name
when PROMPT.

2 years ago* lisp/emacs-lisp/eieio.el (defclass): Fix bug#51068
Stefan Monnier [Fri, 23 Sep 2022 21:42:55 +0000 (17:42 -0400)]
* lisp/emacs-lisp/eieio.el (defclass): Fix bug#51068

Accept (defclass <class> <superclasses> (.. <slotname> ..)) without
having to wrap the slot name within parentheses.

2 years agoimage-dired: Rewrite and extend slideshow feature
Stefan Kangas [Fri, 23 Sep 2022 21:12:10 +0000 (23:12 +0200)]
image-dired: Rewrite and extend slideshow feature

* lisp/image/image-dired.el
(image-dired--slideshow-start-timer)
(image-dired--slideshow-stop-timer)
(image-dired--slideshow-show-message): New functions.
(image-dired--slideshow-current-delay): New variable.
(image-dired--slideshow-initial): Delete variable.
(image-dired-slideshow-start): Simplify and ensure we display the
image at start.
* lisp/image/image-dired.el (image-dired--slideshow-stop): Add support
for pausing, and going backwards and forwards during slideshow.

2 years agoimage-dired: Mark two slideshow defuns as internal
Stefan Kangas [Fri, 23 Sep 2022 18:18:17 +0000 (20:18 +0200)]
image-dired: Mark two slideshow defuns as internal

* lisp/image/image-dired.el (image-dired--slideshow-step)
(image-dired--slideshow-stop): Rename from
'image-dired--slideshow-step' and 'image-dired--slideshow-stop'.
Update callers and make old names into obsolete aliases.

2 years agocconv.el: Fix interactive closure bug#51695
Stefan Monnier [Fri, 23 Sep 2022 20:36:16 +0000 (16:36 -0400)]
cconv.el: Fix interactive closure bug#51695

Make cconv.el detect when a closure's interactive form needs to
capture variables from the context and tweak the code accordingly
if so.

* lisp/emacs-lisp/cconv.el (cconv--interactive-form-funs): New var.
(cconv-convert): Handle the case where the interactive form captures
vars from the surrounding context.  Remove left over handling of
`declare` which was already removed from the cconv-analyze` phase.
(cconv-analyze-form): Adjust analysis of interactive forms accordingly.

* lisp/emacs-lisp/oclosure.el (cconv--interactive-helper): New type and
function.
* lisp/simple.el (function-documentation, oclosure-interactive-form):
Add methods for it.

* test/lisp/emacs-lisp/cconv-tests.el
(cconv-tests-interactive-closure-bug51695): New test.

2 years agoMake Gnus respect mode-line-buffer-identification-keymap
Visuwesh [Fri, 23 Sep 2022 16:21:55 +0000 (18:21 +0200)]
Make Gnus respect mode-line-buffer-identification-keymap

* lisp/gnus/gnus-group.el (gnus-group-set-mode-line): Use
'propertized-buffer-identification' to buttonise and fontify the
buffer name.
* lisp/gnus/gnus-sum.el (gnus-set-mode-line):
* lisp/gnus/gnus.el (gnus-mode-line-buffer-identification): Adjust
calls to above.
* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Add missing
'gnus-modeline-buffer-identification' call (bug#57977).

2 years agoMake bounding box of 'image-crop' more noticeable
Visuwesh [Fri, 23 Sep 2022 16:11:25 +0000 (18:11 +0200)]
Make bounding box of 'image-crop' more noticeable

* lisp/image/image-crop.el (image-crop--crop-image-1): Darken the
selected region to make the bounding-box more noticable in images
which are mostly white (bug#58004).

2 years agoDon't overwrite cus-load dependencies
Lars Ingebrigtsen [Fri, 23 Sep 2022 16:06:38 +0000 (18:06 +0200)]
Don't overwrite cus-load dependencies

* lisp/cus-dep.el (custom-make-dependencies): Don't overwrite
elements added by packages (bug#58015).

2 years agoMake loaddefs-gen register parent :groups from defcustom
Lars Ingebrigtsen [Fri, 23 Sep 2022 15:58:41 +0000 (17:58 +0200)]
Make loaddefs-gen register parent :groups from defcustom

* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--make-autoload): Also register parent :groups from
`defgroup' entries (bug#58015).

2 years agoFix syntax check in python-info-looking-at-beginning-of-defun
kobarity [Fri, 23 Sep 2022 15:39:53 +0000 (17:39 +0200)]
Fix syntax check in python-info-looking-at-beginning-of-defun

* lisp/progmodes/python.el
(python-info-looking-at-beginning-of-defun): Check syntax after moving
to the beginning of line.
* test/lisp/progmodes/python-tests.el (python-nav-beginning-of-defun-6)
(python-end-of-defun-1, python-info-looking-at-beginning-of-defun-3):
New tests (bug#58023).

2 years agoInhibit image-crop when there's overlays
Lars Ingebrigtsen [Fri, 23 Sep 2022 15:34:46 +0000 (17:34 +0200)]
Inhibit image-crop when there's overlays

* lisp/image/image-crop.el (image-crop): Don't mess with overlays,
because they're a pain to reconstruct (bug#58027).

2 years agoDelete the correct region after cropping an image
Lars Ingebrigtsen [Fri, 23 Sep 2022 15:31:23 +0000 (17:31 +0200)]
Delete the correct region after cropping an image

* lisp/image/image-crop.el (image-crop): Delete the correct region
after editing (bug#58027).

2 years agoimage-dired: Disable 'image-map' in thumbnail buffer
Stefan Kangas [Fri, 23 Sep 2022 15:22:47 +0000 (17:22 +0200)]
image-dired: Disable 'image-map' in thumbnail buffer

These bindings are more likely to mess up the buffer than to be
helpful here; image manipulation is better done in the display buffer.

* lisp/image/image-dired.el (image-dired-insert-thumbnail): Disable
`image-map' in thumbnail buffer.

2 years agoUpdate manual for recent image-dired changes
Stefan Kangas [Fri, 23 Sep 2022 15:10:15 +0000 (17:10 +0200)]
Update manual for recent image-dired changes

* doc/emacs/dired.texi (Image-Dired): Update to reflect recent
changes.

2 years ago* lisp/files.el (risky-local-variable): Remove max-specpdl-size.
Mattias Engdegård [Fri, 23 Sep 2022 14:12:29 +0000 (16:12 +0200)]
* lisp/files.el (risky-local-variable): Remove max-specpdl-size.

2 years agoRemove max-specpdl-size overrun test
Mattias Engdegård [Fri, 23 Sep 2022 13:26:13 +0000 (15:26 +0200)]
Remove max-specpdl-size overrun test

* test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
(eval-exceed-specbind-with-signal-hook): Remove test that is
no longer useful, since there is no longer any specpdl limit
to overrun.  (The test still passed but vacuously so, by
hitting the max-lisp-eval-depth limit instead.)
This silences an obsoletion warning.

2 years ago; Fix :type of image-dired-thumbnail-storage
Stefan Kangas [Fri, 23 Sep 2022 14:08:03 +0000 (16:08 +0200)]
; Fix :type of image-dired-thumbnail-storage

* lisp/image/image-dired.el (image-dired-thumbnail-storage): Fix
:type for recent change.

2 years ago* lisp/bookmark.el (bookmark-make-record): Fix thinko.
Michael Albinus [Fri, 23 Sep 2022 14:07:07 +0000 (16:07 +0200)]
* lisp/bookmark.el (bookmark-make-record): Fix thinko.

2 years ago; Fix warnings in --without-x build
Stefan Kangas [Fri, 23 Sep 2022 13:14:17 +0000 (15:14 +0200)]
; Fix warnings in --without-x build

* lisp/image/image-crop.el (image-scaling-factor)
(image-property, image-size, imagep):
* test/src/image-tests.el (image-size, image-mask-p)
(image-metadata): Declare.

2 years agoImprove prompt of 'image-dired' command
Stefan Kangas [Fri, 23 Sep 2022 13:10:33 +0000 (15:10 +0200)]
Improve prompt of 'image-dired' command

* lisp/image/image-dired.el (image-dired-show-all-from-dir):
Improve prompt.

2 years agoRename 'image-dired-db-file' to 'image-dired-tags-db-file'
Stefan Kangas [Fri, 23 Sep 2022 13:01:36 +0000 (15:01 +0200)]
Rename 'image-dired-db-file' to 'image-dired-tags-db-file'

* lisp/image/image-dired.el (image-dired-tags-db-file): Rename
from 'image-dired-db-file'.  Update all uses and make old name
into an obsolete variable alias.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Fri, 23 Sep 2022 12:56:54 +0000 (14:56 +0200)]
Merge from origin/emacs-28

60ac12d21f Fix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#...
9f65e52362 ; Minor copyedits of elisp.texi

2 years agoFix more toolkit scroll bar window protection issues
Po Lu [Fri, 23 Sep 2022 12:41:24 +0000 (20:41 +0800)]
Fix more toolkit scroll bar window protection issues

* src/xterm.c (handle_one_xevent): Ignore outdated scroll bar
events.
(x_free_frame_resources): Clear protected windows and invalidate
previous scroll bar events.
* src/xterm.h (struct x_display_info): New field
`first_valid_scroll_bar_req'.

2 years agoAutoload wallpaper-set
Stefan Kangas [Fri, 23 Sep 2022 09:50:28 +0000 (11:50 +0200)]
Autoload wallpaper-set

* lisp/image/wallpaper.el (wallpaper-set): Autoload.
* lisp/image-mode.el (wallpaper):
* lisp/image/image-dired.el (wallpaper):
* lisp/thumbs.el (wallpaper): Don't require.

2 years agoSupport Noto Emoji font as fallback
Eli Zaretskii [Fri, 23 Sep 2022 06:36:24 +0000 (09:36 +0300)]
Support Noto Emoji font as fallback

The black-and-white emoji font is back under active development,
see https://github.com/googlefonts/noto-emoji.  So this adds
that font as fallback for systems that don't have the capability
of using color fonts.
* lisp/international/fontset.el (setup-default-fontset): Support
black-and-white Noto Emoji font as fallback for Emoji display.

2 years agoFix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#57976)
YAMAMOTO Mitsuharu [Fri, 23 Sep 2022 05:17:12 +0000 (14:17 +0900)]
Fix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#57976)

* src/ftcrfont.c (ftcrhbfont_begin_hb_font): Undo last change for
HarfBuzz 5.2.0.

2 years ago; * lisp/image/wallpaper.el: Fix last commit.
Stefan Kangas [Fri, 23 Sep 2022 03:40:42 +0000 (05:40 +0200)]
; * lisp/image/wallpaper.el: Fix last commit.

2 years agoSupport several new DEs in wallpaper.el
Stefan Kangas [Fri, 23 Sep 2022 01:24:13 +0000 (03:24 +0200)]
Support several new DEs in wallpaper.el

* lisp/image/wallpaper.el (wallpaper--default-commands)
(wallpaper--check-command, wallpaper-command): Add support for Unity,
Pantheon, Budgie, LXQt, and LXDE.  Also add support for Lubuntu,
Xubuntu, and Pop!_OS.

2 years agoimage-dired: Obsolete two unused functions
Stefan Kangas [Thu, 22 Sep 2022 19:52:15 +0000 (21:52 +0200)]
image-dired: Obsolete two unused functions

* lisp/image/image-dired-util.el (image-dired-display-window)
(image-dired-associated-dired-buffer-window): Make obsolete; they are
currently unused.

2 years ago; * Makefile.in: Make install depend on actual-all. Fixes bug#57959.
Gregory Heytings [Thu, 22 Sep 2022 21:54:57 +0000 (23:54 +0200)]
; * Makefile.in: Make install depend on actual-all. Fixes bug#57959.

2 years ago; Minor copyedits of elisp.texi
Eli Zaretskii [Thu, 22 Sep 2022 16:43:15 +0000 (19:43 +0300)]
; Minor copyedits of elisp.texi

* doc/lispref/variables.texi (Setting Generalized Variables):
Improve wording.

2 years agoDon't rewrite `set` to `setq` of lexical variables
Mattias Engdegård [Thu, 22 Sep 2022 12:15:56 +0000 (14:15 +0200)]
Don't rewrite `set` to `setq` of lexical variables

Only perform the rewrite

   (set 'VAR X) -> (setq VAR X)

for dynamic variables, as `set` isn't supposed to affect
lexical vars (and never does so when interpreted).

* lisp/emacs-lisp/byte-opt.el (byte-optimize-set):
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--xx): New.
(bytecomp-tests--test-cases): Add test cases.
* test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-nonvariable.el:
Remove obsolete test.

2 years agoimage-dired: Improve minor mode docstring
Stefan Kangas [Thu, 22 Sep 2022 12:29:39 +0000 (14:29 +0200)]
image-dired: Improve minor mode docstring

* lisp/image/image-dired-dired.el (image-dired-minor-mode):
Improve docstring.

2 years agoimage-dired: Remove redundant keybindings
Stefan Kangas [Thu, 22 Sep 2022 12:28:35 +0000 (14:28 +0200)]
image-dired: Remove redundant keybindings

* lisp/image/image-dired-dired.el (image-dired-minor-mode-map):
Don't redundantly bind keys that are already bound in dired.

2 years agoFix failing image-dired test
Stefan Kangas [Thu, 22 Sep 2022 12:17:08 +0000 (14:17 +0200)]
Fix failing image-dired test

* test/lisp/image/image-dired-util-tests.el (ert-x, xdg): Require.
(image-dired-thumb-name/): Delete test.
(image-dired-thumb-name/standard)
(image-dired-thumb-name/image-dired)
(image-dired-thumb-name/per-directory): New tests.

2 years agoAdd X-Hashcash to the end of mail headers
Stefan Kangas [Thu, 22 Sep 2022 11:56:31 +0000 (13:56 +0200)]
Add X-Hashcash to the end of mail headers

* lisp/mail/hashcash.el (mail-add-payment): Move headers to the end of
the headers.

2 years ago; * lisp/mail/hashcash.el: Remove redundant :group args.
Stefan Kangas [Thu, 22 Sep 2022 11:46:45 +0000 (13:46 +0200)]
; * lisp/mail/hashcash.el: Remove redundant :group args.

2 years agoImprove don't save bookmark context from encrypted files
Michael Albinus [Thu, 22 Sep 2022 11:14:46 +0000 (13:14 +0200)]
Improve don't save bookmark context from encrypted files

* etc/NEWS: Mention 'bookmark-inhibit-context-functions'.
Fix typos.

* lisp/bookmark.el (bookmark-inhibit-context-functions): New defcustom.
(bookmark-make-record): Use it.

* lisp/auth-source-pass.el (auth-source-pass-file-name-p):
* lisp/auth-source.el (auth-source-file-name-p): New defuns.  Add
them to `bookmark-inhibit-context-functions'.

* lisp/epa-hook.el (epa-file-name-p):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-p): Add them to
`bookmark-inhibit-context-functions'.

2 years agoWork around rare crash when turning scroll wheel
Po Lu [Thu, 22 Sep 2022 09:06:36 +0000 (17:06 +0800)]
Work around rare crash when turning scroll wheel

* src/xterm.c (handle_one_xevent): Don't allow devices to be
added twice handling hierarcy events.

2 years agoAdd support for user edits to VC command arguments
Sean Whitton [Sun, 18 Sep 2022 21:47:23 +0000 (14:47 -0700)]
Add support for user edits to VC command arguments

* lisp/vc/vc-dispatcher.el (vc-pre-command-functions): New hook.
(vc-want-edit-command-p): New variable.
(vc-do-command): If vc-want-edit-command-p is non-nil, prompt the user
to edit the VC command & arguments before execution.  Run the new hook.
(vc-do-async-command): Use the new hook to insert into BUFFER the
command that's next to be run.
* lisp/vc/vc-git.el (vc-git--pushpull): Drop prompting code.  Bind
vc-want-edit-command-p so that vc-do-command handles the prompting.
Use the new hook to update compile-command with the edited command.
* lisp/vc/vc.el (vc-print-branch-log): A non-nil prefix argument now
means vc-want-edit-command-p is bound to a non-nil value (bug#57807).

2 years agoPrefer command remapping in image-dired-minor-mode
Stefan Kangas [Wed, 21 Sep 2022 16:02:51 +0000 (18:02 +0200)]
Prefer command remapping in image-dired-minor-mode

* lisp/image/image-dired-dired.el (image-dired-minor-mode-map):
Prefer command remapping.
(image-dired-minor-mode): Improve docstring.

2 years agoObsolete image-mode--images-in-directory
Stefan Kangas [Wed, 21 Sep 2022 15:38:30 +0000 (17:38 +0200)]
Obsolete image-mode--images-in-directory

* lisp/image-mode.el (image-mode--images-in-directory): Make
unused function obsolete.

2 years agoUpdate version tag of rmail-retry-ignored-headers
Robert Pluim [Wed, 21 Sep 2022 15:18:34 +0000 (17:18 +0200)]
Update version tag of rmail-retry-ignored-headers

* lisp/mail/rmail.el (rmail-retry-ignored-headers): Set :version to "29.1".

2 years ago; * lisp/emacs-lisp/gv.el (gv-synthetic-place): Doc fix.
Eli Zaretskii [Wed, 21 Sep 2022 14:18:40 +0000 (17:18 +0300)]
; * lisp/emacs-lisp/gv.el (gv-synthetic-place): Doc fix.

2 years ago* test/lisp/image/image-dired-util-tests.el: New file.
Stefan Kangas [Wed, 21 Sep 2022 13:13:40 +0000 (15:13 +0200)]
* test/lisp/image/image-dired-util-tests.el: New file.

2 years agoAdd more headers to default value of rmail-retry-ignored-headers.
Richard Stallman [Wed, 21 Sep 2022 12:43:29 +0000 (08:43 -0400)]
Add more headers to default value of rmail-retry-ignored-headers.

* rmail.el (rmail-retry-ignored-headers): Add more headers to default.
Don't bother with `purecopy'.  Split value readably.

2 years ago; Explicitly declare linum-mode obsolete
Stefan Kangas [Wed, 21 Sep 2022 12:22:26 +0000 (14:22 +0200)]
; Explicitly declare linum-mode obsolete

* lisp/obsolete/linum.el (linum-mode, global-linum-mode):
Explicitly declare obsolete to warn the user, and recommend using
'display-line-numbers-mode' instead.
Suggested by Philip Kaludercic <philipk@posteo.net>.

2 years agoAdd new function xdg-session-type to xdg.el
Stefan Kangas [Wed, 21 Sep 2022 12:00:23 +0000 (14:00 +0200)]
Add new function xdg-session-type to xdg.el

* lisp/xdg.el (xdg-session-type): New function.

2 years agoCorrect the usage of `image-file-name-regexps'
Thuna [Wed, 21 Sep 2022 11:51:53 +0000 (13:51 +0200)]
Correct the usage of `image-file-name-regexps'

* lisp/image-file.el (image-file-name-regexp): Treat
`image-file-name-regexps' as a list of regexps (as documented) in
addition to a regexp string (bug#57971).

Copyright-paperwork-exempt: yes

2 years agoFix handling of nil device names
Po Lu [Wed, 21 Sep 2022 11:49:31 +0000 (19:49 +0800)]
Fix handling of nil device names

* lisp/frame.el (device-class):
* lisp/term/pgtk-win.el (pgtk-device-class):
* lisp/term/x-win.el (x-device-class): Handle `nil'
correctly.  (bug#57969)

2 years agoSmall adjustments to precision pixel scrolling
Po Lu [Wed, 21 Sep 2022 11:31:45 +0000 (19:31 +0800)]
Small adjustments to precision pixel scrolling

* lisp/pixel-scroll.el
(pixel-scroll-precision-interpolation-factor): Adjust for
increased accuracy.
(pixel-scroll-precision-interpolate): Slightly decrease accuracy
in exchange for consing less floats.
(pixel-scroll-interpolate-down, pixel-scroll-interpolate-up):
Fix usage of function.

2 years agoImprove scroll interpolation in pixel-s-precision-mode
Po Lu [Wed, 21 Sep 2022 11:24:06 +0000 (19:24 +0800)]
Improve scroll interpolation in pixel-s-precision-mode

* lisp/pixel-scroll.el (pixel-scroll-precision-interpolate): New
arg FACTOR.  Use it to determine the interpolation factor if
non-nil.  Also, clear scroll remainder if direction changes, and
determine deltas based on the absolute amount of time passed.
(bug#57967)
(pixel-scroll-interpolate-down, pixel-scroll-interpolate-up):
Pass factor of 0 to scroll exactly 1 page.

2 years agoMake emacs-build-description into a command
Lars Ingebrigtsen [Wed, 21 Sep 2022 11:13:39 +0000 (13:13 +0200)]
Make emacs-build-description into a command

* lisp/mail/emacsbug.el (report-emacs-bug, submit-emacs-patch):
Adjust callers.
(emacs-build-description): Rename from
`emacs-bug--system-description' and make into a command.

2 years ago; * Makefile.in: Minor improvements of failure messages.
Gregory Heytings [Wed, 21 Sep 2022 08:37:09 +0000 (10:37 +0200)]
; * Makefile.in: Minor improvements of failure messages.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Wed, 21 Sep 2022 08:24:25 +0000 (10:24 +0200)]
Merge from origin/emacs-28

478b786d5a ; * doc/lispref/windows.texi (Window Hooks): Fix a typo (b...
5085351645 * lisp/text-modes/tex-mode.el (tex-mode): Fix AUCTeX regre...
ee6f8598ca Add vc-annotate-switches to manual
616dcf27e5 ; Fix typos in Lisp symbols
5405852541 Remove mention of non-existent `annotate-switches'
191505b8a3 Mention that src/macuvs.h sometimes needs committing
10373c4b68 ; More comment fixes in font.h (bug#57935)
c2595b8dcc ; * src/font.h (struct font_driver): Comment fix.
97b928ce09 MacOS ld warning from native compilation (bug#57849)

2 years ago* admin/gitmerge.el (gitmerge): Use substitute-command-keys.
Stefan Kangas [Wed, 21 Sep 2022 08:11:15 +0000 (10:11 +0200)]
* admin/gitmerge.el (gitmerge): Use substitute-command-keys.

2 years agoBind 'n'/'p' in gitmerge-mode to line scroll
Stefan Kangas [Wed, 21 Sep 2022 08:10:22 +0000 (10:10 +0200)]
Bind 'n'/'p' in gitmerge-mode to line scroll

* admin/gitmerge.el (gitmerge-mode-map): Bind 'n' and 'p' to
'next-line' and 'previous-line'.

2 years agoFix substitute-command-keys for global binding lookup
Robert Pluim [Wed, 21 Sep 2022 07:12:53 +0000 (09:12 +0200)]
Fix substitute-command-keys for global binding lookup

The previous change forgot to account for the (rare) case of doing a
lookup for a global binding when a specific keymap is in force.

* lisp/help.el (substitute-command-keys): Redo lookup in global map if
lookup in specific map fails.
*
test/lisp/help-tests.el (help-tests-substitute-command-keys/keymap-change):
Add testcase for specific map overriding advertised-binding.

2 years ago* lisp/outline.el: More improvements for buttons/margins (bug#57813)
Juri Linkov [Wed, 21 Sep 2022 06:42:55 +0000 (09:42 +0300)]
* lisp/outline.el: More improvements for buttons/margins (bug#57813)

(outline-minor-mode-use-margins): Don't use for modes derived from help-mode
that are handled by 'outline-minor-mode-use-buttons'.
(outline-open, outline-close, outline-close-rtl): Use image height
proportional to font height of 0.8em.
(outline-minor-mode): Remove overlays 'outline-button' and 'outline-margin',
and move such overlay removal after the call of 'outline-show-all'
that might trigger overlay addition.

2 years agoimage-dired: Support the customize-mode command
Stefan Kangas [Wed, 21 Sep 2022 06:27:42 +0000 (08:27 +0200)]
image-dired: Support the customize-mode command

* lisp/image/image-dired.el (image-dired-thumbnail-mode)
(image-dired-display-image-mode): Add custom group 'image-dired'.

2 years agoFix minor thinko in focus tracking logic
Po Lu [Wed, 21 Sep 2022 06:23:13 +0000 (14:23 +0800)]
Fix minor thinko in focus tracking logic

* src/xterm.c (xi_handle_focus_change): Prefer explicit focus to
implicit focus.

2 years agoRecognize the backslash operator in perl-mode
Mauro Aranda [Tue, 20 Sep 2022 14:18:45 +0000 (11:18 -0300)]
Recognize the backslash operator in perl-mode

* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Add new rule to detect a backslash operator.  (Bug#11996)

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-11996): New
test.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-11996.pl: New
file.

2 years agoMake linum.el obsolete
Stefan Kangas [Tue, 20 Sep 2022 18:52:42 +0000 (20:52 +0200)]
Make linum.el obsolete

* lisp/obsolete/linum.el: Add Obsolete-since.
* etc/NEWS: Announce obsoletion of linum.el.  (Bug#57412)

* doc/misc/efaq.texi (Displaying the current line or column):
* etc/TODO:
* lisp/faces.el: Don't mention linum.el.

2 years agoMove linum.el to lisp/obsolete
Stefan Kangas [Tue, 20 Sep 2022 18:42:51 +0000 (20:42 +0200)]
Move linum.el to lisp/obsolete

* lisp/linum.el: Move from here...
* lisp/obsolete/linum.el: ...to here.  (Bug#57412)

2 years ago; * doc/misc/gnus-faq.texi: Repunctuate sentences.
Stefan Kangas [Tue, 20 Sep 2022 18:37:44 +0000 (20:37 +0200)]
; * doc/misc/gnus-faq.texi: Repunctuate sentences.

2 years ago* doc/misc/ede.texi (Extending EDE): Fix reference.
Stefan Kangas [Tue, 20 Sep 2022 18:19:20 +0000 (20:19 +0200)]
* doc/misc/ede.texi (Extending EDE): Fix reference.

2 years ago; * doc/lispref/windows.texi (Window Hooks): Fix a typo (bug#51930).
Eli Zaretskii [Tue, 20 Sep 2022 18:22:13 +0000 (21:22 +0300)]
; * doc/lispref/windows.texi (Window Hooks): Fix a typo (bug#51930).

2 years ago; * doc/misc/rcirc.texi: Prefer 'setopt' over 'setq'
Philip Kaludercic [Tue, 20 Sep 2022 08:32:26 +0000 (10:32 +0200)]
; * doc/misc/rcirc.texi: Prefer 'setopt' over 'setq'

2 years ago; * doc/misc/rcirc.texi: Repunctuate some sentences
Philip Kaludercic [Mon, 19 Sep 2022 19:18:18 +0000 (21:18 +0200)]
; * doc/misc/rcirc.texi: Repunctuate some sentences

2 years ago; Don't set nil to be a face fore-/background
Philip Kaludercic [Mon, 19 Sep 2022 19:17:09 +0000 (21:17 +0200)]
; Don't set nil to be a face fore-/background

* lisp/net/rcirc.el (rcirc-color-attributes): Check if the parsed
background or foreground is nil before using it.

2 years agoHave rcirc handle bridge bots
Philip Kaludercic [Mon, 19 Sep 2022 19:15:04 +0000 (21:15 +0200)]
Have rcirc handle bridge bots

* doc/misc/rcirc.texi (Dealing with Bridge Bots): Document new feature.
* etc/NEWS: Mention the new feature.
* lisp/net/rcirc.el (rcirc-markup-text-functions): Add new markup function
(rcirc-pseudo-nicks): Add new local variable.
(rcirc-channel-nicks): Use 'rcirc-pseudo-nicks' for nick completion.
(rcirc-bridge-bot-alist): Add new user option.
(rcirc-bridged-nick): Add new face.
(rcirc-markup-bridge-bots): Add new function.

2 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 20 Sep 2022 16:36:20 +0000 (18:36 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

2 years ago; Minor Tramp cleanups
Michael Albinus [Tue, 20 Sep 2022 16:35:57 +0000 (18:35 +0200)]
; Minor Tramp cleanups

* lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp):
Handle the `simplified' syntax better.
(tramp-handle-file-name-case-insensitive-p): Do not unquote candidate.

2 years ago* lisp/outline.el: Bind margin mouse event to cycle outlines (bug#57813)
Juri Linkov [Tue, 20 Sep 2022 16:11:58 +0000 (19:11 +0300)]
* lisp/outline.el: Bind margin mouse event to cycle outlines (bug#57813)

(outline-minor-mode): In mode keymap bind
'right/left-margin mouse-1' to outline-cycle, and
'right/left-margin S-mouse-1' to outline-cycle-buffer.
(outline-hide-subtree, outline-show-subtree): Add save-excursion
to keep point unmoved after mouse click.
(outline-cycle): Add optional arg 'event' like in
outline-hide-subtree and outline-show-subtree, and
add save-excursion to keep point unmoved after mouse click.
(outline--make-button-overlay, outline--make-margin-overlay):
Put overlay property 'evaporate' to t.
(outline--insert-open-button, outline--insert-close-button):
Remove temporary attempts to bind margin-local mouse events.

2 years agoAllow keymap to override advertised-binding in docstrings
Robert Pluim [Mon, 19 Sep 2022 13:53:52 +0000 (15:53 +0200)]
Allow keymap to override advertised-binding in docstrings

Previously

(substitute-command-keys "\\<undo-repeat-map>\\[undo]")

would use the global advertised-binding for `undo', even though
there's a binding in `undo-repeat-map', which is highly
counter-intuitive.  Now the binding is looked up in the specified
keymap first.

* lisp/help.el (substitute-command-keys): Restrict the initial key
lookup to the specified keymap (if there is one).  (Bug#51384)

2 years agoSpecify keymap in gnus-custom-mode docstring
Robert Pluim [Mon, 19 Sep 2022 13:29:27 +0000 (15:29 +0200)]
Specify keymap in gnus-custom-mode docstring

* lisp/gnus/gnus-cus.el (gnus-custom-mode): Put in the keymap to use,
otherwise the bindings are looked up in the global map (where they
don't exist).

2 years agoTweak how use-region-p works with `use-empty-active-region'
Drew Adams [Tue, 20 Sep 2022 15:11:47 +0000 (17:11 +0200)]
Tweak how use-region-p works with `use-empty-active-region'

* lisp/simple.el (use-region-p): Don't report non-nil if the user
has just clicked mouse-1 without extending the region (bug#51874).

2 years agoAttempt to clarify Input Focus documentation
Lars Ingebrigtsen [Tue, 20 Sep 2022 14:47:21 +0000 (16:47 +0200)]
Attempt to clarify Input Focus documentation

* doc/lispref/frames.texi (Input Focus): Try to clarify the
documentation (bug#51862).

2 years agoImprove display of advices on build failures.
Gregory Heytings [Tue, 20 Sep 2022 14:12:31 +0000 (14:12 +0000)]
Improve display of advices on build failures.

* Makefile.in: Use three leading '*' characters, and redirect to stderr.

2 years ago* lisp/text-modes/tex-mode.el (tex-mode): Fix AUCTeX regression
Stefan Monnier [Tue, 20 Sep 2022 13:58:21 +0000 (09:58 -0400)]
* lisp/text-modes/tex-mode.el (tex-mode): Fix AUCTeX regression

As discussed in
https://lists.gnu.org/r/auctex/2022-08/msg00004.html
AUCTeX installs its own advice to redefine `tex-mode`, and that
advice used to take precedence before commit 6075a7c5ae3fa456cd.

2 years agoWrap max-specpdl-size with with-no-warnings in Tramp
Michael Albinus [Tue, 20 Sep 2022 12:07:45 +0000 (14:07 +0200)]
Wrap max-specpdl-size with with-no-warnings in Tramp

* lisp/net/tramp-archive.el (max-specpdl-size):
* lisp/net/tramp-gvfs.el (max-specpdl-size): Wrap with
`with-no-warnings'.

2 years agoAdd vc-annotate-switches to manual
Robert Pluim [Tue, 20 Sep 2022 12:02:44 +0000 (14:02 +0200)]
Add vc-annotate-switches to manual

* doc/emacs/maintaining.texi (Old Revisions): Add description of
`vc-annotate-switches' and `vc-BACKEND-annotate-switches'.

2 years agoMention compilation in the Package Installation node
Lars Ingebrigtsen [Tue, 20 Sep 2022 12:04:09 +0000 (14:04 +0200)]
Mention compilation in the Package Installation node

* doc/emacs/package.texi (Package Installation): Mention that
packages are compiled (bug#51660).

2 years agoAllow hl-line-mode so work when global-hl-line-mode is active
Lars Ingebrigtsen [Tue, 20 Sep 2022 11:55:39 +0000 (13:55 +0200)]
Allow hl-line-mode so work when global-hl-line-mode is active

* lisp/hl-line.el (hl-line-mode): Allow switching off the global
mode in the current buffer (bug#51580).

2 years ago; * etc/NEWS: Fix capitalization.
Eli Zaretskii [Tue, 20 Sep 2022 11:53:22 +0000 (14:53 +0300)]
; * etc/NEWS: Fix capitalization.

2 years agoGet fewer false positives for :keyword and &options
Lars Ingebrigtsen [Tue, 20 Sep 2022 11:33:07 +0000 (13:33 +0200)]
Get fewer false positives for :keyword and &options

* lisp/emacs-lisp/lisp-mode.el (lisp-mode--search-key): New
function to check more carefully for start of :keywords and
&options (bug#51574).
(lisp-fdefs): Use it.

2 years agoObsolete unused variable in debug.el
Stefan Kangas [Tue, 20 Sep 2022 09:46:18 +0000 (11:46 +0200)]
Obsolete unused variable in debug.el

* lisp/emacs-lisp/debug.el (debugger-previous-backtrace): Make
unused variable obsolete.

2 years agoFurther ffap-read-file-or-url tweaks
Lars Ingebrigtsen [Tue, 20 Sep 2022 10:38:58 +0000 (12:38 +0200)]
Further ffap-read-file-or-url tweaks

* lisp/ffap.el (ffap-read-file-or-url): Make this work for URLs
again if you're using `ido-everywhere' (bug#57943).

2 years ago; Fix typos in Lisp symbols
Stefan Kangas [Tue, 20 Sep 2022 10:21:40 +0000 (12:21 +0200)]
; Fix typos in Lisp symbols

2 years agoRemove mention of non-existent `annotate-switches'
Robert Pluim [Tue, 20 Sep 2022 09:46:04 +0000 (11:46 +0200)]
Remove mention of non-existent `annotate-switches'

* lisp/vc/vc.el (vc-annotate-switches): Remove mention of
`annotate-switches'.  As far as I can tell this has never existed in
Emacs.

2 years agoMention that src/macuvs.h sometimes needs committing
Robert Pluim [Mon, 19 Sep 2022 12:49:55 +0000 (14:49 +0200)]
Mention that src/macuvs.h sometimes needs committing

* admin/notes/unicode: src/macuvs.h is generated, but needs to be
committed sometimes.

2 years ago; * Makefile.in: Fix bashism.
Gregory Heytings [Tue, 20 Sep 2022 09:20:12 +0000 (11:20 +0200)]
; * Makefile.in: Fix bashism.

2 years agoUse "set -o nounset" in bash scripts
Stefan Kangas [Tue, 20 Sep 2022 08:27:10 +0000 (10:27 +0200)]
Use "set -o nounset" in bash scripts

* admin/automerge:
* admin/make-manuals:
* admin/update-copyright:
* admin/update_autogen:
* admin/upload-manuals: Use "set -o nounset".

2 years agoRevert "Allow nil value for filter-buffer-substring-function"
Stefan Kangas [Tue, 20 Sep 2022 07:28:46 +0000 (09:28 +0200)]
Revert "Allow nil value for filter-buffer-substring-function"

This reverts commit a7c65fc6660878e244432a5b25fb3a4ff20e8604.

2 years agoRemove intern calls with a static string from haiku*.c
Po Lu [Tue, 20 Sep 2022 03:00:10 +0000 (03:00 +0000)]
Remove intern calls with a static string from haiku*.c

* src/haikufns.c (Fx_show_tip, syms_of_haikufns):
* src/haikufont.c (haikufont_maybe_handle_special_family)
(syms_of_haikufont):
* src/haikuterm.c (haiku_term_init, syms_of_haikuterm): Replace
intern with real predefined symbols.

2 years agoBury new ERC buffers by default
F. Jason Park [Wed, 7 Sep 2022 02:09:54 +0000 (19:09 -0700)]
Bury new ERC buffers by default

* lisp/erc/erc.el (erc-join-buffer): Change default value to `bury'.
(erc-setup-buffer): Make `window-noselect' behave more like its
description and abstain from ever replacing the current buffer.
* test/lisp/erc/erc-scenarios-base-reconnect.el
(erc-scenarios-common-base-reconnect-options): Update helper to handle
new default value for option `erc-join-buffer'.
(erc-scenarios-base-reconnect-options--buffer): Update and rename
function `erc-scenarios-base-reconnect-options--default'.
(erc-scenarios-base-reconnect-options--default): Update and rename
function `erc-scenarios-base-reconnect-options--bury'.
* etc/ERC-NEWS: Update existing display-buffers section for 5.5.
(Bug#51753)

2 years agoOffer to regexp-quote new items in erc-match commands
F. Jason Park [Thu, 7 Jul 2022 02:57:11 +0000 (19:57 -0700)]
Offer to regexp-quote new items in erc-match commands

* lisp/erc/erc-match.el (erc-match-quote-when-adding) Add new option
to quote new items added to match lists.
(erc-add-entry-to-list): Add optional `alt' parameter indicating
whether to flip the behavior indicated by
`erc-match-quote-when-adding'.
(erc-add-pal, erc-add-fool, erc-add-keyword, erc-add-dangerous-host):
Pass universal arg to `erc-add-entry-to-list' as `alt' argument.
(erc-match-pal-p, erc-match-fool-p, erc-match-keyword-p,
erc-match-dangerous-host-p): Don't bother matching when list is nil.

* lisp/erc/erc.el (erc-list-match (lst str): Join input list as regexp
union instead of looping over items.

* etc/ERC-NEWS: Update misc-UX section for 5.5.

* test/lisp/erc/erc-match-tests.el: New file. (Bug#56450)

2 years agoDon't record undo history in erc-protocol buffers
F. Jason Park [Sat, 3 Sep 2022 04:57:57 +0000 (21:57 -0700)]
Don't record undo history in erc-protocol buffers

* lisp/erc/erc.el (erc-log-irc-protocol): Disable undo history.