]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoFix selection of fonts that don't have regular weight
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)

3 years agoFix parallel build with multisession.el
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.

3 years agoAdd support for touchscreen events generated by XInput 2
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.

3 years agoKill eshell-mode project buffers too
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).

3 years ago* src/timefns.c: Minor comment fix.
Paul Eggert [Thu, 16 Dec 2021 23:35:32 +0000 (15:35 -0800)]
* src/timefns.c: Minor comment fix.

3 years ago; * lisp/vc/vc-dispatcher.el (vc-command-messages): Doc fix.
Eli Zaretskii [Thu, 16 Dec 2021 20:01:06 +0000 (22:01 +0200)]
; * lisp/vc/vc-dispatcher.el (vc-command-messages): Doc fix.

3 years agoSimplify epa-ks--parse-buffer timestamp handling
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.

3 years agoOmit temporary warning re obsolete timestamps
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.

3 years agoAssume current-time-zone exists
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).

3 years agoPrefer format-time-string to current-time-zone
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)).

3 years agoMinor nndiary simplificatiuon with 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).

3 years agoPrefer format-time-string to current-time-string
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.

3 years agoencode-time simplifications
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 ...)).

3 years agoFix icalendar time zone parsing glitch
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.

3 years agoFix encode-time doc string
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.

3 years ago* lisp/vc/vc-dispatcher.el (vc-command-messages): Add choice 'log'.
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).

3 years agoImprove documentation of multisession variables
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.

3 years agoUpdate files times in multisesssion properly
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.

3 years agoMake the multisession files value read more resilient
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.

3 years agoSkip extension tests on hosts without the function
Lars Ingebrigtsen [Thu, 16 Dec 2021 06:43:29 +0000 (07:43 +0100)]
Skip extension tests on hosts without the function

3 years agoMake emoji--recent use multisession variables
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.

3 years agoDeclare a couple more functions in multisession.el
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.

3 years agoAdd support for multisession variables
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.

3 years agoRequire xwidget.el in `make-xwidget'
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'.

3 years agoMerge from origin/emacs-28
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...

3 years agoPrefer command remapping in ses.el
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.

3 years agoUse defvar-keymap in hideif.el
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.

3 years agoAdd errors in ert JUnit test reports
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.

3 years agoFix control buffer window height in 'ediff-setup-control-buffer' (Bug#49277)
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).

3 years ago* lisp/outline.el (outline-minor-mode-use-buttons): Add :safe #'booleanp.
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.

3 years agoHave 'dlopen' use RTLD_GLOBAL in 'dynlib_open'
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'.

3 years agoRecognize starred environments
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.

3 years agoMerge from origin/emacs-28
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

3 years agoFix crash when dumping charset_table with portable dumper (Bug#52461)
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.

3 years agoPrevent GDK from handling emulated button events
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.

3 years agoWork around pixel scrolling issues when line numbers are displayed
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.

3 years ago; etc/NEWS: Move the note about Xref EIEIO change to the proper section
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

3 years agoproject-kill-buffers-display-buffer-list: Fix :package-version value
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.

3 years agoAdd 'comint-mode' and 'change-log-mode' to project-kill-buffer-conditions
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).

3 years agoeieio-compat.el: Move to lisp/obsolete
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.

3 years agoPrefer command remapping in allout.el
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.

3 years agoFix ert.texi error from previous change
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.

3 years ago* lisp/net/eudc.el (custom-menu-create): Remove unnecessary autoload.
Stefan Kangas [Tue, 14 Dec 2021 15:10:43 +0000 (16:10 +0100)]
* lisp/net/eudc.el (custom-menu-create): Remove unnecessary autoload.

3 years agoRemove Emacs 21 compat code for command-remapping
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.

3 years agoMinor Tramp cleanup
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.

3 years agoExplain JUnit test reports in ert doc
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.

3 years agoUse defvar-keymap in elisp-mode.el
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.

3 years agoPrefer command remapping in cperl-mode.el
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.

3 years agoRemove maintainer comment from Emacs 28 module snippet.
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.

3 years agoOnly allow SQLite extensions from an allowlist
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.

3 years agoMerge from origin/emacs-28
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

3 years agoSet calc-make-windows-dedicated to nil by default
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)

3 years ago* make-dist: Don't run "make --question info". (Bug#52322)
Stefan Kangas [Tue, 14 Dec 2021 02:08:37 +0000 (03:08 +0100)]
* make-dist: Don't run "make --question info".  (Bug#52322)

3 years agocompletion.el: Make two compat aliases obsolete
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.

3 years ago; * src/xdisp.c (move_it_vertically_backward): Clarify commentary.
Eli Zaretskii [Mon, 13 Dec 2021 19:02:38 +0000 (21:02 +0200)]
; * src/xdisp.c (move_it_vertically_backward): Clarify commentary.

3 years ago; Add a FIXME regarding the GMP memory allocation functions.
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.

3 years agoERT can generate JUnit test reports
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.

3 years agoMake alias obsolete in xscheme.el
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.

3 years agoMake two aliases obsolete in lisp/international/robin.el
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.

3 years ago* lisp/emacs-lisp/generator.el (iter-yield): Simplify
Stefan Monnier [Mon, 13 Dec 2021 14:31:49 +0000 (09:31 -0500)]
* lisp/emacs-lisp/generator.el (iter-yield): Simplify

3 years agolisp/pcomplete.el: Mark obsolete some unused functions
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.

3 years agoFix regression in help-mode prompt
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>.

3 years ago* src/sqlite.c (Fsqlite_open, Fsqlite_load_extension): Use ENCODE_FILE.
Eli Zaretskii [Mon, 13 Dec 2021 13:35:31 +0000 (15:35 +0200)]
* src/sqlite.c (Fsqlite_open, Fsqlite_load_extension): Use ENCODE_FILE.

3 years ago* lisp/ielm.el (ielm-map): Use defvar-keymap.
Stefan Kangas [Mon, 13 Dec 2021 13:14:19 +0000 (14:14 +0100)]
* lisp/ielm.el (ielm-map): Use defvar-keymap.

3 years ago* lisp/ielm.el (ielm-header): Show key binding for describe-mode.
Stefan Kangas [Mon, 13 Dec 2021 01:54:32 +0000 (02:54 +0100)]
* lisp/ielm.el (ielm-header): Show key binding for describe-mode.

3 years agoMerge from origin/emacs-28
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

3 years agoAdd a new `sqlite-pragma' command
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.

3 years agoIntroduce a new sqlite-locked-error
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.

3 years agoMake `M-x run-python' select the window again
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).

3 years agoWork around pixel scrolling issues when org-indent-mode is on
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.

3 years agoStop using XI focus events on non-GTK builds
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.

3 years ago; * etc/NEWS: Add 'char-fold-override' (bug#52394).
Juri Linkov [Sun, 12 Dec 2021 19:58:53 +0000 (21:58 +0200)]
; * etc/NEWS: Add 'char-fold-override' (bug#52394).

3 years ago* lisp/char-fold.el (char-fold-override): Doc fix.
Eli Zaretskii [Sun, 12 Dec 2021 19:34:57 +0000 (21:34 +0200)]
* lisp/char-fold.el (char-fold-override): Doc fix.

3 years ago* lisp/char-fold.el (char-fold-override): New defcustom (bug#52394).
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.

3 years ago* lisp/tab-bar.el (tab-bar-switch-to-last-tab): Add 'abs' for precautions.
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

3 years ago* make-dist (manifest): Filter out msdos/autogen/* files.
Eli Zaretskii [Sun, 12 Dec 2021 18:20:51 +0000 (20:20 +0200)]
* make-dist (manifest): Filter out msdos/autogen/* files.

3 years ago* lisp/startup.el: Let-bind browse-url-browser-function instead of setq-local
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

3 years agoFix overline display over stretch glyphs with box on NS
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.

3 years agoFix overline display when there is a box
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.

3 years agoRewrite the "Quitting Windows" section of Emacs Lisp Reference
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)

3 years agoReally fix the etags TEX parsing
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).

3 years agoFix an off-by-one error in TEX parsing in etags
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>.

3 years agoCheck for support in sqlite-mode-open-file
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.

3 years agoeshell: Prefer octal number for file modes
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.

3 years ago; * lisp/emacs-lisp/shortdoc.el (keymaps): Fix typo.
Stefan Kangas [Sun, 12 Dec 2021 08:04:11 +0000 (09:04 +0100)]
; * lisp/emacs-lisp/shortdoc.el (keymaps): Fix typo.

3 years agoFix eshell for systems that do not have subprocesses
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'.

3 years agoMake with-sqlite-transaction mode code efficient
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.

3 years ago* src/xterm.c (x_detect_focus_change): Fix XI2 focus on GTK builds.
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.

3 years agoFix last change
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.

3 years agoFix some compilation warnings in sqlite-less builds
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).

3 years agoFix frame focus on X Toolkit builds with XInput 2
Po Lu [Sun, 12 Dec 2021 06:00:09 +0000 (14:00 +0800)]
Fix frame focus on X Toolkit builds with XInput 2

* src/xterm.c (x_detect_focus_change): Allow focus_state to not
be FOCUS_EXPLICIT when handling FocusIn and FocusOut events.

3 years agoUpdate bovine/gcc-tests for newer Macos versions
Lars Ingebrigtsen [Sun, 12 Dec 2021 05:57:02 +0000 (06:57 +0100)]
Update bovine/gcc-tests for newer Macos versions

* test/lisp/cedet/semantic/bovine/gcc-tests.el
(semantic-gcc-test-output-parser-this-machine): Update gcc->llvm
detection to Macos Monterey.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Sun, 12 Dec 2021 05:31:07 +0000 (06:31 +0100)]
Merge from origin/emacs-28

8a0734329a Avoid undefined behavior in 'send-process-region' (Bug#523...
30dd5c9acc Update to Org 9.5.1-25-g9ca3bc
a374849926 Fix the DJGPP port

3 years agoTweak erroring in sqlite-mode-delete
Lars Ingebrigtsen [Sun, 12 Dec 2021 04:55:35 +0000 (05:55 +0100)]
Tweak erroring in sqlite-mode-delete

* lisp/sqlite-mode.el (sqlite-mode-delete): Use user-error instead
of error for user-level stuff.

3 years agoMake sqlite-mode-list-tables work on older sqlite versions
Lars Ingebrigtsen [Sun, 12 Dec 2021 04:41:07 +0000 (05:41 +0100)]
Make sqlite-mode-list-tables work on older sqlite versions

* lisp/sqlite-mode.el (sqlite-mode-list-tables): Use sqlite_master
instead of sqlite_schema, since the former name is the historical
name and is available in all sqlite3 versions:
https://sqlite.org/schematab.html

3 years agoClear precision scroll interpolation when direction changes
Po Lu [Sun, 12 Dec 2021 02:54:50 +0000 (10:54 +0800)]
Clear precision scroll interpolation when direction changes

* lisp/pixel-scroll.el (pixel-scroll-precision-interpolate):
Clear scroll interpolation when direction changes.

3 years agoFix drawing overlines on top of stretch glyphs when there is a box
Po Lu [Sun, 12 Dec 2021 01:17:00 +0000 (01:17 +0000)]
Fix drawing overlines on top of stretch glyphs when there is a box

* src/haikuterm.c (haiku_draw_string_box): Also draw text
decorations if the clipping is to be set.
(haiku_draw_glyph_string): Only draw text decorations if
the box will not be drawn with clipping.

3 years agoConstant-propagate access to captured variables
Mattias Engdegård [Sat, 11 Dec 2021 21:11:08 +0000 (22:11 +0100)]
Constant-propagate access to captured variables

* lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p):
Treat (internal-get-closed-var N) as constants for propagation
purposes, because that is effectively what such forms will be compiled
to.  This allows for the elimination of some lexical variables.

* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.

3 years agoReimplement gnus-thread-header in Lisp
Mattias Engdegård [Sat, 11 Dec 2021 20:59:13 +0000 (21:59 +0100)]
Reimplement gnus-thread-header in Lisp

* lisp/gnus/gnus-sum.el (gnus-thread-header):
Replace lovingly hand-crafted assembler code with plain Lisp.
With lexical binding the difference is unlikely to be detectable.

3 years ago; * lisp/subr.el (start-process-shell-command): Add missing period.
Philipp Stephani [Sat, 11 Dec 2021 18:33:50 +0000 (19:33 +0100)]
; * lisp/subr.el (start-process-shell-command): Add missing period.