Commit graph

141813 commits

Author SHA1 Message Date
Andrea Corallo
d73e64076e Store function documentations in a hash table.
* src/pdumper.c (dump_subr): Update Lisp_Subr hash.
	(dump_subr): Update for new compilation unit layout.
	(dump_vectorlike): Update pvec_type hash.

	* src/lisp.h (struct Lisp_Subr): Remove 'native_doc' index.
	(DEFUN): Update macro for new compilation unit
	layout.

	* src/doc.c (Fdocumentation): Update for new compilation unit
	layout.

	* src/comp.h (struct Lisp_Native_Comp_Unit):
	Add 'data_fdoc_h' field.

	* src/comp.c (TEXT_FDOC_SYM): New macro.
	(emit_ctxt_code): Emit function documentations.
	(load_comp_unit): Load function documentation.
	(Fcomp__register_subr): Rename parameter.
	(Fcomp__register_subr): Update for new compilation unit
	layout.

	* src/alloc.c (mark_object): Update for new compilation unit
	layout.
	(syms_of_alloc): Likewise.

	* lisp/emacs-lisp/comp.el (comp-ctxt): Add doc-index-h slot.
	(comp-emit-for-top-level): Emit doc index as 'comp--register-subr'
	doc parameter.
2020-04-25 19:55:39 +01:00
Andrea Corallo
9c4c0af89d * lisp/emacs-lisp/comp.el (comp-run-async-workers): Use `clrhash'. 2020-04-25 19:55:40 +01:00
Andrea Corallo
c984a53b4e Merge remote-tracking branch 'savannah/master' into HEAD 2020-04-25 15:13:18 +01:00
Andrea Corallo
bab36619fb Fix deferred-compilation for double compilation (bug#40838).
* lisp/emacs-lisp/comp.el (native-compile-async): Prevent double
	compilation (bug#40838).
2020-04-25 15:12:37 +01:00
Andrea Corallo
e208de9d25 Store ongoing compilations processes as hash table.
* lisp/emacs-lisp/comp.el (comp-async-processes): Rename as
	`comp-async-compilations'.
	(comp-async-runnings): Make use as `comp-async-compilations'.
	(comp-run-async-workers): Likewise.
2020-04-25 15:12:37 +01:00
Eli Zaretskii
f7748ad682 Fix GDI+ image loading by file name
Without a call to image_find_image, we can get a file name that
is relative to data-directory/images/, or a file name that
starts with "~/", in which case w32_load_image would fail.
* src/image.c (native_image_load): Call image_find_image_file to
resolve and encode the image file name.
* src/w32image.c (w32_load_image): No need to encode the file
name, as it's already encoded by native_image_load.
2020-04-25 16:37:46 +03:00
Igor Saprykin
2a3a0a843f Remove unused variable from ftfont.c
* src/ftfont.c (ftfont_lookup_cache): Eliminate unnecessary variable.

Copyright-paperwork-exempt: yes
2020-04-25 12:31:43 +03:00
Eli Zaretskii
9dd4ff6e9d Fix two fringe bitmaps
* src/fringe.c (question_mark_bits, exclamation_mark_bits): Fix
the numerical values.  (Bug#40805)
2020-04-25 12:11:57 +03:00
Simen Heggestøyl
bd0a8783a3 Use lexical-binding in po.el and add tests
* lisp/textmodes/po.el: Use lexical-binding.

* test/lisp/textmodes/po-tests.el: New file with tests for po.el.
2020-04-25 09:12:24 +02:00
Stefan Kangas
e8493e32f8 Use lexical-binding in forms.el example files
* etc/forms/forms-d2.el:
* etc/forms/forms-pass.el: Use lexical-binding.
2020-04-25 07:59:28 +02:00
Stefan Kangas
89441bddea ; * test/lisp/international/mule-util-tests.el: Fix typos. 2020-04-25 00:39:46 +02:00
Stefan Kangas
3335dcca1f Use lexical-binding for international tests
* test/lisp/international/mule-util-tests.el:
* test/lisp/international/ccl-tests.el: Use lexical-binding.
2020-04-24 20:38:47 +02:00
Stefan Kangas
fe15dd9dea Use lexical-binding for all net tests
* test/lisp/net/dbus-tests.el:
* test/lisp/net/gnutls-tests.el:
* test/lisp/net/newsticker-tests.el:
* test/lisp/net/puny-tests.el:
* test/lisp/net/rfc2104-tests.el: Use lexical-binding.
2020-04-24 20:26:36 +02:00
Stefan Kangas
1fab12efd4 Use lexical-binding for textmodes tests
* test/lisp/textmodes/mhtml-mode-tests.el:
* test/lisp/textmodes/sgml-mode-tests.el: Use lexical-binding.
2020-04-24 20:26:36 +02:00
Stefan Kangas
fe3c7158f5 Use lexical-binding in most url tests
* test/lisp/url/url-auth-tests.el:
* test/lisp/url/url-expand-tests.el:
* test/lisp/url/url-parse-tests.el:
* test/lisp/url/url-tramp-tests.el:
* test/lisp/url/url-util-tests.el: Use lexical-binding.
2020-04-24 20:26:36 +02:00
Stefan Kangas
c52f8863a5 Use lexical-binding in most src tests
* test/src/charset-tests.el:
* test/src/chartab-tests.el:
* test/src/cmds-tests.el:
* test/src/coding-tests.el (top-level)
(generate-ascii-file, generate-mostly-nonascii-file):
* test/src/doc-tests.el:
* test/src/floatfns-tests.el:
* test/src/font-tests.el:
* test/src/keymap-tests.el:
* test/src/process-tests.el (top-level)
(process-test-sentinel-wait-function-working-p)
(process-test-stderr-buffer, process-test-stderr-filter):
* test/src/textprop-tests.el:
* test/src/thread-tests.el:
* test/src/timefns-tests.el:
* test/src/undo-tests.el:
* test/src/xml-tests.el: Use lexical-binding.
2020-04-24 18:25:13 +02:00
Alan Mackenzie
85fb942733 Fix bug #40766, an error in edebug spec handling
Also remove some debris.

* lisp/emacs-lisp/edebug.el (edebug-spec): Move the entry for edebug-spec-list
to before that for vector in the &or form.  This assures that in a dotted list
of vectors, that list gets handled correctly by edebug-spec-list rather than
wrongly by (vector ...).
(def-edebug-spec &key): Remove, since it is ill formed and superfluous.
2020-04-24 15:51:43 +00:00
Andrea Corallo
e527d1ab28 Merge remote-tracking branch 'savannah/master' into HEAD 2020-04-24 16:51:00 +01:00
Andrea Corallo
3ac3ba22be * lisp/subr.el (called-interactively-p): Fix for native code bug#40694. 2020-04-24 19:24:07 +01:00
Andrea Corallo
c120dbc73a * lisp/subr.el (subr-primitive-p): New inline function. 2020-04-24 19:23:34 +01:00
Andrea Corallo
b380451c6a * lisp/emacs-lisp/comp.el (comp-run-async-workers): Fix non late load. 2020-04-24 19:02:55 +01:00
Stefan Kangas
367b55980f * etc/edt-user.el: Use lexical-binding. 2020-04-24 11:48:25 +02:00
Stefan Kangas
01dd659383 * lisp/kermit.el: Use lexical-binding. 2020-04-24 11:48:25 +02:00
Michael Albinus
bef617d82f * test/lisp/net/tramp-tests.el
(tramp-test32-shell-command-dont-erase-buffer): Tag it :unstable.
2020-04-24 11:25:50 +02:00
Eli Zaretskii
5ab80286f6 Fix display of composed text with :box face attribute
* src/xdisp.c (get_next_display_element): For a composition on a
display or overlay string, set the end_of_box_run_p flag if the
string ends at the last character included in the composition.
(fill_gstring_glyph_string): Fix the way the width of a gstring
glyph string is calculated: use the values calculated in
gui_produce_glyphs, since the latter adjusts the width due to the
face's ':box' attribute.
* src/xterm.c (x_draw_glyph_string_box):
* src/w32term.c (w32_draw_glyph_string_box):
* src/nsterm.m (ns_dumpglyphs_box_or_relief): Support automatic
compositions, which have the right_box_line_p flag set on the last
glyph produced from the composition.  (Bug#40687)

* src/w32term.c (w32_compute_glyph_string_overhangs): Update to be
consistent with xterm.c in its support of automatic composition
glyph strings.
* src/dispextern.h (enum glyph_type): More accurate commentary.
* src/.gdbinit (pgx): Display slice.img members only for image
glyphs.
2020-04-23 18:40:42 +03:00
Andrea Corallo
81389d5f2d * lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): Add comp.eln 2020-04-23 08:54:46 +01:00
Andrea Corallo
301cf0d278 Merge remote-tracking branch 'savannah/master' into HEAD 2020-04-23 08:41:15 +01:00
Paul Eggert
7b15cc3ebb text-char-description minor cleanup
* src/keymap.c (push_text_char_description): Omit useless code.
(Ftext_char_description): Minor code cleanup, inspired by
seeing an incorrect comment about MAX_MULTIBYTE_LENGTH’s value.
2020-04-22 19:00:58 -07:00
Paul Eggert
023ff119fb Tweak multibyte parsing loops
* src/character.c (parse_str_as_multibyte, str_as_multibyte):
Let the fast loop run a little longer, fixing what appears
to be an off-by-1 performance nit.
2020-04-22 19:00:58 -07:00
Michael Albinus
ab214143bb Support old SMB1 protocol in Tramp
* doc/misc/tramp.texi (Frequently Asked Questions):
Describe `tramp-smb-options'.

* lisp/net/tramp-smb.el (tramp-smb-conf): Fix docstring.
(tramp-smb-options): New defcustom.
(tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl)
(tramp-smb-handle-set-file-acl, tramp-smb-maybe-open-connection):
Use it.
2020-04-22 11:16:31 +02:00
Michael Albinus
f212daf0a9 Fix recently introduced error in `tramp-sh-handle-vc-registered'
* lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Improve test for
`vc-handled-backends'.  (Bug#40670)
2020-04-21 13:33:24 +02:00
Paul Eggert
c88a3be808 Fix string-to-multibyte overlong sequence bug
* src/character.h (MULTIBYTE_LENGTH, MULTIBYTE_LENGTH_NO_CHECK):
Remove, replacing with ...
(multibyte_length): ... this new function.  All callers changed.
The new function rejects overlong multibyte forms.
* test/src/buffer-tests.el (buffer-multibyte-overlong-sequences):
New test.
2020-04-20 22:31:11 -07:00
Juri Linkov
856d9378a4 * lisp/hi-lock.el (hi-lock--regexps-at-point): Use proper-list-p, not consp. 2020-04-21 02:48:22 +03:00
Eric Abrahamsen
ec24871932 Remove unnecessary lambda quoting
* lisp/gnus/nntp.el (nntp-open-connection): Buffer has lexical-binding
turned on.
2020-04-20 11:25:40 -07:00
Eli Zaretskii
60b97442f7 Remove workaround from w32image.c
* src/w32image.c (w32_load_image): Remove a workaround for a bug
that is not needed anymore.  This error was happening because
GDI+ functions were called as CDECL, not as STDCALL.
2020-04-20 19:29:58 +03:00
Glenn Morris
477b9eaf45 Merge from origin/emacs-27
05089a4d65 (origin/emacs-27) Tweak wording re constant variables
a1040861f1 Tweak setcar-related wording
751510f865 * lisp/image-mode.el: Add prefix key 's' and reduce depend...
9261a219ec * doc/emacs/windows.texi (Window Convenience): Decribe mor...
e1d42da0d6 Fix mutability glitches reported by Drew Adams
5805df74f5 Improve mutability doc
dca35b31d0 Improve mutability documentation
81e7d7f111 Document that quoting yields constants
5734339f40 * doc/lispref/keymaps.texi (Extended Menu Items, Easy Menu...
14a570afae Remove #' and function quoting from lambda forms in manual
d5ec18c66b * src/regex-emacs.c (re_match_2_internal): Rework comment ...
4df8a61117 Add new node "Image Mode" to Emacs Manual.
d7d5ee6c57 ; Fix a typo in cmdargs.texi (bug#40701)
5e9db48fbe * doc/lispref/display.texi (Customizing Bitmaps): Fix typo.
eebfb72c90 Document constant vs mutable objects better
6c187ed6b0 Improve documentation of 'sort-lines'
52288f4b66 Mention 'spam-stat-process-directory-age' in the documenta...
067b070598 ; Fix some typos and doc issues (bug#40695)

# Conflicts:
#	etc/NEWS
2020-04-20 07:50:19 -07:00
Stefan Kangas
80f04b5d7c * lisp/cdl.el: Use lexical binding. 2020-04-20 09:08:09 +02:00
Stefan Kangas
18d0905898 Silence byte-compiler after my previous commit
* lisp/autoarg.el (autoarg-kp-digits): Silence byte-compiler.
2020-04-20 07:08:30 +02:00
Paul Eggert
05089a4d65 Tweak wording re constant variables
* doc/lispref/objects.texi (Constants and Mutability): Tweak.
Problem reported by Michael Heerdegen (Bug#40693#44).
2020-04-19 19:53:40 -07:00
Paul Eggert
a1040861f1 Tweak setcar-related wording
* doc/lispref/eval.texi (Self-Evaluating Forms):
Change “primitives” to “operations”.
Problem reported by Štěpán Němec in:
https://lists.gnu.org/r/emacs-devel/2020-04/msg01146.html
2020-04-19 16:47:17 -07:00
Juri Linkov
751510f865 * lisp/image-mode.el: Add prefix key 's' and reduce dependency on ImageMagick.
* lisp/image-mode.el (image-mode-map): Regroup existing keybindings and
add new ones with the prefix key 's'.
Remove condition ":visible (eq image-type 'imagemagick)" from menu.
(image-toggle-display-image): Don't rotate again after user rotated manually.
(image-transform-check-size): Remove check for imagemagick.
(image-transform-properties, image-transform-set-scale)
(image-transform-fit-to-height, image-transform-fit-to-width)
(image-transform-set-rotation, image-transform-reset):
Remove mentions of ImageMagick from docstrings since these commands
now work without ImageMagick.
2020-04-20 02:07:43 +03:00
Juri Linkov
9261a219ec * doc/emacs/windows.texi (Window Convenience): Decribe more windmove features.
* doc/emacs/windows.texi (Window Convenience): Add descriptions of
windmove-display-default-keybindings,
windmove-delete-default-keybindings,
windmove-swap-states-in-direction.

* etc/NEWS: Regroup to move some parts closer to related sections.
2020-04-20 01:57:32 +03:00
Paul Eggert
e1d42da0d6 Fix mutability glitches reported by Drew Adams
See Bug#40693#32.
* doc/lispref/eval.texi (Self-Evaluating Forms, Backquote):
Say that these yield constant conses, vectors and strings,
not constant symbols.
* doc/lispref/objects.texi (Constants and Mutability): Say that an
attempt to modify a constant variable signals an error, instead of
saying that it has undefined behavior.
2020-04-19 15:12:05 -07:00
Paul Eggert
5805df74f5 Improve mutability doc
See Eli Zaretskii’s suggestions (Bug#40671#33).
* doc/lispref/lists.texi (Setcar, Setcdr, Rearrangement):
* doc/lispref/sequences.texi (Sequence Functions)
(Array Functions):
Add commentary to examples.
* doc/lispref/lists.texi (Sets And Lists):
Revert change to delq example.
2020-04-19 13:29:57 -07:00
Paul Eggert
dca35b31d0 Improve mutability documentation
This change was inspired by comments from Štěpán Němec in:
https://lists.gnu.org/r/emacs-devel/2020-04/msg01063.html
* doc/lispref/objects.texi (Lisp Data Types): Mention mutability.
(Constants and mutability): New section.
* doc/lispintro/emacs-lisp-intro.texi (Lists diagrammed)
(Indent Tabs Mode): Improve wording.
* doc/lispref/eval.texi (Self-Evaluating Forms):
Say that they return constants.
* doc/lispref/lists.texi (Sets And Lists):
Fix memql mistake/confusion that I recently introduced.
2020-04-19 13:29:57 -07:00
Paul Eggert
81e7d7f111 Document that quoting yields constants
* doc/lispref/eval.texi (Quoting, Backquote):
Mention that quoted expressions yield a constant (Bug#40693).
2020-04-19 13:29:57 -07:00
Eli Zaretskii
423089d18b Rework how GDI+ functions are loaded dynamically in w32image.c
* src/w32image.c: Define correct WINGDIPAPI typedefs for GDI+
functions.  We cannot use DEF_DLL_FN, since that is for functions
with C calling conventions, whereas GDI+ functions are __stdcall.
(gdiplus_init): Load functions from DLL manually, not via
LOAD_DLL_FN, as the latter is for __cdecl functions.
(w32_frame_delay): Initialize delay with a negative value, as zero
is a valid delay.
2020-04-19 21:09:20 +03:00
Eli Zaretskii
3f8b771da9 Don't use Gnulib's explicit_bzero on MS-Windows
This is a preventive change, since Gnulib was recently changed
its explicit_bzero to call SecureZeroMemory on MS-Windows,
disregarding systems older than XP, which didn't have it.

* src/w32.c (explicit_bzero): New function.

* nt/mingw-cfg.site (ac_cv_func_explicit_bzero): Avoid using the
Gnulib replacement for explicit_bzero.
* nt/inc/ms-w32.h (explicit_bzero): Add prototype.
2020-04-19 19:38:53 +03:00
Stefan Monnier
5734339f40 * doc/lispref/keymaps.texi (Extended Menu Items, Easy Menu) <:key-sequence>:
Clarify the documentation further
2020-04-19 11:19:03 -04:00
Mattias Engdegård
14a570afae Remove #' and function quoting from lambda forms in manual
* doc/lispref/abbrevs.texi (Abbrev Expansion):
* doc/lispref/backups.texi (Reverting):
* doc/lispref/functions.texi (Mapping Functions):
* doc/lispref/help.texi (Accessing Documentation):
* doc/lispref/sequences.texi (Char-Tables):
* doc/lispref/syntax.texi (Categories):
* doc/lispref/text.texi (Sorting):
Remove function quoting from lambda in examples where it still occurs,
since examples should follow our best style and be consistent.
2020-04-19 13:19:37 +02:00