Po Lu [Sat, 18 Dec 2021 03:40:44 +0000 (03:40 +0000)]
Flip buffers if display were modified in haiku_read_socket
* src/haikuterm.c (flush_dirty_back_buffers): New function.
(haiku_read_socket): Flip buffers if the display could have
been modified.
Po Lu [Sat, 18 Dec 2021 00:58:51 +0000 (08:58 +0800)]
Don't abort upon untracked TouchUpdate events
Emacs might get an untracked TouchUpdate event in the unlikely
event of a device hierarchy change during a touch sequence, in
which case all devices and touchpoints will be reset.
* src/xterm.c (handle_one_xevent): Don't abort when receiving
a TouchUpdate that isn't part of a touch sequence.
Michael Albinus [Fri, 17 Dec 2021 19:02:21 +0000 (20:02 +0100)]
Handle missing JUnit test reports
* lisp/emacs-lisp/ert.el (ert-write-junit-test-report)
(ert-write-junit-test-summary-report): Handle missing JUnit test reports.
Stefan Monnier [Fri, 17 Dec 2021 16:39:04 +0000 (11:39 -0500)]
multisession.el: Avoid old specializer syntax
Avoid the use of the old (eql VAL) specializer, preferring the new
(eql EXP) form.
* lisp/emacs-lisp/multisession.el (multisession-backend-value)
multisession--backend-set-value, multisession--backend-values)
multisession--backend-delete, multisession-backend-value)
multisession--backend-set-value, multisession--backend-values)
multisession--backend-delete): Quote the symbol passed to `eql` specializer.
Eli Zaretskii [Fri, 17 Dec 2021 15:06:32 +0000 (17:06 +0200)]
; Improve recently installed documentation
* etc/NEWS: Fix a typo.
* doc/lispref/commands.texi (Touchscreen Events): Fix wording and
indexing.
Eli Zaretskii [Fri, 17 Dec 2021 12:41:16 +0000 (14:41 +0200)]
Improve multisession test results on MS-Windows
* lisp/emacs-lisp/multisession.el
(multisession--backend-set-value): Force 'fsync'ing the temporary
file.
Po Lu [Fri, 17 Dec 2021 11:17:50 +0000 (19:17 +0800)]
Fix touchscreen support on Xt builds
* src/xterm.c (handle_one_xevent): Make menu bar touch event
code conditional on GTK3.
Po Lu [Fri, 17 Dec 2021 11:11:54 +0000 (19:11 +0800)]
Update menu bar when processing touch sequences on it
* src/xterm.c (handle_one_event): Prevent menu bar from
becoming outdated when handling XI_TouchBegin events that may
cause it to be opened.
Po Lu [Fri, 17 Dec 2021 11:04:03 +0000 (19:04 +0800)]
Ignore motion events sent by an emulated pointer
* src/xterm.c (handle_one_xevent): Ignore XI_Motion events that
have PointerEmulated set when the display supports XInput 2.2
or later.
Paul Eggert [Fri, 17 Dec 2021 09:11:54 +0000 (01:11 -0800)]
Port tramp-adb.el back to Emacs 26
* lisp/net/tramp-adb.el (tramp-adb-ls-output-time-less-p):
Revert previous change since Tramp code should still be backward
compatible to Emacs 26. But add a comment about this.
Problem reported by Michael Albinus in:
https://lists.gnu.org/r/emacs-devel/2021-12/msg01623.html
Eli Zaretskii [Fri, 17 Dec 2021 08:35:44 +0000 (10:35 +0200)]
Fix selection of fonts that don't have regular weight
* src/font.c (font_delete_unmatched): The kludge of allowing
inexact matches of the font weight is now used for non-NTGUI
platforms as well. (Bug#52493)
Lars Ingebrigtsen [Fri, 17 Dec 2021 08:01:04 +0000 (09:01 +0100)]
Fix parallel build with multisession.el
* lisp/emacs-lisp/multisession.el: Don't require url -- this pulls
in gnus-util, which requires rmail, which depends on
rmail-loaddefs being generated, which our Makefiles doesn't guarantee.
Po Lu [Thu, 16 Dec 2021 07:15:28 +0000 (15:15 +0800)]
Add support for touchscreen events generated by XInput 2
* doc/lispref/commands.texi (Input Events): Add "Touchscreen
Events" to menu.
(Touchscreen Events): New node.
* etc/NEWS: Announce new event types.
* src/keyboard.c (make_lispy_event): Handle touchscreen events.
(syms_of_keyboard): New symbols `touchscreen-begin',
`touchscreen-end' and `touchscreen-update'.
* src/termhooks.h (enum event_kind): New touchscreen events.
* src/xfns.c (setup_xi_event_mask): Set up touch event mask if
appropriate.
(x_window) [USE_GTK]: Call `setup_xi_event_mask'.
* src/xterm.c (x_free_xi_devices): Free touchpoints.
(x_init_master_valuators): Handle all devices and set master and
touch mode flags appropriately.
(xi_reset_scroll_valuators_for_device_id):
(x_get_scroll_valuator_delta): Ignore slave devices.
(xi_link_touch_point):
(xi_unlink_touch_point):
(xi_find_touch_point): New functions.
(handle_one_xevent): Handle XI touch events and events from
non-master devices.
* src/xterm.h (struct xi_touch_point_t): New structure.
(struct xi_device_t): Add touchpoints field.
Dmitry Gutov [Fri, 17 Dec 2021 01:20:27 +0000 (04:20 +0300)]
Kill eshell-mode project buffers too
* lisp/progmodes/project.el (project-kill-buffer-conditions):
Add 'eshell-mode' too (bug#49465).
Paul Eggert [Thu, 16 Dec 2021 23:35:32 +0000 (15:35 -0800)]
* src/timefns.c: Minor comment fix.
Eli Zaretskii [Thu, 16 Dec 2021 20:01:06 +0000 (22:01 +0200)]
; * lisp/vc/vc-dispatcher.el (vc-command-messages): Doc fix.
Paul Eggert [Thu, 16 Dec 2021 17:40:22 +0000 (09:40 -0800)]
Simplify epa-ks--parse-buffer timestamp handling
* lisp/epa-ks.el (epa-ks--parse-buffer): Omit unnecessary calls to
seconds-to-time, and prefer the unaliased name time-convert when
calls are necessary.
Paul Eggert [Thu, 16 Dec 2021 17:40:22 +0000 (09:40 -0800)]
Omit temporary warning re obsolete timestamps
Do not warn about timestamps like (1 . 1000). This warning was added
in Emacs 27 as a temporary transition aid, and has now served its
purpose. These timestamps, which Emacs 26 and earlier treated as (HI
. LO) instead of as (TICKS . HZ), were never generated by Emacs
primitives, and in practice the warning seems to have been triggered
only by test cases designed to generate it.
* src/timefns.c (WARN_OBSOLETE_TIMESTAMPS): Remove.
All uses changed to assume it’s false.
(decode_lisp_time): Simplify by taking a bool instead of an
integer bitmask. All uses changed.
Paul Eggert [Thu, 16 Dec 2021 17:40:22 +0000 (09:40 -0800)]
Assume current-time-zone exists
* lisp/timezone.el (timezone-time-zone-from-absolute): Simplify by
assuming current-time-zone exists (true since Emacs 19.7 in 1993).
Paul Eggert [Thu, 16 Dec 2021 17:40:22 +0000 (09:40 -0800)]
Prefer format-time-string to current-time-zone
* lisp/org/ox-icalendar.el (org-icalendar-template)
(org-icalendar-export-current-agenda)
(org-icalendar--combine-files):
* lisp/time.el (display-time-update):
Prefer (format-time-string "%Z") to (cadr (current-time-zone)).
Paul Eggert [Thu, 16 Dec 2021 17:40:22 +0000 (09:40 -0800)]
Minor nndiary simplificatiuon with time zone
* lisp/gnus/nndiary.el (nndiary-last-occurrence)
(nndiary-next-occurrence): Simplify (and X (car X)) to (car X).
Paul Eggert [Thu, 16 Dec 2021 17:40:22 +0000 (09:40 -0800)]
Prefer format-time-string to current-time-string
* lisp/arc-mode.el (archive-unixdate):
* lisp/gnus/nnrss.el (nnrss-normalize-date):
* lisp/tar-mode.el (tar-clip-time-string):
Prefer format-time-string to reassembling current-time-string output.
Paul Eggert [Thu, 16 Dec 2021 17:40:21 +0000 (09:40 -0800)]
encode-time simplifications
* lisp/gnus/gnus-search.el (gnus-search-query-parse-date):
* lisp/net/soap-client.el (soap-decode-date-time):
* lisp/net/tramp-adb.el (tramp-adb-ls-output-time-less-p):
* lisp/org/ol.el (org-store-link):
* lisp/org/org-clock.el (org-clock-sum)
(org-clock-update-time-maybe):
* lisp/org/org-colview.el (org-colview-construct-allowed-dates):
* lisp/org/org-macro.el (org-macro--vc-modified-time):
* lisp/org/org-macs.el (org-2ft, org-matcher-time):
* lisp/org/org-table.el (org-table-eval-formula):
* lisp/org/org.el (org-read-date, org-display-custom-time)
(org-time-string-to-time, org-timestamp-change):
Prefer (encode-time L) to (apply #'encode-time L) where either will do.
* lisp/gnus/gnus-search.el (gnus-search-imap-handle-date):
* lisp/org/org-clock.el (org-clocktable-steps):
Prefer (encode-time S M ...) to (apply #'encode-time (list S M ...)).
Paul Eggert [Thu, 16 Dec 2021 17:40:21 +0000 (09:40 -0800)]
Fix icalendar time zone parsing glitch
* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
Use pcase instead of cl-case, as cl-macs might not be loaded.
Otherwise, a build complains “calendar/icalendar.el:618:57:
Warning: ‘90’ is a malformed function” and some
icalendar--decode-isodatetime tests fail. This fixes a bug
introduced in 2021-11-21T08:18:57Z!dick.r.chiang@gmail.com.
Paul Eggert [Thu, 16 Dec 2021 17:40:21 +0000 (09:40 -0800)]
Fix encode-time doc string
* src/timefns.c (Fencode_time): Fix incorrect doc string
that talks about FORM (which doesn’t exist) by copying
wording from the manual instead.
Juri Linkov [Thu, 16 Dec 2021 19:16:50 +0000 (21:16 +0200)]
* lisp/vc/vc-dispatcher.el (vc-command-messages): Add choice 'log'.
(vc-do-command): Don't display messages but only write them to the *Messages*
buffer when vc-command-messages is 'log' (bug#52518).
Eli Zaretskii [Thu, 16 Dec 2021 09:13:03 +0000 (11:13 +0200)]
Improve documentation of multisession variables
* doc/lispref/variables.texi (Multisession Variables): Improve
wording and markup, add indexing.
Lars Ingebrigtsen [Thu, 16 Dec 2021 07:05:37 +0000 (08:05 +0100)]
Update files times in multisesssion properly
* lisp/emacs-lisp/multisession.el
(multisession--backend-set-value): Make cached/external files
times match up.
Lars Ingebrigtsen [Thu, 16 Dec 2021 07:00:01 +0000 (08:00 +0100)]
Make the multisession files value read more resilient
* lisp/emacs-lisp/multisession.el
(multisession--update-file-value): Make more resilient towards errors.
Lars Ingebrigtsen [Thu, 16 Dec 2021 06:43:29 +0000 (07:43 +0100)]
Skip extension tests on hosts without the function
Lars Ingebrigtsen [Thu, 16 Dec 2021 06:23:52 +0000 (07:23 +0100)]
Make emoji--recent use multisession variables
* lisp/international/emoji.el (emoji--recent): Make into a
multisession variable.
(emoji-recent, emoji--recent-transient): Use it.
(emoji--add-recent): Update it.
Lars Ingebrigtsen [Thu, 16 Dec 2021 06:22:00 +0000 (07:22 +0100)]
Declare a couple more functions in multisession.el
* lisp/emacs-lisp/multisession.el: New file.
Lars Ingebrigtsen [Thu, 16 Dec 2021 06:19:58 +0000 (07:19 +0100)]
Add support for multisession variables
* doc/lispref/elisp.texi (Top): Add to menu.
(Top):
* doc/lispref/variables.texi (Variables): Ditto.
(Multisession Variables): Document multisession variables.
* lisp/emacs-lisp/multisession.el: New file.
Po Lu [Thu, 16 Dec 2021 06:12:25 +0000 (14:12 +0800)]
Require xwidget.el in `make-xwidget'
* src/xwidget.c (Fmake_xwidget): Require `xwidget'.
Stefan Kangas [Thu, 16 Dec 2021 05:31:48 +0000 (06:31 +0100)]
Merge from origin/emacs-28
1e578267fb Fix control buffer window height in 'ediff-setup-control-b...
Stefan Kangas [Thu, 16 Dec 2021 02:14:31 +0000 (03:14 +0100)]
Prefer command remapping in ses.el
* lisp/ses.el (ses-mode-print-map): Use command remapping instead of
substitute-key-definition.
Stefan Kangas [Wed, 15 Dec 2021 20:38:55 +0000 (21:38 +0100)]
Use defvar-keymap in hideif.el
* lisp/progmodes/hideif.el (hide-ifdef-mode-submap): Use
defvar-keymap. Use command remapping instead of
substitute-key-definition.
Michael Albinus [Wed, 15 Dec 2021 17:54:31 +0000 (18:54 +0100)]
Add errors in ert JUnit test reports
* lisp/emacs-lisp/ert.el (ert-write-junit-test-report)
(ert-write-junit-test-summary-report): Handle errors.
Martin Rudalics [Wed, 15 Dec 2021 17:53:49 +0000 (18:53 +0100)]
Fix control buffer window height in 'ediff-setup-control-buffer' (Bug#49277)
* lisp/vc/ediff-util.el (ediff-setup-control-buffer): Emulate
original 'shrink-window-if-larger-than-buffer' call by calling
'fit-window-to-buffer' with an appropriate maximum height
argument (Bug#49277).
Juri Linkov [Wed, 15 Dec 2021 17:17:48 +0000 (19:17 +0200)]
* lisp/outline.el (outline-minor-mode-use-buttons): Add :safe #'booleanp.
(outline-minor-mode-cycle, outline-minor-mode-highlight):
Replace `put safe-local-variable' with :safe tag.
Andrea Corallo [Wed, 15 Dec 2021 14:47:14 +0000 (15:47 +0100)]
Have 'dlopen' use RTLD_GLOBAL in 'dynlib_open'
* src/pdumper.c (dump_do_dump_relocation): Use 'dynlib_open_for_eln'
in place of 'dynlib_open'.
* src/dynlib.h (dynlib_open_for_eln): Declare it.
* src/dynlib.c (dynlib_open_for_eln): New function.
(dynlib_open): Add RTLD_GLOBAL.
* src/comp.c (Fnative_elisp_load): Use 'dynlib_open_for_eln' in place
of 'dynlib_open'.
Arash Esbati [Wed, 15 Dec 2021 11:10:05 +0000 (12:10 +0100)]
Recognize starred environments
* lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Add
missing starred environments from sidecap and rotating packages.
Stefan Kangas [Wed, 15 Dec 2021 05:30:41 +0000 (06:30 +0100)]
Merge from origin/emacs-28
7078f32b5b Fix crash when dumping charset_table with portable dumper ...
a4fcbf46a7 ; etc/NEWS: Move the note about Xref EIEIO change to the p...
f88c1d222f Remove maintainer comment from Emacs 28 module snippet.
# Conflicts:
# etc/NEWS
YAMAMOTO Mitsuharu [Wed, 15 Dec 2021 04:12:02 +0000 (13:12 +0900)]
Fix crash when dumping charset_table with portable dumper (Bug#52461)
* src/charset.h:
* src/charset.c (charset_table_used): Now extern.
* src/pdumper.c (dump_charset): Don't dump code_space_mask for unused
slots of charset_table.
Po Lu [Wed, 15 Dec 2021 02:34:51 +0000 (10:34 +0800)]
Prevent GDK from handling emulated button events
* src/xterm.c (handle_one_xevent): Drop emulated button events.
Po Lu [Wed, 15 Dec 2021 02:27:27 +0000 (10:27 +0800)]
Work around pixel scrolling issues when line numbers are displayed
* lisp/pixel-scroll.el (pixel-point-and-height-at-unseen-line):
Compare start position against line number display width
instead.
Dmitry Gutov [Wed, 15 Dec 2021 01:05:11 +0000 (04:05 +0300)]
; etc/NEWS: Move the note about Xref EIEIO change to the proper section
Dmitry Gutov [Tue, 14 Dec 2021 23:58:45 +0000 (02:58 +0300)]
project-kill-buffers-display-buffer-list: Fix :package-version value
* lisp/progmodes/project.el (project-kill-buffers-display-buffer-list):
Fix :package-version value.
Dmitry Gutov [Tue, 14 Dec 2021 23:57:20 +0000 (02:57 +0300)]
Add 'comint-mode' and 'change-log-mode' to project-kill-buffer-conditions
* lisp/progmodes/project.el (project-kill-buffer-conditions):
Add 'comint-mode' and 'change-log-mode' to the list (bug#52465).
Stefan Monnier [Tue, 14 Dec 2021 22:01:34 +0000 (17:01 -0500)]
eieio-compat.el: Move to lisp/obsolete
The file only contains obsolete definitions, so it really belongs in
`lisp/obsolete`. Moving it there will also signal a warning for those
people who run old `.elc` files using EIEIO and generated with
Emacs<25 and who otherwise might not know about the obsolescence of
some of the functions they use.
* lisp/emacs-lisp/eieio-compat.el: Move to ...
* lisp/obsolete/eieio-compat.el: ... here.
Stefan Kangas [Tue, 14 Dec 2021 19:19:32 +0000 (20:19 +0100)]
Prefer command remapping in allout.el
* lisp/allout.el (allout-compose-and-institute-keymap): Use command
remapping instead of substitute-key-definition.
Lars Ingebrigtsen [Tue, 14 Dec 2021 15:28:02 +0000 (16:28 +0100)]
Fix ert.texi error from previous change
* doc/misc/ert.texi (Running Tests in Batch Mode): Fix @r command.
Stefan Kangas [Tue, 14 Dec 2021 15:10:43 +0000 (16:10 +0100)]
* lisp/net/eudc.el (custom-menu-create): Remove unnecessary autoload.
Stefan Kangas [Tue, 14 Dec 2021 11:35:57 +0000 (12:35 +0100)]
Remove Emacs 21 compat code for command-remapping
* lisp/arc-mode.el (archive-mode-map):
* lisp/obsolete/iswitchb.el (iswitchb-global-map): Remove Emacs 21
compat code.
Michael Albinus [Tue, 14 Dec 2021 13:40:18 +0000 (14:40 +0100)]
Minor Tramp cleanup
* lisp/net/tramp.el (tramp-get-buffer-string): Simplify.
(tramp-lock-pid): Fix docstring.
Michael Albinus [Tue, 14 Dec 2021 13:39:53 +0000 (14:39 +0100)]
Explain JUnit test reports in ert doc
* doc/misc/ert.texi (Running Tests in Batch Mode): Explain
generation of JUnit test reports.
Stefan Kangas [Tue, 14 Dec 2021 11:27:57 +0000 (12:27 +0100)]
Use defvar-keymap in elisp-mode.el
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-map)
(elisp--dynlex-modeline-map, lisp-interaction-mode-map): Use
defvar-keymap.
Stefan Kangas [Tue, 14 Dec 2021 03:41:45 +0000 (04:41 +0100)]
Prefer command remapping in cperl-mode.el
* lisp/progmodes/cperl-mode.el (cperl-mode-map): Use command remapping
instead of substitute-key-definition.
Philipp Stephani [Tue, 14 Dec 2021 10:17:37 +0000 (11:17 +0100)]
Remove maintainer comment from Emacs 28 module snippet.
This is the same as
44c13eefe8d30841000a96d82f467fb8d222e365 on
master. We should also remove this comment on the release branch,
otherwise it ends up in the emacs-module.h shipped to users.
* src/module-env-28.h: Remove maintainer comment.
Lars Ingebrigtsen [Tue, 14 Dec 2021 08:29:06 +0000 (09:29 +0100)]
Only allow SQLite extensions from an allowlist
* src/sqlite.c (Fsqlite_load_extension): Only allow extensions
from an allowlist.
Stefan Kangas [Tue, 14 Dec 2021 05:31:37 +0000 (06:31 +0100)]
Merge from origin/emacs-28
3607508f3f Set calc-make-windows-dedicated to nil by default
9de8eec3bc * make-dist: Don't run "make --question info". (Bug#52322)
cea8deea72 ; * src/xdisp.c (move_it_vertically_backward): Clarify com...
6170c5036e Fix regression in help-mode prompt
# Conflicts:
# etc/NEWS
Stefan Kangas [Tue, 14 Dec 2021 02:38:11 +0000 (03:38 +0100)]
Set calc-make-windows-dedicated to nil by default
* lisp/calc/calc.el (calc-make-windows-dedicated):
Default to nil. (Bug#52016)
Stefan Kangas [Tue, 14 Dec 2021 02:08:37 +0000 (03:08 +0100)]
* make-dist: Don't run "make --question info". (Bug#52322)
Stefan Kangas [Tue, 14 Dec 2021 01:16:41 +0000 (02:16 +0100)]
completion.el: Make two compat aliases obsolete
* lisp/completion.el (cmpl-syntax-table, initialize-completions):
Make compat aliases obsolete.
Eli Zaretskii [Mon, 13 Dec 2021 19:02:38 +0000 (21:02 +0200)]
; * src/xdisp.c (move_it_vertically_backward): Clarify commentary.
Philipp Stephani [Mon, 13 Dec 2021 17:28:13 +0000 (18:28 +0100)]
; Add a FIXME regarding the GMP memory allocation functions.
* src/bignum.c (init_bignum): Add a warning about the technically
incorrect use of the GMP memory allocation functions.
Michael Albinus [Mon, 13 Dec 2021 15:09:56 +0000 (16:09 +0100)]
ERT can generate JUnit test reports
* .gitignore: Add test/**/*.xml.
* admin/notes/emba: Mention JUnit test report.
* etc/NEWS: ERT can generate JUnit test reports.
* lisp/emacs-lisp/ert.el (xml-escape-string): Autoload.
(ert-write-junit-test-report)
(ert-write-junit-test-summary-report): New defuns.
(ert-run-tests-batch, ert-summarize-tests-batch-and-exit): Call them.
* test/Makefile.in (clean): Remove *.xml.
* test/README: Mention $EMACS_TEST_JUNIT_REPORT environment variable.
* test/infra/Makefile.in ($(FILE)): Generate header commentary.
(clean): Remove.
* test/infra/gitlab-ci.yml (variables): Set EMACS_TEST_JUNIT_REPORT.
(.job-template): Use it in script and after_script.
(.build-template, .gnustep-template, .filenotify-gio-template)
(.native-comp-template): Adapt rules.
(.test-template): Trigger JUnit test report.
* test/infra/test-jobs.yml: Regenerate.
Stefan Kangas [Mon, 13 Dec 2021 14:57:54 +0000 (15:57 +0100)]
Make alias obsolete in xscheme.el
* lisp/progmodes/xscheme.el (xscheme-yank-previous-send): Make
obsolete.
Stefan Kangas [Mon, 13 Dec 2021 14:57:04 +0000 (15:57 +0100)]
Make two aliases obsolete in lisp/international/robin.el
* lisp/international/robin.el (robin-transliterate-region)
(robin-transliterate-buffer): Make obsolete.
Stefan Monnier [Mon, 13 Dec 2021 14:31:49 +0000 (09:31 -0500)]
* lisp/emacs-lisp/generator.el (iter-yield): Simplify
Stefan Monnier [Mon, 13 Dec 2021 14:29:42 +0000 (09:29 -0500)]
lisp/pcomplete.el: Mark obsolete some unused functions
* lisp/pcomplete.el (pcomplete-match-beginning, pcomplete-match-end):
Mark as obsolete.
(pcomplete-opt, pcomplete--here, pcomplete--help): Use lexical-binding.
Eli Zaretskii [Mon, 13 Dec 2021 13:51:38 +0000 (15:51 +0200)]
Fix regression in help-mode prompt
* lisp/help-macro.el (make-help-screen): Restore SPC and DEL in
prompt. Reported by Colin Baxter <m43cap@yandex.com>.
Eli Zaretskii [Mon, 13 Dec 2021 13:35:31 +0000 (15:35 +0200)]
* src/sqlite.c (Fsqlite_open, Fsqlite_load_extension): Use ENCODE_FILE.
Stefan Kangas [Mon, 13 Dec 2021 13:14:19 +0000 (14:14 +0100)]
* lisp/ielm.el (ielm-map): Use defvar-keymap.
Stefan Kangas [Mon, 13 Dec 2021 01:54:32 +0000 (02:54 +0100)]
* lisp/ielm.el (ielm-header): Show key binding for describe-mode.
Stefan Kangas [Mon, 13 Dec 2021 05:30:58 +0000 (06:30 +0100)]
Merge from origin/emacs-28
9bd3f78645 Make `M-x run-python' select the window again
62139aeb42 * lisp/tab-bar.el (tab-bar-switch-to-last-tab): Add 'abs' ...
ea8422204f * make-dist (manifest): Filter out msdos/autogen/* files.
b5354e989d Rewrite the "Quitting Windows" section of Emacs Lisp Refer...
64ea1a178c Fix eshell for systems that do not have subprocesses
Lars Ingebrigtsen [Mon, 13 Dec 2021 05:08:09 +0000 (06:08 +0100)]
Add a new `sqlite-pragma' command
* doc/lispref/text.texi (Database): Document it.
* src/sqlite.c (Fsqlite_pragma): Add a separate command for
pragmas. These can be done via sqlite-execute, but it's less
confusing to have them in a separate command.
Lars Ingebrigtsen [Mon, 13 Dec 2021 04:38:29 +0000 (05:38 +0100)]
Introduce a new sqlite-locked-error
* src/sqlite.c (Fsqlite_execute): Use it.
(syms_of_sqlite): Introduce a new error for locked databases so
that we can catch that condition on higher levels.
Kévin Le Gouguec [Mon, 13 Dec 2021 04:17:00 +0000 (05:17 +0100)]
Make `M-x run-python' select the window again
Interactively, we want M-x run-python to focus the interpreter buffer.
The previous code failed in two ways:
- the call to 'display-buffer' was not reached if an interpreter
was already running,
- set-buffer is ineffectual if the interpreter's window is not
selected: once Emacs returns to the command loop, the current buffer
will revert back to what the selected window contains.
* lisp/progmodes/python.el (python-shell-make-comint): Handle the SHOW
argument regardless of whether an interpreter buffer exists, and use
pop-to-buffer to select the window.
(run-python): Delegate buffer management to
'python-shell-make-comint'.
* test/lisp/progmodes/python-tests.el
(python-tests--run-python-selects-window): Rename from
'python-tests--bug31398', and adjust assertions (bug#52380).
Po Lu [Mon, 13 Dec 2021 01:59:39 +0000 (09:59 +0800)]
Work around pixel scrolling issues when org-indent-mode is on
* lisp/pixel-scroll.el (pixel-point-and-height-at-unseen-line):
Subtract line height of window start when it doesn't appear
at the 0th pixel of the line.
Po Lu [Mon, 13 Dec 2021 01:17:55 +0000 (09:17 +0800)]
Stop using XI focus events on non-GTK builds
* src/xfns.c (setup_xi_event_mask): Stop setting XI_FocusIn
and XI_FocusOut.
* src/xterm.c (x_detect_focus_change) <GenericEvent>: Don't
handle XI_FocusIn and XI_FocusOut events when not on GTK.
Juri Linkov [Sun, 12 Dec 2021 19:58:53 +0000 (21:58 +0200)]
; * etc/NEWS: Add 'char-fold-override' (bug#52394).
Eli Zaretskii [Sun, 12 Dec 2021 19:34:57 +0000 (21:34 +0200)]
* lisp/char-fold.el (char-fold-override): Doc fix.
Juri Linkov [Sun, 12 Dec 2021 19:11:47 +0000 (21:11 +0200)]
* lisp/char-fold.el (char-fold-override): New defcustom (bug#52394).
(char-fold--default-override): New defconst with the default value nil.
(char-fold--previous): Add char-fold--default-override.
(char-fold--make-table): Don't populate the table with default chars
when char-fold-override or char-fold--default-override is non-nil.
(char-fold-update-table): Add char-fold--default-override.
Juri Linkov [Sun, 12 Dec 2021 18:25:54 +0000 (20:25 +0200)]
* lisp/tab-bar.el (tab-bar-switch-to-last-tab): Add 'abs' for precautions.
https://lists.gnu.org/archive/html/emacs-devel/2021-11/msg01149.html
Eli Zaretskii [Sun, 12 Dec 2021 18:20:51 +0000 (20:20 +0200)]
* make-dist (manifest): Filter out msdos/autogen/* files.
Juri Linkov [Sun, 12 Dec 2021 17:48:40 +0000 (19:48 +0200)]
* lisp/startup.el: Let-bind browse-url-browser-function instead of setq-local
* lisp/startup.el (fancy-startup-text, fancy-about-text)
(fancy-splash-head, normal-about-screen): Let-bind browse-url-browser-function
to eww-browse-url around functions that use browse-url.
(fancy-startup-screen, fancy-about-screen): Don't set buffer-local
browse-url-browser-function.
https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg00939.html
Po Lu [Sun, 12 Dec 2021 13:33:56 +0000 (21:33 +0800)]
Fix overline display over stretch glyphs with box on NS
* src/nsterm.m (ns_dumpglyphs_stretch): Don't draw text
decorations when there is a box.
(ns_draw_glyph_string): Draw text decorations after the box
in stretch glyph that have one.
Po Lu [Sun, 12 Dec 2021 13:05:35 +0000 (21:05 +0800)]
Fix overline display when there is a box
* src/w32term.c (w32_draw_glyph_string):
* src/xterm.c (x_draw_glyph_string): Draw box before any text
decorations.
Richard Stallman [Wed, 8 Dec 2021 04:35:31 +0000 (23:35 -0500)]
Rewrite the "Quitting Windows" section of Emacs Lisp Reference
* doc/lispref/windows.texi (Quitting Windows): Rewrite for
clarity. (Bug#52328)
Lars Ingebrigtsen [Sun, 12 Dec 2021 10:45:11 +0000 (11:45 +0100)]
Really fix the etags TEX parsing
* lib-src/etags.c (TEX_decode_env): Re-fix off-by-one parsing of
TEXTAGS environment variable (bug#52438).
Lars Ingebrigtsen [Sun, 12 Dec 2021 10:26:22 +0000 (11:26 +0100)]
Fix an off-by-one error in TEX parsing in etags
* lib-src/etags.c (TEX_decode_env): Fix off-by-one parsing of
TEXTAGS environment variable (bug#52438). Based on a patch by
David Fussner <dfussner@googlemail.com> and amended by Andreas
Schwab <schwab@linux-m68k.org>.
Lars Ingebrigtsen [Sun, 12 Dec 2021 09:22:52 +0000 (10:22 +0100)]
Check for support in sqlite-mode-open-file
* lisp/sqlite-mode.el (sqlite-mode-open-file): Error out earlier
when we don't have sqlite support.
Stefan Kangas [Sun, 12 Dec 2021 08:12:14 +0000 (09:12 +0100)]
eshell: Prefer octal number for file modes
* lisp/eshell/esh-util.el (eshell-private-file-modes)
(eshell-private-directory-modes): Prefer octal number for file modes.
Stefan Kangas [Sun, 12 Dec 2021 08:04:11 +0000 (09:04 +0100)]
; * lisp/emacs-lisp/shortdoc.el (keymaps): Fix typo.
Po Lu [Sun, 12 Dec 2021 07:50:28 +0000 (15:50 +0800)]
Fix eshell for systems that do not have subprocesses
* lisp/eshell/esh-cmd.el (eshell-eval-command): Use
`eshell-processp' instead of `processp'.
Lars Ingebrigtsen [Sun, 12 Dec 2021 06:22:44 +0000 (07:22 +0100)]
Make with-sqlite-transaction mode code efficient
* lisp/sqlite.el (with-sqlite-transaction): Rewrite to only
include BODY once.
Po Lu [Sun, 12 Dec 2021 06:20:18 +0000 (14:20 +0800)]
* src/xterm.c (x_detect_focus_change): Fix XI2 focus on GTK builds.
Po Lu [Sun, 12 Dec 2021 06:13:05 +0000 (14:13 +0800)]
Fix last change
* src/xterm.c (x_detect_focus_change): Test against
FOCUS_EXPLICIT.
dick r. chiang [Sun, 12 Dec 2021 06:13:37 +0000 (07:13 +0100)]
Fix some compilation warnings in sqlite-less builds
* test/src/sqlite-tests.el:
* lisp/sqlite-mode.el: Avoid compilation warnings in builds
without libsqlite (bug#52440).