1. 03 Oct, 2013 1 commit
    • Stefan Monnier's avatar
      Introduce new bytecodes for efficient catch/condition-case in lexbind. · adf2aa61
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
      Optimize under `condition-case' and `catch' if
      byte-compile--use-old-handlers is nil.
      (disassemble-offset): Handle new bytecodes.
      
      * lisp/emacs-lisp/bytecomp.el (byte-pushcatch, byte-pushconditioncase)
      (byte-pophandler): New byte codes.
      (byte-goto-ops): Adjust accordingly.
      (byte-compile--use-old-handlers): New var.
      (byte-compile-catch): Use new byte codes depending on
      byte-compile--use-old-handlers.
      (byte-compile-condition-case--old): Rename from
      byte-compile-condition-case.
      (byte-compile-condition-case--new): New function.
      (byte-compile-condition-case): New function that dispatches depending
      on byte-compile--use-old-handlers.
      (byte-compile-unwind-protect): Pass a function to byte-unwind-protect
      when we can.
      
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): Adjust for
      the new compilation scheme using the new byte-codes.
      
      * src/alloc.c (Fgarbage_collect): Merge scans of handlerlist and catchlist,
      and make them unconditional now that they're heap-allocated.
      
      * src/bytecode.c (BYTE_CODES): Add Bpushcatch, Bpushconditioncase
      and Bpophandler.
      (bcall0): New function.
      (exec_byte_code): Add corresponding cases.  Improve error message when
      encountering an invalid byte-code.  Let Bunwind_protect accept
      a function (rather than a list of expressions) as argument.
      
      * src/eval.c (catchlist): Remove (merge with handlerlist).
      (handlerlist, lisp_eval_depth): Not static any more.
      (internal_catch, internal_condition_case, internal_condition_case_1)
      (internal_condition_case_2, internal_condition_case_n):
      Use PUSH_HANDLER.
      (unwind_to_catch, Fthrow, Fsignal): Adjust to merged
      handlerlist/catchlist.
      (internal_lisp_condition_case): Use PUSH_HANDLER.  Adjust to new
      handlerlist which can only handle a single condition-case handler at
      a time.
      (find_handler_clause): Simplify since we only a single branch here
      any more.
      
      * src/lisp.h (struct handler): Merge struct handler and struct catchtag.
      (PUSH_HANDLER): New macro.
      (catchlist): Remove.
      (handlerlist): Always declare.
      adf2aa61
  2. 01 Oct, 2013 2 commits
  3. 29 Sep, 2013 1 commit
    • Dmitry Gutov's avatar
      * lisp/emacs-lisp/package-x.el (package-upload-buffer-internal): Pass · 056453c6
      Dmitry Gutov authored
      `extras' slot from `package-desc' to `package-make-ac-desc'.
      
      * lisp/emacs-lisp/package.el (package-desc-from-define): Accept
      additional arguments as plist, convert it to an alist and store it
      in the `extras' slot.
      (package-generate-description-file): Convert extras alist back to
      plist and append to the `define-package' form arguments.
      (package--alist-to-plist): New function.
      (package--ac-desc): Add `extras' slot.
      (package--add-to-archive-contents): Check if the archive-contents
      vector is long enough, and if it is, pass its `extras' slot value
      to `package-desc-create'.
      (package-buffer-info): Call `lm-homepage', pass the returned value
      to `package-desc-from-define'.
      (describe-package-1): Render the homepage button.
      
      * test/automated/package-test.el (simple-single-desc-1-4): Remove, it
      was unused.
      (simple-single-desc): Expect :homepage property.
      (multi-file-desc): Same.
      (with-package-test): Do not save previous `default-directory'
      value, let-bind the var instead.
      (package-test-install-single): Expect :homepage property in the
      generated pkg file.
      (package-test-describe-package): Expect Homepage button.
      (package-test-describe-non-installed-package)
      (package-test-describe-non-installed-multi-file-package): Same.
      (package-test-describe-not-installed-package): Remove, it was a
      duplicate.
      
      * test/automated/package-x-test.el
      (package-x-test--single-archive-entry-1-3): Expect :homepage
      property.
      (package-x-test--single-archive-entry-1-4): Expect nil extras slot.
      
      * test/automated/data/package/archive-contents: Add :homepage
      properties to `simple-single' and `multi-file'.
      
      * test/automated/data/package/simple-single-1.3.el: Add URL header.
      
      Fixes: debbugs:13291
      056453c6
  4. 28 Sep, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el: · 3b7b2692
      Stefan Monnier authored
      (cl--loop-destr-temps): Remove.
      (cl--loop-iterator-function): Rename from cl--loop-map-form and change
      its convention.
      (cl--loop-set-iterator-function): New function.
      (cl-loop): Adjust accordingly, so as not to use cl-subst.
      (cl--parse-loop-clause): Adjust all uses of cl--loop-map-form.
      Bind `it' with `let' instead of substituting it with `cl-subst'.
      (cl--unused-var-p): New function.
      (cl--loop-let): Don't use the cl--loop-destr-temps hack any more.
      Eliminate some unused variable warnings.
      
      Fixes: debbugs:15326
      3b7b2692
  5. 25 Sep, 2013 1 commit
  6. 19 Sep, 2013 3 commits
  7. 18 Sep, 2013 1 commit
  8. 17 Sep, 2013 2 commits
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/package.el (package-generate-autoloads): Remove `require' · 96dbf5a8
      Stefan Monnier authored
      which should not be needed any more.
      (package-menu-refresh, package-menu-describe-package): Use user-error.
      96dbf5a8
    • 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
  9. 12 Sep, 2013 1 commit
    • Glenn Morris's avatar
      Use with-demoted-errors now that it can format any error messages · 30213927
      Glenn Morris authored
      * dframe.el (dframe-timer-fn):
      * files.el (dir-locals-read-from-file):
      * mpc.el (mpc--status-timer-run, mpc--status-idle-timer-run, mpc-format):
      * reveal.el (reveal-post-command):
      * saveplace.el (load-save-place-alist-from-file):
      * shell.el (shell-resync-dirs):
      * w32-common-fns.el (x-get-selection-value):
      * emacs-lisp/copyright.el (copyright-find-copyright):
      * emacs-lisp/eldoc.el (eldoc-print-current-symbol-info):
      * emulation/tpu-edt.el (tpu-copy-keyfile):
      * play/bubbles.el (bubbles--mark-neighbourhood):
      * progmodes/executable.el (executable-make-buffer-file-executable-if-script-p):
      * term/pc-win.el (x-get-selection-value): Use with-demoted-errors.
      30213927
  10. 11 Sep, 2013 1 commit
    • Stefan Monnier's avatar
      Use define-derived-mode (and derived-mode-p). · 1b3b87df
      Stefan Monnier authored
      * lisp/play/snake.el (snake-mode):
      * lisp/play/mpuz.el (mpuz-mode):
      * lisp/play/landmark.el (lm-mode):
      * lisp/play/blackbox.el (blackbox-mode):
      * lisp/play/5x5.el (5x5-mode):
      * lisp/obsolete/options.el (Edit-options-mode):
      * lisp/net/quickurl.el (quickurl-list-mode):
      * lisp/net/newst-treeview.el (newsticker-treeview-mode):
      * lisp/mail/rmailsum.el (rmail-summary-mode):
      * lisp/mail/mspools.el (mspools-mode):
      * lisp/locate.el (locate-mode):
      * lisp/ibuffer.el (ibuffer-mode):
      * lisp/emulation/ws-mode.el (wordstar-mode):
      * lisp/emacs-lisp/debug.el (debugger-mode):
      * lisp/array.el (array-mode):
      * lisp/net/eudc.el (eudc-mode): Use define-derived-mode.
      * lisp/net/mairix.el (mairix-searches-mode-font-lock-keywords):
      Move initialization into declaration.
      (mairix-searches-mode): Use define-derived-mode.
      * lisp/net/eudc-hotlist.el (eudc-hotlist-mode): Use define-derived-mode.
      (eudc-edit-hotlist): Use dolist.
      * lisp/man.el (Man-mode-syntax-table): Rename from man-mode-syntax-table.
      (Man-mode): Use define-derived-mode.
      * lisp/info.el (Info-edit-mode-map): Rename from Info-edit-map.
      (Info-edit-mode): Use define-derived-mode.
      (Info-cease-edit): Use Info-mode.
      * lisp/eshell/esh-mode.el (eshell-mode-syntax-table): Move initialization
      into declaration.
      (eshell-mode): Use define-derived-mode.
      * lisp/chistory.el (command-history-mode-map): Rename from
      command-history-map.
      (command-history-mode): Use define-derived-mode.
      * lisp/calc/calc.el (calc-trail-mode-map): New var.
      (calc-trail-mode): Use define-derived-mode.
      (calc-trail-buffer): Set calc-main-buffer manually.
      * lisp/bookmark.el (bookmark-insert-annotation): New function.
      (bookmark-edit-annotation): Use it.
      (bookmark-edit-annotation-mode): Make it a proper major mode.
      (bookmark-send-edited-annotation): Use derived-mode-p.
      * lisp/arc-mode.el (archive-mode): Move kill-all-local-variables a tiny bit
      closer to its ideal place.  Use \' to match EOS.
      
      * lisp/cedet/semantic/grammar.el (semantic-grammar-mode): Use define-derived-mode.
      (semantic-grammar-mode-syntax-table): Rename from
      semantic-grammar-syntax-table.
      (semantic-grammar-mode-map): Rename from semantic-grammar-map.
      * lisp/cedet/data-debug.el (data-debug-mode-map): Rename from data-debug-map.
      (data-debug-mode): Use define-derived-mode.
      
      * lisp/gnus/score-mode.el (gnus-score-mode-map): Move initialization
      into declaration.
      (gnus-score-mode): Use define-derived-mode.
      * lisp/gnus/gnus-srvr.el (gnus-browse-mode): Use define-derived-mode.
      * lisp/gnus/gnus-kill.el (gnus-kill-file-mode-map): Move initialization
      into declaration.
      (gnus-kill-file-mode): Use define-derived-mode.
      (gnus-kill-file-edit-file, gnus-kill-file-enter-kill, gnus-kill):
      Use derived-mode-p.
      * lisp/gnus/gnus-group.el (gnus-group-mode): Use define-derived-mode.
      (gnus-group-setup-buffer, gnus-group-name-at-point)
      (gnus-group-make-web-group, gnus-group-enter-directory)
      (gnus-group-suspend): Use derived-mode-p.
      * lisp/gnus/gnus-cus.el (gnus-custom-mode): Use define-derived-mode.
      * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode): Use define-derived-mode.
      * lisp/gnus/gnus-art.el (gnus-article-mode): Use define-derived-mode.
      (gnus-article-setup-buffer, gnus-article-prepare)
      (gnus-article-prepare-display, gnus-sticky-article)
      (gnus-kill-sticky-article-buffer, gnus-kill-sticky-article-buffers)
      (gnus-bind-safe-url-regexp, gnus-article-check-buffer)
      (gnus-article-read-summary-keys): Use derived-mode-p.
      1b3b87df
  11. 06 Sep, 2013 1 commit
    • 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
  12. 05 Sep, 2013 2 commits
    • Stefan Monnier's avatar
      * lisp/subr.el (pop): Use `car-safe'. · c0458e0b
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Remove hack
      to detect unused `pop' return value.
      
      * lisp/emacs-lisp/advice.el (defadvice): Add indent rule.
      
      * lisp/international/mule-cmds.el: Require CL.
      (find-coding-systems-for-charsets): Avoid add-to-list.
      (sanitize-coding-system-list): New function, extracted from
      select-safe-coding-system-interactively.
      (select-safe-coding-system-interactively): Use it.
      (read-input-method-name): Accept symbols for `default'.
      
      * lisp/progmodes/python.el (python-nav-beginning-of-block): Remove unused
      var `block-regexp'.
      (python-nav--forward-sexp): Remove unused var `re-search-fn'.
      (python-fill-string): Remove unused var `marker'.
      (python-skeleton-add-menu-items): Remove unused var `items'.
      c0458e0b
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cconv.el: Use `car-safe' rather than `car' to access · 4c528aab
      Stefan Monnier authored
      a "ref-cell", since it gets better optimized.
      
      Fixes: debbugs:14883
      4c528aab
  13. 04 Sep, 2013 1 commit
  14. 03 Sep, 2013 1 commit
  15. 30 Aug, 2013 1 commit
  16. 29 Aug, 2013 3 commits
    • Stefan Monnier's avatar
      Misc changes to reduce use of `(lambda...); and other cleanups. · 40f7e0e8
      Stefan Monnier authored
      * lisp/cus-edit.el: Use lexical-binding.
      (customize-push-and-save, customize-apropos)
      (custom-buffer-create-internal): Use closures.
      * lisp/progmodes/bat-mode.el (bat-mode-syntax-table): "..." are strings.
      * lisp/progmodes/ada-xref.el: Use setq.
      * lisp/net/tramp.el (with-tramp-progress-reporter): Avoid setq.
      * lisp/dframe.el: Use lexical-binding.
      (dframe-frame-mode): Fix calling convention for hooks.  Use a closure.
      * lisp/speedbar.el (speedbar-frame-mode): Adjust call accordingly.
      * lisp/descr-text.el: Use lexical-binding.
      (describe-text-widget, describe-text-sexp, describe-property-list):
      Use closures.
      * lisp/comint.el (comint-history-isearch-push-state): Use a closure.
      * lisp/calculator.el: Use lexical-binding.
      (calculator-number-to-string): Make it work with lexical-binding.
      (calculator-funcall): Same and use cl-letf.
      40f7e0e8
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/lisp.el (lisp--company-doc-buffer) · 2da4c3ab
      Stefan Monnier authored
      (lisp--company-doc-string, lisp--company-location): New functions.
      (lisp-completion-at-point): Use them to improve Company support.
      2da4c3ab
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Make it clear that args · e8dfd197
      Stefan Monnier authored
      are immutable.  Don't use `unsafe' any more.
      (cl--defsubst-expand): Don't substitute at the same time as keeping
      a residual unused let-binding.  Don't use `unsafe' any more.
      e8dfd197
  17. 28 Aug, 2013 2 commits
  18. 23 Aug, 2013 1 commit
  19. 21 Aug, 2013 1 commit
  20. 16 Aug, 2013 1 commit
  21. 15 Aug, 2013 1 commit
  22. 13 Aug, 2013 1 commit
  23. 10 Aug, 2013 1 commit
  24. 09 Aug, 2013 2 commits
    • Stefan Monnier's avatar
      * lisp/subr.el (define-error): New function. · 54bd972f
      Stefan Monnier authored
      * doc/lispref/control.texi (Signaling Errors): Refer to define-error.
      (Error Symbols): Add `define-error'.
      * doc/lispref/errors.texi (Standard Errors): Don't refer to `error-conditions'.
      * lisp/progmodes/ada-xref.el (ada-error-file-not-found): Rename from
      error-file-not-found and define with define-error.
      * lisp/emacs-lisp/cl-lib.el (cl-assertion-failed): Move here from subr.el
      and define with define-error.
      * lisp/userlock.el (file-locked, file-supersession):
      * lisp/simple.el (mark-inactive):
      * lisp/progmodes/js.el (js-moz-bad-rpc, js-js-error):
      * lisp/progmodes/ada-mode.el (ada-mode-errors):
      * lisp/play/life.el (life-extinct):
      * lisp/nxml/xsd-regexp.el (xsdre-invalid-regexp, xsdre-parse-error):
      * lisp/nxml/xmltok.el (xmltok-markup-declaration-parse-error):
      * lisp/nxml/rng-util.el (rng-error):
      * lisp/nxml/rng-uri.el (rng-uri-error):
      * lisp/nxml/rng-match.el (rng-compile-error):
      * lisp/nxml/rng-cmpct.el (rng-c-incorrect-schema):
      * lisp/nxml/nxml-util.el (nxml-error, nxml-file-parse-error):
      * lisp/nxml/nxml-rap.el (nxml-scan-error):
      * lisp/nxml/nxml-outln.el (nxml-outline-error):
      * lisp/net/soap-client.el (soap-error):
      * lisp/net/gnutls.el (gnutls-error):
      * lisp/net/ange-ftp.el (ftp-error):
      * lisp/mpc.el (mpc-proc-error):
      * lisp/json.el (json-error, json-readtable-error, json-unknown-keyword)
      (json-number-format, json-string-escape, json-string-format)
      (json-key-format, json-object-format):
      * lisp/jka-compr.el (compression-error):
      * lisp/international/quail.el (quail-error):
      * lisp/international/kkc.el (kkc-error):
      * lisp/emacs-lisp/ert.el (ert-test-failed):
      * lisp/calc/calc.el (calc-error, inexact-result, math-overflow)
      (math-underflow):
      * lisp/bookmark.el (bookmark-error-no-filename):
      * lisp/epg.el (epg-error): Define with define-error.
      54bd972f
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/checkdoc.el: Remove redundant :group keywords. · b0429158
      Stefan Monnier authored
      Use #' instead of ' to quote functions.
      (checkdoc-output-mode): Use setq-local.
      (checkdoc-spellcheck-documentation-flag, checkdoc-ispell-lisp-words)
      (checkdoc-verb-check-experimental-flag, checkdoc-proper-noun-regexp)
      (checkdoc-common-verbs-regexp): Mark safe-local-variable.
      (checkdoc-ispell, checkdoc-ispell-current-buffer)
      (checkdoc-ispell-interactive, checkdoc-ispell-message-interactive)
      (checkdoc-ispell-message-text, checkdoc-ispell-start)
      (checkdoc-ispell-continue, checkdoc-ispell-comments)
      (checkdoc-ispell-defun): Remove unused arg `take-notes'.
      
      Fixes: debbugs:15010
      b0429158
  25. 08 Aug, 2013 3 commits
  26. 07 Aug, 2013 1 commit
  27. 05 Aug, 2013 1 commit
    • Dmitry Antipov's avatar
      Do not call to `selected-window' where it is assumed by default. · 290d5b58
      Dmitry Antipov authored
      Affected functions are `window-minibuffer-p', `window-dedicated-p',
      `window-hscroll', `window-width', `window-height', `window-buffer',
      `window-frame', `window-start', `window-point', `next-window'
      and `window-display-table'.
      * abbrev.el (abbrev--default-expand):
      * bs.el (bs--show-with-configuration):
      * buff-menu.el (Buffer-menu-mouse-select):
      * calc/calc.el (calc):
      * calendar/calendar.el (calendar-generate-window):
      * calendar/diary-lib.el (diary-simple-display, diary-show-all-entries)
      (diary-make-entry):
      * comint.el (send-invisible, comint-dynamic-complete-filename)
      (comint-dynamic-simple-complete, comint-dynamic-list-completions):
      * completion.el (complete):
      * dabbrev.el (dabbrev-expand, dabbrev--make-friend-buffer-list):
      * disp-table.el (describe-current-display-table):
      * doc-view.el (doc-view-insert-image):
      * ebuff-menu.el (Electric-buffer-menu-mouse-select):
      * ehelp.el (with-electric-help):
      * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
      * emacs-lisp/edebug.el (edebug-two-window-p, edebug-pop-to-buffer):
      * emacs-lisp/helper.el (Helper-help-scroller):
      * emulation/cua-base.el (cua--post-command-handler-1):
      * eshell/esh-mode.el (eshell-output-filter):
      * ffap.el (ffap-gnus-wrapper):
      * help-macro.el (make-help-screen):
      * hilit-chg.el (highlight-compare-buffers):
      * hippie-exp.el (hippie-expand, try-expand-dabbrev-visible):
      * hl-line.el (global-hl-line-highlight):
      * icomplete.el (icomplete-simple-completing-p):
      * isearch.el (isearch-done):
      * jit-lock.el (jit-lock-stealth-fontify):
      * mail/rmailsum.el (rmail-summary-scroll-msg-up):
      * lisp/mouse-drag.el (mouse-drag-should-do-col-scrolling):
      * mpc.el (mpc-tagbrowser, mpc):
      * net/rcirc.el (rcirc-any-buffer):
      * play/gomoku.el (gomoku-max-width, gomoku-max-height):
      * play/landmark.el (landmark-max-width, landmark-max-height):
      * play/zone.el (zone):
      * progmodes/compile.el (compilation-goto-locus):
      * progmodes/ebrowse.el (ebrowse-view/find-file-and-search-pattern):
      * progmodes/etags.el (find-tag-other-window):
      * progmodes/fortran.el (fortran-column-ruler):
      * progmodes/gdb-mi.el (gdb-mouse-toggle-breakpoint-fringe):
      * progmodes/verilog-mode.el (verilog-point-text):
      * reposition.el (reposition-window):
      * rot13.el (toggle-rot13-mode):
      * server.el (server-switch-buffer):
      * shell.el (shell-dynamic-complete-command)
      (shell-dynamic-complete-environment-variable):
      * simple.el (insert-buffer, set-selective-display)
      (delete-completion-window):
      * speedbar.el (speedbar-timer-fn, speedbar-center-buffer-smartly)
      (speedbar-recenter):
      * startup.el (fancy-splash-head):
      * textmodes/ispell.el (ispell-command-loop):
      * textmodes/makeinfo.el (makeinfo-compilation-sentinel-region):
      * tutorial.el (help-with-tutorial):
      * vc/add-log.el (add-change-log-entry):
      * vc/compare-w.el (compare-windows):
      * vc/ediff-help.el (ediff-indent-help-message):
      * vc/ediff-util.el (ediff-setup-control-buffer, ediff-position-region):
      * vc/ediff-wind.el (ediff-skip-unsuitable-frames)
      (ediff-setup-control-frame):
      * vc/emerge.el (emerge-position-region):
      * vc/pcvs-util.el (cvs-bury-buffer):
      * window.el (walk-windows, mouse-autoselect-window-select):
      * winner.el (winner-set-conf, winner-undo): Related users changed.
      290d5b58
  28. 04 Aug, 2013 2 commits
    • Stefan Monnier's avatar
      * lisp/subr.el (macrop): New function. · 671d5c16
      Stefan Monnier authored
      (text-clone--maintaining): New var.
      (text-clone--maintain): Rename from text-clone-maintain.  Use it
      instead of inhibit-modification-hooks.
      
      * lisp/emacs-lisp/nadvice.el (advice--normalize): For aliases to macros, use
      a proxy, so as handle autoloads and redefinitions of the target.
      (advice--defalias-fset, advice-remove): Use advice--symbol-function.
      
      * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
      Remove bogus (arrayp . stringp) pair.  Add entries for `vectorp'.
      (pcase--mutually-exclusive-p): New function.
      (pcase--split-consp): Use it.
      (pcase--split-pred): Use it.  Optimize the case where `pat' is a qpat
      mutually exclusive with the current predicate.
      
      * test/automated/advice-tests.el (advice-tests-nadvice): Test removal
      before definition.
      (advice-tests-macroaliases): New test.
      
      * lisp/emacs-lisp/edebug.el (edebug-lookup-function): Remove function.
      (edebug-macrop): Remove.  Use `macrop' instead.
      * lisp/emacs-lisp/advice.el (ad-subr-p): Remove.  Use `subrp' instead.
      (ad-macro-p):
      * lisp/eshell/esh-cmd.el (eshell-macrop):
      * lisp/apropos.el (apropos-macrop): Remove.  Use `macrop' instead.
      671d5c16
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/nadvice.el (advice-function-mapc): Rename from advice-mapc. · 1d44e9dc
      Stefan Monnier authored
      (advice-mapc): New function, using it.
      (advice-function-member-p): New function.
      (advice--normalize): Store the cdr in advice--saved-rewrite since
      that's the part that will be changed.
      (advice--symbol-function): New function.
      (advice-remove): Handle removal before the function is defined.
      Adjust to new advice--saved-rewrite.
      (advice-member-p): Use advice-function-member-p and
      advice--symbol-function.
      1d44e9dc