Philip Kaludercic [Fri, 7 Oct 2022 16:52:17 +0000 (18:52 +0200)]
Extract package maintainer guessing code into a separate function
* package.el (package-maintainers): Add new function.
(package-contact-maintainer): Use it.
(package-report-bug): Use it.
Philip Kaludercic [Fri, 7 Oct 2022 16:41:24 +0000 (18:41 +0200)]
Add an inline procedure for checking for source packages
* package.el (eval-when-compile): Require 'inline during compilation.
(package-vc-p): Add inline function.
(package-desc-full-name): Use it.
(package-load-descriptor): Use it.
(package--get-activatable-pkg): Use it.
(package-install-from-archive): Use it.
(package-update): Use it.
(package-desc-status): Use it.
(package--remove-hidden): Use it.
(package-menu--print-info-simple): Use it.
Philip Kaludercic [Sat, 8 Oct 2022 09:56:23 +0000 (11:56 +0200)]
Merge branch 'master' into feature/package+vc
Philip Kaludercic [Mon, 3 Oct 2022 18:54:38 +0000 (20:54 +0200)]
Add a VC command to prepare patches
* doc/emacs/vc1-xtra.texi (Miscellaneous VC): Add new node.
(Editing VC Commands): Document new feature.
* etc/NEWS: Mention 'vc-prepare-patch'.
* lisp/vc/log-view.el: Autoload 'log-view-get-marked'.
* lisp/vc/vc-git.el (vc-git-prepare-patch): Add Git implementation.
* lisp/vc/vc-hg.el (vc-git-prepare-patch): Add Mercurial implementation.
* lisp/vc/vc-bzr.el (vc-git-prepare-patch): Add Bazaar implementation.
* lisp/vc/vc.el (vc-read-revision): Add a MULTIPLE argument.
(vc-read-multiple-revisions): Add an auxiliary function that always
calls 'vc-read-revision' with a non-nil value for MULTIPLE.
(vc-prepare-patches-separately): Add user option.
(message-goto-body): Declare function.
(message--name-table): Declare function.
(vc-default-prepare-patch): Add a default implementation.
(vc-prepare-patch): Add command. (Bug#57400)
Po Lu [Sat, 8 Oct 2022 08:38:30 +0000 (16:38 +0800)]
Stop passing CurrentTime to SetInputFocus
* src/xterm.c (xi_focus_handle_for_device, handle_one_xevent):
Set the last user time where required for focus to be handled
correctly.
(x_focus_frame): Do not perform actions prohibited by the ICCCM.
समीर सिंह Sameer Singh [Thu, 6 Oct 2022 12:04:28 +0000 (17:34 +0530)]
Add support for the Coptic script (bug#58330)
* lisp/language/misc-lang.el ("Coptic"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support coptic.
* lisp/leim/quail/misc-lang.el ("coptic"): New input method.
* etc/HELLO: Add a Coptic greeting.
* etc/NEWS: Announce the new language environment.
Stefan Kangas [Sat, 8 Oct 2022 04:30:23 +0000 (06:30 +0200)]
Merge from origin/emacs-28
cfb1e21844 Update name of hs-mouse-toggle-hiding in Emacs manual
Stefan Kangas [Fri, 7 Oct 2022 21:14:52 +0000 (23:14 +0200)]
; Silence byte-compiler in benchmark.el
* lisp/emacs-lisp/benchmark.el (cl-lib): Require.
Stefan Kangas [Fri, 7 Oct 2022 20:43:51 +0000 (22:43 +0200)]
Prefer defvar-keymap in bibtex.el
* lisp/textmodes/bibtex.el (bibtex-mode-map): Prefer defvar-keymap.
Stefan Kangas [Fri, 7 Oct 2022 20:07:09 +0000 (22:07 +0200)]
Fix setting the wallpaper with "swaybg" and "wbg"
* lisp/image/wallpaper.el (wallpaper-setter): Add 'init-action'
and 'detach' fields to structure.
(wallpaper--init-action-kill): New helper function.
(wallpaper--default-setters): Use above new fields for "swaybg" and
"wbg", to start/restart the corresponding processes as needed.
(wallpaper-default-set-function): Call 'init-action' function if
there is one. If 'detach', use 'call-process' instead of
'start-process'. (Bug#57781)
* test/lisp/image/wallpaper-tests.el (wallpaper--find-setter)
(wallpaper--find-setter/call-predicate)
(wallpaper--find-setter/set-current-setter)
(wallpaper-set/runs-command, wallpaper-set/runs-command/detach)
(wallpaper-set/calls-init-action)
(wallpaper-set/calls-wallpaper-set-function): New tests.
Stefan Monnier [Fri, 7 Oct 2022 18:15:40 +0000 (14:15 -0400)]
subr.el (inhibit-point-motion-hooks): Mark it as obsolete
When Emacs-25 changed the default of `inhibit-point-motion-hooks` to t,
/etc/NEWS declared it as obsolete and so did its docstring, but
it was not marked as obsolete so as not to emit too many warnings
in code where it was impractical to remove the let-binding while
keeping backward compatibility with older Emacsen.
Those backward compatibility issues are not serious any more now that
Emacs-25 is itself considered old.
* lisp/subr.el (inhibit-point-motion-hooks): Mark it as obsolete.
* src/textprop.c (inhibit-point-motion-hooks): Don't mention it being
obsolete in the docstring any more.
* lisp/simple.el (line-move-1, line-move-finish): Silence warnings.
Stefan Monnier [Fri, 7 Oct 2022 18:07:17 +0000 (14:07 -0400)]
* lisp/isearch.el (isearch-search): Don't bind `inhibit-point-motion-hooks`
The let-binding was added back in 1997 (commit
79c7a4fa5f974a9d3b)
"because we might have to search inside invisible and intangible text".
So it's been redundant since Emacs-25 changed the default to t.
Stefan Monnier [Fri, 7 Oct 2022 17:54:36 +0000 (13:54 -0400)]
verilog-mode.el: Don't bind `inhibit-point-motion-hooks`
Keep binding it in Emacs<25 but not in Emacs≥25 (where such bindings
are redundant and the var is declared obsolete).
* lisp/progmodes/verilog-mode.el (verilog-save-buffer-state):
Don't bind `inhibit-point-motion-hooks` if Emacs≥25.
(verilog-save-font-no-change-functions): Same, and refrain from
binding `before/after-change-functions` as well while we're at it,
since `inhibit-modification-hooks` already covers it in Emacs≥25.
Stefan Monnier [Fri, 7 Oct 2022 17:25:36 +0000 (13:25 -0400)]
(nxml-with-invisible-motion): Delete macro.
Don't use this macro any more since it doesn't do anything since Emacs-25
changed the default of `inhibit-point-motion-hooks` to t.
* lisp/nxml/nxml-util.el (nxml-with-invisible-motion): Delete macro.
* lisp/nxml/nxml-mode.el (nxml-mode, nxml-cleanup):
* lisp/nxml/rng-valid.el (rng-do-some-validation):
* lisp/nxml/rng-nxml.el (rng-set-state-after): Don't use it.
Stefan Monnier [Fri, 7 Oct 2022 16:54:29 +0000 (12:54 -0400)]
* lisp/pcomplete.el (pcomplete-arg): Simplify
Stefan Monnier [Fri, 7 Oct 2022 16:51:14 +0000 (12:51 -0400)]
(line-move-1): Obey `inhibit-point-motion-hooks`
`line-move-1` was written back before `inhibit-point-motion-hooks`
was made obsolete and it's written under the assumption that its
value is nil, whereas since Emacs-25 it's t.
To work around problems linked to a nil value of
`inhibit-point-motion-hooks`, the code temporarily binds that var to
t while it moves around trying to find the final destination and then
later in a few key spots it binds it "back" to nil so as to run the
point-motion hooks according to the final destination, as if the
overall motion had been made "normally".
Change the code so that the "bind back" indeed binds the var back to
the value it had originally, rather than always to nil.
* lisp/simple.el (line-move-1): Obey `inhibit-point-motion-hooks`
(line-move-finish): New optional arg `not-ipmh`.
Stefan Monnier [Fri, 7 Oct 2022 16:29:56 +0000 (12:29 -0400)]
org.el: Improve bindings of `inhibit-*` vars
Remove binding of `inhibit-point-motion-hooks` (it's t by default
anyway and it's obsolete) and don't "manually" bind
`inhibit-modification-hooks`.
* lisp/org/org.el (org-unfontify-region): Use `with-silent-modifications`.
(org-display-inline-remove-overlay): Remove ineffective binding of
`inhibit-modification-hooks` around code which doesn't modify the
buffer anyway.
Stefan Monnier [Fri, 7 Oct 2022 16:25:09 +0000 (12:25 -0400)]
Remove aliases of `with-silent-modifications`
There were many reinventions of `with-silent-modifications` (tho
many of them weren't reinventions but copy&paste of code from
font-lock, IIUC). Now that those don't even need to let-bind
`inhibit-point-motion-hooks` they're really just obsolete.
* lisp/font-lock.el (save-buffer-state): Delete macro.
(font-lock-unfontify-region, font-lock-default-fontify-region):
Use `with-silent-modifications` instead.
(font-lock-after-change-function, font-lock-fontify-block): Don't
let-bind `inhibit-point-motion-hooks`.
* lisp/htmlfontify.el (hfy-save-buffer-state): Delete macro.
(hfy-mark-trailing-whitespace, hfy-unmark-trailing-whitespace):
Use `with-silent-modifications` instead.
* lisp/jit-lock.el (with-buffer-prepared-for-jit-lock): Delete macro.
(jit-lock--debug-fontify, jit-lock-refontify, jit-lock-function)
(jit-lock-fontify-now, jit-lock-force-redisplay)
(jit-lock-deferred-fontify, jit-lock-context-fontify)
(jit-lock-after-change): Use `with-silent-modifications` instead.
* lisp/progmodes/antlr-mode.el (save-buffer-state-x): Delete macro.
(antlr-hide-actions): Use `with-silent-modifications` instead.
* lisp/progmodes/hideshow.el (hs-life-goes-on): Don't
let-bind `inhibit-point-motion-hooks`.
Stefan Monnier [Fri, 7 Oct 2022 16:16:47 +0000 (12:16 -0400)]
Remove redundant let-bindings of `inhibit-point-motion-hooks`
`inhibit-point-motion-hooks` has defaulted to t (and been declared
obsolete) since Emacs-25, so remove left-over bindings to that
now default value.
* lisp/dabbrev.el (dabbrev--search):
* lisp/format.el (format-insert-file):
* lisp/forms.el (forms-next-field, forms-prev-field):
* lisp/minibuf-eldef.el (minibuf-eldef-setup-minibuffer):
* lisp/simple.el (primitive-undo):
* lisp/cedet/semantic/edit.el (semantic-change-function):
* lisp/cedet/srecode/fields.el (srecode-field-mod-hook):
* lisp/cedet/srecode/insert.el (srecode-insert-fcn):
* lisp/erc/erc-button.el (erc-button-add-buttons):
* lisp/erc/erc.el (erc-display-line):
* lisp/eshell/em-script.el (eshell-source-file):
* lisp/eshell/em-smart.el (eshell-smart-scroll-window):
* lisp/eshell/esh-arg.el (eshell-parse-arguments):
* lisp/eshell/esh-cmd.el (eshell-with-temp-command):
* lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
* lisp/gnus/gnus-art.el (gnus-with-article-headers)
(article-hide-headers, article-hide-boring-headers)
(article-decode-mime-words, article-decode-charset)
(article-decode-encoded-words, article-decode-group-name)
(article-decode-idna-rhs, article-hide-list-identifiers)
(article-strip-banner, article-really-strip-banner)
(article-strip-leading-blank-lines)
(article-strip-multiple-blank-lines, article-strip-leading-space)
(article-strip-trailing-space, article-strip-all-blank-lines)
(gnus-article-narrow-to-signature, gnus-article-show-hidden-text)
(article-date-ut, article-verify-x-pgp-sig)
(gnus-article-only-boring-p, gnus-article-highlight-signature)
(gnus-article-add-buttons, gnus-signature-toggle, gnus-button-push):
* lisp/gnus/gnus-cite.el (gnus-article-highlight-citation)
(gnus-article-fill-cited-article, gnus-article-hide-citation)
(gnus-article-toggle-cited-text, gnus-article-hide-citation-maybe)
(gnus-cite-parse-wrapper, gnus-cite-add-face, gnus-cite-toggle):
* lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert):
* lisp/gnus/gnus-rfc1843.el (rfc1843-decode-article-body):
* lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
* lisp/gnus/gnus-util.el (gnus-fetch-field):
* lisp/gnus/message.el (message-fetch-field, message-reply)
(message-followup, message-hide-headers):
* lisp/net/goto-addr.el (goto-address-fontify):
* lisp/obsolete/linum.el (linum-update-window):
* lisp/play/zone.el (zone-shift-left, zone-shift-right)
(zone-fill-out-screen):
* lisp/progmodes/opascal.el (opascal-save-excursion):
* lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
* lisp/textmodes/enriched.el (enriched-encode):
* lisp/textmodes/flyspell.el (flyspell-word-search-backward)
(flyspell-word-search-forward):
* lisp/textmodes/table.el (table--point-entered/left-cell-function):
Remove let-binding of `inhibit-point-motion-hooks`.
Philip Kaludercic [Fri, 7 Oct 2022 14:44:28 +0000 (16:44 +0200)]
; * vc-svn.el (vc-svn-clone): Fix typo
Lars Ingebrigtsen [Fri, 7 Oct 2022 12:40:38 +0000 (14:40 +0200)]
Update name of hs-mouse-toggle-hiding in Emacs manual
* doc/emacs/programs.texi (Hideshow): Update the name of
hs-mouse-toggle-hiding (bug#58331).
Matt Armstrong [Fri, 7 Oct 2022 12:17:50 +0000 (08:17 -0400)]
Handle successive mime sections in decoding.
rmailsum.el (rmail-epa-decode):Handle blank lines at start.
Handle both ending delim and another starting delim.
Mattias Engdegård [Thu, 6 Oct 2022 15:46:02 +0000 (17:46 +0200)]
Speed up string-lessp for multibyte strings
Improve comparison speed when both arguments are multibyte strings,
at least one of them containing a non-ASCII character. (All-ASCII
multibyte strings are already fast.)
The speed-up is about 2× for strings of 10 chars, 10× for strings of
100 chars.
* src/fns.c (Fstring_lessp): Quickly skip the common prefix by
comparing words.
Mattias Engdegård [Fri, 7 Oct 2022 09:43:19 +0000 (11:43 +0200)]
Clearer byte-compiler arity warnings (bug#58319)
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature-string):
Replace '3+' and '3-4' with '3 or more' and '3 or 4', respectively.
Miha Rihtaršič [Thu, 6 Oct 2022 18:22:39 +0000 (20:22 +0200)]
comint-fontify-input: Don't fontify output as input, different approach
* lisp/comint.el (comint-output-filter): Propertize process output
with field=output before inserting it into buffer to prevent
comint-fontify-input from fontifying it (bug#58169).
Miha Rihtaršič [Thu, 6 Oct 2022 17:06:37 +0000 (19:06 +0200)]
Revert "comint-fl: Prevent fontification of output as input"
This reverts commit
90744ff0be581b69cedea1194b7e78265bdb67a4.
Michael Albinus [Fri, 7 Oct 2022 11:14:46 +0000 (13:14 +0200)]
* lisp/dired.el (dired-make-relative): Make change less aggressive.
Po Lu [Fri, 7 Oct 2022 10:39:17 +0000 (18:39 +0800)]
Handle IM server disconnects during preedit
* src/xterm.c (x_maybe_clear_preedit): New function.
(xim_destroy_callback): Call that function.
Stefan Kangas [Fri, 7 Oct 2022 09:20:37 +0000 (11:20 +0200)]
Improve package-check-signature docstring
* lisp/emacs-lisp/package.el (package-check-signature): Improve
docstring.
Stefan Kangas [Fri, 7 Oct 2022 08:53:55 +0000 (10:53 +0200)]
; Make wallpaper--format-arg more resilient
* lisp/image/wallpaper.el (wallpaper--format-arg): Make more
resilient to errors.
Stefan Kangas [Fri, 7 Oct 2022 04:30:21 +0000 (06:30 +0200)]
Merge from origin/emacs-28
5f8849425c Fix typo in `(emacs) Lisp Doc'
f0a06364fb Fix references to 'default-indent-new-line'
Michael Albinus [Thu, 6 Oct 2022 20:18:21 +0000 (22:18 +0200)]
Better support for remote file names in dired
* lisp/dired.el (dired-make-relative): Expand DIR anyway, because
it could also be an abbreviated remote file name. (Bug#58300)
Philip Kaludercic [Thu, 6 Oct 2022 19:45:36 +0000 (21:45 +0200)]
Add a generic bug reporting command for packages
* lisp/emacs-lisp/package.el (package-menu-mode-map): Bind
'package-report-bug'.
(package-report-bug): Add new command.
Philip Kaludercic [Thu, 6 Oct 2022 15:04:31 +0000 (17:04 +0200)]
* lisp/vc/vc-svn.el (vc-svn-clone): Add 'clone' implementation
Philip Kaludercic [Thu, 6 Oct 2022 15:02:00 +0000 (17:02 +0200)]
* lisp/vc/vc-cvs.el (vc-cvs-clone): Add 'clone' implementation
Philip Kaludercic [Thu, 6 Oct 2022 14:54:02 +0000 (16:54 +0200)]
* lisp/vc/vc-bzr.el (vc-bzr-clone): Add 'clone' implementation
Philip Kaludercic [Thu, 6 Oct 2022 14:49:10 +0000 (16:49 +0200)]
* lisp/vc/vc-hg.el (vc-hg-clone): Add 'clone' implementation
Manuel Giraud [Thu, 6 Oct 2022 14:03:34 +0000 (16:03 +0200)]
; * lisp/battery.el (battery-bsd-apm): No need for `executable-find'.
Arash Esbati [Thu, 6 Oct 2022 17:45:44 +0000 (19:45 +0200)]
Pass correct environment name to `reftex-label'
* lisp/textmodes/tex-mode.el (latex-block-body-alist): Pass
"figure" to `reftex-label' when inserting a figure float.
(bug#58329)
Lars Ingebrigtsen [Thu, 6 Oct 2022 12:56:47 +0000 (14:56 +0200)]
etc/NEWS: Fix typo in seq-keep entry.
Justus Winter [Wed, 5 Oct 2022 10:36:39 +0000 (12:36 +0200)]
Replace aging OpenPGP artifacts in gnus' mml-sec tests.
This replaces the old OpenPGPv4 keys that are used in the test suite
with more modern OpenPGPv4 keys.
Having old cryptographic artifacts in the test suite presents a
problem once the old algorithms are rejected by contemporary
implementations (bug#58301).
Justus Winter [Fri, 16 Sep 2022 10:24:26 +0000 (12:24 +0200)]
Replace aging OpenPGP artifacts in the package-resources tests.
This replaces the old OpenPGPv4 key that is used in the test suite
with a more modern OpenPGPv4 key. The key is the Alice key from
https://datatracker.ietf.org/doc/draft-bre-openpgp-samples/. All
cryptographic artifacts in the test suite are updated accordingly.
Having old cryptographic artifacts in the test suite presents a
problem once the old algorithms are rejected by contemporary
implementations.
Justus Winter [Fri, 16 Sep 2022 10:24:14 +0000 (12:24 +0200)]
Replace aging OpenPGP artifacts in the epg tests.
This replaces the old OpenPGPv4 key that is used in the test suite
with a more modern OpenPGPv4 key. The key is the Alice key from
https://datatracker.ietf.org/doc/draft-bre-openpgp-samples/. All
cryptographic artifacts in the test suite are updated accordingly.
Having old cryptographic artifacts in the test suite presents a
problem once the old algorithms are rejected by contemporary
implementations.
Justus Winter [Fri, 16 Sep 2022 10:23:39 +0000 (12:23 +0200)]
Fix epg's reliance on an implicit GnuPG command.
Previously, epg invoked GnuPG without an explicit command to verify
signatures. Make that operation explicit. Happily, this aligns how
gpg and gpgsm is invoked, so it actually makes the code simpler.
Manuel Giraud [Thu, 6 Oct 2022 12:46:39 +0000 (14:46 +0200)]
Fix BSD battery mode over TRAMP (bug#58307)
* lisp/battery.el (battery--call-process-to-string): Simple wrapper
to `call-process' that outputs to a string.
(battery-bsd-apm): Use it instead of `shell-command-to-string'
(bug#58307).
Matt Armstrong [Thu, 6 Oct 2022 12:08:20 +0000 (14:08 +0200)]
Fix calling `package-reinstall' just after quick initialization.
* lisp/emacs-lisp/package.el (package-reinstall): call
`package--archives-initialize', just like `package-install' does.
This populates `package-alist', and so fixes calling
`package-reinstall' as the first thing done after package "quick
init" (Bug#53527).
Gerd Möllmann [Thu, 6 Oct 2022 08:18:59 +0000 (10:18 +0200)]
Add missing staticpro (bug#58327)
* src/window.c (init_window_once): staticpro old_selected_window.
Stefan Kangas [Thu, 6 Oct 2022 07:32:02 +0000 (09:32 +0200)]
Fix typo in `(emacs) Lisp Doc'
* doc/emacs/programs.texi (Lisp Doc): Fix reference to
'eldoc-echo-area-display-truncation-message'. (Bug#58324)
Stefan Kangas [Thu, 6 Oct 2022 07:25:42 +0000 (09:25 +0200)]
Fix references to 'default-indent-new-line'
* doc/emacs/programs.texi (Comment Commands)
(Multi-Line Comments): Fix references to
'default-indent-new-line'. (Bug#58325)
Gerd Möllmann [Thu, 6 Oct 2022 07:09:04 +0000 (09:09 +0200)]
Inhibit GC in probably_quit (bug#58042)
Stefan Kangas [Thu, 6 Oct 2022 06:54:54 +0000 (08:54 +0200)]
* etc/NEWS: Document how to continue using 'linum'. (Bug#58220)
Po Lu [Thu, 6 Oct 2022 02:57:43 +0000 (10:57 +0800)]
; * src/xterm.c (x_term_init): Fix typo.
Po Lu [Thu, 6 Oct 2022 02:55:25 +0000 (10:55 +0800)]
Minor fixes to IM locale handling
* lisp/term/x-win.el (x-get-input-coding-system): Translate locales.
* src/xterm.c (x_term_init): If the X library doesn't support
the current locale, don't set up input methods.
Po Lu [Thu, 6 Oct 2022 02:52:34 +0000 (10:52 +0800)]
Fix nsmenu crash when exiting popup dialog
* src/nsmenu.m (pop_down_menu): Do not discard menu items here.
(ns_popup_dialog): Call discard_menu_items after
unuse_menu_items. (bug#58296)
Stefan Kangas [Wed, 5 Oct 2022 23:32:59 +0000 (01:32 +0200)]
* etc/NEWS: Add instructions for replacing 'linum'. (Bug#58220)
Juri Linkov [Wed, 5 Oct 2022 19:47:42 +0000 (22:47 +0300)]
* lisp/repeat.el (repeat-exit): Add autoload cookie.
Juri Linkov [Wed, 5 Oct 2022 19:43:12 +0000 (22:43 +0300)]
* etc/tutorials/TUTORIAL.uk: Fix typos.
Michael Albinus [Wed, 5 Oct 2022 15:11:33 +0000 (17:11 +0200)]
Adapt Tramp manual
* doc/misc/tramp.texi (Inline methods): Method "kubernetes" does
not support user names.
Stefan Kangas [Wed, 5 Oct 2022 14:33:18 +0000 (16:33 +0200)]
New command 'world-clock-copy-time-as-kill'
* lisp/time.el (world-clock-copy-time-as-kill): New command.
(world-clock-mode-map): Bind above new command to "w".
Stefan Kangas [Wed, 5 Oct 2022 13:23:39 +0000 (15:23 +0200)]
Add face help-key-binding in help-char echo
* src/keyboard.c (echo_add_key): Add help-key-binding face to the
"?" key in 'help-char' echo. (Bug#57906)
(syms_of_keyboard) <Qhelp_key_binding>: New DEFSYM.
Stefan Kangas [Wed, 5 Oct 2022 13:08:01 +0000 (15:08 +0200)]
; * lisp/files.el (find-file-noselect): Minor simplification.
Po Lu [Wed, 5 Oct 2022 00:31:44 +0000 (08:31 +0800)]
Fix bug in "macintization" of x_draw_glyph_string
* src/nsterm.m (ns_draw_stretch_glyph_string): Restore text decoration
drawing code ommitted during "macintization" to convert the X function
into NS code. Reported by Qiantan Hong <qthong@stanford.edu>.
Filipp Gunbin [Tue, 4 Oct 2022 23:46:40 +0000 (02:46 +0300)]
Add tramp-kubernetes integration
* doc/misc/tramp.texi (Inline methods): Add kubernetes.
(Customizing Methods): Remove kubernetes-tramp.
* etc/NEWS: Mention new Tramp method "kubernetes".
* lisp/net/tramp-compat.el (kubernetes-tramp): Warn if that package is
used.
* lisp/net/tramp-container.el (tramp-kubernetes-program): New
defcustom.
(tramp-kubernetes-method): New defconst.
(tramp-kubernetes--completion-function): New function.
Filipp Gunbin [Tue, 4 Oct 2022 23:16:36 +0000 (02:16 +0300)]
Rename lisp/net/tramp-docker.el to lisp/net/tramp-container.el
Vibhav Pant [Tue, 4 Oct 2022 19:31:50 +0000 (01:01 +0530)]
Add comment explaining gcc_jit_context_new_bitcast usage.
Vibhav Pant [Sun, 2 Oct 2022 16:45:33 +0000 (22:15 +0530)]
Address styling comments.
Vibhav Pant [Tue, 27 Sep 2022 18:01:06 +0000 (23:31 +0530)]
comp.c: Add declaration for gcc_jit_type_is_pointer.
Vibhav Pant [Tue, 27 Sep 2022 17:08:45 +0000 (22:38 +0530)]
src/comp.c: Use libgccjit's bitcast API for type coercion, when available.
* (type_to_cast_index, define_type_punning, define_cast_from_to,
define_cast_functions): Define functions when
gcc_jit_context_new_bitcast is not available.
* (emit_coerce): Use gcc_jit_context_new_bitcast to coerce types, when
available.
Lars Ingebrigtsen [Tue, 4 Oct 2022 19:46:09 +0000 (21:46 +0200)]
Put all seq.el news into one section
Lars Ingebrigtsen [Tue, 4 Oct 2022 19:44:52 +0000 (21:44 +0200)]
Add 'seq-keep'
* doc/lispref/sequences.texi (Sequence Functions): Document it.
* lisp/emacs-lisp/seq.el (seq-keep): New function (bug#58278).
Eli Zaretskii [Tue, 4 Oct 2022 19:25:20 +0000 (22:25 +0300)]
; * lisp/simple.el (cursor-face-highlight-mode): Doc fix.
Brian Cully [Tue, 4 Oct 2022 19:19:05 +0000 (21:19 +0200)]
Add method description for podman in Tramp
* doc/misc/tramp.texi (Inline methods): Adapt docker method.
Describe podman method.
Stefan Kangas [Tue, 4 Oct 2022 18:04:19 +0000 (20:04 +0200)]
Merge from origin/emacs-28
a78af3018e * src/emacs.c (load_pdump): Propery handle case when execu...
# Conflicts:
# src/emacs.c
Stefan Kangas [Tue, 4 Oct 2022 17:23:24 +0000 (19:23 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
b560ce3560 Avoid assertion violations in STRING_CHAR
Stefan Kangas [Tue, 4 Oct 2022 17:23:24 +0000 (19:23 +0200)]
Merge from origin/emacs-28
78c262e1c2 ; * lisp/progmodes/glasses.el (glasses-face): Expand the d...
Alan Mackenzie [Tue, 4 Oct 2022 17:13:56 +0000 (17:13 +0000)]
CC Mode: A new operator and some new keywords for C++20
* lisp/progmodes/cc-langs.el (c-operators, c-overloadable-operators)
(c-arithmetic-operators): Add the "spaceship" operator for C++.
(c-primitive-type-kwds): Add char8_t for C++.
(c-decl-hangon-kwds, c-paren-nontype-kwds): Add alignas for C++.
Michael Albinus [Tue, 4 Oct 2022 16:56:34 +0000 (18:56 +0200)]
* etc/NEWS: Mention new Tramp method "podman". Fix typos.
Brian Cully [Tue, 4 Oct 2022 16:56:23 +0000 (18:56 +0200)]
Provide Podman containers on their own method in Tramp
* lisp/net/tramp-docker.el (tramp-podman-program): New defcustom.
(tramp-podman-method): New defconst.
(tramp-docker-program): Remove "podman" from option list.
(top): Update comments to refer to Docker-alike where necessary.
Add description for how to use the podman method.
Andreas Schwab [Tue, 4 Oct 2022 16:22:58 +0000 (18:22 +0200)]
* src/emacs.c (load_pdump): Propery handle case when executable
wasn't found.
Eli Zaretskii [Tue, 4 Oct 2022 16:25:18 +0000 (19:25 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Alan Mackenzie [Tue, 4 Oct 2022 16:19:33 +0000 (16:19 +0000)]
CC Mode: Optimize c-fontify-new-found-type and amend a debug spec
* lisp/progmodes/cc-fonts.el (c-fontify-new-found-type): Write the `face'
property directly, rather than removing `fontified' properties and letting
font-lock do the work.
* lisp/progmodes/cc-defs.el (cc-eval-when-compile): Amend the debug spec from
t to (&rest body), in line with the fix to bug #16184.
Eli Zaretskii [Tue, 4 Oct 2022 16:15:17 +0000 (19:15 +0300)]
Revert "Improve manual display tests of undisplayable chars (bug#58168)"
This reverts commit
849b7756fd31a69791e67dfe010b1e10f0168c83.
Please don't rush installing changes that are still being
discussed.
Stefan Kangas [Tue, 4 Oct 2022 15:39:28 +0000 (17:39 +0200)]
* lisp/subr.el (y-or-n-p): Use substitute-command-keys.
Stefan Kangas [Tue, 4 Oct 2022 15:36:09 +0000 (17:36 +0200)]
image-dired: Shorten several long names
* lisp/image/image-dired.el (image-dired-image-mode-map)
(image-dired-image-mode): Rename from
'image-dired-display-image-mode-map' and
'image-dired-display-image-mode'. Update all uses and make old
names into obsolete aliases.
(image-dired-display-this, image-dired-display-next)
(image-dired-display-previous): Rename from
'image-dired-display-thumbnail-original-image',
'image-dired-display-next-thumbnail-original', and
'image-dired-display-previous-thumbnail-original'. Update all uses
and make old names into obsolete aliases.
* doc/emacs/dired.texi (Image-Dired): Update documentation for the
above changes, and improve indexing.
Mattias Engdegård [Tue, 4 Oct 2022 14:13:12 +0000 (16:13 +0200)]
Improve manual display tests of undisplayable chars (bug#58168)
Test display of multibyte raw bytes, as well as undisplayable
multibyte chars (C1 controls and other values).
The test still assumes that raw bytes should be displayed identically
to undisplayable characters (such as C1 controls) because that is how
the display code currently works.
* test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
(test-redisplay-5): Fix likely typo (#x3fffc) of raw byte value.
(test-redisplay-6): New.
Stefan Kangas [Tue, 4 Oct 2022 14:18:13 +0000 (16:18 +0200)]
image-dired: Fix arrow keys in thumbs buffer
* lisp/image/image-dired.el (image-dired-thumbnail-mode-map): Also
remap 'left-char' and 'right-char'.
Eli Zaretskii [Tue, 4 Oct 2022 14:15:47 +0000 (17:15 +0300)]
Fix recent changes for Ukrainian language
* etc/HELLO:
* lisp/language/cyrillic.el ("Ukrainian"): Fix greetings and
remove redundant Ukrainian entry in cyrillic.el.
Lars Ingebrigtsen [Tue, 4 Oct 2022 13:40:53 +0000 (15:40 +0200)]
Make cropping of images work in message-mode
* lisp/gnus/message.el (message-mode): Set the image cropping function.
(message--yank-media-image-handler): Factor out...
(message--image-part-string): ... here for reuse.
(message--update-image-crop): Update the cropped data.
Alan Mackenzie [Tue, 4 Oct 2022 13:22:32 +0000 (13:22 +0000)]
CC Mode: Make c-forward-declarator move over a suffix after parens, e.g. const
Also tidy up several inaccuracies in the code.
* lisp/progmodes/cc-engine.el (c-forward-decl-arglist): Move point for modes
other than C++ Mode.
(c-forward-declarator): Move over a suffix following arglist parens
(e.g. const). Set the ARGLIST element of the return value to non-nil on
encountering an unbalanced open parenthesis. Don't move forward out of
enclosing parens.
* lisp/progmodes/cc-mode.el (c-fl-decl-end): Handle being in a multi-line
string. Move forward over token after declarator.
Lars Ingebrigtsen [Tue, 4 Oct 2022 13:09:33 +0000 (15:09 +0200)]
Move image commands to the 'i' sub map
* doc/lispref/display.texi (Showing Images): Adjust.
* lisp/image.el (image-map): Move all keys under the "i" prefix.
(image--repeat-map): New map.
(image-increase-size, image-rotate, image-decrease-size): Make
repeatable.
(image--delayed-change-size): New function.
Lars Ingebrigtsen [Tue, 4 Oct 2022 12:31:24 +0000 (14:31 +0200)]
Fix the arguments in tags--compat-initialize
* lisp/progmodes/etags.el (tags--compat-initialize): Fix argument
order -- swap the last two arguments (bug#58272).
Po Lu [Tue, 4 Oct 2022 12:26:37 +0000 (20:26 +0800)]
Update Ukrainian language info alist
* lisp/language/cyrillic.el ("Ukrainian"): Replace "Glory to
Ukraine" with "hello". See
www.gnu.org/prep/maintain/html_node/Other-Politics.html.
Denys Nykula [Tue, 4 Oct 2022 12:17:38 +0000 (14:17 +0200)]
Add Ukrainian tutorial
* etc/tutorials/TUTORIAL.uk: Create the translation.
* lisp/language/cyrillic.el: Link "Emacs Tutorial"
to the translation if the system is Ukrainian, and
add our modern greeting as a sample text.
* etc/NEWS:
* etc/tutorials/TUTORIAL.translators: Attribute my work (bug#55250).
Lars Ingebrigtsen [Tue, 4 Oct 2022 12:12:22 +0000 (14:12 +0200)]
Fix NEWS item about obsoleting the `eq' gv
Lars Ingebrigtsen [Tue, 4 Oct 2022 12:11:04 +0000 (14:11 +0200)]
Make `eq' obsolete as a generalized variable
* lisp/emacs-lisp/gv.el (eq): Make obsolete as a generalized
variable.
Lars Ingebrigtsen [Tue, 4 Oct 2022 11:57:45 +0000 (13:57 +0200)]
Mention cond/if as generalized variables in the manual
* doc/lispref/variables.texi (Setting Generalized Variables):
Mention cond and if (bug#52290).
Eli Zaretskii [Tue, 4 Oct 2022 11:23:20 +0000 (14:23 +0300)]
Avoid assertion violations in STRING_CHAR
* src/xdisp.c (handle_composition_prop):
* src/editfns.c (styled_format): Don't call 'STRING_CHAR' on
unibyte strings. This avoids assertion violation in
'string_char_and_length'.
(cherry picked from commit
d52d6e1e106117eb4bba81a65e256e2e793037b6)
Eli Zaretskii [Tue, 4 Oct 2022 11:23:20 +0000 (14:23 +0300)]
Avoid assertion violations in STRING_CHAR
* src/xdisp.c (handle_composition_prop):
* src/editfns.c (styled_format): Don't call 'STRING_CHAR' on
unibyte strings. This avoids assertion violation in
'string_char_and_length'.
Lars Ingebrigtsen [Tue, 4 Oct 2022 11:04:16 +0000 (13:04 +0200)]
Make loaddefs-generate more resilient
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Don't bug
out when there's an existing loaddefs file that's not formatted
properly (bug#58280).
Lars Ingebrigtsen [Tue, 4 Oct 2022 10:49:49 +0000 (12:49 +0200)]
Don't bug out in advice--make-docstring when there's not doc string
* lisp/emacs-lisp/nadvice.el (advice--make-docstring): Don't bug
out on functions with no documentation (bug#58284).