1. 22 Sep, 2014 15 commits
    • Sam Steingold's avatar
      (sql-execute): Use `special-mode'. · 7fc340b2
      Sam Steingold authored
      * sql.el (sql-execute): Use `special-mode'.
      7fc340b2
    • Sam Steingold's avatar
      (sql-product-alist): Improve the Vertica entry. · edf16c37
      Sam Steingold authored
      * lisp/progmodes/sql.el (sql-product-alist): Improve the Vertica entry.
      edf16c37
    • Stefan Monnier's avatar
      Add pcase-defmacro, as well as `quote' and `app' patterns. · 6b33c17c
      Stefan Monnier authored
      * loadup.el: Increase max-lisp-eval-depth when macroexpanding macroexp.
      * emacs-lisp/pcase.el: Allow (F . ARGS) in `app' patterns.
      (pcase--funcall, pcase--eval): New functions.
      (pcase--u1): Use them for guard, pred, let, and app.
      (\`): Use the new feature to generate better code for vector patterns.
      * emacs-lisp/pcase.el: Use pcase-defmacro to handle backquote.
      (pcase--upat): Remove.
      (pcase--macroexpand): Don't hardcode handling of `.
      (pcase--split-consp, pcase--split-vector): Remove.
      (pcase--split-equal): Disregard ` since it's expanded away.
      (pcase--split-member): Optimize for quote rather than for `.
      (pcase--split-pred): Optimize for quote rather than for `.
      (pcase--u1): Remove handling of ` (and of `or' and `and').
      Quote non-selfquoting values when passing them to `eq'.
      Drop `app's let-binding if the variable is not used.
      (pcase--q1): Remove.
      (`): Define as a pattern macro.
      * emacs-lisp/pcase.el (pcase--match): New smart-constructor function.
      (pcase--expand pcase--q1, pcase--app-subst-match): Use it.
      (pcase--macroexpand): Handle self-quoting patterns here, expand them to
      quote patterns.
      (pcase--split-match): Don't hoist or/and here any more.
      (pcase--split-equal): Optimize quote patterns as well as ` patterns.
      (pcase--flip): New helper macro.
      (pcase--u1): Optimize the memq case directly.
      Don't handle neither self-quoting nor and/or patterns any more.
      * emacs-lisp/pcase.el (pcase-defmacro): New macro.
      (pcase--macroexpand): New function.
      (pcase--expand): Use it.
      * emacs-lisp/pcase.el (pcase--app-subst-match, pcase--app-subst-rest):
      New optimization functions.
      (pcase--u1): Add support for `quote' and `app'.
      (pcase): Document them in the docstring.
      6b33c17c
    • Stefan Monnier's avatar
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/pcase.el: Allow (F . ARGS) in `app' patterns. · 2b968ea6
      Stefan Monnier authored
      (pcase--funcall, pcase--eval): New functions.
      (pcase--u1): Use them for guard, pred, let, and app.
      (\`): Use the new feature to generate better code for vector patterns.
      2b968ea6
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/pcase.el: Use pcase-defmacro to handle backquote. · 7fbd780a
      Stefan Monnier authored
      (pcase--upat): Remove.
      (pcase--macroexpand): Don't hardcode handling of `.
      (pcase--split-consp, pcase--split-vector): Remove.
      (pcase--split-equal): Disregard ` since it's expanded away.
      (pcase--split-member): Optimize for quote rather than for `.
      (pcase--split-pred): Optimize for quote rather than for `.
      (pcase--u1): Remove handling of ` (and of `or' and `and').
      Quote non-selfquoting values when passing them to `eq'.
      Drop `app's let-binding if the variable is not used.
      (pcase--q1): Remove.
      (`): Define as a pattern macro.
      7fbd780a
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/pcase.el (pcase--match): New smart-constructor function. · 1a625553
      Stefan Monnier authored
      (pcase--expand pcase--q1, pcase--app-subst-match): Use it.
      (pcase--macroexpand): Handle self-quoting patterns here, expand them to
      quote patterns.
      (pcase--split-match): Don't hoist or/and here any more.
      (pcase--split-equal): Optimize quote patterns as well as ` patterns.
      (pcase--flip): New helper macro.
      (pcase--u1): Optimize the memq case directly.
      Don't handle neither self-quoting nor and/or patterns any more.
      1a625553
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/pcase.el (pcase-defmacro): New macro. · 536cda1f
      Stefan Monnier authored
      (pcase--macroexpand): New function.
      (pcase--expand): Use it.
      536cda1f
    • Eli Zaretskii's avatar
      Fix bug #18516 with SIGSEGV in expand-file-name. · f11af8a4
      Eli Zaretskii authored
       src/fileio.c (Fexpand_file_name) [DOS_NT]: Make sure newdirlim is
       always set to a valid value.  Make sure the size passed to alloca
       is always positive.
      f11af8a4
    • Stefan Monnier's avatar
      Add support for `quote' and `app'. · 13b1840d
      Stefan Monnier authored
      * lisp/emacs-lisp/pcase.el (pcase--app-subst-match, pcase--app-subst-rest):
      New optimization functions.
      (pcase--u1): Add support for `quote' and `app'.
      (pcase): Document them in the docstring.
      13b1840d
    • Stefan Monnier's avatar
      Use lexical-bindin in Ibuffer. · 601a0cfe
      Stefan Monnier authored
      * lisp/ibuffer.el (ibuffer-do-toggle-read-only): `arg' is unused.
      (ibuffer-compile-format): Simplify.
      (ibuffer-clear-summary-columns): Simplify.
      * lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Don't use the third
      elem of dotimes when we don't refer to the iteration var from it.
      (ibuffer-toggle-sorting-mode): Avoid add-to-list.
      * lisp/ibuf-macs.el (define-ibuffer-column, define-ibuffer-op):
      Silence byte-compiler.
      601a0cfe
    • Stefan Monnier's avatar
      * lisp/font-lock.el (font-lock-compile-keyword): Don't confuse a lambda · efd314de
      Stefan Monnier authored
      expression for a list.
      efd314de
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Don't add fundoc usage · 55fa245f
      Stefan Monnier authored
      for functions with no arguments.
      55fa245f
    • Stefan Monnier's avatar
      * lisp/mpc.el (mpc-data-directory): Use locate-user-emacs-file. · 84a87ab5
      Stefan Monnier authored
      (mpc-volume-refresh): Make sure the corresponding header-line is updated.
      (mpc-songs-jump-to, mpc-play): Use user-error.
      84a87ab5
    • Dmitry Antipov's avatar
      Avoid extra call to oblookup when interning symbols. · 99c3fad7
      Dmitry Antipov authored
      * lisp.h (intern_driver): Add prototype.
      * lread.c (intern_driver): New function.
      (intern1, intern_c_string_1, Fintern):
      * font.c (font_intern_prop):
      * w32font.c (intern_font_name): Use it.
      99c3fad7
  2. 21 Sep, 2014 6 commits
  3. 19 Sep, 2014 4 commits
  4. 18 Sep, 2014 6 commits
  5. 17 Sep, 2014 6 commits
  6. 16 Sep, 2014 3 commits
    • Daniel Colascione's avatar
      For symbols, use address as hash code. · 89b34071
      Daniel Colascione authored
      * src/fns.c (sxhash): For symbols, use address as hash code.
      89b34071
    • Dmitry Antipov's avatar
      Avoid more integer overflows on string size calculations. · 3e67a981
      Dmitry Antipov authored
      * category.c (Fmake_category_set):
      * xdisp.c (get_overlay_arrow_glyph_row):
      * w32font.c (intern_font_name): Prefer ptrdiff_t to int.
      3e67a981
    • Dmitry Antipov's avatar
      If USE_LOCAL_ALLOCATORS, allocate even more Lisp objects on stack. · b98b1a83
      Dmitry Antipov authored
      * charset.c (load_charset_map_from_file): Use scoped_list2
      and build_local_string.
      * buffer.c (Fother_buffer, other_buffer_safely, init_buffer):
      * emacs.c (init_cmdargs, decode_env_path):
      * fileio.c (Fexpand_file_name):
      * fns.c (maybe_resize_hash_table) [ENABLE_CHECKING]:
      * frame.c (x_get_arg):
      * keyboard.c (safe_run_hooks_error):
      * lread.c (load_warn_old_style_backquotes):
      * xdisp.c (Fcurrent_bidi_paragraph_direction):
      * xfns.c (x_default_scroll_bar_color_parameter, select_visual):
      * xselect.c (x_clipboard_manager_error_1)
      (x_clipboard_manager_save_all):
      * xterm.c (x_term_init): Use build_local_string.
      b98b1a83