aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add record objects with user-defined types.Lars Brinkhoff2017-03-306-8/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (allocate_record): New function. (Fmake_record, Frecord, Fcopy_record): New functions. (syms_of_alloc): defsubr them. (purecopy): Work with records. * src/data.c (Ftype_of): Return slot 0 for record objects, or type name if record's type holds class. (Frecordp): New function. (syms_of_data): defsubr it. Define `Qrecordp'. (Faref, Faset): Work with records. * src/fns.c (Flength): Work with records. * src/lisp.h (prec_type): Add PVEC_RECORD. (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions. * src/lread.c (read1): Add syntax for records. * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP. (print_object): Add syntax for records. * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2): New test. * test/src/alloc-tests.el (record-1, record-2, record-3): New tests. * doc/lispref/elisp.texi, doc/lispref/objects.texi, doc/lispref/records.texi: Add documentation for records.
* Fix assoc_no_quit so that it does not quitPaul Eggert2017-03-291-42/+80
| | | | | | | | | | | | | | The problem was that it called Fequal, which can quit. * src/fns.c (enum equal_kind): New enum, to be used in place of a boolean. (equal_no_quit): New function. (Fmemql, Feql): Use it to compare floats, as a minor tuneup. (assoc_no_quit): Use it to avoid quitting, the main point here. (internal_equal): Generalize bool to enum equal_kind arg, so that there are now 3 possibilities instead of 2. Do not signal an error if EQUAL_NO_QUIT. Put the arg before the depth, since depth should be irrelevant if the arg is EQUAL_NO_QUIT. All callers changed.
* Don’t mishandle (format "%i" -1.0)Paul Eggert2017-03-281-1/+1
| | | | * src/editfns.c (styled_format): Treat %i like %d when converting arg.
* * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.Michael Albinus2017-03-281-1/+3
|
* Fix redisplay glitches due to recent change in redisplay_internalEli Zaretskii2017-03-261-22/+7
| | | | | | * src/xdisp.c (redisplay_internal): A better fix for bug#26097. See http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00695.html for the problems caused by the original fix.
* Minor fixes for inotify.c and filenotify.elAndreas Politz2017-03-261-3/+11
| | | | | | | | * lisp/filenotify.el (file-notify--watch-absolute-filename): Add docstring. (file-notify-callback): Simplify. * src/inotify.c (Finotify_add_watch): Adapt docstring.
* ; Format files from last commitMichael Albinus2017-03-261-12/+11
|
* Fix issues regarding inotify file-notificationAndreas Politz2017-03-261-139/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove special code handling the inotify back-end. * lisp/filenotify.el (file-notify--watch): New struct representing a file-watch. (file-notify-descriptors): Use the new struct as hash-value. (file-notify-handle-event): Check that event is a cons. (file-notify--rm-descriptor, file-notify--event-watched-file) (file-notify--event-file-name, file-notify--event-file1-name) (file-notify-callback, file-notify-add-watch) (file-notify-rm-watch, file-notify-valid-p): Use new struct. Remove special code handling inotify descriptors. Remove code handling multiple clients per descriptor. (file-notify--descriptor): Remove unused function. Let inotify-add-watch return a unique descriptor on every call, like every other back-end does (Bug#26126). Prevent multiple clients from interfering with each other, when watching a shared descriptor. * src/inotify.c (watch_list): Extend the format by including a id and the provided mask. (INOTIFY_DEFAULT_MASK): Default mask used for all clients. (make_watch_descriptor): Removed. (make_lispy_mask, lispy_mask_match_p): New functions. (inotifyevent_to_event): Match event against the mask provided by the client. (add_watch, remove_descriptor, remove_watch): New functions for managing the watch_list. (inotify_callback): Use the new functions. (Finotify_add_watch, Finotify_rm_watch): Remove deprecated flags from documentation. Add check for validity of provided descriptor. Use the new functions. Use the default mask. (INOTIFY_DEBUG): Add new debug conditional. (inotify-watch-list, inotify-allocated-p): New debug functions. (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols. * test/lisp/filenotify-tests.el: (file-notify-test02-rm-watch): Remove expected failure for inotify.
* Fix a segfault due to failure to realize some facesEli Zaretskii2017-03-251-0/+11
| | | | | | | | | * src/xdisp.c (redisplay_internal): If the frame becomes garbaged while redisplaying its windows, redisplay all of its windows again. (Bug#26097) (init_iterator): When freeing all realized faces on all frames, reset the 'face_change' flag of the frame whose window we are about to iterate.
* c:/Temp/gtk-window-move/ChangeLog.txtMartin Rudalics2017-03-232-27/+78
|
* Streamline dependency-file generationPaul Eggert2017-03-211-18/+7
| | | | | | | | | | | | | | | * configure.ac (AUTODEPEND_PARENTS): New var. mkdir the dependency directories here, to simplify ‘make’. Remove dependency files just before outputting Makefiles, so that they are preserved if ‘configure’ exits early due to some other problem. * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in: * src/Makefile.in: Adjust deps strategies to be similar, as follows: (MKDEPDIR): Remove. All uses removed. This cuts down on the number of processes spun off by ‘make’. (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself. (distclean): Remove $(DEPDIR) itself. * lwlib/Makefile.in (all): Move to front, so that depdir includes do not alter default action.
* Merge from origin/emacs-25Paul Eggert2017-03-191-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work. 1925dd9 Fix duplicate wording in Emacs manual 6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A... 2d671fd Fix wording in Emacs manual a8766a2 Document how to customize input methods 6eb8995 * lisp/net/eww.el (eww-reload): Doc fix. (Bug#25981) aceac95 Fix warning message about native completion (Bug#25984) a314c1f Clarify documentation of 'raise' and 'height' display specs f366f6e Mention problems with GPaste in PROBLEMS 6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug... 6406618 Fix doc strings in info.el c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change. eed9677 Fix doc string of 'posn-at-point' 0d5957e Documentation fix in elisp reference manual
| * ; * src/keyboard.c (Fposn_at_point): Fix last change.Eli Zaretskii2017-02-251-1/+1
| |
| * Fix doc string of 'posn-at-point'Eli Zaretskii2017-02-251-3/+3
| | | | | | | | | | * src/keyboard.c (Fposn_at_point): Clarify the doc string. (Bug#25796)
* | Merge from origin/emacs-25Paul Eggert2017-03-192-5/+9
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description. 2b774fa Mention "editor" in Emacs man page header ae60d0c Document problems with nerd-fonts 2fdb5a9 ; Details about pinning Emacs to w32 task bar 5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i... 4c51ef4 Clarify what is the "cursor" 8303c32 ; * etc/NEWS: Copyedits. 3f7493e ; Fix a typo in comment c54cf8d Improve commentary in lisp.h 8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro... 0ba9932 Disable native completion for ipython (Bug#25067) 38fc456 Fix a typo in ada-mode manual 00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d... a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-... # Conflicts: # etc/NEWS # etc/PROBLEMS
| * Improve commentary in lisp.hEli Zaretskii2017-02-101-3/+7
| | | | | | | | | | * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc object is discouraged.
| * ; * src/coding.c (Fencode_coding_region): Fix a typo in the doc string.Eli Zaretskii2017-02-051-2/+2
| |
* | Merge from origin/emacs-25Paul Eggert2017-03-191-9/+15
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate... 7e02a47 Index byte-compile-debug 7c1e598 Document `byte-compile-debug' in the ELisp manual 4d81eb4 Document variable `byte-compile-debug' 72ef710 Fix call to debugger on assertion failure ae8264c Call modification hooks in org-src fontify buffers b3139da ; Fix last change in doc/lispref/strings.texi c331f39 Improve documentation of 'format' conversions 9f52f67 Remove stale functions from ert manual c416b14 Fix a typo in Eshell manual 06695a0 ; Fix a typo in ediff-merg.el 954e9e9 Improve documentation of hooks related to saving buffers 9fcab85 Improve documentation of auto-save-visited-file-name 2236c53 fix typo in mailcap-mime-extensions 85a3e4e Fix typos in flymake.el a1ef10e More NEWS checking for admin.el's set-version # Conflicts: # lisp/emacs-lisp/bytecomp.el
| * Improve documentation of 'format' conversionsEli Zaretskii2017-01-281-9/+15
| | | | | | | | | | | | | | | | | | | | * src/editfns.c (Fformat): More accurate description of %g and effects of the various flags on it. More accurate description of integer conversions. * doc/lispref/strings.texi (Formatting Strings): More accurate description of %g and effects of the various flags on it. More accurate description of integer conversions. (Bug#25557)
* | Merge from origin/emacs-25Paul Eggert2017-03-191-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | 5569e64 ; Spelling fixes 24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (... 9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak 69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix. (Bug#2... 42eae54 Improve documentation of dabbrevs b0ade0d Clarify that easy-menu-add is a nop (Bug#25382) 3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi... # Conflicts: # lisp/textmodes/rst.el
| * ; Spelling fixesEli Zaretskii2017-01-161-2/+2
| | | | | | | | | | * src/buffer.c (delete_all_overlays, Fkill_buffer): Fix typos in comments.
* | ; Spelling fixesPaul Eggert2017-03-171-1/+1
| |
* | Fixups for GNU Make switchoverPaul Eggert2017-03-171-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes some minor problems introduced in the recent switch to GNU Make, discovered by further testing. Without some of these changes 'make -j' would sometimes have race conditions caused by missing dependencies. (Bug#26100) * .gitignore: Remove src/stamp-h.in, src/stamp-h1. * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not src/config.in, since the former's timestamp now represents the latter's. ($(srcdir)/configure): Use plain ./autogen.sh, for consistency with other autogen.sh invocations. ($(srcdir)/src/stamp-h.in): Remove rule, as this file is no longer created. * Makefile.in (top_distclean): * src/Makefile.in (bootstrap-clean): No need to remove stamp-h1, as that was an Automake byproduct and Automake is no longer in use. * lib/Makefile.in, src/Makefile.in: (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove. (../config.status, Makefile): Simplify by limiting dependencies to files we care about and files in the repository, and by using just one file to represent the timestamps on multiple targets updated by the same rule. * autogen.sh: Do not create or use src/stamp-h.in. Instead, have 'find' test the two output files directly.
* | Switch from Automake to GNU MakePaul Eggert2017-03-171-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Emacs assumes GNU Make, and GNU Make has much of the functionality of Automake built-in. The Emacs build process uses Automake primarily because Emacs uses some Gnulib code and Gnulib formerly required Automake. Now that Gnulib no longer requires Automake, Emacs can stop using Automake and this should simplify Emacs maintenance in the future (Bug#26100). Although this patch may look long, most of it is generated automatically: the changes to build-aux/config.guess, build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are all done by admin/merge-gnulib. * .gitignore: Remove build-aux/ar-lib, build-aux/compile, build-aux/config.guess, build-aux/config.sub, build-aux/depcomp, build-aux/install-sh, build-aux/missing, and lib/Makefile.in, as they are no longer built by autogen.sh. Add lib/gnulib.mk, as it is now built by 'configure'. Remove nt/gnulib.mk, as it is no longer built by 'make'. * INSTALL.REPO, README, admin/make-tarball.txt: Remove mention of Automake. * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib) (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS) ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS) ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh): Remove. ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in. ($(srcdir)/configure, $(srcdir)/src/stamp-h.in) ($(srcdir)/src/config.in): Use autogen.sh instead of doing it by hand. * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)): New vars, to simplify processing of avoided modules. (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES. Add --gnu-make, and change makefile name to gnulib.mk.in. Copy config.guess, config.sub, and install-sh too, since Automake no longer does that for us. * admin/notes/copyright: * admin/update_autogen (genfiles): Update list of files. Remove hack for nt/gnulib.mk, a file that is no longer needed. * autogen.sh (progs): Remove Automake. (automake_min): Remove. Build aclocal.m4 so that autoreconf need not use aclocal. * build-aux/config.guess, build-aux/config.sub: * build-aux/install-sh: New files, copied from Gnulib. These are now updated by admin/merge-gnulib instead by autogen.sh. * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL): Remove. (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call. (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O. (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed. (--disable-silent-rules): New option, since Automake no longer does this for us. (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother with AM_SUBST_NOTMAKE. (AC_PROG_INSTALL): Add call. (MAKEINFO): Do not bother with the 'missing' program. (MAKEINFO, SYSTEM_TYPE): AC_SUBST. (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk. (SUBDIR_MAKEFILES): Remove duplication. * lib/Makefile.am: Remove, replacing with: * lib/Makefile.in: New file, with the old Makefile.am contents and with the following changes: (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST) (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES) (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD) (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS): Remove. (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR) (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE) (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean) (mostlyclean, distclean, bootstrap-clean, maintainer-clean): New macros and rules, since Automake no longer does them. Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt, instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT. Include dependency files if AUTO_DEPEND. (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS): New macros. (bootstrap-clean): Depend on distclean, not maintainer-clean, and remove gnulib.mk. (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile): New macros and rules, copied from ../Makefile.in. ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES. (.c.o, e-%.o): New generic rules. * lib/gnulib.mk: Remove. * lib/gnulib.mk.in: New file, which is built by autogen.sh and contains much of what used to be in lib/gnulib.mk. * m4/gnulib-common.m4: Copy from gnulib. * make-dist: Do not distribute build-aux/compile, build-aux/depcomp, build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk, nt/gnulib-modules-to-delete.cfg. Distribute lib/Makefile.in, lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead. * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0) (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove. * nt/gnulib-cfg.mk: New file, which supersedes ... * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed. * src/Makefile.in (ACLOCAL_INPUTS): Remove. (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it. ($(top_srcdir)/configure, ../config.status, config.in Makefile): Defer to parent Makefile.
* | Fix bug: Range-check integer ‘alpha’ frame parm valueThien-Thi Nguyen2017-03-171-1/+1
| | | | | | | | | | | | | | Typo introduced 2013-04-01, "Prefer < to > in range checks such as 0 <= i && i < N". * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
* | Revert "Remove NSEvent loop from ns_select (bug#25265)"Alan Third2017-03-141-36/+40
| | | | | | | | This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
* | Revert "Add missing timeout value in ns_select"Alan Third2017-03-141-7/+1
| | | | | | | | This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
* | Remove old macOS compatibility codeAlan Third2017-03-143-44/+0
| | | | | | | | | | * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for macOS versions below 10.6 as they are not supported in Emacs 25+.
* | Fix bidi paragraph direction when inserting text at newlineEli Zaretskii2017-03-131-4/+7
| | | | | | | | | | | | * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi paragraph cache when inserting immediately after a newline. (Bug#26083)
* | Use switch on pseudovector types; plus cleanups along the wayStefan Monnier2017-03-124-80/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object. (PSEUDOVECTOR_TYPEP): Change type of `code'. * src/alloc.c (sweep_vectors): Remove out-of-date assertion. (mark_object): Use PSEUDOVECTOR_TYPE. * src/data.c (Ftype_of): Use switch on pvec type. * src/print.c (print_object): Use switch on pvec type. * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add recently added types.
* | Install update-game-score only on requestPaul Eggert2017-03-121-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most distributions do not install update-game-score properly due to setuid/setgid complications, so install it only when the installer specifies a user or group (Bug#25895). * .gitattributes: Remove lib-src/update-game-score.exe.manifest. * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME): New vars. (epaths-force): Use PATH_GAME. (uninstall): Remove snake-scores and tetris-scores only if shared. * configure.ac: Default --with-gameuser to 'no'. (UPDATE_MANIFEST): Remove. * etc/NEWS: Mention this. * lib-src/Makefile.in (UPDATE_MANIFEST): Remove. (use_gamedir): New macro. (UTILITIES): Remove update-game-score unless use_gamedir. (SCRIPTS): Remove $(UPDATE_MANIFEST). ($(DESTDIR)${archlibdir}): Install game directory program and data only if use_gamedir. * lib-src/update-game-score.exe.manifest: Remove, as update-game-score is no longer installed on MS-Windows. * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score): Use auxiliary program only if setuid or setgid. * make-dist: Do not distribute update-game-score.exe.manifest. * src/callproc.c (init_callproc): Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT. (syms_of_callproc): Remove unnecessary initialization of Vshared_game_score_directory.
* | Avoid aborts/assertion violations due to 'vim-empty-lines-mode'Eli Zaretskii2017-03-111-0/+8
| | | | | | | | | | | | | | | | | | * src/xdisp.c (handle_single_display_spec): If position to be restored after processing the display property comes from an overlay, protect against that overlay's end point being outside of the narrowed region. Reported by Filipe Silva <filipe.silva@gmail.com> in http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00176.html.
* | Tweak X toolkit code to pacify modern GCCPaul Eggert2017-03-104-36/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c: Don’t include <stdlib.h>, since this code now calls emacs_abort rather than abort. * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback) (wm_delete_window): * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call): * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget): * lwlib/xlwmenu.c (abort_gracefully, draw_separator) (separator_height, XlwMenuInitialize): Use emacs_abort, not abort. Without this change, some calls to ‘abort’ were invalid, as stdlib.h was not always included. * src/widget.c (resources, emacsFrameClassRec): * src/xfns.c (x_window) [USE_X_TOOLKIT]: * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]: * src/xterm.c (emacs_options) [USE_X_TOOLKIT}: (x_term_init) [USE_X_TOOLKIT]: Cast string constants to char * to pacify --enable-gcc-warnings.
* | * src/data.c (arithcompare): Add comments.Paul Eggert2017-03-081-4/+18
| |
* | * data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.Andreas Schwab2017-03-081-1/+4
| | | | | | | | (Fmax, Fmin): Restore documentation.
* | * data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): ReorderAndreas Schwab2017-03-081-6/+6
| | | | | | | | comparisons that are written backward.
* | min and max should not return markersPaul Eggert2017-03-071-2/+2
| | | | | | | | | | | | | | | | | | Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00147.html * src/data.c (minmax_driver): Convert any marker result to an integer, since some callers assume this. * test/src/data-tests.el (data-tests-max, data-tests-min): Test for this.
* | Add missing timeout value in ns_selectAlan Third2017-03-081-1/+7
| | | | | | | | | | * src/nsterm.m (ns_select): Set timeout to distant future when relying on fd_handler's timeout.
* | Remove isnan hack for Solaris 10 gcc 3.4.3Paul Eggert2017-03-072-9/+11
| | | | | | | | | | | | | | This seems to have been a false alarm (Bug#26018). * src/data.c (isnan): * src/floatfns.c (isfinite, isnan): Use standard implementation if available.
* | Define copysign on all platformsPaul Eggert2017-03-071-5/+9
| | | | | | | | | | | | | | * configure.ac (copysign): Remove test. * src/floatfns.c (signbit): New macro, if not already defined. (Fcopysign): Use it instead of copysign. (Fcopysign, syms_of_floatfns): Define the function on all platforms.
* | Revert "Replace ldefs-boot with a much smaller file"Phillip Lord2017-03-074-34/+1
| | | | | | | | | | | | | | | | | | | | | | This reverts commit c27b645956a11fab1dd8fa189254d525390958f5. This commit has been reverted because the new mechanism was too sensitive to changes in the lisp source, generation of new ldefs-boot files was platform specific and resulted in warnings about undefined variables. See also 11436e2890d.
* | Revert "Speed generation of ldefs-boot-auto"Phillip Lord2017-03-071-23/+2
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba. This commit has been reverted because the new mechanism was too sensitive to changes in the lisp source, generation of new ldefs-boot files was platform specific and resulted in warnings about undefined variables. See also 11436e2890d.
* | min and max now return one of their argumentsPaul Eggert2017-03-061-23/+20
| | | | | | | | | | | | | | | | | | * doc/lispref/numbers.texi (Comparison of Numbers): * etc/NEWS: Document this. * src/data.c (Amax, Amin): Remove constants. All uses removed. (minmax_driver): New function. (Fmax, Fmin): Use it instead of arith_driver. * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
* | Remove NSEvent loop from ns_select (bug#25265)Alan Third2017-03-061-40/+36
| | | | | | | | | | * src/nsterm.m (ns_select): Remove event processing loop and replace with simple test for a new event.
* | A better fix for bug#25845Eli Zaretskii2017-03-065-64/+34
| | | | | | | | | | | | | | | | | | * src/xdisp.c (font_for_underline_metrics): New function. * src/dispextern.h: Add its prototype. * src/xterm.c (x_draw_glyph_string): * src/w32term.c (x_draw_glyph_string): * src/nsterm.m (ns_draw_text_decoration): Call it. This avoids having identical code 3 times in 3 different files.
* | ffloor etc. now accept only floatsPaul Eggert2017-03-051-6/+10
| | | | | | | | | | | | | | * etc/NEWS: Say why. * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate): Require arg to be float. * test/src/floatfns-tests.el (fround-fixnum): Check this.
* | ; Spelling fixesPaul Eggert2017-03-051-1/+1
| |
* | Fix display of cursor on underlined textEli Zaretskii2017-03-053-17/+79
| | | | | | | | | | | | | | | | | | * src/nsterm.m (ns_draw_text_decoration): * src/xterm.c (x_draw_glyph_string): * src/w32term.c (x_draw_glyph_string): Compute the position and thickness of the underline by looking for the first glyph of the run of underlined glyphs that includes the glyph string we are drawing. (Bug#25845)
* | Compare and round more carefullyPaul Eggert2017-03-044-35/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: Document this. * src/data.c (store_symval_forwarding): * src/sound.c (parse_sound): Do not botch NaN comparison. * src/data.c (cons_to_unsigned, cons_to_signed): Signal an error if a floating-point arg is not integral. * src/data.c (cons_to_unsigned, cons_to_signed): * src/fileio.c (file_offset): Use simpler overflow check. * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned): Avoid rounding error in overflow check. (Fcar_less_than_car): Use arithcompare directly. * test/src/charset-tests.el: New file.
* | Fewer rounding errors with (format "%f" fixnum)Paul Eggert2017-03-041-13/+43
| | | | | | | | | | | | | | * etc/NEWS: Document this. * src/editfns.c (styled_format): When formatting integers via a floating-point format, use long double instead of double conversion, if long double’s extra precision might help.