1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-30 02:33:03 -07:00
Commit graph

155589 commits

Author SHA1 Message Date
Mattias Engdegård
2d5d0fa1b4 Remove generation of old bytecodes for catch/unwind
* lisp/emacs-lisp/bytecomp.el (byte-compile--use-old-handlers)
(byte-compile-condition-case, byte-compile-condition-case--old):
Remove.
(byte-compile-condition-case--new):
Rename to byte-compile-condition-case.
(byte-compile-catch, byte-compile-unwind-protect):
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyze-form):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Simplify.
2020-01-05 11:19:52 +01:00
Martin Rudalics
448df8fec7 Improve doc-strings of 'quit-window' and 'quit-restore-window' (Bug#38819)
* lisp/window.el (quit-restore-window, quit-window): Make
doc-strings more consistent; add references to corresponding
section of the Elisp manual (Bug#38819).
2020-01-05 09:59:01 +01:00
Paul Eggert
e086a9fddc * lisp/emacs-lisp/bindat.el: Remove obsolete comment. 2020-01-04 19:14:50 -08:00
Paul Eggert
505ed064a0 ; Some that->than fixes. 2020-01-04 19:13:23 -08:00
Paul Eggert
39101173fe * lisp/arc-mode.el (archive-zip-summarize): Remove unused local. 2020-01-04 19:09:14 -08:00
Paul Eggert
32bd911f82 Simplify x-dnd.el due to bignums
* lisp/x-dnd.el (x-dnd-get-drop-x-y, x-dnd-version-from-flags)
(x-dnd-more-than-3-from-flags, x-dnd-get-motif-value)
(x-dnd-motif-value-to-list): Do not worry about pairs of
16-bit numbers, as the C code no longer generates them;
it generates bignums now, when needed on 32-bit platforms.
2020-01-04 19:07:48 -08:00
Stephen Gildea
7f01dfca56 Fix MH-E bug #470: Show buffer discards text properties
* lisp/mh-e/mh-show.el (mh-display-msg): reset font lock and set
major mode *before* formatting message content.  This changes lets
fonts work when the Show buffer is reused for a new message.
(mh-show-mode): no longer set buffer-read-only; that is better done
by mh-display-msg after setting all content.
2020-01-04 15:30:53 -08:00
Stefan Monnier
5669878d7f * lisp/gnus/gnus-start.el (gnus-group-change-level): Simplify
* lisp/gnus/gnus-group.el (gnus-group-unsubscribe-group): Simplify.
2020-01-04 18:07:23 -05:00
Paul Eggert
add2b2da72 Fix bug in recent allocate_string_data patch
Reported by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2020-01/msg00098.html
* src/alloc.c (allocate_string_data): If the string is small and
there is not enough room in the current block, clear the string if
CLEARIT.
2020-01-04 13:34:06 -08:00
Paul Eggert
f95a2b8301 Fix some broken conditional forms
Problem reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2020-01/msg00088.html
* lisp/cedet/ede/cpp-root.el (ede-create-lots-of-projects-under-dir):
Remove this quick hack, which didn’t do anything anyway.
* lisp/cedet/ede/pconf.el (ede-proj-configure-test-required-file):
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col):
* lisp/net/nsm.el (nsm-check-tls-connection):
Use ‘when’ rather than bypassing it.  This doesn’t affect behavior
and is better style.
* lisp/cedet/srecode/semantic.el (srecode-semantic-handle-:tag):
Fix typo that suppressed an error.
* lisp/filesets.el (filesets-run-cmd): Fix typo that mishandled spacing.
* lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data):
Fix typo that caused “GROUP has older different info in the cloud
as of DATE, update it here?” prompt result to always be treated as
“yes”.
* lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Simplify,
since smime-encrypt-buffer signals error on failure.
* lisp/international/titdic-cnv.el (tsang-quick-converter): Simplify.
The conversion of this file to utf-8-emacs in
2019-01-08T02:18:40Z!monnier@iro.umontreal.ca removed the
distinction between Big5 and CNS fulltitles in the generated docstring.
* lisp/org/org-agenda.el (org-agenda-show-and-scroll-up):
* lisp/textmodes/table.el (table--generate-source-cell-contents):
Simplify by removing useless code.
* lisp/org/ox-odt.el (org-odt--format-timestamp): Fix typo that
always output time-of-day even when the timestamp lacked it.
2020-01-04 11:18:13 -08:00
Michael Albinus
28727444f1 Fix a scoping error in tramp-sudoedit.el
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-system-info):
Fix a scoping error.
2020-01-04 14:00:39 +01:00
Philipp Stephani
9bbf175398 Improve 'noexcept' support in C++17.
In C++17, 'noexcept' is part of a function type and may be used in
typedef declarations, see
https://en.cppreference.com/w/cpp/language/noexcept_spec.

* src/emacs-module.h.in: Mark function pointer type aliases as
'noexcept' in C++17.
2020-01-04 13:54:29 +01:00
Mattias Engdegård
8e3868125c Generate fewer useless conditionals in cl-loop
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause):
Don't generate a condition if both branches are the same, which
is the common case.
2020-01-04 13:14:32 +01:00
Philipp Stephani
fb38d367f4 Make module function finalizer test less brittle.
* test/src/emacs-module-tests.el (module/function-finalizer): Create
100 leaked functions to increase the probability that at least one
gets garbage-collected.
2020-01-04 12:34:10 +01:00
Mattias Engdegård
6cbdd048bd * lisp/autorevert.el (auto-revert-notify-handler): Fix bracketing. 2020-01-04 11:45:47 +01:00
Martin Rudalics
076dd1f69a Fix typo in 'window_box_height'
* src/xdisp.c (window_box_height): Add missing 'else'.
2020-01-04 09:43:13 +01:00
Philipp Stephani
52db14b0dc emacs-module.h: Don't generate invalid C++11 code.
* src/emacs-module.h.in: Remove 'noexcept' from function pointer type
aliases.  It is illegal there in C++11, see
https://en.cppreference.com/w/cpp/language/noexcept_spec.
2020-01-04 03:21:32 +01:00
Paul Eggert
cadf985cb6 Let the OS clear new large strings of NUL
On my platform, this sped up (make-string 4000000000 0) from 2.5
to 0.015 seconds (not that people should want to do this much :-).
* src/alloc.c (allocate_string_data): New arg CLEARIT.
Callers changed.
(Fmake_string): Prefer calloc to malloc+memset when allocating a
large string of NUL bytes.
(make_clear_string): New function.
(make_uninit_string): Use it.
(make_clear_multibyte_string): New function.
(make_uninit_multibyte_string): Use it.
2020-01-03 17:15:44 -08:00
Glenn Morris
98ab70bc51 * src/alloc.c (cleanup_vector): Fix --without-modules builds. 2020-01-03 14:26:02 -08:00
Mattias Engdegård
e1b3fd3beb Install g++ for CEDET tests
* .gitlab-ci.yml (before_script): Add g++.
Backport from master.
2020-01-03 22:26:28 +01:00
Michael Albinus
05c5bf4d38 * lisp/net/tramp.el: Fix typos. 2020-01-03 19:33:10 +01:00
Philipp Stephani
48ffef5ef4 Implement finalizers for module functions (Bug#30373)
* src/module-env-28.h: Add new module environment functions to
module environment for Emacs 28.

* src/emacs-module.h.in: Document that 'emacs_finalizer' also works
for function finalizers.

* src/emacs-module.c (CHECK_MODULE_FUNCTION): New function.
(struct Lisp_Module_Function): Add finalizer data member.
(module_make_function): Initialize finalizer.
(module_get_function_finalizer)
(module_set_function_finalizer): New module environment functions.
(module_finalize_function): New function.
(initialize_environment): Initialize new environment functions.

* src/alloc.c (cleanup_vector): Call potential module function
finalizer during garbage collection.

* test/data/emacs-module/mod-test.c (signal_error): New helper
function.
(memory_full): Use it.
(finalizer): New example function finalizer.
(Fmod_test_make_function_with_finalizer)
(Fmod_test_function_finalizer_calls): New test module functions.
(emacs_module_init): Define them.

* test/src/emacs-module-tests.el (module/function-finalizer): New unit
test.

* doc/lispref/internals.texi (Module Functions): Document new
functionality.
(Module Misc): Move description of 'emacs_finalizer' type to 'Module
Functions' node, and add a reference to it.

* etc/NEWS: Mention new functionality.
2020-01-03 19:24:10 +01:00
Andrea Corallo
a59cc78fcb Simplify configure.ac removing unnecessary empty parameters 2020-01-03 17:47:09 +01:00
Andrea Corallo
5a228fefb6 Prevent false warning emission 2020-01-03 17:47:09 +01:00
Eli Zaretskii
2b6d702e5d Fix the MS-Windows build broken by "Let the OS clear large new objects"
* src/w32heap.c (sys_calloc): New function, implements calloc
in terms of our private implementations of malloc.

* nt/inc/ms-w32.h (calloc): Redirect to sys_calloc.
2020-01-03 18:27:35 +02:00
Glenn Morris
fa7148fd5a Merge from origin/emacs-27
06364316e0 (origin/emacs-27) * lisp/net/tramp.el (tramp-file-local-na...
d3884f50e0 Adapt commentary in Tramp persistency file
2d82f5a44e Change Tramp version to 2.4.3.27.1
09b65707cc ; * src/dispnew.c (adjust_glyph_matrix): Fix last change.
37f9182b68 Fix redisplay when mode-line-format changes mode-line's he...
1420906b81 * src/fileio.c (Fwrite_region): Improve the doc string.
01dfcb7c87 Fix removal of frame decorations on Windows (Bug#38705)
2020-01-03 07:50:15 -08:00
Glenn Morris
2ab5bc323b ; Merge from origin/emacs-27
The following commit was skipped:

338154240e Fix compilation with GTK versions older than 3
2020-01-03 07:50:15 -08:00
Glenn Morris
6654ace8df Merge from origin/emacs-27
071483b6f5 Fix reverting customizations
43203d5068 * lisp/loadup.el: Set max-specpdl-size to 1800 when loadin...
fab3674b36 Revert "Raise default max-specpdl-size value"
42f66aa502 ; Fix NEWS.24
bb9402e6e9 Raise default max-specpdl-size value
2020-01-03 07:50:15 -08:00
Glenn Morris
ef40d523c4 ; Merge from origin/emacs-27
The following commit was skipped:

4011b179ff (emacs-27) ; Auto-commit of loaddefs files.
2020-01-03 07:50:15 -08:00
Glenn Morris
00ddb49408 Merge from origin/emacs-27
138e9051c7 Update distribution documentation
2020-01-03 07:50:15 -08:00
Mattias Engdegård
a022bc3574 * .gitlab-ci.yml (before_script): Install g++ for CEDET tests. 2020-01-03 14:08:23 +01:00
Michael Albinus
06364316e0 * lisp/net/tramp.el (tramp-file-local-name): New defun. (Bug#34343) 2020-01-03 13:20:32 +01:00
Michael Albinus
d3884f50e0 Adapt commentary in Tramp persistency file
* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
Adapt commentary in `tramp-persistency-file-name'.
2020-01-03 13:19:24 +01:00
Michael Albinus
2d82f5a44e Change Tramp version to 2.4.3.27.1
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.4.3.27.1".
(customize-package-emacs-version-alist): Add Tramp version
integrated in Emacs 27.1.
2020-01-03 13:18:52 +01:00
Eli Zaretskii
09b65707cc ; * src/dispnew.c (adjust_glyph_matrix): Fix last change. 2020-01-03 10:19:23 +02:00
Eli Zaretskii
37f9182b68 Fix redisplay when mode-line-format changes mode-line's height
* lisp/frame.el (top-level): Add mode-line-format,
tab-line-format, and header-line-format to the list of variables
that should trigger an immediate redisplay of the buffer's
window.  This fixes redisplay of windows when the mode line
changes its height.

* src/xdisp.c (window_box_height): Use the window's
mode_line_height, tab_line_height, and header_line_height fields
in preference to CURRENT_MODE_LINE_HEIGHT,
CURRENT_TAB_LINE_HEIGHT, and CURRENT_HEADER_LINE_HEIGHT,
respectively.  This fixes display of vertical scroll bar when the
height of the window's mode line changes.
* src/dispnew.c (adjust_glyph_matrix): When resizing a window's
matrix, reset the mode_line_p flag of the previous mode-line row,
so that the window_box_height, CURRENT_MODE_LINE_HEIGHT, and their
ilk won't use stale info.  (Bug#38828)
2020-01-03 09:28:35 +02:00
Paul Eggert
dd0e4d4e16 Let the OS clear large new objects
Prefer calloc to malloc+memset when allocating large zeroed objects.
This avoids page thrashing when (make-vector 1000000000 nil)
allocates a large nil vector, as Emacs need not touch the
vector’s pages.  This wins on platforms like GNU/Linux where
calloc can fiddle with page tables to create a block of memory
that is lazily zeroed.
* src/alloc.c (lisp_malloc, lmalloc, allocate_vectorlike):
New arg CLEARIT to tell callee whether to use malloc or calloc.
All callers changed.
(allocate_clear_vector, allocate_nil_vector): New functions.
* src/alloc.c (xzalloc, make_vector):
* src/lisp.h (make_nil_vector):
Prefer calloc to malloc + memset(...,0,...).
2020-01-02 18:11:25 -08:00
Andrea Corallo
2239cc81b7 Extend find-library-suffixes and find-library-name for eln support 2020-01-02 23:01:42 +01:00
Andrea Corallo
25332bb0d3 Fix bytecomp message when native compiling 2020-01-02 23:01:38 +01:00
Andrea Corallo
3039c55642 Do not block sw interrupts in batch mode (don't ignore C-c) 2020-01-02 23:01:33 +01:00
Andrea Corallo
5252b59b2b Better compile-clean and bootstrap-clean target definition 2020-01-02 23:01:28 +01:00
Eli Zaretskii
1420906b81 * src/fileio.c (Fwrite_region): Improve the doc string. 2020-01-02 19:34:30 +02:00
Martin Rudalics
01dfcb7c87 Fix removal of frame decorations on Windows (Bug#38705)
* src/w32fns.c (w32_set_undecorated): Actualize
f->output_data.w32->dwStyle for subsequent calls of
AdjustWindowRect (Bug#38705).
* src/w32term.h (struct w32_output): Add comment for
dwstyle slot.
2020-01-02 09:35:49 +01:00
Eli Zaretskii
338154240e Fix compilation with GTK versions older than 3
* src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
so that GTK builds which need this function will compile it.
Reported by John <jpff@codemist.co.uk>.

(cherry picked from commit d36adb544d)
2020-01-01 21:16:48 +02:00
Eli Zaretskii
d36adb544d Fix compilation with GTK versions older than 3
* src/xfns.c (x_get_net_workarea): Change a recently moved #ifndef
so that GTK builds which need this function will compile it.
Reported by John <jpff@codemist.co.uk>.
2020-01-01 19:55:35 +02:00
Eli Zaretskii
071483b6f5 Fix reverting customizations
* lisp/custom.el (custom-push-theme): Don't use setcar to modify
the recorded value of PROP; instead, cons a new property list by
deleting the old value and adding the new one.  (Bug#38812)
2020-01-01 19:49:57 +02:00
Mattias Engdegård
43203d5068 * lisp/loadup.el: Set max-specpdl-size to 1800 when loading cl-generic.el. 2020-01-01 17:38:42 +01:00
Mattias Engdegård
fab3674b36 Revert "Raise default max-specpdl-size value"
This reverts commit bb9402e6e9.
2020-01-01 17:38:41 +01:00
Eli Zaretskii
42f66aa502 ; Fix NEWS.24
* etc/NEWS.24: Minor retroactive wording changes and additions to
fix the version shown by Help commands.  (Bug#38844)
2020-01-01 18:30:58 +02:00
Mattias Engdegård
bb9402e6e9 Raise default max-specpdl-size value
Occasionally, loading cl-generic.el from source requires
max_specpdl_size > 1600 when bootstrapping, and thus fails.
In any case we are very close to the limit.

* src/eval.c (init_eval_once): Raise max_specpdl_size to 1800.
* doc/lispref/variables.texi (Local Variables): Update docs.
2020-01-01 16:43:58 +01:00