aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | * src/w32fns.c (Fw32_register_hot_key): Fix typo in docstringJuanma Barranquero2019-09-271-2/+3
| |
* | Remove support for destructive splicing in elispStefan Kangas2019-09-262-5/+1
| | | | | | | | | | | | | | | | | | | | * src/lread.c (read1): Don't handle destructive splicing in backquote expressions (e.g. ",.<identifier>"). (Bug#19790) (syms_of_lread): Remove Qcomma_dot. * src/print.c (print_object): Don't check for Qcomma_dot. * test/src/eval-tests.el (eval-tests-19790-backquote-comma-dot-substitution): New test. * etc/NEWS: Announce it.
* | Allow regexp-quote to return its argumentMattias Engdegård2019-09-251-4/+6
| | | | | | | | | | | | * src/search.c (Fregexp_quote): Only allocate a new string if needed. * doc/lispref/searching.texi (Regexp Functions): * etc/NEWS (Incompatible Lisp Changes): Document.
* | Make ImageMagick multi-image size calculations work for .ico filesLars Ingebrigtsen2019-09-241-5/+21
| | | | | | | | | | * src/image.c (imagemagick_load_image): Compute image sizes correctly in multi-image .ico files and the like (bug#18333).
* | Allow a :stride argument so XBM boolvecs are in the right format.Pip Cet2019-09-241-6/+15
| | | | | | | | | | | | | | | | * src/image.c (xbm_image_p): Explicitly specify the right stride if a bool vector is used as argument. * doc/lispref/display.texi (XBM Images): Describe bool vectors accurately. * etc/NEWS: Document the change (bug#36337).
* | ; Fix typo in recently fixed doc stringEli Zaretskii2019-09-241-2/+2
| | | | | | | | | | * src/process.c (Fmake_network_process): Fix capitalization in doc string.
* | ; Fix previous make-network-process doc changeRobert Pluim2019-09-241-1/+1
| | | | | | | | * src/process.c (Fmake_network_process): Correct typo.
* | Resurrect support for negative frame geometry parameters on MS-WindowsEli Zaretskii2019-09-241-14/+32
| | | | | | | | | | | | | | | | * src/w32fns.c (my_create_window): Avoid assertion violations in XFIXNUM when the 'top' or 'left' frame parameters are neither fixnums nor 'unbound', in which case f->size_hint_flags are set by gui_figure_window_size. (Bug#37415)
* | make-network-process doc clarificationLars Ingebrigtsen2019-09-231-1/+2
| | | | | | | | | | * src/process.c (Fmake_network_process): Further doc clarification for listening on "::".
* | Fix GNUstep buildAlan Third2019-09-231-1/+1
| | | | | | | | | | | | * src/nsfont.m (nsfont_draw): Change type to match. Co-authored-by: martin rudalics <rudalics@gmx.at>
* | Update some URLsPaul Eggert2019-09-2317-33/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This mostly changes http: to https: in URLs. It also updates some URLs that have moved, removes some URLs that no longer work, recommends against using procmail (procmail.org no longer works), and removes some mentions of the no-longer-existing Gmane, LPF and VTW. It doesn't update all URLs, just the ones I had time for. * GNUmakefile (help): * admin/admin.el (manual-doctype-string): * admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map): * admin/charsets/mapconv: * lisp/net/soap-client.el (soap-create-envelope): * lisp/org/org.el (org-doi-server-url): * lisp/textmodes/bibtex.el (bibtex-generate-url-list): Prefer https: to http: un URLs.
* | Avoid crashes when casifying noncontiguous regionsPaul Eggert2019-09-224-60/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a followon fix for Bug#37477. * lisp/simple.el (region-extract-function): Use setq here, since the var is now defined in C code. * src/casefiddle.c (casify_pnc_region): New function. (Fupcase_region, Fdowncase_region, Fcapitalize_region) (Fupcase_initials_region): Use it. (Fupcase_initials_region): Add region-noncontiguous-p flag for consistency with the others. All uses changed. (syms_of_casefiddle): Define Qbounds, Vregion_extract_function. * src/insdel.c (prepare_to_modify_buffer_1): * src/keyboard.c (command_loop_1): Use Vregion_extraction_function. * src/insdel.c (syms_of_insdel): No need to define Qregion_extract_function. * test/src/casefiddle-tests.el (casefiddle-oldfunc): New var. (casefiddle-loopfunc, casefiddle-badfunc): New functions. (casefiddle-invalid-region-extract-function): New test.
* | Fix compilation with CHECK_STRUCTSAndreas Schwab2019-09-221-1/+1
| | | | | | | | * src/pdumper.c (dump_buffer): Update hash of struct buffer.
* | * src/fns.c (Fbuffer_hash): Improve doc string.Stefan Kangas2019-09-221-1/+8
| |
* | Support rectangular regions in capitalize-region and capitalize-dwim.Juri Linkov2019-09-221-4/+20
| | | | | | | | | | | | | | | | | | | | * lisp/simple.el (capitalize-dwim): Add arg region-noncontiguous-p in capitalize-region call. * src/casefiddle.c (Fcapitalize_region): Add arg region-noncontiguous-p. If non-nil, operate on multiple chunks. (Bug#37477) (Fdowncase_region): Use builtin symbol Qregion_extract_function rather than calling intern.
* | Revert too-picky file-access testsPaul Eggert2019-09-214-95/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Andreas Schwab (Bug#37475). * doc/lispref/files.texi (Writing to Files) (Testing Accessibility, Kinds of Files): Document that accessibility and file-type predicates return nil if there is trouble determining accessibility or type. * etc/NEWS: Adjust, and list the affected primitives. * src/callproc.c (init_callproc): Go back to Ffile_exists_p. * src/fileio.c (PICKY_EACCES, file_test_errno): Remove. All uses removed. (Ffile_name_case_insensitive_p, Ffile_exists_p, Ffile_symlink_p) (Ffile_directory_p, Ffile_regular_p): Document that these functions return nil if there is trouble. (Ffile_name_case_insensitive_p, check_file_access) (Ffile_writable_p, Ffile_symlink_p, Ffile_directory_p) (Ffile_accessible_directory_p, Ffile_regular_p) * src/lread.c (Fload): Go back to treating trouble in determining the answer as if the file were missing. * src/fileio.c (Ffile_newer_than_file_p): Use file_attribute_errno not file_test_errno, since returning nil is not appropriate when there are two files to test; e.g., in the rare cases where both file timestamps have overflowed then neither t nor nil is correct.
* | Mention image caching in the `image-size' doc stringLars Ingebrigtsen2019-09-211-1/+6
| | | | | | | | | | * src/image.c (Fimage_size): Mention that this function caches images, and what to do about that (bug#33275).
* | Mention how to listen to all interfaces in make-network-processLars Ingebrigtsen2019-09-211-2/+3
| | | | | | | | | | * src/process.c (Fmake_network_process): Mention how to listen to all interfaces (bug#34617).
* | Recommend against SHA-1 and MD5 for securityStefan Kangas2019-09-201-2/+9
| | | | | | | | | | | | | | | | * 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)
* | Allow `process-contact' not to blockLars Ingebrigtsen2019-09-201-5/+15
| | | | | | | | | | | | | | | | | | | | * 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).
* | Fix calls to insert-*-hooks when JIT font lock is activeEli Zaretskii2019-09-193-4/+18
| | | | | | | | | | | | | | | | * 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)
* | Default PICKY_ACCESS to false on non-MSPaul Eggert2019-09-191-4/+8
| | | | | | | | * src/fileio.c (PICKY_EACCES) [!DOS_NT]: Default to false.
* | Omit some overenthusiastic file-truename callsPaul Eggert2019-09-182-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix ignored Motif scrollbar resources (Bug#37359)Matt Bisson2019-09-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* | lisp/*.el, src/*.c: Fix typos in docstringsJuanma Barranquero2019-09-192-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Fix loading .elc files on MS-WindowsEli Zaretskii2019-09-181-3/+4
| | | | | | | | | | * src/lread.c (Fload): Don't clobber 'found' if the .el file was not found, as it is used by WINDOWSNT later on.
* | Out-of-datedness .elc check is merely a file testPaul Eggert2019-09-183-2/+3
| | | | | | | | | | | | | | * 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).
* | Fix the MS-Windows build broken by recent errno changesEli Zaretskii2019-09-181-1/+4
| | | | | | | | | | | | * 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.
* | Be less picky about EACCES in file test predicatesPaul Eggert2019-09-181-1/+15
| | | | | | | | | | | | | | | | 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.
* | Fix permission-denied issue in MS-Windows startupPaul Eggert2019-09-181-5/+4
| | | | | | | | | | * src/callproc.c (init_callproc): Use file_access_p rather than Ffile_exists_p during startup (Bug#37445).
* | Improve reporting of I/O, access errorsPaul Eggert2019-09-176-215/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Substituted deprecated WebKitGTK+ api.Jimmy Aguilar Mena2019-09-171-127/+92
| | | | | | | | | | * src/xwidget.c : Substituted WebKitGTK+ API calls and use JavaScriptCore GLib API instead.
* | * src/w32fns.c (Fw32_read_registry): Doc fixJuanma Barranquero2019-09-171-2/+2
| |
* | Improve font lookup on MS-WindowsEli Zaretskii2019-09-171-17/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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'.
* | Pacify GCC -Wmaybe-uninitializedPaul Eggert2019-09-171-1/+1
| | | | | | | | | | * src/dired.c (directory_files_internal): Pacify GCC 7.4.0-1ubuntu1~18.04.1 x86-64.
* | Don’t round file-system-info countsPaul Eggert2019-09-171-7/+9
| | | | | | | | | | | | * 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.
* | Remove obsolete Lint directivesPaul Eggert2019-09-166-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | directory-files cleanup and speed tweakingPaul Eggert2019-09-161-80/+49
| | | | | | | | | | | | | | | | | | | | * 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.
* | Improve error reporting in file_accessible_directory_pEli Zaretskii2019-09-161-3/+26
| | | | | | | | | | | | * 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.
* | Fix initialization of shared-game-score-directory on MS-WindowsEli Zaretskii2019-09-161-2/+13
| | | | | | | | | | | | | | * 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>.
* | Fix some file-name-case-insensitive glitchesPaul Eggert2019-09-151-36/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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).
* | Fix unknown-vs-nonexistent glitch for file timestampsPaul Eggert2019-09-151-1/+1
| | | | | | | | | | * src/fileio.c (time_error_value): EACCES means the file timestamp is unknown, not that the file does not exist.
* | Improve directory-access diagnosticsPaul Eggert2019-09-152-8/+14
| | | | | | | | | | | | | | * 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.
* | file_name_case_insensitive_p int->long fixPaul Eggert2019-09-141-2/+2
| | | | | | | | | | * src/fileio.c (file_name_case_insensitive_p): Don’t assume ‘long int’ fits in ‘int’.
* | Fix gc-elapsed rounding bugPaul Eggert2019-09-141-3/+4
| | | | | | | | | | * src/alloc.c (garbage_collect): Don’t accumulate rounding errors when computing gc-elapsed.
* | * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Fix a thinko. (Bug#36566)Eli Zaretskii2019-09-141-2/+2
| |
* | Improve gc-cons-percentage calculationPaul Eggert2019-09-142-55/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Simplify GC statistics-gatheringPaul Eggert2019-09-131-51/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Don't build print-number-table unless it will be usedGemini Lasswell2019-09-131-53/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix unnecessary hash table creation in cl-prin1 (bug#36566)Gemini Lasswell2019-09-131-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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.