aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Improve documentation of 'read-command'Eli Zaretskii2019-04-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/minibuf.c (Fread_command): Document the return value when DEFAULT-VALUE is nil and the user enters nothing. * doc/lispref/minibuf.texi (High-Level Completion): Document the printed representation of a symbol whose name is empty. (Bug#3522)
| * | | Fix an outdated URL in a commentEli Zaretskii2019-04-111-2/+7
| | | | | | | | | | | | | | | | | | | | * src/emacs.c: Fix reference to Cocoa CoreFoundation Release Notes. (Bug#35225)
* | | | Bring back dmpstruct.hPaul Eggert2019-04-103-1/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring back the dmpstruct.h checking, and use it when --enable-checking=structs is specified. The checking can be helpful to some developers, although it gets in the way of others and is not needed for ordinary tarball builds. * src/dmpstruct.awk: Restore this file, with mode 644 not 755. * configure.ac: New option-arg --enable-checking=structs, implied by --enable-checking. (CHECK_STRUCTS): New macro and var. * src/Makefile.in (CHECK_STRUCTS): New macro. (dmpstruct_headers, dmpstruct.h, dmpstruct.h): Restore these macros and rules. (pdumper.o): Restore this dependency if $(CHECK_STRUCTS) is true. (mostlyclean): Remove dmpstruct.h. * src/pdumper.c [CHECK_STRUCTS]: Include dmpstruct.h, and restore checks against hashes.
* | | | Fix $(MAKE) -C for out-of-tree bootstrapsPaul Eggert2019-04-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Andy Moreton in: https://lists.gnu.org/r/emacs-devel/2019-04/msg00359.html * src/Makefile.in (${charsets}, $(lispsource)/loaddefs.el): Revert incorrect changes to $(MAKE) -C invocations when the target is in the source tree not the build tree.
* | | | Merge from origin/emacs-26Glenn Morris2019-04-103-4/+10
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a5da653 * src/editfns.c (Fnarrow_to_region): Doc fix. (Bug#35163) 646d33d Fix doc strings of 'vc-version-diff' and 'vc-version-ediff' a30a6c3 Improve documentation of set-window-start 92ce2dd Improve documentation of window parameters 6dc42c5 Improve commentary in frame.el a8cffcf Fix typo in a doc string 9e79f19 (emacs-26) ; * src/fontset.c (set-fontset-font): Use uppercas... # Conflicts: # lisp/vc/vc.el
| * | | * src/editfns.c (Fnarrow_to_region): Doc fix. (Bug#35163)Eli Zaretskii2019-04-081-2/+3
| | | |
| * | | Improve documentation of set-window-startEli Zaretskii2019-04-061-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/windows.texi (Window Start and End): * src/window.c (Fset_window_start): Document that reliable setting of a window start position requires to adjust point to be visible. (Bug#34038)
| * | | ; * src/fontset.c (set-fontset-font): Use uppercase arg in docstringAlexander Gramiak2019-04-041-1/+1
| | | |
* | | | Remove the need for temacs.inPaul Eggert2019-04-092-58/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of building a file temacs.in used only to compute a fingerprint, compute the fingerprint directly from the .o and .a files that go into temacs.in. This speeds up the build by avoiding the need to link temacs twice, once with a dummy fingerprint. * lib-src/make-fingerprint.c (main): No need to generate a fingerprint file that includes config.h, now that fingerprint.c depends on all the .o files. * src/Makefile.in ($(libsrc)/make-fingerprint$(EXEEXT)): Use the same rule as $(libsrc)/make-docfile$(EXEEXT). * src/fingerprint-dummy.c: Remove. * src/Makefile.in (${charsets}, $(libsrc)/make-docfile$(EXEEXT)) ($(LIBEGNU_ARCHIVE), $(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a) (../config.status, ${ETAGS}, ../lisp/TAGS, $(lwlibdir)/TAGS) ($(lispsource)/loaddefs.el): Prefer ‘$(MAKE) -C $(dir $@)’ to ‘${MAKE} -C SOMESTRING’ when either will do, as the former is more regular and lets us coalesce rules better. (EMACS_DEPS_PRE, EMACS_DEPS_POST, BUILD_EMACS_PRE) (BUILD_EMACS_POST, temacs.in$(EXEEXT)): Remove. (FINGERPRINTED): New macro. (fingerprint.c): Use it instead of temacs.in$(EXEEXT), to avoid the need to build temacs.in at all. (temacs$(EXEEXT)): No need to depend on other .o files now; fingerprint.o is enough, since it depends on the rest. Spell out what used to be in BUILD_EMACS_PRE and BUILD_EMACS_POST. (mostlyclean): No need to remove temacs.in.
* | | | Remove assumption of uint64_t etc. in portable codePaul Eggert2019-04-094-64/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C11 doesn’t guarantee the existence of types like uint64_t, so avoid these types in portable code, as it’s easy to do so. There’s no need to avoid the types in w32-specific code, since w32 is guaranteed to have them. * lib-src/make-fingerprint.c (main): * src/fingerprint-dummy.c: * src/fingerprint.h: * src/pdumper.c (dump_fingerprint, struct dump_header): Prefer unsigned char to uint8_t in portable code, as either will do. Put an "#include <config.h>" in fingerprint.c files, so that the corresponding .o file is rebuilt after ./configure is run. * lib-src/make-fingerprint.c (main): Simplify loop. * src/Makefile.in (fingerprint.c): Update atomically. * src/pdumper.c: Omit unnecessary check that off_t is the same size as int32_t or int64_t, as the code does not rely on this assumption. (dump_off): Use int_least32_t, not int32_t. (struct dump_reloc): Use unsigned int, not uint32_t. (dump_anonymous_allocate_w32, dump_anonymous_allocate_posix) (dump_anonymous_allocate, dump_map_file_w32, dump_map_file_posix) (dump_map_file: Do the sanity checks at compile time, not at run-time, to avoid usage of uint64_t etc. on non-w32 platforms.
* | | | Remove dmpstruct.hPaul Eggert2019-04-093-143/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hassles of updating the dmpstruct.h-using code bit me again. These updates are more trouble than they’re worth. See: https://lists.gnu.org/r/emacs-devel/2019-03/msg00122.html As I’m the main person who’s made changes in this area since dmpstruct.h was introduced, I’m the most motivated to clean up the situation. * make-dist (possibly_non_vc_files): Remove src/dmpstruct.h. * src/Makefile.in (dmpstruct_headers, dmpstruct.h): Remove. (pdumper.o): Do not depend on dmpstruct.h. (mostlyclean): Do not remove dmpstruct.h. * src/dmpstruct.awk: Remove. * src/pdumper.c: Do not include dmpstruct.h. (CHECK_STRUCTS): Remove. All uses removed.
* | | | Allow gap before first non-Lisp pseudovec memberPaul Eggert2019-04-0822-78/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Keith David Bershatsky in: https://lists.gnu.org/r/emacs-devel/2019-04/msg00259.html Solution suggested by Stefan Monnier in: https://lists.gnu.org/r/emacs-devel/2019-04/msg00282.html * src/buffer.h (BUFFER_LISP_SIZE): Simplify by using PSEUDOVECSIZE. (BUFFER_REST_SIZE): Simplify by using VECSIZE and BUFFER_LISP_SIZE. * src/lisp.h (PSEUDOVECSIZE): Base it on the last Lisp field, not the first non-Lisp field. All callers changed. Callers without Lisp fields changed to use ALLOCATE_PLAIN_PSEUDOVECTOR. (ALLOCATE_PLAIN_PSEUDOVECTOR): New macro.
* | | | ; * src/frame.h (MonitorInfo): Remove const modifierAlexander Gramiak2019-04-071-1/+1
| | | | | | | | | | | | | | | | This removes a compiler warning with xfree.
* | | | ; * src/xfns.c (x-display-monitor-attributes-list) Fix typo.Alexander Gramiak2019-04-071-1/+1
| | | |
* | | | Plug memory leak in GTK x-display-monitor-attributes-listAlexander Gramiak2019-04-073-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/frame.c (free_monitors) [USE_GTK]: Define in the GTK case as well. * src/xfns.c (x-display-monitor-attributes-list) [USE_GTK]: Plug memory leak. * src/frame.h (MonitorInfo): Declare name as pointing to const char.
* | | | Simplify fill_gstring_headerPaul Eggert2019-04-071-17/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/composite.c (fill_gstring_header): Omit first argument HEADER, since in practice it is always nil. Change caller to match. Help the compiler by telling it LEN is nonnegative. Problem found with --enable-gcc-warnings and gcc -O2 -Og.
* | | | Help the compiler with byte orderPaul Eggert2019-04-071-2/+2
| | | | | | | | | | | | | | | | | | | | * src/xsettings.c (parse_settings): Help the compiler by letting it deduce the native endianness at compile-time.
* | | | * src/buffer.c (Fget_buffer_create): Apply booleans's eta-reductionStefan Monnier2019-04-061-6/+4
| | | |
* | | | Encode the FILENAME argument of 'file-locked-p'Eli Zaretskii2019-04-061-0/+1
| | | | | | | | | | | | | | | | | | | | * src/filelock.c (Ffile_locked_p): Encode the file name, before passing it to system APIs. (Bug#35171)
* | | | Don't leave inhibit_buffer_hooks uninitializedBasil L. Contovounesios2019-04-061-0/+2
| | | | | | | | | | | | | | | | | | | | * src/buffer.c (Fget_buffer_create): Explicitly initialize inhibit_buffer_hooks. (bug#34847)
* | | | ; * src/w32fns.c (Fw32_read_registry): Doc fix.Eli Zaretskii2019-04-061-0/+2
| | | |
* | | | Minor cleanup in widget.cKonstantin Kharlamov2019-04-051-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | * src/widget.c (update_wm_hints): Remove variables that are always zero, and simplify all expressions which used them. (Bug#35062)
* | | | Minor cleanup in gtkutil.cKonstantin Kharlamov2019-04-051-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | * src/gtkutil.c (x_wm_set_size_hint): Remove variables that are always zero, and simplify all expressions which used them. (Bug#35062)
* | | | Improve commentary in 'field_relpos'Eli Zaretskii2019-04-031-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (PDUMPER_MAX_OBJECT_SIZE): New macro. (field_relpos): Use PDUMPER_MAX_OBJECT_SIZE, and comment on why we require that relpos be not too large.
* | | | Restore process-environment after portable dumpingEli Zaretskii2019-04-031-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (struct dump_context): New member old_process_environment. (Fdump_emacs_portable): Record the original value of process-environment. (dump_unwind_cleanup): Restore the original values of process-environment and post-gc-hook.
* | | | Allow partial decompression (Bug#33133)Noam Postavsky2019-04-021-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/decompress.c (Fzlib_decompress_region): Add optional ALLOW-PARTIAL parameter. * lisp/url/url-http.el (url-handle-content-transfer-encoding): Use it. * doc/lispref/text.texi (Decompression): Document it. * etc/NEWS: Announce it.
* | | | * lisp/subr.el (prog2): Define as a macroStefan Monnier2019-04-021-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/eval.c (Fprog2): Delete function. (syms_of_eval): Don't register it. * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): * lisp/emacs-lisp/generator.el (cps--transform-1): Remove `prog2` case. * lisp/emacs-lisp/bytecomp.el (prog2): Remove handlers. (byte-compile-prog2): Delete. * lisp/emacs-lisp/lisp-mode.el (prog2): Remove property.
* | | | Make struct Lisp_Objfwd etc. objects read-onlyPaul Eggert2019-04-013-53/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initialize these objects statically, and make them constants. This is a bit safer and more efficient. * src/data.c (XBOOLFWD, XKBOARD_OBJFWD, XFIXNUMFWD, XOBJFWD): * src/lisp.h (XBUFFER_OBJFWD): Return a pointer-to-const instead of an unrestricted pointer. (lispfwd): fwdptr is now a pointer-to-const instead of an unrestricted pointer. All uses changed. (SET_SYMBOL_FWD): Accept pointer-to-const instead of an unrestricted pointer. (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT) (DEFVAR_KBOARD): Initialize static structures statically instead of dynamically, and make them const. * src/lread.c (defvar_int, defvar_bool, defvar_lisp_nopro) (defvar_lisp, defvar_kboard): Accept pointer-to-const instead of an unrestricted pointer; it’s now the caller’s responsibility to initialize the pointed-to storage. No need for a separate address argument any more. All callers changed.
* | | | Fix union Lisp_Fwd * alignment bugPaul Eggert2019-04-015-77/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not portable to cast (e.g.) struct Lisp_Objfwd * to union Lisp_Fwd * and then back again, because the compiler can then assume that the pointer is aligned for union Lisp_Fwd * when accessing the struct Lisp_Objfwd * components, and this assumption might be incorrect becase we don't force that alignment. * src/lisp.h (lispfwd): New type, replacing ... (union Lisp_Fwd): ... this type, which was removed. All uses changed. (SET_SYMBOL_FWD): 2nd arg is now void *, not lispfwd. All uses changed (casts no longer needed; they were not portable anyway).
* | | | * lisp/subr.el (setq-default): Define as a macroStefan Monnier2019-04-011-31/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-setq-default): Delete. (byte-compile-set-default): Inline the part that it used. * lisp/emacs-lisp/edebug.el (setq-default): Remove the debug spec. * src/data.c (Fsetq_default): Delete. (syms_of_data): Don't register.
* | | | Fix a typo in xterm.c and w32term.cEli Zaretskii2019-04-012-2/+2
| | | | | | | | | | | | | | | | | | | | * src/xterm.c (x_window_to_scroll_bar): * src/w32term.c (x_window_to_scroll_bar): Fix a typo.
* | | | Fix a thinko in a recent commitEli Zaretskii2019-03-301-4/+6
| | | | | | | | | | | | | | | | | | | | * src/buffer.c (Fkill_buffer): Fix last change. (Bug#31138) Reported by Mattias Engdegård <mattiase@acm.org>.
* | | | Release regexp before signalling overflow errorMattias Engdegård2019-03-301-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | * src/search.c (looking_at_1, search_buffer_re): Unfreeze the regexp buffer before signalling a matcher overflow, since the error processing may require quite some regexp use as well (Bug#34910).
* | | | Fix spurious regexp reentrancy errorMattias Engdegård2019-03-301-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/search.c (compile_pattern): Don't give up if the last regexp cache entry is busy. Instead, use the last (least recently used) non-busy entry, and only signal a reentrancy error if there is no free entry at all (Bug#34910).
* | | | Don't run buffer-related hooks in " *code conversion work*" buffersEli Zaretskii2019-03-305-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: portions of this change were mistakenly pushed as part of an unrelated commit a35a1f6a9. * src/buffer.c (Fget_buffer_create): Set inhibit_buffer_hooks non-zero for temporary buffers created by coding.c. Don't run buffer-list-update-hook for such buffers. (Frename_buffer, Fkill_buffer, record_buffer) (Fbury_buffer_internal): Don't run hooks for buffers whose inhibit_buffer_hooks flag is set. * src/buffer.h (struct buffer): New member inhibit_buffer_hooks. * src/pdumper.c (dump_buffer): Dump the new field. Update the hash value in HASH_buffer_XXX. * src/coding.c (make_conversion_work_buffer): Function deleted; code moved to code_conversion_save. (code_conversion_save): Insert code from make_conversion_work_buffer, but arrange for unwind-protecting the current buffer before switching to the work buffer. This avoids leaving reused_workbuf_in_use set if user presses C-g during encoding/decoding. (Vcode_conversion_workbuf_name): Now external variable. * src/coding.h (Vcode_conversion_reused_workbuf): Declare.
* | | | Fix display of sliced images on MS-WindowsEli Zaretskii2019-03-281-10/+28
| | | | | | | | | | | | | | | | | | | | | | | | * src/w32term.c (x_draw_image_foreground): Fix detection of scaled images for sliced images. Scale the original width of a slice and its coordinates of origin as well.
* | | | Simpler way to export HAVE_X_WINDOWS to GDBPaul Eggert2019-03-272-18/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/.gdbinit: Simplify by removing dependency on globals implementation. This is useful for a future performance improvement that I have in mind. * src/alloc.c (enum defined_HAVE_X_WINDOWS, defined_HAVE_X_WINDOWS): New enum and constant. (gdb_make_enums_visible) [__GNUC__]: Use it, to make defined_HAVE_X_WINDOWS visible to GDB.
* | | | Tweak re_registers allocationPaul Eggert2019-03-272-18/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/regex-emacs.c (re_match_2_internal): No need to allocate one extra trailing search register; Emacs does not use it. Avoid quadratic behavior on reallocation.
* | | | No need for m_search_regs_saved in thread.hPaul Eggert2019-03-272-16/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/search.c (save_search_regs, restore_search_regs): Don’t use m_search_regs_saved; it’s equivalent to saved_search_regs.num_regs != 0. * src/thread.h (struct thread_state): Remove m_search_regs_saved.
* | | | Fix search_regs memory leak when thread destroyedPaul Eggert2019-03-271-0/+12
| | | | | | | | | | | | | | | | | | | | * src/thread.c (free_search_regs): New function. (finalize_one_thread): Use it.
* | | | Attempt to fix crashes under GDB on Windows 10Eli Zaretskii2019-03-272-39/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (dump_discard_mem) [VM_SUPPORTED == VM_MS_WINDOWS]: Don't pass NULL pointer as last argument to VirtualProtect. Reported by Martin Rudalics <rudalics@gmx.at>.
* | | | Support native image resizing on cairoYAMAMOTO Mitsuharu2019-03-273-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xterm.c (x_cr_draw_image): Add arguments image_width and image_height and support scaling. All callers changed. * src/image.c (Fimage_scaling_p): Return t when USE_CAIRO. (x_set_image_size) [USE_CAIRO]: Record the scaled dimensions in the image struct. * src/dispextern.h (HAVE_NATIVE_SCALING): Define when USE_CAIRO as well. * etc/NEWS: Update the announcement of native image scaling.
* | | | Fix cairo image drawing with boxYAMAMOTO Mitsuharu2019-03-271-20/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xterm.c (x_cr_draw_image): Don't call cr_clip for non-mask case. (x_draw_image_foreground) [USE_CAIRO]: Draw image here ... (x_draw_image_glyph_string) [USE_CAIRO]: ... instead of here. (x_draw_image_foreground, x_draw_image_foreground_1) (x_draw_image_glyph_string) [USE_CAIRO]: Ifdef away unused code path.
* | | | Use cairo image surface instead of pattern for fringe bitmapYAMAMOTO Mitsuharu2019-03-261-16/+8
| | | | | | | | | | | | | | | | | | | | | | | | * src/xterm.c (fringe_bmp, x_cr_define_fringe_bitmap) (x_cr_destroy_fringe_bitmap, x_cr_draw_image) [USE_CAIRO]: Change type of fringe bitmap.
* | | | Fix cairo scrolling for left scroll bars caseYAMAMOTO Mitsuharu2019-03-261-3/+2
| | | | | | | | | | | | | | | | | | | | * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling by unusing WINDOW_LEFT_EDGE_X. (Bug#31288)
* | | | Support tool bar icon image on GTK+ >= 3.10 with cairoYAMAMOTO Mitsuharu2019-03-261-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Use cairo image surface for GtkImage source. (xg_tool_item_stale_p, update_frame_tool_bar) [USE_CAIRO]: Use cairo image surface instead of pixmap for data associated with tool bar item.
* | | | Simplify cairo image surface creation and destructionYAMAMOTO Mitsuharu2019-03-262-52/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/dispextern.h (struct image) [USE_CAIRO]: Remove member cr_data2. * src/image.c (set_cairo_image_surface): New function split from original create_cairo_image_surface. Call cairo_surface_mark_dirty. (create_cairo_image_surface): Just create image surface and return it. (x_clear_image): Don't free cr_data2. (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load) (gif_load, imagemagick_load_image, svg_load_image) [USE_CAIRO]: Use new create_cairo_image_surface and cairo_image_surface_get_data instead of xmalloc. Use set_cairo_image_surface instead of old create_cairo_image_surface. (pbm_load) [USE_CAIRO]: Call cairo_surface_destroy for surface instead of xfree for data. (gif_load) [USE_CAIRO]: Multiply y-coordinate value by width instead of subimg_width.
* | | | Port recent ngettext stub to non-glibcPaul Eggert2019-03-251-25/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/editfns.c: Don’t try to call glibc ngettext; we’re not ready for that yet. (Fngettext): Do not restrict integer arguments to fixnums. Improve doc string a bit.
* | | | Fix alignment bug with pure bignumsPaul Eggert2019-03-251-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem found on 32-bit sparc, which has stricter alignment checking than x86-64. * src/alloc.c (pure_alloc): When TYPE is negative it now specifies the negation of the required alignment of the result. (make_pure_bignum): Specify bignum limb alignment.
* | | | * lisp/international/mule-cmds.el (ngettext): Move to editfns.c.Juri Linkov2019-03-251-0/+37
| | | | | | | | | | | | | | | | | | | | * src/editfns.c (Fngettext): Move from mule-cmds.el and use gettext's ngettext when available.