1. 01 Aug, 2016 1 commit
  2. 08 Jun, 2016 1 commit
  3. 03 Apr, 2016 1 commit
  4. 26 Mar, 2016 1 commit
  5. 15 Mar, 2016 1 commit
  6. 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
  7. 24 Feb, 2016 1 commit
  8. 23 Feb, 2016 1 commit
  9. 22 Feb, 2016 1 commit
  10. 15 Feb, 2016 1 commit
  11. 31 Jan, 2016 1 commit
    • Paul Eggert's avatar
      Fix (c & 040) typo in emergency escapes · 7b1d2b1b
      Paul Eggert authored
      * src/keyboard.c (handle_interrupt): Fix recently-introduced
      typo (040 should have been ~040) that silently suppressed
      auto-saves after emergency escapes.  Redo comparison to avoid
      similar problems.
      7b1d2b1b
  12. 26 Jan, 2016 1 commit
  13. 22 Jan, 2016 2 commits
    • Paul Eggert's avatar
      xwidgets style cleanup · 7c3d742c
      Paul Eggert authored
      Adjust the newly-added Xwidgets code so that it uses a more-typical
      Emacs style.  This should not affect behavior, except that in
      a few places it adds runtime checks that Lisp arguments are of
      the proper type, and in one place it uses more-precise arithmetic.
      * src/buffer.c, src/dispnew.c, src/emacs.c, src/emacsgtkfixed.c:
      * src/emacs.c, src/print.c, src/window.c, src/xdisp.c, src/xterm.c:
      Include xwidget.h unconditionally.
      * src/buffer.c (Fkill_buffer):
      * src/dispnew.c (update_window):
      * src/emacs.c (main):
      * src/print.c (print_object):
      * src/window.c (Fdelete_window_internal):
      * src/xdisp.c (handle_single_display_spec, push_it, pop_it)
      (get_next_element, set_iterator_to_next, next_element_from_xwidget)
      (dump_glyph, calc_pixel_width_or_height, BUILD_GLYPH_STRINGS_XW)
      (BUILD_GLYPH_STRINGS, x_produce_glyphs, get_window_cursor_type):
      * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
      Call xwidget functions and macros without worrying about
      HAVE_XWIDGETS when the code is a no-op on non-xwidget
      platforms.
      * src/dispextern.h (XWIDGET_GLYPH, struct glyph_string.xwidget)
      (IT_XWIDGET, GET_FROM_XWIDGET, struct it.u.xwidget)
      (struct it.xwidget):
      * src/lisp.h (PVEC_XWIDGET, PVEC_XWIDGET_VIEW):
      Always define.
      * src/emacsgtkfixed.h: Omit unnecessary comment.
      * src/keyboard.c: Fix spacing.
      * src/xdisp.c (BUILD_XWIDGET_GLYPH_STRING, produce_xwidget_glyph):
      Define to be a no-op if not HAVE_XWIDGETS.
      * src/xwidget.c: Include xwidget.h first (after config.h)
      to make sure that it can stand by itself.
      (Fmake_xwidget, Fxwidget_webkit_execute_script):
      Fix typo in doc string.
      (Fmake_xwidget): Check type of args.
      (Fmake_xwidget, offscreen_damage_event)
      (webkit_document_load_finished_cb, webkit_download_cb)
      (webkit_new_window_policy_decision_requested_cb)
      (webkit_navigation_policy_decision_requested_cb)
      (xwidget_osr_draw_cb, xwidget_osr_event_forward)
      (xwidget_osr_event_set_embedder, xwidget_init_view):
      Omit unnecessary casts.
      * src/xwidget.c (Fmake_xwidget, xwidget_hidden)
      (xwidget_show_view, xwidget_hide_view)
      (x_draw_xwidget_glyph_string, xwidget_start_redisplay, xwidget_touch)
      (xwidget_touched):
      * src/xwidget.h (struct xwidget.kill_without_query)
      (struct xwidget_view.redisplayed, struct xwidget_view.hidden):
      Use bool for boolean.
      * src/xwidget.c (store_xwidget_event_string, Fxwidget_size_request):
      Simplify by using list functions.
      (WEBKIT_FN_INIT): Omit unnecessary test for nil.
      (Fxwidget_resize): Check type of integer args
      before doing any work.  Check that they are nonnegative.
      (Fxwidget_set_adjustment): Check type of integer arg.
      Avoid redundant call to gtk_scrolled_window_get_vadjustment.
      Simplify.  Use double, not float.
      (Fxwidget_info, Fxwidget_view_info): Simplify by using CALLN.
      (valid_xwidget_spec_p): Simplify.
      (xwidget_spec_value): Omit unused arg FOUND.  All callers changed.
      * src/xwidget.h: Include lisp.h first, so that includers do
      not need to worry about doing that before including this file.
      Make this .h file safe to include even on non-HAVE_XWIDGETS
      configurations, to simplify the includers.
      (x_draw_xwidget_glyph_string, syms_of_xwidget, valid_xwidget_spec_p)
      (xwidget_end_redisplay, lookup_xwidget)
      (xwidget_view_delete_all_in_window, kill_buffer_xwidgets):
      Now a no-op if !HAVE_XWIDGETS, to simplify callers.
      (struct glyph_matrix, struct glyph_string, struct xwidget)
      (struct xwidget_view, struct window):
      New forward or incomplete decls, so that includers need not
      assume the corresponding .h files are already included, or that
      HAVE_XWIDGETS is defined.
      (struct xwidget_type, xwidget_from_id): Remove; unused.
      7c3d742c
    • Michael Albinus's avatar
      Backport kqueue integration from master · 7bf54d01
      Michael Albinus authored
      * configure.ac (--with-file-notification): Add kqueue.
      (top): Remove special test for "${HAVE_NS}" and
      ${with_file_notification}, this is handled inside gfilenotify
      tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
      instead of library specific variables.  Add error message for
      gfile on Nextstep.
      
      * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
      Fix some glitches in the example.
      
      * etc/NEWS: Mention kqueue.
      
      * lisp/filenotify.el (file-notify--library)
      (file-notify-descriptors, file-notify-callback)
      (file-notify-add-watch, file-notify-rm-watch)
      (file-notify-valid-p): Add kqueue support.
      (file-notify--rm-descriptor): Remove WHAT arg.
      
      * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
      
      * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
      
      * src/inotify.c (inotifyevent_to_event): Extract file name from
      watch_object if the event doesn't provide it.
      (Finotify_add_watch): Add file name to watch_object.
      
      * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
      
      * src/kqueue.c: New file.
      
      * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
      
      * test/automated/file-notify-tests.el
      (file-notify--test-expected-events): Remove.
      (file-notify--test-cleanup): Do not set that variable.
      (file-notify--test-timeout) Use different timeouts for
      different libraries.
      (file-notify--test-library): New defun.
      (file-notify--test-event-test): Make stronger checks.
      (file-notify--test-with-events): EVENTS can also be a list of
      lists.  Flush outstanding events before running the body.
      Make timeout heuristically depend on the number of events.
      (file-notify-test01-add-watch, file-notify-test02-events)
      (file-notify-test04-file-validity, file-notify-test05-dir-validity):
      Rewrite in order to call file monitors but directory monitors.
      (file-notify-test02-events, file-notify-test04-file-validity): Do
      not skip cygwin tests.  Add additional test for file creation.
      Adapt expected result for different backends.
      (file-notify-test03-autorevert): Some of the tests don't work for
      w32notify.
      (file-notify-test06-many-events): New test.
      7bf54d01
  14. 19 Jan, 2016 1 commit
    • Joakim Verona's avatar
      Support for the new Xwidget feature. · 7c1f66a9
      Joakim Verona authored
      
      
      * configure.ac:
      (HAVE_XWIDGETS, WIDGET_OBJ, EMACS_CONFIG_FEATURES):
      * xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
      * xdisp.c:
      (handle_display_spec, handle_single_display_spec, push_it)
      (pop_it, set_iterator_to_next, dump_glyph)
      (calc_pixel_width_or_height, fill_xwidget_glyph_string)
      (BUILD_XWIDGET_GLYPH_STRING, BUILD_GLYPH_STRINGS)
      (produce_xwidget_glyph, x_produce_glyphs)
      (get_window_cursor_type):
      * window.c (Fdelete_window_internal):
      * termhooks.h (e):
      * print.c (print_object):
      * lisp.h (ptrdiff_t):
      * keyboard.c (kbd_buffer_get_event, make_lispy_event)
      (syms_of_keyboard):
      * emacs.c (main):
      * dispnew.c (update_window, scrolling_window):
      * dispextern.h (g, i):
      * Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS)
      (GIR_LIBS, ALL_CFLAGS, base_obj, LIBES):
      * keyboard.c (kbd_buffer_get_event):
      * emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate)
      (emacs_fixed_class_init): Add case for an xwidget view.
      
      * xwidget.c, xwidget.h, xwidget.el: New files for xwidgets
      Co-authored-by: default avatarGrégoire Jadi  <daimrod@gmail.com>
      
      Various improvements to the Xwidget feature.
      * xwidgets.c:
      * emacsgtkfixed.c:
      * xwidget.el:
      7c1f66a9
  15. 03 Jan, 2016 1 commit
    • Paul Eggert's avatar
      Avoid stdio in SIGINT handler · e79b06e6
      Paul Eggert authored
      * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * lib/ignore-value.h: New file, from gnulib.
      * src/keyboard.c: Include it.
      (write_stdout, read_stdin): New functions.
      (handle_interrupt): Use them instead of printf and getchar,
      and avoid fflush when handling signals.
      e79b06e6
  16. 01 Jan, 2016 1 commit
  17. 31 Dec, 2015 2 commits
  18. 21 Dec, 2015 1 commit
    • Paul Eggert's avatar
      Port undo fixes to -fno-common · 3864302c
      Paul Eggert authored
      Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
      * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
      (buffer_before_last_command_or_undo):
      Declare in keyboard.h, and define in keyboard.c,
      instead of assuming the traditional Unix relaxed ref-def linkage.
      3864302c
  19. 14 Dec, 2015 1 commit
    • Alan Mackenzie's avatar
      Replace GROUP argument in six window primitives by new functions. · e8937de5
      Alan Mackenzie authored
      * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
      * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
      from description of six window functions.  Add in description of new functions
      window-group-start, window-group-end, set-window-group-start,
      pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
      together with the six variables indirecting to the pertinent group
      functions.
      
      * src/window.c
      * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
      applies to these two files, which added the GROUP argument to six window
      primitives.
      
      * lisp/follow.el (follow-mode): Use updated variable names for the indirected
      functions.
      
      * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
      (isearch-back-into-window, isearch-lazy-highlight-new-loop)
      (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
      to window primitives (e.g. window-start) with a GROUP argument by calls to
      new functions (e.g. window-group-start).
      
      * lisp/ispell.el (ispell-command-loop): Replace call to
      pos-visible-in-window-p with pos-visible-in-window-group-p.
      
      * lisp/window.el (window-group-start, window-group-end)
      (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
      (selected-window-group, move-to-window-group-line): New functions.
      (window-group-start-function, window-group-end-function)
      (set-window-group-start-function, recenter-group-function)
      (pos-visible-in-window-group-p-function, selected-window-group-function)
      (move-to-window-group-line-function): New variables.
      e8937de5
  20. 12 Dec, 2015 1 commit
    • Eli Zaretskii's avatar
      Fix echo for "C-u" · 0b7d6b02
      Eli Zaretskii authored
      * src/keyboard.c (command_loop_1): Undo last change.  It caused
      duplicate echo of C-u.  (Bug#22107)
      0b7d6b02
  21. 11 Dec, 2015 1 commit
    • Eli Zaretskii's avatar
      Fix 'this-command-keys' wrt prefix argument · 9d2b8e76
      Eli Zaretskii authored
      * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
      was part of this-command-keys, but not of this-single-command-keys.
      (Bug#22107)
      
      * lisp/simple.el (internal-echo-keystrokes-prefix): Add
      commentary about the function's return value.
      9d2b8e76
  22. 04 Dec, 2015 1 commit
    • Alan Mackenzie's avatar
      First commit to scratch/follow. Make Isearch work with Follow Mode, etc. · 64c57303
      Alan Mackenzie authored
      doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
      Windows" and new @defun selected-window-group.
      (Window Start and End): Describe new &optional parameter GROUP and
      ...-group-function for window-start, window-end, set-window-start, and
      pos-visible-in-window-p.
      (Textual Scrolling) Describe the same for recenter.
      doc/lispref/positions.texi (Screen Lines): Describe the same for
      move-to-window-line.
      
      src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
      (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
      new optional parameter "group".  At the beginning of each, check whether the
      corresponding ...-group-function is set to a function, and if so execute this
      function in place of the normal processing.
      (syms_of_window): Define symbols for the six new variables below.
      (window-start-group-function, window-end-group-function)
      (set-window-start-group-function, recenter-group-function)
      (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
      New permanent local buffer local variables.
      src/keyboard.c (Fposn_at_point): Add extra parameter in call to
      Fpos_visible_in_window_p.
      
      lisp/window.el (selected-window-group-function): New permanent local buffer
      local variable.
      (selected-window-group): New function.
      
      lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
      enable, kill them at mode disable.  Add/remove follow-after-change to/from
      after-change-functions.
      (follow-start-end-invalid): New variable.
      (follow-redisplay): Manipulate follow-start-end-invalid.
      (follow-after-change, follow-window-start, follow-window-end)
      (follow-set-window-start, follow-pos-visible-in-window-p)
      (follow-move-to-window-line, follow-sit-for): New functions.
      
      lisp/isearch.el (isearch-call-message): New macro.
      (isearch-update, with-isearch-suspended, isearch-del-char)
      (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
      (with-isearch-suspended): Rearrange code such that isearch-call-message is
      invoked before point is moved.
      (isearch-message): Add comment about where point must be at function call.
      (isearch-search): Remove call to isearch-message.
      (isearch-lazy-highlight-window-group): New variable.
      (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
      the battery of tests to ...
      (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
      Note: (sit-for 0) is still called.
      (isearch-lazy-highlight-update): Check membership of
      isearch-lazy-highlight-window-group.  Don't set the `window' overlay
      property.
      (isearch-update, isearch-done, isearch-string-out-of-window)
      (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
      (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
      (isearch-lazy-highlight-update): Call the six amended primitives (see
      src/window.c above) with the new `group' argument set to t, to cooperate
      with Follow Mode.
      64c57303
  23. 26 Nov, 2015 1 commit
    • Phillip Lord's avatar
      After delete, record point location in undo. · 7592cb9d
      Phillip Lord authored
      Addresses Bug #21968.
      
      	* lisp/simple.el (undo-auto--add-boundary): Clean up code to
      	better support intercalating calls.
      	* src/keyboard.c,src/keyboard.h (command_loop_1): Store value of
      	point and current buffer before each command.
      	* src/undo.c (record_point): Now only record the point.
      	* src/undo.c (prepare_record): Functionality removed form
      	record_point.
      	* src/undo.c (record_delete): Check if point needs recording.
      	* src/undo.c (undo-boundary): Record value of point before each
      	boundary.
      	* test/automated/simple-test.el: New tests.
      
      Conflicts:
      	src/undo.c
      7592cb9d
  24. 24 Nov, 2015 1 commit
    • Ken Raeburn's avatar
      Fix kbd_buffer iteration loop in readable_events · cb1bd349
      Ken Raeburn authored
      * src/keyboard.c (readable_events): Wrap the event pointer back to the
      start of the kbd_buffer array inside the top of the loop instead of
      right before checking the loop condition, since kbd_fetch_ptr and
      kbd_store_ptr point past the end of the array to mean that element 0
      is next. (bug#21935)
      cb1bd349
  25. 19 Nov, 2015 1 commit
  26. 12 Nov, 2015 1 commit
    • Phillip Lord's avatar
      The heuristic that Emacs uses to add an `undo-boundary' has been · 44dfa86b
      Phillip Lord authored
      reworked, as it interacts poorly with functions on `post-command-hook'
      or `after-change-functions'.
      
      * lisp/simple.el: New section added.
      * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
      (self_insert_command): Calls simple.el to amalgamate.
      (delete_char): Calls simple.el to amalgamate.
      * src/keyboard.c (last_undo_boundary): Removed.
      * src/undo.c (run_undoable_change): New function.
      44dfa86b
  27. 11 Nov, 2015 1 commit
    • Alan Mackenzie's avatar
      First commit to scratch/follow. Make Isearch work with Follow Mode, etc. · 2c56fc2a
      Alan Mackenzie authored
      doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
      Windows" and new @defun selected-window-group.
      (Window Start and End): Describe new &optional parameter GROUP and
      ...-group-function for window-start, window-end, set-window-start, and
      pos-visible-in-window-p.
      (Textual Scrolling) Describe the same for recenter.
      doc/lispref/positions.texi (Screen Lines): Describe the same for
      move-to-window-line.
      
      src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
      (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
      new optional parameter "group".  At the beginning of each, check whether the
      corresponding ...-group-function is set to a function, and if so execute this
      function in place of the normal processing.
      (syms_of_window): Define symbols for the six new variables below.
      (window-start-group-function, window-end-group-function)
      (set-window-start-group-function, recenter-group-function)
      (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
      New permanent local buffer local variables.
      src/keyboard.c (Fposn_at_point): Add extra parameter in call to
      Fpos_visible_in_window_p.
      
      lisp/window.el (selected-window-group-function): New permanent local buffer
      local variable.
      (selected-window-group): New function.
      
      lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
      enable, kill them at mode disable.  Add/remove follow-after-change to/from
      after-change-functions.
      (follow-start-end-invalid): New variable.
      (follow-redisplay): Manipulate follow-start-end-invalid.
      (follow-after-change, follow-window-start, follow-window-end)
      (follow-set-window-start, follow-pos-visible-in-window-p)
      (follow-move-to-window-line, follow-sit-for): New functions.
      
      lisp/isearch.el (isearch-call-message): New macro.
      (isearch-update, with-isearch-suspended, isearch-del-char)
      (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
      (with-isearch-suspended): Rearrange code such that isearch-call-message is
      invoked before point is moved.
      (isearch-message): Add comment about where point must be at function call.
      (isearch-search): Remove call to isearch-message.
      (isearch-lazy-highlight-window-group): New variable.
      (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
      the battery of tests to ...
      (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
      Note: (sit-for 0) is still called.
      (isearch-lazy-highlight-update): Check membership of
      isearch-lazy-highlight-window-group.  Don't set the `window' overlay
      property.
      (isearch-update, isearch-done, isearch-string-out-of-window)
      (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
      (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
      (isearch-lazy-highlight-update): Call the six amended primitives (see
      src/window.c above) with the new `group' argument set to t, to cooperate
      with Follow Mode.
      2c56fc2a
  28. 26 Oct, 2015 1 commit
  29. 25 Oct, 2015 1 commit
  30. 21 Oct, 2015 1 commit
    • Paul Eggert's avatar
      Include-file cleanup for src directory · 63cfb75f
      Paul Eggert authored
      Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
      In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
      but does not include it directly.  As a general rule, a source
      file should include foo.h if it needs the interfaces that foo.h
      defines.
      * src/alloc.c: Don’t include process.h.  Include dispextern.h,
      systime.h.
      * src/atimer.c: Don’t include blockinput.h.
      * src/buffer.c: Include coding.h, systime.h.  Don’t include
      keyboard.h, coding.h.
      * src/callint.c: Don’t include commands.h, keymap.h.
      * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
      systty.h, termhooks.h.
      * src/casetab.c: Don’t include character.h.
      * src/category.c: Don’t include charset.h, keymap.h.
      * src/ccl.h: Don’t include character.h.
      * src/character.c: Don’t include charset.h.
      * src/charset.c: Don’t include disptab.h.
      * src/chartab.c: Don’t include ccl.h.
      * src/cm.c: Don’t include frame.h, termhooks.h.
      * src/cmds.c: Don’t include window.h, dispextern.h.
      * src/coding.c: Don’t include window.h, frame.h.
      * src/composite.c: Include composite.h.  Don’t include window.h,
      font.h.
      * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
      * src/dbusbind.c: Don’t include frame.h.
      * src/decompress.c: Don’t include character.h.
      * src/dired.c: Don’t include character.h, commands.h, charset.h.
      * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
      process.h, timespec.h.  Include systime.h.
      * src/doc.c: Include coding.h.  Don’t include keyboard.h.
      * src/editfns.c: Include composite.h.  Don’t include frame.h.
      * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
      commands.h, systty.h..
      * src/fileio.c: Don’t include intervals.h, dispextern.h.
      Include composite.h.
      * src/filelock.c: Don’t include character.h, systime.h.
      * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
      keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
      * src/font.c: Include termhooks.h.
      * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
      struct composition_it, struct face, struct glyph_string.
      * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
      intervals.h, window.h, termhooks.h.
      * src/frame.c: Don’t include character.h, commands.h, font.h.
      * src/frame.h: Don’t include dispextern.h.
      * src/fringe.c: Don’t include character.h.
      * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
      character.h, charset.h, fontset.h.
      * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
      fontset.h.
      * src/ftxfont.c: Don’t include dispextern.h, character.h,
      charset.h, fontset.h.
      * src/gfilenotify.c: Don’t include frame.h, process.h.
      * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
      Don’t include syssignal.h, buffer.h, charset.h, font.h.
      * src/gtkutil.h: Don’t include frame.h.
      * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
      Don’t include character.h.
      * src/indent.c: Don’t include keyboard.h, termchar.h.
      * src/inotify.c: Don’t include character.h, frame.h.
      * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
      * src/intervals.c: Don’t include character.h, keyboard.h.
      * src/intervals.h: Don’t include dispextern.h, composite.h.
      * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
      Include coding.h.
      * src/keyboard.h: Don’t incldue systime.h.
      * src/keymap.c: Don’t include charset.h, frame.h.
      * src/lread.c: Include dispextern.h and systime.h.
      Don’t include frame.h.  Include systime.h.
      * src/macros.c: Don’t include commands.h, character.h, buffer.h.
      * src/menu.c: Include character.h, coding.h.  Don’t include
      dispextern.h.
      * src/menu.h: Don’t include systime.h.
      * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
      intervals.h, termhooks.h.
      * src/print.c: Include coding.h.  Don’t include keyboard.h,
      window.h, dispextern.h, termchar.h, termhooks.h, font.h.
      Add forward decl of struct terminal.
      * src/process.c: Don’t include termhooks.h, commands.h,
      dispextern.h, composite.h.
      * src/region-cache.c: Don’t include character.h.
      * src/scroll.c: Don’t include keyboard.h, window.h.
      * src/search.c: Don’t include category.h, commands.h.
      * src/sound.c: Don’t include dispextern.h.
      * src/syntax.c: Don’t include command.h, keymap.h.
      * src/sysdep.c: Don’t include window.h, dispextern.h.
      * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
      * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
      * src/terminal.c: Include character.h.
      Don’t include charset.h, coding.h.
      * src/textprop.c: Don’t include character.h.
      * src/undo.c: Don’t include character.h, commands.h, window.h.
      * src/unexsol.c: Don’t include character.h, charset.h.
      * src/widget.c: Include widget.h.  Don’t include keyboard.h,
      window.h, dispextern.h, blockinput.h, character.h, font.h.
      * src/widgetprv.h: Don’t include widget.h.
      * src/window.c: Don’t include character.h, menu.h, intervals.h.
      * src/xdisp.c: Include composite.h, systime.h.  Don’t include
      macros.h, process.h.
      * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
      intervals.h.
      * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
      epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
      * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
      * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
      * src/xgselect.c: Don’t include timespec.h, frame.h.
      Include systime.h.
      * src/xgselect.h: Don’t include time.h.
      Use a forward decl to struct timespec instead.
      * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
      dispextern.h.  Include systime.h.
      * src/xml.c: Don’t include character.h.
      * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
      * src/xselect.c: Don’t include dispextern.h, character.h,
      buffer.h, process.h.
      * src/xsmfns.c: Don’t include systime.h, sysselect.h.
      * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
      intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
      63cfb75f
  31. 16 Sep, 2015 1 commit
    • Paul Eggert's avatar
      Omit unnecessary \ before paren in C docstrings · 032ce1c7
      Paul Eggert authored
      Although \( is needed in docstrings in Elisp code, it is not needed in
      docstrings in C code, since C function definitiions do not start with
      a parenthesis.  The backslashes made the docstrings a bit harder to
      read and to format in columns.  Also, some C docstrings had ( in
      column 1 and this did not appear to be causing any problems.  So,
      simplify C docstrings by replacing \( with ( and \) with ).
      032ce1c7
  32. 07 Sep, 2015 2 commits
    • Paul Eggert's avatar
      Go back to grave quoting in source-code docstrings etc. · 6afef3f6
      Paul Eggert authored
      This reverts almost all my recent changes to use curved quotes
      in docstrings and/or strings used for error diagnostics.
      There are a few exceptions, e.g., Bahá’í proper names.
      * admin/unidata/unidata-gen.el (unidata-gen-table):
      * lisp/abbrev.el (expand-region-abbrevs):
      * lisp/align.el (align-region):
      * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
      (outlineify-sticky):
      * lisp/apropos.el (apropos-library):
      * lisp/bookmark.el (bookmark-default-annotation-text):
      * lisp/button.el (button-category-symbol, button-put)
      (make-text-button):
      * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
      * lisp/calc/calc-embed.el (calc-do-embedded):
      * lisp/calc/calc-ext.el (calc-user-function-list):
      * lisp/calc/calc-graph.el (calc-graph-show-dumb):
      * lisp/calc/calc-help.el (calc-describe-key)
      (calc-describe-thing, calc-full-help):
      * lisp/calc/calc-lang.el (calc-c-language)
      (math-parse-fortran-vector-end, math-parse-tex-sum)
      (math-parse-eqn-matrix, math-parse-eqn-prime)
      (calc-yacas-language, calc-maxima-language, calc-giac-language)
      (math-read-giac-subscr, math-read-math-subscr)
      (math-read-big-rec, math-read-big-balance):
      * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
      * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
      (calc-auto-recompute):
      * lisp/calc/calc-prog.el (calc-fix-token-name)
      (calc-read-parse-table-part, calc-user-define-invocation)
      (math-do-arg-check):
      * lisp/calc/calc-store.el (calc-edit-variable):
      * lisp/calc/calc-units.el (math-build-units-table-buffer):
      * lisp/calc/calc-vec.el (math-read-brackets):
      * lisp/calc/calc-yank.el (calc-edit-mode):
      * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
      * lisp/calendar/appt.el (appt-display-message):
      * lisp/calendar/diary-lib.el (diary-check-diary-file)
      (diary-mail-entries, diary-from-outlook):
      * lisp/calendar/icalendar.el (icalendar-export-region)
      (icalendar--convert-float-to-ical)
      (icalendar--convert-date-to-ical)
      (icalendar--convert-ical-to-diary)
      (icalendar--convert-recurring-to-diary)
      (icalendar--add-diary-entry):
      * lisp/calendar/time-date.el (format-seconds):
      * lisp/calendar/timeclock.el (timeclock-mode-line-display)
      (timeclock-make-hours-explicit, timeclock-log-data):
      * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
      (todo-item-mark, todo-check-format)
      (todo-insert-item--next-param, todo-edit-item--next-key)
      (todo-mode):
      * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
      * lisp/cedet/mode-local.el (describe-mode-local-overload)
      (mode-local-print-binding, mode-local-describe-bindings-2):
      * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
      * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
      * lisp/cus-start.el (standard):
      * lisp/cus-theme.el (describe-theme-1):
      * lisp/custom.el (custom-add-dependencies, custom-check-theme)
      (custom--sort-vars-1, load-theme):
      * lisp/descr-text.el (describe-text-properties-1, describe-char):
      * lisp/dired-x.el (dired-do-run-mail):
      * lisp/dired.el (dired-log):
      * lisp/emacs-lisp/advice.el (ad-read-advised-function)
      (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
      (ad-disable-advice, ad-remove-advice, ad-set-argument)
      (ad-set-arguments, ad--defalias-fset, ad-activate)
      (ad-deactivate):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
      (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
      (byte-optimize-while, byte-optimize-apply):
      * lisp/emacs-lisp/byte-run.el (defun, defsubst):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
      (byte-compile-log-file, byte-compile-format-warn)
      (byte-compile-nogroup-warn, byte-compile-arglist-warn)
      (byte-compile-cl-warn)
      (byte-compile-warn-about-unresolved-functions)
      (byte-compile-file, byte-compile--declare-var)
      (byte-compile-file-form-defmumble, byte-compile-form)
      (byte-compile-normal-call, byte-compile-check-variable)
      (byte-compile-variable-ref, byte-compile-variable-set)
      (byte-compile-subr-wrong-args, byte-compile-setq-default)
      (byte-compile-negation-optimizer)
      (byte-compile-condition-case--old)
      (byte-compile-condition-case--new, byte-compile-save-excursion)
      (byte-compile-defvar, byte-compile-autoload)
      (byte-compile-lambda-form)
      (byte-compile-make-variable-buffer-local, display-call-tree)
      (batch-byte-compile):
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
      * lisp/emacs-lisp/chart.el (chart-space-usage):
      * lisp/emacs-lisp/check-declare.el (check-declare-scan)
      (check-declare-warn, check-declare-file)
      (check-declare-directory):
      * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
      (checkdoc-message-text-engine):
      * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
      (cl--describe-class):
      * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
      (cl--generic-describe, cl-generic-generalizers):
      * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
      (cl-symbol-macrolet):
      * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
      * lisp/emacs-lisp/copyright.el (copyright)
      (copyright-update-directory):
      * lisp/emacs-lisp/edebug.el (edebug-read-list):
      * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
      * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
      (eieio-oref):
      * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
      * lisp/emacs-lisp/eieio-speedbar.el:
      (eieio-speedbar-child-make-tag-lines)
      (eieio-speedbar-child-description):
      * lisp/emacs-lisp/eieio.el (defclass, change-class):
      * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
      (elint-init-form, elint-check-defalias-form)
      (elint-check-let-form):
      * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
      (ert-results-pop-to-backtrace-for-test-at-point)
      (ert-results-pop-to-messages-for-test-at-point)
      (ert-results-pop-to-should-forms-for-test-at-point)
      (ert-describe-test):
      * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
      (find-function-library):
      * lisp/emacs-lisp/generator.el (iter-yield):
      * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
      * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
      * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
      * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
      * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
      (advice--make, define-advice):
      * lisp/emacs-lisp/package-x.el (package-upload-file):
      * lisp/emacs-lisp/package.el (package-version-join)
      (package-disabled-p, package-activate-1, package-activate)
      (package--download-one-archive)
      (package--download-and-read-archives)
      (package-compute-transaction, package-install-from-archive)
      (package-install, package-install-selected-packages)
      (package-delete, package-autoremove, describe-package-1)
      (package-install-button-action, package-delete-button-action)
      (package-menu-hide-package, package-menu--list-to-prompt)
      (package-menu--perform-transaction)
      (package-menu--find-and-notify-upgrades):
      * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
      * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
      * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
      * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
      (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
      (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
      (rx-form):
      * lisp/emacs-lisp/smie.el (smie-config-save):
      * lisp/emacs-lisp/subr-x.el (internal--check-binding):
      * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
      * lisp/emacs-lisp/testcover.el (testcover-1value):
      * lisp/emacs-lisp/timer.el (timer-event-handler):
      * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
      (viper-toggle-search-style, viper-kill-buffer)
      (viper-brac-function):
      * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
      * lisp/env.el (setenv):
      * lisp/erc/erc-button.el (erc-nick-popup):
      * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
      * lisp/eshell/em-dirs.el (eshell/cd):
      * lisp/eshell/em-glob.el (eshell-glob-regexp)
      (eshell-glob-entries):
      * lisp/eshell/em-pred.el (eshell-parse-modifiers):
      * lisp/eshell/esh-opt.el (eshell-show-usage):
      * lisp/facemenu.el (facemenu-add-new-face)
      (facemenu-add-new-color):
      * lisp/faces.el (read-face-name, read-face-font, describe-face)
      (x-resolve-font-name):
      * lisp/files-x.el (modify-file-local-variable):
      * lisp/files.el (locate-user-emacs-file, find-alternate-file)
      (set-auto-mode, hack-one-local-variable--obsolete)
      (dir-locals-set-directory-class, write-file, basic-save-buffer)
      (delete-directory, copy-directory, recover-session)
      (recover-session-finish, insert-directory)
      (file-modes-char-to-who, file-modes-symbolic-to-number)
      (move-file-to-trash):
      * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
      * lisp/find-cmd.el (find-generic, find-to-string):
      * lisp/finder.el (finder-commentary):
      * lisp/font-lock.el (font-lock-fontify-buffer):
      * lisp/format.el (format-write-file, format-find-file)
      (format-insert-file):
      * lisp/frame.el (get-device-terminal, select-frame-by-name):
      * lisp/fringe.el (fringe--check-style):
      * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
      * lisp/help-fns.el (help-fns--key-bindings)
      (help-fns--compiler-macro, help-fns--parent-mode)
      (help-fns--obsolete, help-fns--interactive-only)
      (describe-function-1, describe-variable):
      * lisp/help.el (describe-mode)
      (describe-minor-mode-from-indicator):
      * lisp/image.el (image-type):
      * lisp/international/ccl.el (ccl-dump):
      * lisp/international/fontset.el (x-must-resolve-font-name):
      * lisp/international/mule-cmds.el (prefer-coding-system)
      (select-safe-coding-system-interactively)
      (select-safe-coding-system, activate-input-method)
      (toggle-input-method, describe-current-input-method)
      (describe-language-environment):
      * lisp/international/mule-conf.el (code-offset):
      * lisp/international/mule-diag.el (describe-character-set)
      (list-input-methods-1):
      * lisp/mail/feedmail.el (feedmail-run-the-queue):
      * lisp/mouse.el (minor-mode-menu-from-indicator):
      * lisp/mpc.el (mpc-playlist-rename):
      * lisp/msb.el (msb--choose-menu):
      * lisp/net/ange-ftp.el (ange-ftp-shell-command):
      * lisp/net/imap.el (imap-interactive-login):
      * lisp/net/mairix.el (mairix-widget-create-query):
      * lisp/net/newst-backend.el (newsticker--sentinel-work):
      * lisp/net/newst-treeview.el (newsticker--treeview-load):
      * lisp/net/rlogin.el (rlogin):
      * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
      * lisp/obsolete/otodo-mode.el (todo-more-important-p):
      * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
      * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
      * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
      * lisp/org/ob-core.el (org-babel-goto-named-src-block)
      (org-babel-goto-named-result):
      * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
      * lisp/org/ob-ref.el (org-babel-ref-resolve):
      * lisp/org/org-agenda.el (org-agenda-prepare):
      * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
      (org-clock-resolve):
      * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
      * lisp/org/org-feed.el (org-feed-parse-atom-entry):
      * lisp/org/org-habit.el (org-habit-parse-todo):
      * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
      (org-mouse-context-menu):
      * lisp/org/org-table.el (org-table-edit-formulas):
      * lisp/org/ox.el (org-export-async-start):
      * lisp/proced.el (proced-log):
      * lisp/progmodes/ada-mode.el (ada-get-indent-case)
      (ada-check-matching-start, ada-goto-matching-start):
      * lisp/progmodes/ada-prj.el (ada-prj-display-page):
      * lisp/progmodes/ada-xref.el (ada-find-executable):
      * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
      * lisp/progmodes/etags.el (etags-tags-apropos-additional):
      * lisp/progmodes/flymake.el (flymake-parse-err-lines)
      (flymake-start-syntax-check-process):
      * lisp/progmodes/python.el (python-shell-get-process-or-error)
      (python-define-auxiliary-skeleton):
      * lisp/progmodes/sql.el (sql-comint):
      * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
      * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
      * lisp/recentf.el (recentf-open-files):
      * lisp/replace.el (query-replace-read-from)
      (occur-after-change-function, occur-1):
      * lisp/scroll-bar.el (scroll-bar-columns):
      * lisp/server.el (server-get-auth-key):
      * lisp/simple.el (execute-extended-command)
      (undo-outer-limit-truncate, list-processes--refresh)
      (compose-mail, set-variable, choose-completion-string)
      (define-alternatives):
      * lisp/startup.el (site-run-file, tty-handle-args, command-line)
      (command-line-1):
      * lisp/subr.el (noreturn, define-error, add-to-list)
      (read-char-choice, version-to-list):
      * lisp/term/common-win.el (x-handle-xrm-switch)
      (x-handle-name-switch, x-handle-args):
      * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
      * lisp/textmodes/reftex-ref.el (reftex-label):
      * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
      * lisp/textmodes/two-column.el (2C-split):
      * lisp/tutorial.el (tutorial--describe-nonstandard-key)
      (tutorial--find-changed-keys):
      * lisp/type-break.el (type-break-noninteractive-query):
      * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
      (wdired-do-perm-changes):
      * lisp/whitespace.el (whitespace-report-region):
      Prefer grave quoting in source-code strings used to generate help
      and diagnostics.
      * lisp/faces.el (face-documentation):
      No need to convert quotes, since the result is a docstring.
      * lisp/info.el (Info-virtual-index-find-node)
      (Info-virtual-index, info-apropos):
      Simplify by generating only curved quotes, since info files are
      typically that ways nowadays anyway.
      * lisp/international/mule-diag.el (list-input-methods):
      Don’t assume text quoting style is curved.
      * lisp/org/org-bibtex.el (org-bibtex-fields):
      Revert my recent changes, going back to the old quoting style.
      6afef3f6
    • Stefan Monnier's avatar
  33. 03 Sep, 2015 1 commit
    • Stefan Monnier's avatar
      Re-add the notion of echo_prompt lost in the translation · 944d77f0
      Stefan Monnier authored
      * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
      echo_prompt which contains the actual string.  Update all uses.
      
      * src/keyboard.c (kset_echo_prompt): New function.
      (echo_update): Add echo_prompt at the very beginning.
      (read_char): Remove workaround for bug#19875, not needed any more.
      (read_key_sequence): Set echo_prompt rather than echo_string (bug#21403).
      (mark_kboards): Mark echo_prompt.
      944d77f0
  34. 02 Sep, 2015 1 commit
    • Stefan Monnier's avatar
      Generalize the prefix-command machinery of C-u · 5dc644a6
      Stefan Monnier authored
      * lisp/simple.el (prefix-command-echo-keystrokes-functions)
      (prefix-command-preserve-state-hook): New hooks.
      (internal-echo-keystrokes-prefix): New function.
      (prefix-command--needs-update, prefix-command--last-echo): New vars.
      (prefix-command-update, prefix-command-preserve): New functions.
      (reset-this-command-lengths): New compatibility definition.
      (universal-argument--mode): Call prefix-command-update.
      (universal-argument, universal-argument-more, negative-argument)
      (digit-argument): Call prefix-command-preserve-state.
      
      * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
      the "prefix argument" to echo.
      (this_command_key_count_reset, before_command_key_count)
      (before_command_echo_length): Delete variables.
      (echo_add_key): Always add a space.
      (echo_char): Remove.
      (echo_dash): Don't give up when this_command_key_count is 0, since that
      is now the case after a prefix command.
      (echo_update): New function, extracted from echo_now.
      (echo_now): Use it.
      (add_command_key, read_char, record_menu_key): Remove old disabled code.
      (command_loop_1): Don't refrain from pushing an undo boundary when
      prefix-arg is set.  Remove other prefix-arg special case, now handled
      directly in the prefix commands instead.  But call echo_now if there's
      a prefix state to echo.
      (read_char, record_menu_key): Use echo_update instead of echo_char.
      (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
      (Freset_this_command_lengths): Delete function.
      (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
      (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
      
      * lisp/simple.el: Use those new hooks for C-u.
      (universal-argument--description): New function.
      (prefix-command-echo-keystrokes-functions): Use it.
      (universal-argument--preserve): New function.
      (prefix-command-preserve-state-hook): Use it.
      (command-execute): Call prefix-command-update if needed.
      
      * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
      (kmacro-step-edit-prefix-index): Delete variables.
      (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
      support for prefix arg commands.
      (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
      
      * lisp/emulation/cua-base.el (cua--prefix-override-replay)
      (cua--shift-control-prefix): Use prefix-command-preserve-state.
      Remove now unused arg `arg'.
      (cua--prefix-override-handler, cua--prefix-repeat-handler)
      (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
      Update accordingly.
      (cua--prefix-override-timeout): Don't call reset-this-command-lengths
      any more.
      (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
      if the mark is not set.
      5dc644a6
  35. 01 Sep, 2015 1 commit
  36. 27 Aug, 2015 1 commit
    • Paul Eggert's avatar
      Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS · 60d1b187
      Paul Eggert authored
      This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
      http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
      * doc/lispref/internals.texi (Writing Emacs Primitives):
      * etc/NEWS:
      Document the change.
      * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
      (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
      (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
      * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
      * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
      * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
      (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
      (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
      (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
      (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
      Remove.  All uses removed.  The code now assumes
      GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
      * src/bytecode.c (relocate_byte_stack):
      Rename from unmark_byte_stack, since it now only relocates.
      All callers changed.
      * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
      with GCPROs removed.
      * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
      * test/automated/finalizer-tests.el (finalizer-basic)
      (finalizer-circular-reference, finalizer-cross-reference)
      (finalizer-error):
      * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
      Remove tests, as they depend on gc-precise.
      60d1b187
  37. 14 Aug, 2015 1 commit