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).
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.
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.
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
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.
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
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.
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.
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.
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.
Philipp Stephani [Sat, 11 Dec 2021 18:33:50 +0000 (19:33 +0100)]
; * lisp/subr.el (start-process-shell-command): Add missing period.
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)
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.
Kyle Meyer [Sat, 11 Dec 2021 17:31:13 +0000 (12:31 -0500)]
Update to Org 9.5.1-25-g9ca3bc
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.
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.