1. 01 Jan, 2020 1 commit
  2. 01 Jan, 2019 1 commit
  3. 16 Jun, 2018 1 commit
    • Eli Zaretskii's avatar
      Use mint_ptr in w32notify.c · 34e257f8
      Eli Zaretskii authored
      * src/w32notify.c (Fw32notify_add_watch, Fw32notify_rm_watch)
      (Fw32notify_valid_p, w32_get_watch_object): Use make_mint_ptr and
      xmint_pointer.
      34e257f8
  4. 13 Feb, 2018 1 commit
  5. 01 Jan, 2018 1 commit
  6. 30 Sep, 2017 1 commit
  7. 09 Sep, 2017 1 commit
    • 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
  8. 11 Jul, 2017 1 commit
    • NicolasPetton's avatar
      Add an optional testfn parameter to assoc · 0bece6c6
      NicolasPetton authored
      * src/fns.c (assoc): New optional testfn parameter used for comparison
      when provided.
      * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
      'testfn' parameter.
      * src/buffer.c:
      * src/coding.c:
      * src/dbusbind.c:
      * src/font.c:
      * src/fontset.c:
      * src/gfilenotify.c:
      * src/image.c:
      * src/keymap.c:
      * src/process.c:
      * src/w32fns.c:
      * src/w32font.c:
      * src/w32notify.c:
      * src/w32term.c:
      * src/xdisp.c:
      * src/xfont.c: Add a third argument to Fassoc calls.
      * etc/NEWS:
      * doc/lispref/lists.texi: Document the new 'testfn' parameter.
      0bece6c6
  9. 26 Jan, 2017 1 commit
    • Paul Eggert's avatar
      Replace QUIT with maybe_quit · b3a3ed52
      Paul Eggert authored
      There’s no longer need to have QUIT stand for a slug of C statements.
      Use the more-obvious function-call syntax instead.
      Also, use true and false when setting immediate_quit.
      These changes should not affect the generated machine code.
      * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
      b3a3ed52
  10. 01 Jan, 2017 1 commit
  11. 29 Dec, 2016 1 commit
    • Michael Albinus's avatar
      Improve filenotify-tests.el · b9cacf04
      Michael Albinus authored
      * src/inotify.c (Finotify_valid_p):
      * src/kqueue.c (Fkqueue_valid_p):
      * src/w32notify.c (Fw32notify_valid_p):
      * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
      (Fgfile_monitor_name): New defun.
      (syms_of_gfilenotify): Declare Sgfile_monitor_name.
      
      * test/lisp/filenotify-tests.el	(file-notify--test-read-event):
      New defun, derived from `file-notify--test-read-event-timeout'.
      Replace all calls of `read-event' by this.
      (file-notify--test-timeout): Fix docstring.
      (file-notify--test-monitor): New defun.
      (file-notify--deftest-remote): Do not bind
      `file-notify--test-read-event-timeout' anymore.
      (file-notify-test00-availability): Print also monitor, if existent.
      (file-notify--test-with-events): Add an additional
      `file-notify--test-read-event' call, in order to get it work
      after `file-notify-add-watch'.  Remove special timeout for cygwin.
      (file-notify-test02-events): Make a better check for cygwin.
      (file-notify-test06-many-events): Improve event list for cygwin.
      (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
      b9cacf04
  12. 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
  13. 17 Sep, 2016 1 commit
  14. 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
  15. 19 Mar, 2016 1 commit
    • Fabrice Popineau's avatar
      Improve w32notify notifications · 326fff41
      Fabrice Popineau authored
      * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
      (struct notification): 'terminate' is now a HANDLE.
      (send_notifications): Argument is now a pointer to a
      notification.  Don't loop waiting for the notification to be
      acknowledged by the main thread; instead, just add the
      notification to the linked list of notifications waiting to be
      acknowledged.
      (watch_end): Don't close the directory handle.
      (watch_completion): Allocate a new notification structure to be
      added to the notifications set.  Call ReadDirectoryChangesW
      immediately after adding the new notification, and before sending
      a message to the main thread about them.
      (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
      call it just once -- it will be called again in watch_completion.
      Loop waiting for the main thread's indication to terminate.
      (start_watching): Create the event to be used to indicate to the
      worker thread that its should terminate.
      (remove_watch): Indicate to the worker thread that it should
      terminate.
      * src/w32term.c (queue_notifications): Loop over all the
      notifications in the linked list, processing all of them in one
      go.
      * src/w32inevt.c (handle_file_notifications): Loop over all the
      notifications in the linked list.
      * src/w32xfns.c (init_crit): Initialize the linked list of file
      notifications.
      (delete_crit): Free the linked list of file notifications,
      including any unprocessed notifications left in it.
      * src/w32term.h (struct notifications_se): New struct.
      
      * test/lisp/filenotify-tests.el (file-notify-test02-events)
      (file-notify-test05-dir-validity): Add read-event calls to
      facilitate event recognition by the main thread in batch mode.
      326fff41
  16. 10 Mar, 2016 1 commit
    • 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
  17. 06 Feb, 2016 1 commit
    • Eli Zaretskii's avatar
      Fix issues found by auditing w32notify code · be1d8749
      Eli Zaretskii authored
      * src/w32inevt.c (handle_file_notifications): Count the number of
      events to be returned.
      * src/w32notify.c (send_notifications): Don't copy to the file
      notification buffer more than it can hold.  (Bug#22534)
      be1d8749
  18. 01 Jan, 2016 1 commit
  19. 24 Oct, 2015 1 commit
  20. 16 Sep, 2015 1 commit
    • Michael Albinus's avatar
      Use common report_file_notify_error function · c762d330
      Michael Albinus authored
      * src/fileio.c (report_file_notify_error): New function.
      
      * src/inotify.c (report_inotify_error): Remove function.
      (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
      (Finotify_rm_watch): Use report_file_notify_error.
      
      * src/lisp.h (report_file_notify_error): Declare external function.
      
      * src/w32notify.c (report_w32notify_error): Remove function.
      (Fw32notify_add_watch, Fw32notify_rm_watch):
      Use report_file_notify_error.
      c762d330
  21. 14 Sep, 2015 3 commits
  22. 10 Jan, 2015 1 commit
    • Eli Zaretskii's avatar
      MS-Windows followup for change in semantics of XIL and XLI. (Bug#15880) · 485763c0
      Eli Zaretskii authored
       src/w32fns.c (Fw32_register_hot_key): Use XINT instead of XLI.
       src/w32notify.c (Fw32notify_add_watch, w32_get_watch_object): Use
       make_pointer_integer instead of XIL.
       (Fw32notify_rm_watch): Use XINTPTR instead of XLI.
       src/w32inevt.c (handle_file_notifications): Use make_pointer_integer
       instead of XIL.  Put a list of the descriptor, action, and file
       name in event->arg, instead of spreading them between event->code
       and event->arg.
       src/w32term.c (queue_notifications): Use make_pointer_integer
       instead of XIL.  Put a list of the descriptor, action, and file
       name in event->arg, instead of spreading them between event->code
       and event->arg.
       src/keyboard.c (kbd_buffer_get_event) [HAVE_W32NOTIFY]: Adjust Lisp
       event creation to changes in w32term.c and w32inevt.c above.
      485763c0
  23. 05 Jan, 2015 1 commit
    • Eli Zaretskii's avatar
      MS-Windows followup to previous commit · 5b5dab12
      Eli Zaretskii authored
       src/w32proc.c, src/w32.h, src/w32fns.c, src/w32font.c, src/w32menu.c:
       src/w32notify.c, src/w32proc.c, src/w32select.c, src/w32term.c:
       src/w32uniscribe.c: Remove declarations of Q* variables that
       represent symbols.
      5b5dab12
  24. 01 Jan, 2015 2 commits
  25. 07 Nov, 2014 1 commit
    • Paul Eggert's avatar
      Uniquify the 'size' symbol. · 0e44a2d2
      Paul Eggert authored
      * frame.c (Qsize):
      * w32notify.c (Qsize): Remove.
      * lisp.h (Qsize): New decl.
      * lread.c (Qsize): Now extern.
      * w32notify.c (syms_of_w32notify): No need to defsym.
      0e44a2d2
  26. 26 Mar, 2014 1 commit
    • Juanma Barranquero's avatar
      src/*.c: Silence a few warnings about unused vars and functions. · 5af73b0f
      Juanma Barranquero authored
      * src/image.c (x_bitmap_height, x_bitmap_width) [HAVE_X_WINDOWS]:
      * src/sysdep.c (reset_sigio) [!DOS_NT]: Declare conditionally.
      
      * src/keyboard.c (read_decoded_event_from_main_queue): #ifdef out
        variables on Windows.
      
      * src/w32.c (unsetenv): Remove unused var `retval'.
        (emacs_gnutls_pull): Remove unused vars `fdset' and `timeout'.
      
      * src/w32fns.c (Ffile_system_info): Use parenthesis in and/or expression.
      
      * src/w32notify.c (watch_worker): Remove unnecesary var sleep_result.
        (start_watching): Remove unused var `thr'.
      
      * src/w32proc.c (sys_spawnve): Comment out unused vars `first', `last'.
        (find_child_console): Remove unnecesary var `thread_id'.
      
      * src/w32term.c (w32_read_socket): Comment out unused vars `row', `columns'.
        (x_focus_frame): #ifdef 0 unused variable `dpyinfo'.
      5af73b0f
  27. 01 Jan, 2014 1 commit
  28. 08 Dec, 2013 1 commit
  29. 28 Nov, 2013 1 commit
    • Eli Zaretskii's avatar
      Fix bug #15933 with crashes in file-notify-tests on MS-Windows. · 9c099ca7
      Eli Zaretskii authored
       Support w32 file notifications in batch mode.
       src/w32proc.c (sys_select): Don't wait on interrupt_handle if it is
       invalid (which happens in batch mode).  If non-interactive, call
       handle_file_notifications to store file notification events in the
       input queue.
       src/w32notify.c (send_notifications): Handle FRAME_INITIAL frames as
       well.
       src/w32inevt.c (handle_file_notifications): Now external, not
       static.
       src/w32term.h (handle_file_notifications): Provide prototype.
       src/emacs.c (main) [HAVE_W32NOTIFY]: When non-interactive, call
       init_crit, since init_display, which does that otherwise, is not
       called.
      9c099ca7
  30. 27 Nov, 2013 1 commit
    • Eli Zaretskii's avatar
      Fix watching directories using w32notify.c. · fb6a5d68
      Eli Zaretskii authored
       src/w32notify.c (Fw32notify_add_watch): If the argument FILE is a
       directory, watch it and not its parent.
       (add_watch): Allow empty string in FILE.
      
       lisp/filenotify.el (file-notify-add-watch): Don't special-case
       w32notify when computing the directory to watch.
      fb6a5d68
  31. 03 Aug, 2013 1 commit
    • Dmitry Antipov's avatar
      Drop FRAME_PTR typedef. · a10c8269
      Dmitry Antipov authored
      * composite.c, font.c, font.h, fontset.c, fontset.h, frame.c, frame.h:
      * ftfont.c, ftxfont.c, gtkutil.c, gtkutil.h, image.c, keyboard.c:
      * menu.c, menu.h, msdos.c, nsfns.m, nsfont.m, nsmenu.m, nsterm.h:
      * nsterm.m, scroll.c, term.c, w32fns.c, w32font.c, w32font.h:
      * w32inevt.c, w32inevt.h, w32menu.c, w32notify.c, w32term.c, w32term.h:
      * w32uniscribe.c, w32xfns.c, widget.c, window.c, xdisp.c, xfaces.c:
      * xfns.c, xfont.c, xftfont.c, xmenu.c, xselect.c, xterm.c:
      All related users changed.
      a10c8269
  32. 02 Jul, 2013 1 commit
  33. 07 Jun, 2013 1 commit
  34. 25 Jan, 2013 1 commit
  35. 02 Jan, 2013 1 commit
  36. 11 Dec, 2012 1 commit
  37. 10 Dec, 2012 1 commit