summaryrefslogtreecommitdiff
path: root/lib-src
Commit message (Collapse)AuthorAgeFilesLines
* Teach etags new interpreters for some languagesEli Zaretskii2018-01-111-5/+26
| | | | | | | | | | | | | | | | | | | | * lib-src/etags.c (Erlang_interpreters, Lua_interpreters) (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New static variables. (lang_names): Use them to set interpreters for Erlang, Lua, Prolog, Python, and Ruby. (find_entries): Support "/usr/bin/env FOO" form of specifying an interpreter. * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang line to test the "env FOO" interpreter spec. (Bug#30075) * test/manual/etags/ETAGS.good_1: * test/manual/etags/ETAGS.good_2: * test/manual/etags/ETAGS.good_3: * test/manual/etags/ETAGS.good_4: * test/manual/etags/ETAGS.good_5: * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test files.
* Fix copyright years by handPaul Eggert2018-01-011-1/+1
| | | | | These are dates that admin/update-copyright did not update, or updated incorrectly.
* Update copyright year to 2018Paul Eggert2018-01-0115-15/+15
| | | | Run admin/update-copyright.
* maint: shorten https://lists.gnu.org/archive/html/... linksPaul Eggert2017-11-251-6/+6
|
* Use alignas to fix GCALIGN-related bugsPaul Eggert2017-11-131-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use alignas and unions to specify alignments of objects needing addresses that are at least a multiple of GCALIGNMENT. Using these standard C facilities should be safer than relying on ad hoc and poorly-understood features like GCC’s __attribute__ ((aligned (N))), the root cause for recent porting bugs like Bug#29040. The alignas macro was standardized by C11 and Gnulib supports alignas for pre-C11 platforms. I have tested this on Sun Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both x86-64 and x86). * lib-src/make-docfile.c (close_emacs_globals): lispsym is now just an array of struct Lisp_Symbol, since struct Lisp_Symbol is now properly aligned. All uses changed. * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next member; this is simpler and safer than casting a pointer that might not be aligned properly. (aligned_Lisp_Symbol): Remove. No longer needed, now that struct Lisp_Symbol is aligned properly. All uses replaced with struct Lisp_Symbol. * src/lisp.h (GCALIGNED): Remove, as it does not work as expected: it can cause the natural alignment to be ignored. All uses replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as described below. (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String): Change definition from ‘struct TAG { MEMBERS };’ to ‘struct TAG { union { struct { MEMBERS } s; char alignas (GCALIGNMENT) gcaligned; } u; };’. This guarantees ‘struct TAG’ to have an alignment that at least max (GCALIGNMENT, N) where N is its old alignment. All uses like ‘PTR->MEMBER’ changed to ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private anyway. Verify that the resulting ‘struct TAG’ is properly aligned for Emacs. (union vectorlike_header): New member ‘gcaligned’ to guarantee that this type, and its containing types like ‘struct Lisp_Subr’, ‘struct buffer’ and ‘struct thread_state’, are all properly aligned for Emacs. (struct Lisp_String): New union member ‘next’, for the benefit of NEXT_FREE_LISP_STRING. (union Aligned_Cons, union Aligned_String): Remove. All uses replaced by struct Lisp_Cons and struct Lisp_String, since they are now properly aligned. (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can assume struct Lisp_Cons and struct Lisp_String are properly aligned.
* Use GCALIGNED properly for GCCPaul Eggert2017-11-081-1/+1
| | | | | | | | | | | | | Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must immediately follow the ‘struct’ keyword when aligning a structure. The attribute silently does not work if it follows a tag after the ‘struct’ keyword. Who knew? Anyway, this patch is designed to fix a SIGSEGV problem reported by John Mastro (Bug#29183). * lib-src/make-docfile.c (close_emacs_globals): * src/buffer.c (buffer_defaults, buffer_local_symbols): * src/lisp.h (DEFUN): * src/thread.c (main_thread): Put 'GCALIGNED' immediately after 'struct'.
* Fix alignment portability problemsPaul Eggert2017-11-021-1/+1
| | | | | | | | | | | | | | | | Do not assume that the natural alignment of Lisp objects is a multiple of GCALIGNMENT. This improves on the portability of the recent fix for Bug#29040. * lib-src/make-docfile.c (close_emacs_globals): * src/buffer.c (buffer_defaults, buffer_local_symbols): * src/lisp.h (DEFUN): * src/thread.c (main_thread): Use GCALIGNED, not alignas (GCALIGNMENT). * src/alloc.c (COMMON_MULTIPLE): Move back here from lisp.h, since it is no longer used elsewhere. * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not worry about MSVC. Omit no-longer-needed consistency check. * src/thread.c (THREAD_ALIGNMENT): Remove.
* Spelling fixesPaul Eggert2017-10-181-1/+1
| | | | | | * lisp/cedet/semantic/analyze/refs.el: (semantic-analyze-proto-impl-toggle): Fix recently-introduced misspelling of pop-to-buffer-same-window.
* Avoid compilation warnings in optimized buildsEli Zaretskii2017-10-151-1/+1
| | | | | | | | | | * src/process.c (Fmake_network_process): * src/image.c (xbm_scan, gif_load): * src/fileio.c (Frename_file): * src/data.c (Fmake_local_variable): * src/buffer.c (fix_start_end_in_overlays): * lib-src/etags.c (process_file_name): Mark variables with UNINIT to avoid compiler warnings in optimized builds.
* Prefer HTTPS to HTTP for gnu.orgPaul Eggert2017-10-012-11/+11
| | | | | | | | | This fixes some URLs I omitted from my previous pass, notably those in lists.gnu.org. Although lists.gnu.org does not yet support TLS 1.1, TLS 1.0 is better than nothing. * lisp/erc/erc.el (erc-official-location): * lisp/mail/emacsbug.el (report-emacs-bug): Use https:, not http:.
* Merge from GnulibPaul Eggert2017-10-011-4/+4
| | | | | | | | | | | | This is mostly to change http: to https: in licenses. * COPYING, build-aux/config.guess, build-aux/config.sub: * doc/emacs/doclicense.texi, doc/emacs/gpl.texi: * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi: * doc/lispref/gpl.texi, doc/misc/doclicense.texi: * doc/misc/gpl.texi, etc/COPYING, leim/COPYING: * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING: * msdos/COPYING, nt/COPYING, src/COPYING: Copy from Gnulib.
* Prefer HTTPS to HTTP for gnu.orgPaul Eggert2017-09-293-3/+3
| | | | | This catches some URLs I missed in my previous scan, or perhaps were added after the scan.
* Fix compilation warning in etags.cEli Zaretskii2017-09-161-7/+9
| | | | | * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL pointer. Reported by Richard Copley <rcopley@gmail.com>.
* Prefer HTTPS to FTP and HTTP in documentationPaul Eggert2017-09-1312-12/+12
| | | | | | | | | | | | | Most of this change is to boilerplate commentary such as license URLs. This change was prompted by ftp://ftp.gnu.org's going-away party, planned for November. Change these FTP URLs to https://ftp.gnu.org instead. Make similar changes for URLs to other organizations moving away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and fsf.org when this works, as this will further help defend against man-in-the-middle attacks (for this part I omitted the MS-DOS and MS-Windows sources and the test tarballs to keep the workload down). HTTPS is not fully working to lists.gnu.org so I left those URLs alone for now.
* Another place to produce debugging output in etagsEli Zaretskii2017-09-111-0/+3
| | | | | * lib-src/etags.c (Ruby_functions): One more place to print debugging output under --debug.
* Extend --debug printouts in etagsEli Zaretskii2017-09-101-5/+18
| | | | | * lib-src/etags.c (regex_tag_multiline, readline): Under "--debug", print tags found via regexps.
* Add --debug option to etagsEli Zaretskii2017-09-101-0/+6
| | | | | * lib-src/etags.c (make_tag): Print found tags under --debug. (longopts): Add --debug.
* Improve --enable-gcc-warnings for MinGW64Paul Eggert2017-09-091-2/+2
| | | | | | | | | | | | | | | | This partially reverts my 2016-05-30 patch. Apparently MinGW64 still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26) does not. Also, pacify tparam.c, which isn’t used on Fedora. * lib-src/etags.c (process_file_name, TeX_commands): * src/buffer.c (fix_overlays_before): * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned) (cons_to_signed): * src/editfns.c (Ftranslate_region_internal): Prefer UNINIT to some stray value, as this simplifies code-reading later. * src/eval.c (CACHEABLE): New macro. (internal_lisp_condition_case): Use it. * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
* Fix compilation warnings in MinGW64 build using GCC 7Eli Zaretskii2017-09-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Reported by Richard Copley <rcopley@gmail.com>. * src/w32heap.c (init_heap): Declare enable_lfh only for mingw.org's MinGW build. * src/w32console.c (w32con_write_glyphs): * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some mismatches of data type vs format spec. * src/w32fns.c (compute_tip_xy): * src/w32proc.c (stop_timer_thread): * src/w32notify.c (remove_watch): * src/eval.c (internal_lisp_condition_case): * src/editfns.c (Ftranslate_region_internal): * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned) (cons_to_signed): * src/buffer.c (fix_overlays_before): Initialize variables to avoid compiler warnings. * lib-src/etags.c (TeX_commands, process_file_name): Initialize variables to avoid compilation warnings.
* Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)Reuben Thomas2017-08-301-18/+66
| | | | | | | | | | | | | | | | * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or corresponding command-line argument, into quote- or space-separated tokens. If a token starts with a quote, then it naturally is expected to end with a quote; escaping is not supported. This is enough to cope with the typical case of requiring the initial path to be quoted, common on Windows where it may contain spaces. * etc/NEWS: Document. * doc/emacs/misc.texi: Likewise. * doc/man/emacsclient.1: Tweak to remove the implication that only an editor can be specified (the manual already mentions a “command”). Fix a small error where “EDITOR” is referred to rather than “ALTERNATE_EDITOR”. * test/lib-src/emacsclient-tests.el: Add tests.
* Improve stack-top heuristicPaul Eggert2017-08-291-2/+7
| | | | | | | | | | | | | | This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part of the stack when scanning for heap roots, causing Emacs to crash later (Bug#28213). The problem is that Emacs's hack for getting an address near the stack top does not work when link-time optimization moves stack variables around. * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro. * lib-src/make-docfile.c (DEFUN_noinline): New constant. (write_globals, scan_c_stream): Support noinline. * src/alloc.c (NEAR_STACK_TOP): New macro. (SET_STACK_TOP_ADDRESS): Use it. (flush_stack_call_func, Fgarbage_collect): Now noinline.
* Fix the MS-Windows buildEli Zaretskii2017-08-171-0/+2
| | | | | | | * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module 'open'. * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
* Merge from Gnulib; use ‘open’ for O_CLOEXECPaul Eggert2017-08-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | This incorporates: 2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD 2017-08-15 extensions: enable NetBSD specific extensions 2017-08-14 open: support O_CLOEXEC 2017-08-13 reallocarray: new module * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since it now supports O_CLOEXEC and this simplifies Emacs. * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h: * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4: Copy from Gnulib. * lib/cloexec.c, lib/cloexec.h, lib/open.c: * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4: New files, copied from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Remove, as Gnulib does this for us. * src/filelock.c (create_lock_file): * src/sysdep.c (emacs_open, emacs_pipe): Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
* Use Gnulib 'tempname' on MS-WindowsEli Zaretskii2017-08-122-59/+14
| | | | | | | | | | | | | | | | | | | * lib-src/ntlib.h (mkdir, open): Remove redefinitions. They are now in nt/inc/ms-w32.h. * lib-src/ntlib.c (sys_mkdir, sys_open): New functions. (mkostemp): Remove. * src/w32.c (mkostemp): Remove. (sys_mkdir): Accept a second (unused) argument. * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT specific call to mkdir. (Bug#28023) * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine to accept 2 arguments. (open): Remove from "#ifdef emacs". * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove. * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp) (OMIT_GNULIB_MODULE_tempname): Remove.
* Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"Reuben Thomas2017-08-071-55/+18
| | | | This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
* Add support for arguments in ALTERNATE_EDITOR to emacsclientReuben Thomas2017-08-071-18/+55
| | | | | | | * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or corresponding command-line argument, into space-separated tokens. * etc/NEWS: Document. * test/lib-src/emacsclient-tests.el: Add a test.
* Properly align global lispsymAndreas Schwab2017-07-251-1/+3
| | | | | | | * lib-src/make-docfile.c (close_emacs_globals): Wrap struct Lisp_Symbols inside struct. * src/alloc.c (sweep_symbols): Update use of lispsym. * src/lisp.h (builtin_lisp_symbol): Likewise.
* Support '=' in Scheme and Lisp tags in 'etags'Alexander Gramiak2017-07-081-6/+23
| | | | | | | | | | | | | | | * lib-src/etags.c (get_lispy_tag): New function. (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624). * test/manual/etags/CTAGS.good: * test/manual/etags/ETAGS.good_1: * test/manual/etags/ETAGS.good_2: * test/manual/etags/ETAGS.good_3: * test/manual/etags/ETAGS.good_4: * test/manual/etags/ETAGS.good_5: * test/manual/etags/ETAGS.good_6: * test/manual/etags/Makefile: * test/manual/etags/el-src/TAGTEST.EL: Update tests. * test/manual/etags/scm-src/test.scm: New tests for Scheme.
* Use unlocked stdio more systematicallyPaul Eggert2017-06-228-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can improve performance significantly on stdio-bottlenecked code. E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop. * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io. * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c: * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c: * lib-src/profile.c, lib-src/update-game-score.c: Include unlocked-io.h instead of stdio.h, since these programs are single-threaded. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib. * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c: * src/lread.c, src/term.c: Include sysstdio.h, possibly instead of stdio.h, to define the unlocked functions if the system does not provide them. * src/charset.c, src/lread.c (getc_unlocked): Remove, since sysstdio.h now defines it if needed. * src/cm.c (cmputc, cmcheckmagic): * src/dispnew.c (update_frame, update_frame_with_menu) (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user): * src/emacs.c (main, Fdump_emacs): * src/fileio.c (Fdo_auto_save, Fset_binary_mode): * src/image.c (slurp_file, png_read_from_file, png_load_body) (our_stdio_fill_input_buffer): * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt): * src/lread.c (readbyte_from_file): * src/minibuf.c (read_minibuf_noninteractive): * src/print.c (printchar_to_stream, strout) (Fredirect_debugging_output): * src/sysdep.c (reset_sys_modes, procfs_ttyname) (procfs_get_total_memory): * src/term.c (tty_ring_bell, tty_send_additional_strings) (tty_set_terminal_modes, tty_reset_terminal_modes) (tty_update_end, tty_clear_end_of_line, tty_write_glyphs) (tty_write_glyphs_with_face, tty_insert_glyphs) (tty_menu_activate): * src/xfaces.c (Fx_load_color_file): Use unlocked stdio when it should be safe. * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked) (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked) (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked) (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
* No need to complicate make-docfile.c for ClangPaul Eggert2017-06-151-5/+1
| | | | | | * lib-src/make-docfile.c (put_filename): Undo recent change. The Clang false alarm occurs only with CFLAGS=-save-temps and we needn’t worry about pacifying unusual compiler configurations.
* Silence two Clang warnings by introducing additional local variablesPhilipp Stephani2017-06-131-1/+5
| | | | | | * lib/strftime.c (libc_hidden_def): * lib-src/make-docfile.c (put_filename): Introduce local variables to silence Clang warnings.
* Free cwd when no longer neededPaul Eggert2017-05-311-3/+2
| | | | * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
* Fix memory leak of cwd string in emacsclient (Bug#26628)Anders Waldenborg2017-05-311-0/+2
| | | | | | | | * lib-src/emacsclient.c (main): emacsclient retrieves the current working directory using get_current_dir_name which returns a newly allocated string. Make sure this string is freed before exiting. Copyright-paperwork-exempt: yes
* Support remote editing in emacsclient via TrampEli Zaretskii2017-05-191-2/+18
| | | | | | | | | | | | | | * lib-src/emacsclient.c (main, decode_options) (print_help_and_exit, longopts): New option '--tramp' / '-T' which specifies how emacs should use tramp to find remote files. * doc/emacs/misc.texi (TCP Emacs server): New subsection describing the various knobs to tune server.el for TCP opereation. (emacsclient Options): Reference "TCP Emacs server" from description of --server-file. Document the new '--tramp' / '-T' options. * doc/emacs/emacs.texi (Top): Update the top-level menu. * etc/NEWS: Mention the new option.
* Merge with gnulib, pacifying GCC 7Paul Eggert2017-05-162-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | This incorporates: 2017-05-16 manywarnings: update for GCC 7 2017-05-15 sys_select: Avoid "was expanded before it was required" * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and -Wformat-overflow=2 options, due to too many false alarms. * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4: Copy from gnulib. * m4/gnulib-comp.m4: Regenerate. * src/coding.c (decode_coding_iso_2022): Fix bug uncovered by -Wimplicit-fallthrough. * src/conf_post.h (FALLTHROUGH): New macro. Use it to mark all switch cases that fall through. * src/editfns.c (styled_format): Use !, not ~, on bool. * src/gtkutil.c (xg_check_special_colors): When using sprintf, don’t trust Gtk to output colors in [0, 1] range. (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool; this bug was actually caught by Clang. * src/search.c (boyer_moore): Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character. * src/xterm.c (x_draw_glyphless_glyph_string_foreground): Tell GCC that glyph->u.glyphless.ch must be a character.
* Remove gettimeofday from w32 sourcesEli Zaretskii2017-05-141-25/+0
| | | | | | * lib-src/ntlib.c (gettimeofday): * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused function 'gettimeofday' and all of its supporting code.
* Fix buffer overflow in make-docfilePaul Eggert2017-04-291-13/+3
| | | | | | * lib-src/make-docfile.c (scan_c_stream): Check for buffer overflow when reading an identifier. Use a static buffer for NAME rather than a small dynamically-allocated buffer.
* ; lib-src/Makefile.in (exp_archlibdir): Drop extra '&&' from previous commitNoam Postavsky2017-03-241-1/+1
|
* Don’t require chown/chgrp for game installationPaul Eggert2017-03-241-9/+15
| | | | | | | | Problem reported by Joseph Mingrone in: http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00622.html * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or chgrp fails with update-game-score and the game directory. Instead, expect the installer to fix this up afterwards.
* Emacs 'movemail' is now a configure-time optionPaul Eggert2017-03-171-1/+5
| | | | | | | | | | | | | | | | | The new configure option --with-mailutils lets the builder say that Emacs should assume that GNU Mailutils is installed, instead of continuing to build and install its own limited and insecure substitute for 'movemail'. * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils. * configure.ac: Add --with-mailutils option. (with_mailutils): New variable. Do not bother configuring 'movemail' when not building it. Warn about issues relating to --with-mailutils. * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils. (Movemail, Remote Mailboxes): Document port numbers in POP and IMAP URLs. * lib-src/Makefile.in (with_mailutils): New macro. (UTILITIES): Use it.
* Install update-game-score only on requestPaul Eggert2017-03-122-37/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Teach etags to process ENUM_BF correctlyEli Zaretskii2017-03-121-34/+59
| | | | | | | | | | | | | | | | | | | * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf. (hash): Regenerated values for asso_values[] array. (in_word_set): Update values of TOTAL_KEYWORDS and MAX_HASH_VALUE. Add "ENUM_BF" to the wordlist[] array. (in_enum_bf): New file-global variable. (consider_token): Skip ENUM_BF if not in a macro definition. (C_entries): Reset the in_enum_bf flag when past its closing parenthesis. * test/manual/etags/ETAGS.good_1: * test/manual/etags/ETAGS.good_2: * test/manual/etags/ETAGS.good_3: * test/manual/etags/ETAGS.good_4: * test/manual/etags/ETAGS.good_5: * test/manual/etags/ETAGS.good_6: * test/manual/etags/CTAGS.good: Adapt to changes in etags.
* New option -u / --suppress-output to emacsclientPeder O. Klingenberg2017-02-251-11/+26
| | | | | | | | | * lib-src/emacsclient.c (print_help_and_exit, longopts) (decode_options, main): Implement new option --suppress-output / -u to suppress printing of eval-results. * doc/emacs/misc.texi (emacsclient Options): Document the new "--suppress-output/-u" options. * etc/NEWS: Mention the new options.
* Merge from gnulibPaul Eggert2017-02-232-3/+3
| | | | | | | | | | | This incorporates: 2017-02-16 xbinary-io: rename from xsetmode 2017-02-15 xsetmode: new module * lib-src/etags.c (main): * lib-src/hexl.c (main): * src/emacs.c (main) [MSDOS]: Prefer set_binary_mode to the obsolescent SET_BINARY. * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
* hexl: handle large files and I/O errorsPaul Eggert2017-02-231-135/+95
| | | | | | | | | | | | | | | | * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc. Do not include ctype.h, as the code no longer uses isdigit. (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’. (DEFAULT_BASE, endian): Remove; was not really used. (usage): Remove; now done by ‘main’, as that’s simpler. (progname): Now static. (output_error, hexchar): New functions. (main): Use them. Simplify. Remove "-oct", "-big-endian", and "-little-endian" options, as they did not work and were not used. Use SET_BINARY only on stdin, and fopen with "rb" otherwise. Use SET_BINARY only once on stdout. Do not assume file offsets fit in ‘long’. If an I/O error occurs, report it and exit with nonzero status.
* Merge from origin/emacs-25Paul Eggert2017-01-0115-16/+16
|\ | | | | | | | | 2e2a806 Fix copyright years by hand 5badc81 Update copyright year to 2017
| * Fix copyright years by handPaul Eggert2017-01-011-1/+1
| | | | | | | | | | These are dates that admin/update-copyright did not update, or updated incorrectly.
| * Update copyright year to 2017Paul Eggert2016-12-3115-15/+15
| | | | | | | | Run admin/update-copyright.
* | Forth related improvements for etagsHelmut Eller2016-12-011-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generate correct tags names for things like "(foo)". Previously "(foo" created. Fix a bug where a tag for "-bar" was created when encountering things like "create-bar". Recognize more words from the Forth-2012 Standard. * lib-src/etags.c (Forth_words): Check for whitespace after defining words. Create tag with make_tag instead of get_tag to avoid notiname which isn't appropriate for Forth. * test/manual/etags/forth-src/test-forth.fth: Add some test cases. * test/manual/etags/ETAGS.good_1: * test/manual/etags/ETAGS.good_2: * test/manual/etags/ETAGS.good_3: * test/manual/etags/ETAGS.good_4: * test/manual/etags/ETAGS.good_5: * test/manual/etags/ETAGS.good_6: * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and new test cases.
* | Port build to gcc -fcheck-pointer-boundsPaul Eggert2016-11-252-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | This does not let Emacs run, just build. * lib-src/etags.c (main): * lib-src/profile.c (main): Use return, not exit. * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]: Do not define, as -fcheck-pointer-bounds is incompatible with taking addresses of labels. * src/menu.c (Fx_popup_dialog): Use eassume, not eassert, to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.