1. 04 Nov, 2013 3 commits
  2. 02 Nov, 2013 1 commit
  3. 01 Nov, 2013 1 commit
    • Jan Djärv's avatar
      Add :distant-foreground to faces. · 3c334c14
      Jan Djärv authored
      * doc/lispref/display.texi (Face Attributes): Document :distant-foreground.
      
      * etc/NEWS: Mention :distant-foreground.
      
      * lisp/faces.el (face-x-resources): Add :distant-foreground.
      (region): Use :distant-foreground for gtk and ns.
      
      * src/dispextern.h (lface_attribute_index): Add
      LFACE_DISTANT_FOREGROUND_INDEX.
      
      * src/xfaces.c: Declare color_distance.
      (QCdistant_foreground): New variable.
      (NEAR_SAME_COLOR_THRESHOLD): New define.
      (load_color2): New function.
      (load_color): Call load_color2.
      (load_face_colors): Call load_color2 and if distant-color is specified
      calculate distant and use distant-color if colors are near.
      (LFACE_DISTANT_FOREGROUND): New define.
      (merge_face_ref, Finternal_set_lisp_face_attribute)
      (Finternal_get_lisp_face_attribute)
      (x_supports_face_attributes_p): Handle distant-foreground similar to
      foreground.
      (syms_of_xfaces): DEFSYM QCdistant_foreground.
      3c334c14
  4. 29 Oct, 2013 1 commit
    • Stefan Monnier's avatar
      Add pre-redisplay-function and rectangular region · 3472b6c6
      Stefan Monnier authored
      * lisp/rect.el: Use lexical-binding.  Add new rectangular region support.
      (rectangle-mark): New command.
      (rectangle--region): New var.
      (deactivate-mark-hook): Reset rectangle--region.
      (rectangle--extract-region, rectangle--insert-for-yank)
      (rectangle--highlight-for-redisplay)
      (rectangle--unhighlight-for-redisplay): New functions.
      (region-extract-function, redisplay-unhighlight-region-function)
      (redisplay-highlight-region-function): Use them to handle
      rectangular region.
      * lisp/simple.el (region-extract-function): New var.
      (delete-backward-char, delete-forward-char, deactivate-mark): Use it.
      (kill-new, kill-append): Remove obsolete `yank-handler' argument.
      (kill-region): Replace obsolete `yank-handler' arg with `region'.
      (copy-region-as-kill, kill-ring-save): Add `region' argument.
      (redisplay-unhighlight-region-function)
      (redisplay-highlight-region-function): New vars.
      (redisplay--update-region-highlight): New function.
      (pre-redisplay-function): Use it.
      (exchange-point-and-mark): Don't deactivate the mark before
      reactivate-it anyway.
      * lisp/comint.el (comint-kill-region): Remove yank-handler argument.
      * lisp/delsel.el (delete-backward-char, backward-delete-char-untabify)
      (delete-char): Remove property, since it's now part of their
      default behavior.
      (self-insert-iso): Remove property since this command doesn't exist.
      
      * src/xdisp.c (prepare_menu_bars): Call Vpre_redisplay_function.
      (syms_of_xdisp): Declare pre-redisplay-function.
      (markpos_of_region): Remove function.
      (init_iterator, compute_stop_pos, handle_face_prop)
      (face_before_or_after_it_pos, reseat_to_string)
      (get_next_display_element, window_buffer_changed)
      (redisplay_internal, try_cursor_movement, redisplay_window)
      (try_window_reusing_current_matrix, try_window_id, display_line)
      (note_mode_line_or_margin_highlight, note_mouse_highlight)
      (display_string, mouse_face_from_buffer_pos): Remove region handling.
      * src/window.h (struct window): Remove field `region_showing'.
      * src/dispextern.h (struct it): Remove region_beg/end_charpos.
      (face_at_buffer_position, face_for_overlay_string)
      (face_at_string_position): Update prototypes.
      * src/xfaces.c (face_at_buffer_position, face_for_overlay_string)
      (face_at_string_position): Remove `region_beg' and `region_end' args.
      * src/fontset.c (Finternal_char_font):
      * src/font.c (font_at, font_range): Adjust calls accordingly.
      * src/insdel.c (Qregion_extract_function): New var.
      (syms_of_insdel): Initialize it.
      (prepare_to_modify_buffer_1): Use it.
      3472b6c6
  5. 27 Oct, 2013 1 commit
  6. 25 Oct, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/progmodes/prolog.el: Remove old indent; use post-self-insert-hook. · eb89dc14
      Stefan Monnier authored
      (prolog-align-comments-flag, prolog-indent-mline-comments-flag)
      (prolog-object-end-to-0-flag, prolog-electric-newline-flag)
      (prolog-electric-tab-flag, prolog-use-prolog-tokenizer-flag):
      Remove vars, they do not apply any more.
      (prolog-mode-abbrev-table): Remove redundant declaration.
      (prolog-upper-case-string, prolog-lower-case-string): Remove.
      (prolog-use-smie): Remove.
      (prolog-smie-rules): Add indentation rule for the if-then-else layout
      supported by prolog-electric-if-then-else-flag.
      (prolog-mode-variables, prolog-menu): Use setq-local.
      (prolog-mode-keybindings-edit): Don't rebind M-C-p and M-C-n.
      Remove binding to `Backspace' since this key doesn't exist anyway.
      Remove bindings for electric self-inserting keys.
      (prog-mode): Assume it's defined.
      (prolog-post-self-insert): New function.
      (prolog-mode): Use it.
      (prolog-indent-line, prolog-indent-level)
      (prolog-find-indent-of-matching-paren)
      (prolog-indentation-level-of-line, prolog-goto-comment-column)
      (prolog-paren-is-the-first-on-line-p, prolog-region-paren-balance)
      (prolog-goto-next-paren, prolog-in-string-or-comment)
      (prolog-tokenize, prolog-inside-mline-comment)
      (prolog-find-start-of-mline-comment): Remove functions.
      (prolog-find-unmatched-paren, prolog-clause-end)
      (prolog-guess-fill-prefix, prolog-get-predspec): Use syntax-ppss.
      (prolog-electric--if-then-else): Rename from
      prolog-insert-spaces-after-paren; use prolog-electric-if-then-else-flag.
      (prolog-tokenize-searchkey): Remove const.
      (prolog-clause-info): Use forward-sexp.
      (prolog-forward-list, prolog-backward-list, prolog-electric-delete)
      (prolog-electric-if-then-else): Remove commands.
      (prolog-electric--colon): Rename from prolog-electric-colon; adapt it
      for use in post-self-insert-hook.
      (prolog-electric--dash): Rename from prolog-electric-dash; adapt it
      for use in post-self-insert-hook.
      (prolog-electric--dot): Rename from prolog-electric-dot; adapt it
      for use in post-self-insert-hook.
      (prolog-electric--underscore): Rename from prolog-electric--underscore;
      adapt it for use in post-self-insert-hook.
      eb89dc14
  7. 24 Oct, 2013 2 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/smie.el: New smie-config system. · 71e3276b
      Stefan Monnier authored
      (smie-config): New defcustom.
      (smie-edebug, smie-config-show-indent, smie-config-set-indent)
      (smie-config-guess, smie-config-save): New commands.
      (smie-config--mode-local, smie-config--buffer-local)
      (smie-config--trace, smie-config--modefuns): New vars.
      (smie-config--advice, smie-config--mode-hook)
      (smie-config--setter, smie-config-local, smie-config--get-trace)
      (smie-config--guess-value, smie-config--guess): New functions.
      (smie-indent-forward-token, smie-indent-backward-token): Don't copy
      text properties.  Treat "string fence" syntax like string syntax.
      
      * lisp/progmodes/sh-script.el (sh-use-smie): Change default.
      (sh-smie-sh-rules, sh-smie-rc-rules): Obey legacy sh-indent-* vars.
      (sh-var-value): Simplify by CSE.
      (sh-show-indent, sh-set-indent, sh-learn-line-indent)
      (sh-learn-buffer-indent): Redirect to their SMIE equivalent when SMIE
      is used.
      (sh-guess-basic-offset): Use cl-incf.
      (sh-guess-basic-offset): Use push+nreverse to avoid O(n^2).
      71e3276b
    • Michael Albinus's avatar
      990b9f68
  8. 19 Oct, 2013 1 commit
  9. 18 Oct, 2013 1 commit
    • Barry O'Reilly's avatar
      Don't run timers in input-pending-p. Its new check-timers param · ef566920
      Barry O'Reilly authored
      provides the prior behavior..
      * src/keyboard.c (Finput_pending_p): Accept optional check-timers
      param.
      * lisp/subr.el (sit-for): Call (input-pending-p t) so as to behave
      as before.
      * test/automated/timer-tests.el: New file.  Tests that (sit-for 0)
      allows another timer to run.
      
      Fixes: debbugs:15045
      ef566920
  10. 16 Oct, 2013 2 commits
  11. 13 Oct, 2013 1 commit
  12. 08 Oct, 2013 1 commit
    • Teemu Likonen's avatar
      * indent.el: Provide interactive indent-rigidly mode. Use lexical-binding. · b7d5bd82
      Teemu Likonen authored
      (indent-rigidly--current-indentation): New function.
      (indent-rigidly-map): New var.
      (indent-rigidly): Use it to provide interactive mode.
      (indent-region): Add progress reporter.
      (tab-stop-list): Make it implicitly extend to infinity by repeating the
      last step.
      (indent--next-tab-stop): New function to implement this behavior.
      (tab-to-tab-stop, move-to-tab-stop): Use it.
      
      Fixes: debbugs:8196
      b7d5bd82
  13. 07 Oct, 2013 1 commit
  14. 05 Oct, 2013 1 commit
  15. 03 Oct, 2013 1 commit
  16. 02 Oct, 2013 3 commits
  17. 28 Sep, 2013 1 commit
  18. 26 Sep, 2013 1 commit
  19. 22 Sep, 2013 1 commit
    • Daniel Colascione's avatar
      Add set operations for bool-vector. · 3e0b94e7
      Daniel Colascione authored
      http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00404.html
      
      * data.c (Qbool_vector_p): New symbol.
      (bool_vector_spare_mask,popcount_size_t_generic)
      (popcount_size_t_msc,popcount_size_t_gcc)
      (popcount_size_t)
      (bool_vector_binop_driver)
      (count_trailing_zero_bits,size_t_to_host_endian)
      (Fbool_vector_exclusive_or)
      (Fbool_vector_union)
      (Fbool_vector_intersection,Fbool_vector_set_difference)
      (Fbool_vector_subsetp,Fbool_vector_not)
      (Fbool_vector_count_matches)
      (Fbool_vector_count_matches_at): New functions.
      (syms_of_data): Intern new symbol, functions.
      * alloc.c (bool_vector_payload_bytes): New function.
      (Fmake_bool_vector): Instead of calling Fmake_vector,
      which performs redundant initialization and argument checking,
      just call allocate_vector ourselves.  Make sure we clear any
      terminating padding to zero.
      (vector_nbytes,sweep_vectors): Use bool_vector_payload_bytes
      instead of open-coding the size calculation.
      (vroundup_ct): New macro.
      (vroundup): Assume argument >= 0; invoke vroundup_ct.
      * casetab.c (shuffle,set_identity): Change lint_assume to assume.
      * composite.c (composition_gstring_put_cache): Change
      lint_assume to assume.
      * conf_post.h (assume): New macro.
      (lint_assume): Remove.
      * dispnew.c (update_frame_1): Change lint_assume to assume.
      * ftfont.c (ftfont_shape_by_flt): Change lint_assume
      to assume.
      * image.c (gif_load): Change lint_assume to assume.
      * lisp.h (eassert_and_assume): New macro.
      (Qbool_vector_p): Declare.
      (CHECK_BOOL_VECTOR,ROUNDUP,BITS_PER_SIZE_T): New macros.
      (swap16,swap32,swap64): New inline functions.
      * macfont.c (macfont_shape): Change lint_assume to assume.
      * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
      * xsettings.c (parse_settings): Use new swap16 and
      swap32 from lisp.h instead of file-specific macros.
      3e0b94e7
  20. 21 Sep, 2013 1 commit
    • Xue Fuqiao's avatar
      Add keybinding for vc-log-incoming in vc-dir. · d052d3bd
      Xue Fuqiao authored
      * doc/emacs/maintaining.texi (VC Directory Commands): Add keybinding for
      vc-log-incoming in vc-dir.
      * lisp/vc/vc-dir.el (vc-dir-mode-map): Add keybinding for vc-log-incoming.
      d052d3bd
  21. 20 Sep, 2013 1 commit
    • Xue Fuqiao's avatar
      Rename cvs-append-to-ignore to vc-cvs-append-to-ignore. · 98ccf24e
      Xue Fuqiao authored
      2013-09-20  Xue Fuqiao  <xfq.free@gmail.com>
      
      	* lisp/vc/pcvs.el (cvs-mode-ignore):
      	* lisp/vc/vc-cvs.el (vc-cvs-ignore, vc-cvs-append-to-ignore): Rename
      	cvs-append-to-ignore to vc-cvs-append-to-ignore.
      
      If/when someone complains about her package calling that function we
      can add an obsolete alias at that point.
      98ccf24e
  22. 17 Sep, 2013 1 commit
    • Glenn Morris's avatar
      Add a major-mode for the *Messages* buffer · 90582f05
      Glenn Morris authored
      Ref: http://lists.gnu.org/archive/html/emacs-devel/2010-02/msg00135.html
      
      * lisp/simple.el (messages-buffer-mode): New major mode.
      (messages-buffer): New function.
      
      * lisp/startup.el (normal-top-level): Switch mode of *Messages* buffer.
      
      * src/xdisp.c (message_dolog): If we create *Messages*,
      switch it to messages-buffer-mode.
      
      * lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation)
      (ert-run-test): Use `message-buffer' function.
      (ert--force-message-log-buffer-truncation): Ignore read-only.
      
      * lisp/help.el (view-echo-area-messages): Use `message-buffer' function.
      
      * lisp/mail/emacsbug.el (report-emacs-bug): Use `message-buffer' function.
      
      * lisp/gnus/gnus-util.el (gnus-message-with-timestamp-1):
      Use `message-buffer' function if available.  Ignore read-only.
      
      * etc/NEWS: Mention this.
      90582f05
  23. 15 Sep, 2013 1 commit
    • Jan Djärv's avatar
      Port the font backend from the Mac port. · 3fa2054e
      Jan Djärv authored
      * configure.ac: Add check for OSX 10.5, required for macfont.o.
      
      * etc/NEWS: Mention the macfont backend.
      
      * src/Makefile.in (NS_OBJ, SOME_MACHINE_OBJECTS): Add macfont.o.
      
      * src/font.c (syms_of_font): Call syms_of_macfont.
      
      * src/font.h: Declare syms_of_macfont.
      
      * src/nsfns.m: Include macfont.h.
      (Fx_create_frame): Register macfont driver, make a better default font.
      (Fns_popup_font_panel): Get font from macfont driver, if used.
      
      * src/nsfont.m (ns_tmp_flags, ns_tmp_font): Remove.
      (nsfont_open): Set font driver type.
      Set font->ascent and font->descent.  Figure out font instead of
      ns_tmp_font, and flags instead of ns_tmp_flags.
      Fix indentation. Remove call to ns_draw_text_decoration,
      moved to nsterm.
      
      * src/nsterm.m: Include macfont.h.
      (ns_tmp_flags, ns_tmp_font): Remove.
      (ns_compute_glyph_string_overhangs): Check for driver Qns.
      (ns_draw_glyph_string): Use local variables instead of ns_tmp_flags,
      ns_tmp_font.  Call ns_draw_text_decoration here instead of nsfont.m.
      (changeFont:): Fix code style.  Check for font driver type when
      getiing font.
      
      * src/nsterm.h (FONT_DESCENT, FONT_ASCENT): Define to (f)->ascent and
      (f)->descent.
      3fa2054e
  24. 11 Sep, 2013 2 commits
    • Glenn Morris's avatar
      Improve previous interpreter-mode-alist change · 2a08047a
      Glenn Morris authored
      * lisp/files.el (interpreter-mode-alist): Remove \\` \\' parts.
      (set-auto-mode): Don't regexp-quote elements.
      
      * lisp/progmodes/python.el (interpreter-mode-alist): Remove \\` \\'.
      
      * lisp/progmodes/cc-mode.el (interpreter-mode-alist):
      * lisp/progmodes/ruby-mode.el (interpreter-mode-alist):
      Revert previous change.
      
      * etc/NEWS: Update.
      2a08047a
    • Barry O'Reilly's avatar
      Change comparison functions =, <, >, <=, >= to take many arguments. · ebb99847
      Barry O'Reilly authored
      * src/data.c: Change comparison functions' interface and
        implementation
      * src/lisp.h: Make arithcompare available for efficient two arg
        comparisons
      * src/bytecode.c: Use arithcompare
      * src/fileio.c: Use new interface
      * test/automated/data-tests.el: New tests for comparison functions
      * etc/NEWS
      ebb99847
  25. 10 Sep, 2013 2 commits
  26. 08 Sep, 2013 1 commit
  27. 07 Sep, 2013 1 commit
  28. 06 Sep, 2013 2 commits
    • Stefan Monnier's avatar
      * lisp/minibuffer.el: Make minibuffer-complete call completion-in-region · 67982e2b
      Stefan Monnier authored
      rather than other way around.
      (completion--some, completion-pcm--find-all-completions):
      Don't delay signals when debugging.
      (minibuffer-completion-contents): Beware fields within the
      minibuffer contents.
      (completion-all-sorted-completions): Use defvar-local.
      (completion--do-completion, completion--cache-all-sorted-completions)
      (completion-all-sorted-completions, minibuffer-force-complete):
      Add args `beg' and `end'.
      (completion--in-region-1): New fun, extracted from minibuffer-complete.
      (minibuffer-complete): Use completion-in-region.
      (completion-complete-and-exit): New fun, extracted from
      minibuffer-complete-and-exit.
      (minibuffer-complete-and-exit): Use it.
      (completion--complete-and-exit): Rename from
      minibuffer--complete-and-exit.
      (completion-in-region--single-word): New function, extracted from
      minibuffer-complete-word.
      (minibuffer-complete-word): Use it.
      (display-completion-list): Make `common-substring' argument obsolete.
      (completion--in-region): Call completion--in-region-1 instead of
      minibuffer-complete.
      (completion-help-at-point): Pass boundaries to
      minibuffer-completion-help as args rather than via an overlay.
      (completion-pcm--string->pattern): Use `any-delim'.
      (completion-pcm--optimize-pattern): New function.
      (completion-pcm--pattern->regex): Handle `any-delim'.
      * lisp/icomplete.el (icomplete-forward-completions)
      (icomplete-backward-completions, icomplete-completions):
      Adjust calls to completion-all-sorted-completions and
      completion--cache-all-sorted-completions.
      (icomplete-with-completion-tables): Default to t.
      * lisp/emacs-lisp/crm.el (crm--current-element): Rename from
      crm--select-current-element.  Don't put an overlay but return the
      boundaries instead.
      (crm--completion-command): Take two new args to bind to the boundaries.
      (crm-completion-help): Adjust accordingly.
      (crm-complete): Use completion-in-region.
      (crm-complete-word): Use completion-in-region--single-word.
      (crm-complete-and-exit): Use completion-complete-and-exit.
      67982e2b
    • Michael Albinus's avatar
  29. 04 Sep, 2013 1 commit
    • Xue Fuqiao's avatar
      Some fixes for vc-ignore. · 63191d9f
      Xue Fuqiao authored
      * lisp/vc/vc.el (vc-ignore): Rewrite.
      (vc-default-ignore): New function.
      (vc-default-ignore-completion-table): Use find-ignore-file.
      
      * lisp/vc/vc-bzr.el (vc-bzr-ignore, vc-bzr-ignore-completion-table):
      * lisp/vc/vc-git.el (vc-git-ignore, vc-git-ignore-completion-table):
      * lisp/vc/vc-hg.el (vc-hg-ignore, vc-hg-ignore-completion-table):
      Remove.  Most code moved to vc.el.
      
      * doc/emacs/maintaining.texi (VC Ignore): Mention `vc-ignore' with prefix argument.
      63191d9f
  30. 31 Aug, 2013 1 commit
  31. 16 Aug, 2013 1 commit
    • Glenn Morris's avatar
      Add functions to change the speed of animated images · 3a2ddc2d
      Glenn Morris authored
      * lisp/image-mode.el (image-mode-map): Add menu items to reverse,
      increase, decrease, reset animation speed.
      (image--set-speed, image-increase-speed, image-decrease-speed)
      (image-reverse-speed, image-reset-speed): New functions.
      (image-mode-map): Add bindings for speed commands.
      
      * lisp/image.el (image-animate-get-speed, image-animate-set-speed):
      New functions.
      (image-animate-timeout): Respect image :speed property.
      
      * etc/NEWS: Mention this.
      3a2ddc2d