Commit graph

41716 commits

Author SHA1 Message Date
Lars Ingebrigtsen
c61bfe0a3a Mention image caching in the `image-size' doc string
* src/image.c (Fimage_size): Mention that this function caches
images, and what to do about that (bug#33275).
2019-09-21 10:16:10 +02:00
Lars Ingebrigtsen
321175434a Mention how to listen to all interfaces in make-network-process
* src/process.c (Fmake_network_process): Mention how to listen to
all interfaces (bug#34617).
2019-09-21 09:58:13 +02:00
Stefan Kangas
6d50010b34 Recommend against SHA-1 and MD5 for security
* doc/lispref/text.texi (Checksum/Hash):
* src/fns.c (Fmd5, Fsecure_hash):
* lisp/subr.el (sha1): Doc fix to recommend against SHA-1 and MD5 for
security-related applications, since they are not collision
resistant.  (Bug#37420)
2019-09-20 20:47:47 +02:00
Lars Ingebrigtsen
b8e9baac9a Allow `process-contact' not to block
* doc/lispref/processes.texi (Process Information): Document it.

* lisp/simple.el (list-processes--refresh): Don't wait for contact
information for non-setup processes.

* src/process.c (Fprocess_contact): Take an optional parameter to
avoid blocking (bug#37408).
2019-09-20 20:19:28 +02:00
Eli Zaretskii
2b80340bf3 Fix calls to insert-*-hooks when JIT font lock is active
* src/insdel.c (signal_after_change): Save and restore
interval_insert_behind_hooks and
interval_insert_in_front_hooks across calls to various other
hooks, to prevent their clobbering by those other hooks.
(Bug#37455)
2019-09-19 17:10:00 +03:00
Paul Eggert
30026cfe66 Default PICKY_ACCESS to false on non-MS
* src/fileio.c (PICKY_EACCES) [!DOS_NT]: Default to false.
2019-09-19 00:22:03 -07:00
Paul Eggert
dff4f9c759 Omit some overenthusiastic file-truename calls
Problem reported by Tino Calancha (Bug#37445).
* src/emacs.c (init_cmdargs): Call file-truename only if
needed, i.e., if invocation-directory ends in "/i386/" on
WINDOWSNT.
* src/lread.c (readevalloop): If the sourcename is not
absolute, make it absolute.  There is no need to convert
non-absolute files into truenames, since absolute files are
not converted into truenames.
(init_lread): Do not convert source-directory into a truename
at startup.  There is no need to do so in a dumped Emacs since
an absolute file name suffices.  The source directory might
not even exist any more, or might have been replaced by an
interloper who takes advantage of the truename calculation.
(syms_of_lread): Remove Qfile_truename; no longer needed.
2019-09-18 23:54:15 -07:00
Matt Bisson
6eb122c8db Fix ignored Motif scrollbar resources (Bug#37359)
* src/xterm.c (x_create_toolkit_scroll_bar): On Motif
scrollbars, "foreground" has no meaning, while "background"
means the truck and arrow colors, and "trough" means the
background of the entire widget.  This fix hooks up the Emacs
scrollbar "foreground" color to the XmNbackground resource
and the "background" color to XmNtroughColor which is more in
line with how Xaw scrollbars behave.

Copyright-paperwork-exempt: yes
2019-09-19 08:48:43 +02:00
Juanma Barranquero
79a01866a0 lisp/*.el, src/*.c: Fix typos in docstrings
* lisp/apropos.el (apropos-do-all):
* lisp/auth-source-pass.el (auth-source-pass--select-from-entries):
* lisp/auth-source.el (auth-source-user-or-password):
* lisp/calc/calc-forms.el (math-tzone-names):
* lisp/calendar/diary-lib.el (diary-face-attrs)
(diary-mark-entries-1):
* lisp/cedet/cedet-files.el (cedet-files-list-recursively):
* lisp/cedet/ede.el (ede-constructing, ede-deep-rescan):
* lisp/cedet/ede/cpp-root.el (ede-cpp-root-header-file-p):
* lisp/cedet/ede/proj.el (ede-proj-target-makefile):
* lisp/cedet/inversion.el (inversion-check-version)
(inversion-test):
* lisp/cedet/mode-local.el (mode-local-map-file-buffers):
* lisp/cedet/semantic/complete.el (semantic-displayer-ghost):
* lisp/cedet/semantic/db-find.el (semanticdb-find-translate-path-default):
* lisp/cedet/semantic/db.el (semanticdb-table)
(semanticdb-search-system-databases):
* lisp/cedet/semantic/imenu.el (semantic-imenu-index-directory):
* lisp/cedet/semantic/java.el (semantic-java-doc-keywords-map):
* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-use-headers-flag):
* lisp/cedet/semantic/lex.el (semantic-lex-make-keyword-table)
(semantic-lex-make-type-table, semantic-lex-debug-analyzers):
* lisp/cedet/semantic/tag-ls.el (semantic-tag-abstract-p)
(semantic-tag-leaf-p, semantic-tag-static-p)
(semantic-tag-prototype-p):
* lisp/dnd.el (dnd-open-remote-file-function, dnd-open-local-file):
* lisp/emacs-lisp/eieio-opt.el (eieio-build-class-alist)
(eieio-read-class, eieio-read-subclass):
* lisp/emacs-lisp/generator.el (cps--replace-variable-references)
(cps--handle-loop-for):
* lisp/erc/erc-dcc.el (erc-dcc-list, erc-dcc-member, erc-dcc-server)
(erc-dcc-auto-mask-p, erc-dcc-get-file, erc-dcc-chat-accept):
* lisp/eshell/em-pred.el (eshell-pred-file-type):
* lisp/faces.el (defined-colors-with-face-attributes):
* lisp/font-core.el (font-lock-mode):
* lisp/frame.el (frame-restack):
* lisp/net/shr.el (shr-image-animate):
* lisp/org/org-agenda.el (org-agenda-change-all-lines)
(org-agenda-today-p):
* lisp/org/org-id.el (org-id-get):
* lisp/org/org.el (org-highlight-latex-and-related)
(org--valid-property-p):
* lisp/org/ox-beamer.el (org-beamer--get-label):
* lisp/org/ox-latex.el (org-latex--caption-above-p):
* lisp/org/ox-odt.el (org-odt--copy-image-file)
(org-odt--copy-formula-file):
* lisp/org/ox.el (org-export-with-timestamps):
* lisp/progmodes/verilog-mode.el (verilog-indent-declaration-macros):
* lisp/ses.el (ses-file-format-extend-parameter-list):
* lisp/term.el (ansi-term):
* lisp/textmodes/bibtex.el (bibtex-no-opt-remove-re)
(bibtex-beginning-of-first-entry, bibtex-autokey-get-title)
(bibtex-read-key, bibtex-initialize):
* lisp/textmodes/flyspell.el (flyspell-word):
* lisp/view.el (view-mode-exit):
* src/composite.c:
* src/floatfns.c (Fisnan): Fix typos in docstrings.
2019-09-19 04:32:25 +02:00
Eli Zaretskii
617f4f31a0 Fix loading .elc files on MS-Windows
* src/lread.c (Fload): Don't clobber 'found' if the .el file
was not found, as it is used by WINDOWSNT later on.
2019-09-18 21:46:11 +03:00
Paul Eggert
9597ee68d9 Out-of-datedness .elc check is merely a file test
* src/fileio.c (file_test_errno): Now extern.
* src/lread.c (Fload): Use file_test_errno instead,
since this is really just a file test (the attributes
are not given to the user).
2019-09-18 05:18:58 -07:00
Eli Zaretskii
7ff2eef926 Fix the MS-Windows build broken by recent errno changes
* src/fileio.c (file_directory_p): If the file exists, but is
not a directory, set errno to ENOTDIR, like the Posix branch
does; openp expects that.
2019-09-18 15:14:15 +03:00
Paul Eggert
735940f455 Be less picky about EACCES in file test predicates
Problem reported by Tino Calancha (Bug#37445) and others.
* src/fileio.c (PICKY_EACCES): New constant, false by default.
(file_test_errno): Ignore EACCES if not picky.
(check_file_access): Investigate EACCES problems further
if picky.
2019-09-18 04:21:55 -07:00
Paul Eggert
94ca934a5c Fix permission-denied issue in MS-Windows startup
* src/callproc.c (init_callproc): Use file_access_p rather
than Ffile_exists_p during startup (Bug#37445).
2019-09-18 03:06:49 -07:00
Paul Eggert
9dc306b1db Improve reporting of I/O, access errors
Signal an error for file-oriented errors that are not tame
errors like ENOENT and ENOTDIR (Bug#37389).
Do this for primitives exposed to Lisp; the lower
level internal C API merely makes errno values available
to higher-level C code.
* doc/lispref/files.texi (Testing Accessibility)
(File Attributes, Extended Attributes): Do not say that the
functions return nil when the return value cannot be determined.
* etc/NEWS: Mention the change.
* src/dired.c (Ffile_attributes): Fix doc string confusion
about opening a file vs getting its attributes.
(file_attributes): Signal serious errors.
* src/fileio.c (check_existing, check_executable)
(check_writable): Remove.  All callers changed to use
check_file_access or file_access_p.
(file_access_p, file_metadata_errno, file_attribute_errno)
(file_test_errno, check_file_access, check_emacs_readlinkat):
New functions.
* src/fileio.c (Ffile_executable_p, Ffile_readable_p)
(Ffile_name_case_insensitive_p, Frename_file, Ffile_exists_p):
(Ffile_symlink_p, Ffile_directory_p)
(Ffile_accessible_directory_p, Ffile_regular_p)
(Ffile_selinux_context, Ffile_acl, Ffile_modes)
(Ffile_newer_than_file_p, Fset_visited_file_modtime)
(Ffile_system_info):
* src/filelock.c (unlock_file, Ffile_locked_p):
* src/lread.c (Fload):
Signal serious errors.
* src/fileio.c (Ffile_writable_p): Remove unnecessary CHECK_STRING.
(emacs_readlinkat): Now static.
* src/filelock.c (current_lock_owner, lock_if_free): Return a
positive errno on error, and the negative of the old old value
on success.  All callers changed.
* src/lread.c (openp): Propagate serious errno values to caller.
2019-09-17 19:24:38 -07:00
Jimmy Aguilar Mena
ae3edf0ac3 Substituted deprecated WebKitGTK+ api.
* src/xwidget.c : Substituted WebKitGTK+ API calls and use
JavaScriptCore GLib API instead.
2019-09-17 22:15:28 +02:00
Juanma Barranquero
746b20c237 * src/w32fns.c (Fw32_read_registry): Doc fix 2019-09-17 16:29:23 +02:00
Eli Zaretskii
8054935c61 Improve font lookup on MS-Windows
* src/w32font.c (struct font_callback_data): New member
'known_fonts'.
(w32font_list_internal, w32font_match_internal): Set up
match_data.known_fonts if the font spec includes :script that
names one of the non-USB scripts.
(add_font_entity_to_list): If font_matches_spec returns zero
for a font, and we have some fonts in match_data->known_fonts,
consider the font to be a match if it is named in known_fonts.
(font_supported_scripts): Update the Unicode Subranges.  In
particular, map bit 74 to 'burmese', as this is the name Emacs
uses, not 'myanmar'.  Add a list of scripts that have no USBs
defined for them.
(syms_of_w32font) <Qburmese, Qcuneiform_numbers_and_punctuation>
<Qaegean_number, Qw32_non_USB_fonts>: New symbols.

* lisp/term/w32-win.el (w32-no-usb-subranges): New defconst.
(w32--filter-USB-scripts, w32-find-non-USB-fonts): New functions.
(w32-non-USB-fonts): New defvar.

* lisp/international/fontset.el (setup-default-fontset): Add
more scripts to automatic setup by representative characters.

* doc/emacs/msdos.texi (Windows Fonts): Document
'w32-find-non-USB-fonts' and 'w32-non-USB-fonts'.

* etc/NEWS: Mention 'w32-find-non-USB-fonts' and
'w32-non-USB-fonts'.
2019-09-17 14:19:54 +03:00
Paul Eggert
01c929bc64 Pacify GCC -Wmaybe-uninitialized
* src/dired.c (directory_files_internal):
Pacify GCC 7.4.0-1ubuntu1~18.04.1 x86-64.
2019-09-17 04:01:20 -07:00
Paul Eggert
c108d8ecc6 Don’t round file-system-info counts
* src/fileio.c (blocks_to_bytes): Convert the byte count to an
integer, since we have bignums now.  This avoids possible rounding
errors for file systems containing more than 8 PiB or so.
2019-09-17 03:55:12 -07:00
Paul Eggert
2c2f0eb9fc Remove obsolete Lint directives
Most of the directives were wrong anyway.  Apparently
traditional lint hasn’t been used to check Emacs for years.
* src/callint.c (Finteractive):
* src/cm.c (evalcost):
* src/emacs.c (main):
* src/eval.c (call1, call2, call3, call4, call5, call6, call7, call8):
* src/fns.c (concat2, concat3, nconc2):
* src/term.c (calculate_ins_del_char_costs):
Omit ARGSUSED comments.
* src/eval.c (call1): Omit VARARGS comment.
2019-09-16 14:05:03 -07:00
Paul Eggert
2335704fcc directory-files cleanup and speed tweaking
* src/dired.c (directory_files_internal):
Check ‘match’ before doing anything heavyweight.
Move decls closer to use.
Remove obsolete comments about GC.
No need to encode ‘directory’ or to call multibyte_chars_in_text.
Remove no-longer-needed bug check.
Skip finalname construction if file_attributes fails.
2019-09-16 13:55:23 -07:00
Eli Zaretskii
facd6d5aff Improve error reporting in file_accessible_directory_p
* src/w32.c (w32_accessible_directory_p): Set errno, so that
file_accessible_directory_p does on MS-Windows, to live up to
its callers' expectations.
2019-09-16 22:19:16 +03:00
Eli Zaretskii
169d04b8ac Fix initialization of shared-game-score-directory on MS-Windows
* src/callproc.c (init_callproc) [WINDOWSNT]: Run PATH_GAME
through w32_relocate, to expand %emacs_dir%.
[DOS_NT]: Accept EACCES as not "unusual" errno value.
Reported by Richard Copley <rcopley@gmail.com>.
2019-09-16 17:51:25 +03:00
Paul Eggert
be82888347 Fix some file-name-case-insensitive glitches
* src/fileio.c (file_name_directory): New static function,
broken out of Ffile_name_directory.
(file_name_case_insensitive_err, Ffile_writable_p, Fdo_auto_save):
Use it.
(file_name_case_insensitive_err): Rename from
file_name_case_insensitive_p.  Accept an unencoded Lisp_Object
rather than an encoded char *, so that platforms other than
Cygwin and macOS need not encode the file name.  Return an int
-1, 0, errno rather than a bool (setting errno if false),
so that the caller can distinguish an error from false.
All callers changed.
(Ffile_name_case_insensitive_p): Don’t issue system calls on
platforms other than Cygwin and macOS.  Fix bug that broke the
attempt to move up the filesystem tree (it moved up only one
level).
2019-09-15 22:15:28 -07:00
Paul Eggert
ba0605779e Fix unknown-vs-nonexistent glitch for file timestamps
* src/fileio.c (time_error_value): EACCES means the file
timestamp is unknown, not that the file does not exist.
2019-09-15 20:18:06 -07:00
Paul Eggert
de3daf0639 Improve directory-access diagnostics
* src/callproc.c (init_callproc): Diagnose I/O errors,
access errors, etc. for the game directory.
* src/charset.c (init_charset): Improve quality of diagnostic
when the charsets directory has I/O errors, access errors, etc.
2019-09-15 20:12:33 -07:00
Paul Eggert
dbc57b5573 file_name_case_insensitive_p int->long fix
* src/fileio.c (file_name_case_insensitive_p):
Don’t assume ‘long int’ fits in ‘int’.
2019-09-14 22:00:42 -07:00
Paul Eggert
52172d2340 Fix gc-elapsed rounding bug
* src/alloc.c (garbage_collect): Don’t accumulate rounding
errors when computing gc-elapsed.
2019-09-14 10:56:12 -07:00
Eli Zaretskii
49a4b86925 * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Fix a thinko. (Bug#36566) 2019-09-14 17:04:30 +03:00
Paul Eggert
bac66302e9 Improve gc-cons-percentage calculation
The old calculation relied on a hodgpodge of partly updated GC
stats to find a number to multiply gc-cons-percentage by.
The new one counts data found by the previous GC, plus half of
the data allocated since then; this is more systematic albeit
still ad hoc.
* src/alloc.c (consing_until_gc, gc_threshold, consing_threshold):
Now EMACS_INT, not intmax_t.
(HI_THRESHOLD): New macro.
(tally_consing): New function.
(make_interval, allocate_string, allocate_string_data)
(make_float, free_cons, allocate_vectorlike, Fmake_symbol): Use it.
(allow_garbage_collection, inhibit_garbage_collection)
(consing_threshold, garbage_collect):
Use HI_THRESHOLD rather than INTMAX_MAX.
(consing_threshold): New arg SINCE_GC.  All callers changed.
(bump_consing_until_gc): Return new consing_until_gc, instead of
nil.  All callers changed.  Don’t worry about overflow since we
now saturate at HI_THRESHOLD.  Guess that half of
recently-allocated objects are still alive, instead of relying on
the previous (even less-accurate) hodgepodge.
(maybe_garbage_collect): New function.
(garbage_collect): Work even if a finalizer disables or enables
memory profiling.  Do not use malloc_probe if GC reclaimed nothing.
* src/lisp.h (maybe_gc): Call maybe_garbage_collect instead
of garbage_collect.
2019-09-14 00:37:26 -07:00
Paul Eggert
e4fb98b542 Simplify GC statistics-gathering
* src/alloc.c (make_interval, allocate_string, make_float)
(free_cons, Fcons, setup_on_free_list)
(allocate_vector_from_block, Fmake_symbol):
Do not update gcstat, since it is for statistics from the most
recent GC, not for a partially-updated hodgepodge.
(sweep_vectors): Update gcstat, since setup_on_free_list
no longer does.
(garbage_collect_1): Rename to garbage_collect and adopt its API.
Remove the old garbage_collect, which is no longer needed.
All callers changed.
2019-09-13 16:10:54 -07:00
Gemini Lasswell
0dba340da5 Don't build print-number-table unless it will be used
There are only a few users of print-number-table, and none of them use
it when print-circle is nil.  A couple of them used to.  print_object
was changed in 2012-04-20 "* src/print.c (print_preprocess): Only
check print_depth if print-circle is nil".
byte-compile-output-docform which uses print-number-table binds
print-circle to t before printing unless
byte-compile-disable-print-circle is set, but that variable has been
marked obsolete since 24.1.

* src/print.c (print_preprocess): Assert Vprint_circle is non-nil.
Remove code handling the case when Vprint_circle is nil.
(print, Fprint_preprocess): Don't call print_preprocess unless
Vprint_circle is non-nil.
(print_object): Remove comment referencing removed code in
print_preprocess.
2019-09-13 13:43:07 -07:00
Gemini Lasswell
6eaf39d21b Fix unnecessary hash table creation in cl-prin1 (bug#36566)
cl-prin1 prints all its punctuation by passing strings to prin1.  When
print-circle was set, print_preprocess was creating a new hash table
for each string, causing excessive garbage collection when printing
large Lisp objects with cl-prin1.

* src/print.c (print_number_index): Fix typo in comment above.
(PRINT_CIRCLE_CANDIDATE_P): Don't create print_number_table
for top-level strings with no properties, except when
print_continuous_numbering is on.
2019-09-13 13:43:07 -07:00
Eli Zaretskii
5940ac6330 Fix assertion violations due to non-ASCII text in menus
* src/xdisp.c (tool_bar_height, redisplay_tool_bar)
(display_menu_bar): If the Lisp string to be displayed in the
menu-bar or tool-bar window is multibyte, tell the display
engine to treat it as multibyte, instead of relying on the
initial determination by init_iterator (which is based on the
multibyteness of the current buffer).  (Bug#37385)
2019-09-13 10:47:28 +03:00
Stefan Monnier
997415504c * src/profiler.c: Leave key hashslots as Qunbound (bug#37382)
Now that "key == Qunbound" is used to determine if a hash table entry
is available, we can't stash pre-allocated vectors into the `key` slot
anymore, so use the `value` slot instead.

(make_log): Pre-fill the `value` slots i.s.o `key`.
(evict_lower_half): Stash key back into `value`, i.s.o `key`.
(record_backtrace): Get pre-allocated vector for `value` i.s.o `key`.
2019-09-12 08:25:36 -04:00
Paul Eggert
c19f5dcd47 Fix file name encoding when open_directory signals
* src/dired.c (open_directory): New arg ENCODED_DIRNAME.
All callers changed.  Signal error with original name,
not encoded name.
2019-09-12 00:27:38 -07:00
Paul Eggert
ffa870fc80 Improve error reporting for DOC file problems
* src/doc.c (get_doc_string): Report all serious errors
when DOC cannot be opened, not just fd-exhaustion errors.
2019-09-11 23:46:58 -07:00
Paul Eggert
f7228a6479 Fix directory-files-and-attributes race
* src/dired.c (directory_files_internal): Fix race condition:
when some other process removed a file between the readdir and
the ensuing lstat, directory-files-and-attributes would return
a list containing nil.
2019-09-11 23:23:22 -07:00
Paul Eggert
ef926ce3b6 Omit duplicate test of current directory
* src/callproc.c (encode_current_directory): Remove redundant
call to Ffile_accessible_directory_p.  The code checks the
encoded name with file_accessible_directory_p anyway.
2019-09-11 14:24:29 -07:00
Paul Eggert
5fafa40d07 Improve checking of pdump load failures
* src/alloc.c (memory_full): Just report "memory exhausted" if
failure occurs during initialization, since fancier recovery
schemes are not likely to work when not initialized.
* src/emacs.c (dump_error_to_string): Accept int, not enum
pdumper_load_result, since the result might not fit in the
enum.  Use strerror if it was derived from errno.  This is for
better diagnostics of pdump load failures.
(load_pdump_find_executable): Return char *, not enum.  2nd
arg is now pointer to buffer size, rather than pointer to
pointer to buffer.  All callers changed.  Use Emacs allocator
since they should now be OK even during early startup.
Use check_executable instead access, to use effective rather
than real permissions.
(load_pdump): Return void since callers ignore result.
Use int where enum could be too narrow.  Use heap rather
than stack for possibly-long string.  Prefer ptrdiff_t to
size_t.
* src/fileio.c (check_executable): Now extern.
* src/pdumper.c (pdumper_load): Return int that may have
errno added to it, for better diagnostics when loads fail.
2019-09-11 11:27:14 -07:00
Paul Eggert
a6daae7b3d Reset dbus registered buses on dump load
Problem reported by Leonard Lausen (Bug#37331).
* src/dbusbind.c: Include pdumper.h.
(syms_of_dbusbind_for_pdumper):
New function, to reset the registered buses.
(syms_of_dbusbind): Use it, fixing a TODO.
2019-09-11 10:19:31 -07:00
Paul Eggert
b6b7c7fc98 Fix bug when gc-cons-percentage is bumped to 0.8
Problem reported by Michael Heerdegen (Bug#37321).
* src/alloc.c (gc_threshold): New static var.
(bump_consing_until_gc): Change args from DIFF to THRESHOLD and
PERCENTAGE.  All uses changed.  When accounting for a changed
gc-cons-percentage, do not assume that total_bytes_of_live_objects
returns the same value now that it did the last time we were
called.
2019-09-07 18:08:44 -07:00
Eli Zaretskii
f34f49f35e Set inhibit-compacting-font-caches to t by default on MS-Windows
* src/font.c (syms_of_font) [WINDOWSNT]: Set
inhibit-compacting-font-caches to t by default.

* etc/NEWS: Mention the change.
2019-09-07 12:26:08 +03:00
Eli Zaretskii
7eaca940ce Allow Zs characters to be composed
* src/composite.c (char_composable_p): Allow SPC and other Zs
characters to be composed.

* lisp/composite.el (compose-gstring-for-graphic): Don't
reject characters whose general category is Zs.  (Bug#14461)
2019-09-07 12:19:06 +03:00
Eli Zaretskii
f425099559 Revert "file-truename now uses realpath for local files"
This reverts commit a59839d755.
This commit broke the MS-Windows build (because there's no
realpath on MS-Windows).  Even if I change the implementation
to always signal an error on MS-Windows, the build fails.
2019-09-07 10:14:31 +03:00
Paul Eggert
a59839d755 file-truename now uses realpath for local files
This uses fewer syscalls on GNU/Linux and other GNUish platforms.
* lisp/files.el (file-truename): Try fileio--truename
if there are no handlers.
* src/fileio.c: Include stdlib.h, for realpath.
(Ffileio__truename): New function.
2019-09-06 14:31:38 -07:00
Paul Eggert
16ab25f136 Fix bugs when recalculating consing_until_gc
Problem reported by Joseph Mingrone (Bug#37006#72).
* src/alloc.c (watch_gc_cons_threshold)
(watch_gc_cons_percentage):
Don’t try to store an intmax_t into an int.
Redo to make the code clearer.
(watch_gc_cons_percentage):
Use gc_cons_threshold, not consing_until_gc.
2019-09-05 13:27:07 -07:00
Paul Eggert
b9e37f551a Port :safe-renegotiation test to GnuTLS < 3.6.3
Problem reported by Robert Pluim in
https://lists.gnu.org/r/emacs-devel/2019-09/msg00127.html
* src/gnutls.c (Fgnutls_peer_status): Simplify test for
whether the :safe-renegotiation result is needed, so that it
works all the way back to GnuTLS 2.12.2.
2019-09-05 11:43:15 -07:00
Paul Eggert
365dad197b Use plain ‘static’ for Emacs C inline functions
This improved performance of ‘make compile-always’ by 8.2%
on my platform (AMD Phenom II X4 910e, Fedora 30 x86-64).
* src/conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
(INLINE_HEADER_END) [!EMACS_EXTERN_INLINE]: Use plain ‘static’.
2019-09-04 23:15:04 -07:00