1. 15 Oct, 2017 1 commit
    • Eli Zaretskii's avatar
      Avoid compilation warnings in optimized builds · 325dfdae
      Eli Zaretskii authored
      * 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.
      325dfdae
  2. 16 Sep, 2017 1 commit
  3. 13 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Prefer HTTPS to FTP and HTTP in documentation · bc511a64
      Paul Eggert authored
      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.
      bc511a64
  4. 11 Sep, 2017 1 commit
  5. 10 Sep, 2017 2 commits
  6. 09 Sep, 2017 2 commits
    • Paul Eggert's avatar
      Improve --enable-gcc-warnings for MinGW64 · d6312354
      Paul Eggert authored
      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.
      d6312354
    • Eli Zaretskii's avatar
      Fix compilation warnings in MinGW64 build using GCC 7 · 2b84c166
      Eli Zaretskii authored
      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.
      2b84c166
  7. 17 Aug, 2017 1 commit
    • Eli Zaretskii's avatar
      Fix the MS-Windows build · 2cfb32bf
      Eli Zaretskii authored
      * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
      'open'.
      
      * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
      2cfb32bf
  8. 16 Aug, 2017 1 commit
    • Paul Eggert's avatar
      Merge from Gnulib; use ‘open’ for O_CLOEXEC · 794c3cd3
      Paul Eggert authored
      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.
      794c3cd3
  9. 08 Jul, 2017 1 commit
    • Alexander Gramiak's avatar
      Support '=' in Scheme and Lisp tags in 'etags' · 42cdb686
      Alexander Gramiak authored
      * 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.
      42cdb686
  10. 22 Jun, 2017 1 commit
    • Paul Eggert's avatar
      Use unlocked stdio more systematically · f6ef15cf
      Paul Eggert authored
      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.
      f6ef15cf
  11. 16 May, 2017 1 commit
    • Paul Eggert's avatar
      Merge with gnulib, pacifying GCC 7 · 2e1bebe2
      Paul Eggert authored
      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.
      2e1bebe2
  12. 12 Mar, 2017 1 commit
    • Eli Zaretskii's avatar
      Teach etags to process ENUM_BF correctly · f0836259
      Eli Zaretskii authored
      * 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.
      f0836259
  13. 23 Feb, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 7204577b
      Paul Eggert authored
      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.
      7204577b
  14. 01 Jan, 2017 1 commit
  15. 01 Dec, 2016 1 commit
    • Helmut Eller's avatar
      Forth related improvements for etags · bb8e3827
      Helmut Eller authored
      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.
      bb8e3827
  16. 26 Nov, 2016 1 commit
    • Paul Eggert's avatar
      Port build to gcc -fcheck-pointer-bounds · d2d4b074
      Paul Eggert authored
      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.
      d2d4b074
  17. 12 Oct, 2016 1 commit
  18. 30 Sep, 2016 1 commit
    • Paul Eggert's avatar
      Limit <config.h>’s includes · f4eb8900
      Paul Eggert authored
      This follows up on recent problems with the fact that config.h
      includes stdlib.h etc.; some files need to include stdlib.h later.
      config.h generally should limit itself to includes that are
      universally safe; outside of MS-Windows, only stdbool.h makes
      the cut among the files currently included.  So, move the
      other includes to just the files that need them (Bug#24506).
      * configure.ac (config_opsysfile): Remove, as this generic hook
      is no longer needed.
      * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
      * src/w32proc.c (_GNU_SOURCE):
      Remove, as it’s OK for config.h to do this now.
      * src/conf_post.h: Include <ms-w32.h>, instead of the generic
      config_opsysfile, for simplicity as this old way of configuring is
      now done only for the MS-Windows port.  Do not include <ms-w32.h>
      if DEFER_MS_W32_H, for the benefit of the few files that want its
      effects later.  Do not include <alloca.h>, <string.h>, or
      <stdlib.h>.  Other files modified to include these headers as
      needed, or to not include headers that are no longer needed.
      * src/lisp.h: Include <alloca.h> and <string.h> here, since
      some of the inline functions need them.
      * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
      we can rely on SAFE_ALLOCA.)  There is no longer any need to
      worry about HAVE_ALLOCA_H.
      * src/unexmacosx.c: Rely on config.h not including stdlib.h.
      * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
      Define before including <config.h> first, and include <ms-w32.h>
      after the troublesome headers.
      f4eb8900
  19. 21 Sep, 2016 1 commit
    • Eli Zaretskii's avatar
      Fix tagging of DEFUN by etags · 73c67dda
      Eli Zaretskii authored
      * lib-src/etags.c (C_entries): Tag DEFUN twice: once with its C
      name, and then again with its Lisp name.  This restores the
      ability to find Lisp primitives by their C name, which was lost
      when the etags back-end was switched to a more strict search
      criteria.
      
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/ETAGS.good_6:
      * test/etags/CTAGS.good: Adapt to the changes in etags.c wrt
      tagging DEFUN.
      73c67dda
  20. 31 Aug, 2016 4 commits
  21. 21 May, 2016 1 commit
    • Eli Zaretskii's avatar
      Fix compiler warnings in the MinGW build · cb5af792
      Eli Zaretskii authored
      * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
      -Wno-pointer-sign, to keep the noise level down.
      
      * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
      -Wredundant-decls, as that produces a lot of noise due to
      redeclaration of time-related functions by gnulib.
      * nt/runemacs.c (set_user_model_id): Fix argument type of
      'SetCurrentProcessExplicitAppUserModelID'.
      
      * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
      declare 'dpyinfo', as it is unused.
      (xpm_load): Fix warnings about pointer signedness.
      * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
      prototypes.
      (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
      (sys_select): Provide prototype.
      (g_b_init_compare_string_w): Move declaration to file scope.
      * src/w32heap.c (dumped_data_commit): Now static.
      (FREEABLE_P): Avoid warnings about pointer comparison with integer.
      (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
      * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
      (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
      Provide prototypes.
      * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
      redundant prototypes.
      (w32_get_internal_run_time, map_w32_filename): Provide prototype.
      (init_environment, sys_ctime): Avoid warnings about discarding
      'const' qualifier.
      Include utimens.h.
      (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
      (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
      (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
      prototypes.
      (sys_rename_replace): Use %d to avoid compiler warnings.
      (_wsa_errlist): Make the message text 'const char *', to avoid
      compilation warnings.
      (dynlib_reset_last_error): Move prototype to file scope.
      (w32_get_resource): First argument is now 'const char *'.
      * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
      (otf_features): Second argument is no 'const char *'.
      * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
      (x_set_window_size): Remove redundant prototypes.
      (XChangeGC, XGetGCValues, w32_draw_underwave)
      (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
      (x_calc_absolute_position, x_destroy_window): Now static.
      (menubar_selection_callback): Move prototype to file scope.
      * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
      declaration.
      (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
      (w32font_full_name): Fix warnings about implicit conversion of
      'float' to 'double'.
      * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
      discarding 'const' qualifier.
      * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
      (set_frame_menubar): Remove redundant prototypes.
      (menubar_selection_callback, w32_menu_display_help): Provide
      prototypes.
      (simple_dialog_show): Avoid warnings about discarding 'const'
      qualifier.
      * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
      (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
      (x_set_tool_bar_lines, x_set_internal_border_width): Remove
      redundant prototypes.
      (current_popup_menu): Remove redundant declaration.
      (colormap_t): Member 'name' is now 'const char *'.
      (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
      (x_decode_color, x_set_border_pixel)
      (x_clear_under_internal_border, x_set_name, hook_w32_key)
      (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
      static.
      (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
      (w32_msg_worker, w32_last_error): Provide prototypes.
      (funhook, lookup_vk_code): Avoid warnings about missing
      parentheses.
      (x_default_font_parameter, Fw32_notification_notify): Avoid
      warnings about discarding 'const' qualifier.
      (Fx_create_frame): Avoid warnings about empty body of 'else'.
      (x_screen_planes): Ifdef away unused function.
      (Fx_show_tip): Remove unused variables.
      (Fw32_battery_status): Avoid warnings about implicit promotion
      from float to double.
      (Fw32_notification_notify): Initialize 'timeout'.
      * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
      define the TIMER_SETTIME_RUNNING value if it will be used.
      * src/w32notify.c (send_notifications): Ifdef away an empty if
      clause.  Remove unused variable.
      (watch_end, watch_completion): Provide prototypes.
      * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
      * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
      warning with pointer signedness.
      * src/gnutls.c (gnutls_x509_crt_get_signature)
      (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
      don't load them from the GnuTLS library, as they are no longer
      used.
      * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
      define, as it's unused.
      * src/unexw32.c (open_input_file, open_output_file)
      (close_file_data): Remove redundant prototypes.
      (_start): provide prototype.
      (mainCRTStartup): Move prototype to file level.
      (find_section): Use type-cast to shut up compiler warnings.
      (offset_to_section, relocate_offset): Now static.
      (find_section): First argument is now a 'const char *'.
      (offset_to_section): Ifdef away, as it's unused.
      * src/w32heap.h (find_section): Adjust prototype.
      * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
      * src/dired.c (directory_files_internal_w32_unwind): Avoid
      warnings about missing prototypes.
      (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
      (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
      signedness.
      * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
      Fix warnings about pointer signedness.
      * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
      unused.
      * src/sysdep.c (_getpid): Remove redundant prototype.
      (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
      [!MSDOS]: Don't define 'st', it's unused.
      (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
      (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
      * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
      n_to_read, as it is not used.
      (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
      * src/w32font.h (syms_of_w32font): Remove redundant prototype.
      * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
      * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
      not used by DOS_NT builds, to avoid compiler warnings.
      * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
      declaration.
      * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
      up compiler warnings.
      * src/w32term.h (x_set_window_size, x_get_focus_frame)
      (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
      (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
      (x_free_frame_resources, x_real_positions)
      (display_x_get_resource): Remove redundant prototypes.
      
      * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
      (sys_rename, gettimeofday): Provide prototypes.
      * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
      declarations.
      * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
      (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
      (close_winsock, initialize_sockets, w32_set_user_model_id)
      (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
      prototypes.
      (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
      difference.
      (w32_set_user_model_id): Update prototype of
      SetCurrentProcessExplicitAppUserModelID to avoid compiler
      warnings.
      (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
      shut up compiler warnings.
      * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
      cb5af792
  22. 18 May, 2016 1 commit
    • Paul Eggert's avatar
      Port --enable-gcc-warnings to GCC 6.1 · 374f6a5f
      Paul Eggert authored
      * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
      * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
      Omit test whether pointer plus a constant equals a null pointer.
      * src/alloc.c (compact_small_strings):
      Avoid pointer arithmetic on null pointers.
      * src/alloc.c (mark_face_cache):
      * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
      * src/fringe.c (draw_fringe_bitmap_1)
      (Fset_fringe_bitmap_face):
      * src/macfont.m (macfont_draw):
      * src/msdos.c (IT_set_face, IT_clear_screen):
      * src/nsfont.m (nsfont_draw):
      * src/nsterm.h (FRAME_DEFAULT_FACE):
      * src/nsterm.m (ns_draw_window_cursor)
      (ns_draw_vertical_window_border, ns_draw_window_divider)
      (ns_dumpglyphs_box_or_relief)
      (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
      (ns_dumpglyphs_stretch):
      * src/w32term.c (w32_draw_vertical_window_border)
      (w32_draw_window_divider, x_set_mouse_face_gc):
      * src/xdisp.c (estimate_mode_line_height, init_iterator)
      (handle_face_prop, handle_single_display_spec, pop_it)
      (CHAR_COMPOSED_P, get_next_display_element)
      (next_element_from_display_vector, extend_face_to_end_of_line)
      (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
      * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
      (lookup_named_face):
      * src/xterm.c (x_draw_vertical_window_border)
      (x_draw_window_divider, x_set_mouse_face_gc):
      Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
      * src/xterm.c (try_window_id):
      Redo loop to convince GCC 6.1 that it is null pointer safe.
      (x_color_cells):
      Use eassume as necessary to pacify GCC 6.1.
      * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
      (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
      behavior of the non-_OPT macro, to be used when the result
      might be a null pointer.
      * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
      [HAVE_WINDOW_SYSTEM]:
      * src/intervals.h (INTERVAL_WRITABLE_P):
      * src/term.c (turn_off_face):
      * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
      (produce_image_glyph, produce_xwidget_glyph):
      * src/xfaces.c (lookup_named_face):
      Remove unnecessary test for null pointer.
      * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
      * src/process.c (would_block): New function.
      (server_accept_connection, wait_reading_process_output, send_process):
      Use it.
      * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
      Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
      might be null.
      374f6a5f
  23. 08 May, 2016 1 commit
    • Paul Eggert's avatar
      Prefer grep -E/-F to egrep/fgrep · e8bda380
      Paul Eggert authored
      POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
      withdrew them in SUSv3 (2001), and these days grep -E and grep -F
      are probably more portable.
      * lib-src/etags.c (main):
      * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
      (eshell/fgrep):
      * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
      * lisp/eshell/esh-var.el (eshell-apply-indices):
      * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
      (ada-find-in-src-path):
      * lisp/textmodes/ispell.el (ispell-grep-command):
      (ispell-lookup-words):
      Use or document grep -E and grep -F instead of egrep and fgrep.
      * lisp/textmodes/ispell.el (ispell-grep-options):
      Use -Ei on all platforms, not just MS-Windows.
      e8bda380
  24. 22 Mar, 2016 1 commit
  25. 10 Mar, 2016 2 commits
    • Paul Eggert's avatar
      Rework C source files to avoid ^( · 7352c6c6
      Paul Eggert authored
      Work around Bug#22884 by rewording comments and strings to avoid ‘(’
      at the start of a line unless it starts a function.  This change
      is a short-term hack; in the longer run we plan to fix cc-mode’s
      performance for C files that have ‘(’ at the start of a line in a
      comment or string.
      7352c6c6
    • Eli Zaretskii's avatar
      By default, etags produces unqualified Perl tag names · a589e9ae
      Eli Zaretskii authored
      * lib-src/etags.c (Perl_functions): Produce unqualified names,
      unless -Q was specified.
      (print_help): Update the description of -Q.
      
      * doc/man/etags.1: Update the documentation of -Q.
      
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/CTAGS.good: Adapt the expected test results to the
      changed Perl functionality.
      a589e9ae
  26. 06 Feb, 2016 1 commit
    • Eli Zaretskii's avatar
      Extend etags Ruby support for accessors · 87ae2185
      Eli Zaretskii authored
      * lib-src/etags.c (Ruby_functions): Support accessors defined with
      parentheses.  (Bug#22563)
      
      * test/etags/ruby-src/test1.ru (A::B): Add tests for accessors
      defined with parentheses.
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/ETAGS.good_6:
      * test/etags/CTAGS.good: Adapt to changes in Ruby tests.
      87ae2185
  27. 04 Feb, 2016 1 commit
  28. 03 Feb, 2016 1 commit
    • Eli Zaretskii's avatar
      Etags: yet another improvement in Ruby tags · 504696d7
      Eli Zaretskii authored
      * lib-src/etags.c (Ruby_functions): Handle continuation lines in
      Ruby accessor definitions.  (Bug#22241)
      
      * test/etags/ruby-src/test1.ru (A::B#X): Add some more tests for
      accessors and multiline definitions.
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/ETAGS.good_6:
      * test/etags/CTAGS.good: Adapt to changes in Ruby tags.
      504696d7
  29. 02 Feb, 2016 4 commits
    • Eli Zaretskii's avatar
      Fix names of tags generated for Ruby accessors · 860da4dc
      Eli Zaretskii authored
      * lib-src/etags.c (Ruby_functions): Don't include the leading
      colon ':' in tags for Ruby accessors and aliases.  (Bug#22241)
      
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/ETAGS.good_6:
      * test/etags/CTAGS.good: Adapt to changes in Ruby tags.
      860da4dc
    • Eli Zaretskii's avatar
      Fix file-name recognition in 'etags' · f6213ce7
      Eli Zaretskii authored
      * lib-src/etags.c (get_language_from_filename): If FILE includes a
      leading directory, compare only its basename to the known file
      names in lang_names[].
      
      * test/etags/Makefile (RBSRC): Adapt to recent test1.ruby
      renaming.
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/ETAGS.good_6:
      * test/etags/CTAGS.good: Adapt to changes in Ruby file names and
      to the results in Makefile due to the above etags.c fix.
      f6213ce7
    • Eli Zaretskii's avatar
      Change Ruby file names and extensions recognized by 'etags' · e42e662f
      Eli Zaretskii authored
      * lib-src/etags.c <Ruby_filenames>: New variable, holds names
      of Ruby files.
      <Ruby_suffixes>: Treat .rb, .ru, and .rbw as Ruby extensions.
      <lang_names>: Add Ruby_filenames to the Ruby entry.
      * test/etags/ruby-src/test1.ru: Renamed from test1.ruby.
      (Bug#22241)
      e42e662f
    • Eli Zaretskii's avatar
      More improvements for Ruby support in 'etags' · 58bfb6a4
      Eli Zaretskii authored
      * lib-src/etags.c (Ruby_functions): Tag Ruby accessors and
      alias_method.  Identify constants even if the assignment is not
      followed by whitespace.  (Bug#22241)
      
      * test/etags/ruby-src/test1.ruby: Add tests for constants,
      accessors, and alias_method.
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/ETAGS.good_6:
      * test/etags/CTAGS.good: Adapt to changes in Ruby tests.
      58bfb6a4
  30. 30 Jan, 2016 2 commits
    • lu4nx's avatar
      Support Go language in 'etags' · 40a85fba
      lu4nx authored
      * lib-src/etags.c <Ruby_help>: Fix documentation of Ruby tags.
      <Go_help>: New help.
      <Go_suffixes>: New variable.
      (Go_functions): New function.
      <lang_names>: Add entry for Go.  (Bug#22370)
      
      * doc/emacs/maintaining.texi (Tag Syntax): Document Go support.
      * doc/man/etags.1: Mention Go support.
      
      * etc/NEWS: Mention Go support.
      
      * test/etags/go-src/test.go:
      * test/etags/go-src/test1.go: New test files.
      * test/etags/Makefile (GOSRC): New variable.
      (SRCS): Add $(GOSRC).
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/ETAGS.good_6:
      * test/etags/CTAGS.good: Adapt to addition of Go tests.
      40a85fba
    • Eli Zaretskii's avatar
      Improve Ruby support in 'etags' · 25b79d7b
      Eli Zaretskii authored
      * lib-src/etags.c (Ruby_functions): Tag constants.  Don't tag
      singleton classes.  Remove class qualifiers from tags generated
      for method and constant names.  (Bug#22241)
      
      * doc/emacs/maintaining.texi (Tag Syntax): Mention that constants
      are tagged by etags in Ruby.
      
      * etc/NEWS: Mention that constants are tagged by etags in Ruby.
      
      * test/etags/ruby-src/test1.ruby: Add more tests.
      * test/etags/ETAGS.good_1:
      * test/etags/ETAGS.good_2:
      * test/etags/ETAGS.good_3:
      * test/etags/ETAGS.good_4:
      * test/etags/ETAGS.good_5:
      * test/etags/ETAGS.good_6:
      * test/etags/CTAGS.good: Adapt to the changes in etags and in Ruby
      tests.
      25b79d7b