]> git.eshelyaron.com Git - emacs.git/log
emacs.git
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.

3 years agoFix hang when deleting a pipe process
Eli Zaretskii [Sat, 11 Dec 2021 18:15:53 +0000 (20:15 +0200)]
Fix hang when deleting a pipe process

* src/w32.h (FILE_DONT_CLOSE): New flag.
* src/w32.c (sys_close): Don't close descriptors used to read from
the pipe process.  Leave the FILE_DONT_CLOSE flag set in the
descriptor's info.
(register_aux_fd): Set the FILE_DONT_CLOSE flag in the
descriptor's info.
* src/w32proc.c (reader_thread): When exiting normally, close the
file descriptor used to read from a pipe process.  (Bug#52414)

3 years agoAvoid undefined behavior in 'send-process-region' (Bug#52369).
Philipp Stephani [Sat, 11 Dec 2021 12:51:34 +0000 (13:51 +0100)]
Avoid undefined behavior in 'send-process-region' (Bug#52369).

* src/process.c (send_process): Signal an error if the file descriptor
has already been closed.

3 years agoUpdate to Org 9.5.1-25-g9ca3bc
Kyle Meyer [Sat, 11 Dec 2021 17:31:13 +0000 (12:31 -0500)]
Update to Org 9.5.1-25-g9ca3bc

3 years agoFix the DJGPP port
Po Lu [Fri, 10 Dec 2021 13:36:59 +0000 (21:36 +0800)]
Fix the DJGPP port

* config.bat:
* msdos/sed1v2.inp:
* msdos/sed2v2.inp:
* msdos/sed3v2.inp:
* msdos/sedlibmk.inp: Update for Emacs 28.
* msdos/langinfo.h: New file.

* lisp/loadup.el: Use correct path to temacs when dumping on
MS-DOS.
* src/callproc.c (environ) [MSDOS]: New declaration.
(child_setup, emacs_spawn): Update MS-DOS parts for Emacs 28.
* src/fileio.c (Fcopy_file): Don't use copy_file_range on
MS-DOS.
* src/msdos.c (initialize_msdos_display): Add
`defined_color_hook'.
(openat, fchmodat, futimens, utimensat): New functions.

* src/msdos.h (FRAME_X_DISPLAY): New macro.
* src/process.c: Make some more things conditional on
subprocess support.
(PIPECONN_P, PIPECONN1_P) [!subprocesses]: New placeholder
macros.
(Fnum_processors): Return 1 on MSDOS.
(open_channel_for_module): Avoid subprocess specific code
on MSDOS.

3 years agoImprove documentation of sqlite3 support
Eli Zaretskii [Sat, 11 Dec 2021 11:04:55 +0000 (13:04 +0200)]
Improve documentation of sqlite3 support

* lisp/sqlite-mode.el (sqlite-mode-list-data):
* configure.ac (HAVE_SQLITE3): Fix typos.

* doc/lispref/text.texi (Database): Improve and clarify wording,
add index entries, mention all the function arguments.

* etc/NEWS: Minor wording changes of the sqlite entries.

3 years agoUse window height to determine wheel event pixel deltas on XInput 2
Po Lu [Sat, 11 Dec 2021 10:30:01 +0000 (18:30 +0800)]
Use window height to determine wheel event pixel deltas on XInput 2

* src/xterm.c (handle_one_xevent): Use window height instead of
frame height to determine the height of a scroll unit.

3 years agoPrevent hang when exiting Emacs on Haiku
Po Lu [Sat, 11 Dec 2021 10:07:48 +0000 (10:07 +0000)]
Prevent hang when exiting Emacs on Haiku

* src/haiku_support.cc (be_app_quit): Don't wait for app
thread to also quit.

3 years ago* src/sqlite.c (row_to_value): Call 'make_unibyte_string'.
Eli Zaretskii [Sat, 11 Dec 2021 10:05:54 +0000 (12:05 +0200)]
* src/sqlite.c (row_to_value): Call 'make_unibyte_string'.

3 years agoPacify unused variable warning in xterm.c
Basil L. Contovounesios [Sat, 11 Dec 2021 09:47:55 +0000 (11:47 +0200)]
Pacify unused variable warning in xterm.c

* src/xterm.c (handle_one_xevent) <GenericEvent> [HAVE_XINPUT2]: The
variable any_stop_p is used only when HAVE_XWIDGETS, so guard its
declaration accordingly to pacify GCC's -Wunused-variable warning.

3 years agoMinor cleanups in sqlite.c
Eli Zaretskii [Sat, 11 Dec 2021 09:54:44 +0000 (11:54 +0200)]
Minor cleanups in sqlite.c

* src/sqlite.c (Fsqlite_open): Signal an error if
'init_sqlite_functions' fails.  Encode FILE using UTF-8.
(Fsqlite_close, Fsqlite_execute, Fsqlite_select)
(Fsqlite_load_extension): Doc fixes.
(Fsqlite_load_extension): Encode MODULE using UTF-8.

3 years agoMinor cleanups of sqlite3 code on MS-Windows
Eli Zaretskii [Sat, 11 Dec 2021 09:26:04 +0000 (11:26 +0200)]
Minor cleanups of sqlite3 code on MS-Windows

* src/sqlite.c (sqlite_loaded_p): Function deleted: not used
anymore.
(init_sqlite_functions) [WINDOWSNT]: Use a static 'bool' variable
to indicate if sqlite3 DLL was successfully loaded.
(Fsqlite_available_p) [WINDOWSNT]: Just call
'init_sqlite_functions' if Vlibrary_cache doesn't mention
'sqlite3'.

3 years agoFix a typo in sqlite.c
Eli Zaretskii [Sat, 11 Dec 2021 08:51:09 +0000 (10:51 +0200)]
Fix a typo in sqlite.c

* src/sqlite.c (Fsqlite_select): Fix a typo in arguments to
make_sqlite.

3 years agoAdd confirmation to sqlite-mode-delete
Lars Ingebrigtsen [Sat, 11 Dec 2021 08:28:57 +0000 (09:28 +0100)]
Add confirmation to sqlite-mode-delete

* lisp/sqlite-mode.el (sqlite-mode-delete): Add confirmation.

3 years agoDon't leave open cursors when listing sqlite data
Lars Ingebrigtsen [Sat, 11 Dec 2021 08:02:52 +0000 (09:02 +0100)]
Don't leave open cursors when listing sqlite data

* lisp/sqlite-mode.el (sqlite-mode-list-data)
(sqlite--mode--list-data): Don't leave open cursor (because they
block other processes from deleting stuff).
(sqlite-mode-delete): Adjust to new layout.

3 years agoAdd FIXME comment
Lars Ingebrigtsen [Sat, 11 Dec 2021 07:18:02 +0000 (08:18 +0100)]
Add FIXME comment

* lisp/sqlite-mode.el (sqlite-mode-delete): New command.
(sqlite--mode--list-data, sqlite-mode-list-data): Adjust to new
command.

3 years agoAdd an sqlite-mode-delete command
Lars Ingebrigtsen [Sat, 11 Dec 2021 07:11:10 +0000 (08:11 +0100)]
Add an sqlite-mode-delete command

* lisp/sqlite-mode.el (sqlite-mode-delete): New command.
(sqlite--mode--list-data, sqlite-mode-list-data): Adjust to new
command.

3 years agoFix Fsqlite_finalize book-keeping
Lars Ingebrigtsen [Sat, 11 Dec 2021 06:47:34 +0000 (07:47 +0100)]
Fix Fsqlite_finalize book-keeping

* src/sqlite.c (Fsqlite_finalize): Mark the object as dead.

3 years ago; * etc/NEWS: Fix wording in recent entry.
Stefan Kangas [Sat, 11 Dec 2021 06:10:02 +0000 (07:10 +0100)]
; * etc/NEWS: Fix wording in recent entry.

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

5708da48d1 Revert "Make `M-x run-python' select the window again"
aa2872a127 Make `M-x run-python' select the window again
c8e19b3a84 Don't bug out on certain empty elements with ids

3 years agoImprove sqlite-mode--tablify tables
Lars Ingebrigtsen [Sat, 11 Dec 2021 05:50:58 +0000 (06:50 +0100)]
Improve sqlite-mode--tablify tables

* lisp/sqlite-mode.el (sqlite-mode--tablify): Tweak column widths
and sanitize newlines.

3 years agoCheck whether the sqlite supports sqlite3_load_extension
Lars Ingebrigtsen [Sat, 11 Dec 2021 05:40:01 +0000 (06:40 +0100)]
Check whether the sqlite supports sqlite3_load_extension

* configure.ac: Check for sqlite3_load_extension, which is
apparently missing in some versions.
* src/sqlite.c: Add guards.
(Fsqlite_load_extension): Ifdef out on systems that doesn't have it.

3 years agoFix sqlite-mode.el build problems
Lars Ingebrigtsen [Sat, 11 Dec 2021 05:31:42 +0000 (06:31 +0100)]
Fix sqlite-mode.el build problems

* lisp/sqlite-mode.el (sqlite-mode-list-tables): Fix function
rename usage.

3 years agoFix some sqlite doc string typos
Lars Ingebrigtsen [Sat, 11 Dec 2021 05:26:37 +0000 (06:26 +0100)]
Fix some sqlite doc string typos

* src/sqlite.c (Fsqlite_load_extension, Fsqlite_more_p): Fix typos
in doc strings.

3 years agoAdd a new mode for examining sqlite files
Lars Ingebrigtsen [Sat, 11 Dec 2021 05:23:57 +0000 (06:23 +0100)]
Add a new mode for examining sqlite files

* lisp/sqlite-mode.el: New file.

3 years agoFix comment in heading
Lars Ingebrigtsen [Sat, 11 Dec 2021 04:22:42 +0000 (05:22 +0100)]
Fix comment in heading

3 years agoAdd NEWS entry for sqlite
Lars Ingebrigtsen [Sat, 11 Dec 2021 03:57:22 +0000 (04:57 +0100)]
Add NEWS entry for sqlite

3 years agoAdd sqlite3 support to Emacs
Lars Ingebrigtsen [Sat, 11 Dec 2021 03:55:57 +0000 (04:55 +0100)]
Add sqlite3 support to Emacs

* configure.ac: Add check for the sqlite library.
* doc/lispref/text.texi (Database): Document it.

* lisp/sqlite.el: New file.

* lisp/term/w32-win.el (dynamic-library-alist): Add a mapping.

* src/Makefile.in (SQLITE3_LIBS): Add the libraries.

* src/alloc.c (union emacs_align_type): Add a Lisp_Sqlite struct.

* src/data.c (Ftype_of): Add sqlite.

* src/emacs.c (main): Load the syms.

* src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN): Add PVEC_SQLITE.
(GCALIGNED_STRUCT): New struct to keep data for sqlite database
objects and statement objects.
(SQLITEP, SQLITE, CHECK_SQLITE, XSQLITE): New macros for accessing
the objects.

* src/pdumper.c (dump_vectorlike): Update hash.
(dump_vectorlike): Don't dump it.

* src/print.c (print_vectorlike): Add a printer for the sqlite
object.

* src/sqlite.c: New file.

* test/src/sqlite-tests.el: Add tests.

3 years agoFix bibtex-biblatex-entry-alist sorting when using latex
Lars Ingebrigtsen [Sat, 11 Dec 2021 03:16:00 +0000 (04:16 +0100)]
Fix bibtex-biblatex-entry-alist sorting when using latex

* lisp/textmodes/bibtex.el (bibtex-biblatex-entry-alist): Sort
PhdThesis and TechReport correctly when using the latex variant
(bug#52354).

3 years ago* etc/TODO: Entry about converting to defvar-keymap.
Stefan Kangas [Fri, 10 Dec 2021 14:47:09 +0000 (15:47 +0100)]
* etc/TODO: Entry about converting to defvar-keymap.

3 years ago; * lisp/dired.el: Remove code commented out since 2000.
Stefan Kangas [Fri, 10 Dec 2021 14:39:23 +0000 (15:39 +0100)]
; * lisp/dired.el: Remove code commented out since 2000.

3 years agoUse defvar-keymap for package-menu-mode-map
Stefan Kangas [Fri, 10 Dec 2021 14:33:54 +0000 (15:33 +0100)]
Use defvar-keymap for package-menu-mode-map

* lisp/emacs-lisp/package.el (package-menu-mode-map): Use
defvar-keymap.

3 years ago; * etc/NEWS: Improve recently added entry.
Stefan Kangas [Fri, 10 Dec 2021 13:11:22 +0000 (14:11 +0100)]
; * etc/NEWS: Improve recently added entry.