Commit graph

3864 commits

Author SHA1 Message Date
Glenn Morris
a2c501b84e * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Remove unused local `pbody'. 2013-09-19 16:31:54 -04:00
Glenn Morris
9a0289a2e9 * lisp/emacs-lisp/eieio.el (class-parent): Undo previous change.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00354.html
2013-09-19 16:11:48 -04:00
Glenn Morris
f754477379 * emacs-lisp/eieio.el (class-parent): Don't use defalias with macros. 2013-09-19 00:14:53 -07:00
Glenn Morris
7bb3e76899 * emacs-lisp/chart.el (x-display-color-cells): Declare.
(chart-face-list): Drop Emacsen without display-color-p.
2013-09-17 22:04:41 -07:00
Stefan Monnier
96dbf5a8ae * lisp/emacs-lisp/package.el (package-generate-autoloads): Remove `require'
which should not be needed any more.
(package-menu-refresh, package-menu-describe-package): Use user-error.
2013-09-17 11:52:31 -04:00
Glenn Morris
90582f05bc Add a major-mode for the *Messages* buffer
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.
2013-09-17 00:39:54 -07:00
Glenn Morris
30213927b6 Use with-demoted-errors now that it can format any error messages
* 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.
2013-09-11 22:32:57 -07:00
Stefan Monnier
1b3b87dfe0 Use define-derived-mode (and derived-mode-p).
* 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.
2013-09-10 23:31:56 -04:00
Stefan Monnier
67982e2b74 * lisp/minibuffer.el: Make minibuffer-complete call completion-in-region
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.
2013-09-06 18:46:44 -04:00
Stefan Monnier
c0458e0b21 * lisp/subr.el (pop): Use `car-safe'.
* 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'.
2013-09-04 23:46:34 -04:00
Stefan Monnier
4c528aabaa * lisp/emacs-lisp/cconv.el: Use car-safe' rather than car' to access
a "ref-cell", since it gets better optimized.

Fixes: debbugs:14883
2013-09-04 23:05:44 -04:00
Stefan Monnier
52b1cc7915 * lisp/emacs-lisp/gv.el (gv-get): Warn about CL-compiled places. 2013-09-04 16:03:52 -04:00
Stefan Monnier
14b511d4e5 * lisp/emacs-lisp/package.el (package-activate-1): Don't let a missing
<pkg>-autoloads.el file stop us.
2013-09-03 14:21:41 -04:00
Glenn Morris
415f808eb1 * bytecomp.el (byte-recompile-directory): Fix is-this-a-directory logic.
Fixes: debbugs:15220
2013-08-30 13:40:39 -04:00
Stefan Monnier
40f7e0e853 Misc changes to reduce use of `(lambda...); and other cleanups.
* 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.
2013-08-29 15:55:58 -04:00
Stefan Monnier
2da4c3ab6f * lisp/emacs-lisp/lisp.el (lisp--company-doc-buffer)
(lisp--company-doc-string, lisp--company-location): New functions.
(lisp-completion-at-point): Use them to improve Company support.
2013-08-29 15:18:16 -04:00
Stefan Monnier
e8dfd19797 * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Make it clear that args
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.
2013-08-28 23:49:10 -04:00
Stefan Monnier
2d69b99e59 * lisp/emacs-lisp/package.el (package-activate-1): Don't add unnecessarily
to load-path.
2013-08-28 13:57:12 -04:00
Stefan Monnier
95888bca5d * lisp/emacs-lisp/cconv.el (cconv--analyse-function): Improve warning. 2013-08-27 21:33:31 -04:00
Glenn Morris
a0b5606ec7 Merge from emacs-24; up to 2013-01-03T01:56:56Z!rgm@gnu.org 2013-08-27 01:01:13 -07:00
Glenn Morris
d96ad42239 * lisp/emacs-lisp/package.el (package-buffer-info): Fix message typo. 2013-08-23 12:50:39 -04:00
Stefan Monnier
9f7b19259d * lisp/emacs-lisp/pp.el (pp-eval-expression, pp-macroexpand-expression):
Use read--expression so that completion works again.
2013-08-21 14:26:15 -04:00
Glenn Morris
58c4682f76 * bytecomp.el (byte-compile-make-variable-buffer-local): Tweak warning.
Fixes: debbugs:14926
2013-08-15 23:53:41 -07:00
Stefan Monnier
10fa0ed328 * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Put point on the
previous line.
(debugger-eval-expression, debugger-record-expression):
Use read--expression (bug#15102).

Fixes: debbugs:15101
2013-08-15 13:21:19 -04:00
Stefan Monnier
5514cc4c84 * lisp/emacs-lisp/timer.el (timer--time-setter): New function.
(timer--time): Use it as gv-setter.
* lisp/emacs-lisp/gv.el (gv-define-simple-setter): Output warning when
setter is not a symbol.
2013-08-12 22:30:52 -04:00
Juanma Barranquero
c880af52a6 lisp/emacs-lisp/timer.el (timer--time): Define setter with gv-define-setter. 2013-08-10 14:30:38 +02:00
Stefan Monnier
54bd972f15 * lisp/subr.el (define-error): New function.
* 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.
2013-08-09 17:22:44 -04:00
Stefan Monnier
b042915834 * lisp/emacs-lisp/checkdoc.el: Remove redundant :group keywords.
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
2013-08-08 21:19:42 -04:00
Juanma Barranquero
9d3aa82cf9 lisp/*.el: Silence lexical-binding warnings. 2013-08-09 01:59:14 +02:00
Stefan Monnier
0ca3f70e4f * lisp/emacs-lisp/edebug.el (edebug-debugger): Use edebug-eval to run the
break-condition in the context of the debugged code.

Fixes: debbugs:12685
2013-08-08 19:14:20 -04:00
Stefan Monnier
c735544ced * lisp/emacs-lisp/bytecomp.el (byte-compile-function-warn): New function,
extracted from byte-compile-callargs-warn and byte-compile-normal-call.
(byte-compile-callargs-warn, byte-compile-function-form): Use it.
(byte-compile-normal-call): Remove obsolescence check.
2013-08-07 21:37:47 -04:00
Stefan Monnier
bb41480a68 * lisp/emacs-lisp/bytecomp.el: Check existence of f in #'f.
(byte-compile-callargs-warn): Use `push'.
(byte-compile-arglist-warn): Ignore higher-order "calls".
(byte-compile-file-form-autoload): Use `pcase'.
(byte-compile-function-form): If quoting a symbol, check that it exists.
2013-08-07 13:33:30 -04:00
Dmitry Antipov
290d5b5890 Do not call to `selected-window' where it is assumed by default.
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.
2013-08-05 18:26:57 +04:00
Stefan Monnier
671d5c1654 * lisp/subr.el (macrop): New function.
(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.
2013-08-04 16:18:11 -04:00
Stefan Monnier
1d44e9dcad * lisp/emacs-lisp/nadvice.el (advice-function-mapc): Rename from advice-mapc.
(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.
2013-08-04 02:48:00 -04:00
Stefan Monnier
9c959872b5 * lisp/emacs-lisp/package.el (package-desc-from-define): Ignore unknown keys. 2013-08-02 22:34:22 -04:00
Stefan Monnier
70122acf2f * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode)
(easy-mmode-define-navigation): Avoid ((lambda (..) ..) ...).
2013-08-02 17:23:07 -04:00
Stefan Monnier
a104f656c8 Make defvar affect the default binding outside of any let.
* src/eval.c (default_toplevel_binding): New function.
(Fdefvar): Use it.
(unbind_to, backtrace_eval_unrewind): Do a bit of CSE simplification.
(Fdefault_toplevel_value, Fset_default_toplevel_value): New subrs.
(syms_of_eval): Export them.
* src/data.c (Fdefault_value): Micro cleanup.
* src/term.c (init_tty): Use "false".
* lisp/custom.el (custom-initialize-default, custom-initialize-set)
(custom-initialize-reset, custom-initialize-changed): Affect the
toplevel-default-value (bug#6275, bug#14586).
* lisp/emacs-lisp/advice.el (ad-compile-function): Undo previous workaround
for bug#6275.
* test/automated/core-elisp-tests.el: New file.
2013-08-02 17:16:33 -04:00
Juanma Barranquero
185e3b5a2f lisp/emacs-lisp/lisp-mode.el: Support cl-def* expressions in imenu. 2013-08-02 18:29:16 +02:00
Dmitry Antipov
3b734d1c00 * lisp/emacs-lisp/re-builder.el (reb-color-display-p):
* lisp/files.el (save-buffers-kill-terminal):
* lisp/net/browse-url.el (browse-url):
* lisp/server.el (server-save-buffers-kill-terminal):
* lisp/textmodes/reftex-toc.el (reftex-toc, reftex-toc-revert):
Prefer nil to selected-frame for the first arg of frame-parameter.
2013-07-31 10:52:26 +04:00
Stefan Monnier
7ced0d0446 * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): Use the new
`base' arg of backtrace-frame.
2013-07-26 14:41:18 -04:00
Stefan Monnier
53ff3e77b4 * lisp/emacs-lisp/edebug.el: Use backtrace-eval to handle lexical variables.
(edebug-eval): Use backtrace-eval.
(edebug--display, edebug--recursive-edit): Don't let-bind the
edebug-outer-* vars that keep track of variables we locally let-bind.
(edebug-outside-excursion): Don't restore outside values of locally
let-bound vars.
(edebug--display): Use user-error.
(cl-lexical-debug, cl-debug-env): Remove.
2013-07-26 11:09:04 -04:00
Stefan Monnier
56ea72917a Add support for lexical variables to the debugger's `e' command.
* lisp/emacs-lisp/debug.el (debug): Don't let-bind the debugger-outer-*
vars, except for debugger-outer-match-data.
(debugger-frame-number): Move check for "on a function call" from
callers into it.  Add `skip-base' argument.
(debugger-frame, debugger-frame-clear): Simplify accordingly.
(debugger-env-macro): Only reset the state stored in non-variables,
i.e. current-buffer and match-data.
(debugger-eval-expression): Rewrite using backtrace-eval.
* lisp/subr.el (internal--called-interactively-p--get-frame): Remove.
(called-interactively-p):
* lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): Use the new
`base' arg of backtrace-frame instead.
* src/eval.c (set_specpdl_old_value): New function.
(unbind_to): Minor simplification.
(get_backtrace_frame): New function.
(Fbacktrace_frame): Use it.  Add `base' argument.
(backtrace_eval_unrewind, Fbacktrace_eval): New functions.
(syms_of_eval): Export backtrace-eval.
* src/xterm.c (x_focus_changed): Simplify.
2013-07-26 03:38:18 -04:00
Stefan Monnier
249eea30ee * lisp/emacs-lisp/pcase.el (pcase--u1): Verify if self-quoting values can be
checked with memq.

Fixes: debbugs:14935
2013-07-24 01:13:24 -04:00
Stefan Monnier
7d22ce18d4 * lisp/emacs-lisp/autoload.el (autoload--setup-output): New function,
extracted from autoload--insert-text.
(autoload--insert-text): Remove.
(autoload--print-cookie-text): New function, extracted from
autoload--insert-cookie-text.
(autoload--insert-cookie-text): Remove.
(autoload-generate-file-autoloads): Adjust calls accordingly.
2013-07-22 19:21:14 -04:00
Ari Roponen
6874724a3d lisp/emacs-lisp/package.el (package-menu-mode): Fix bug#14930.
Don't modify the global value of tabulated-list-revert-hook.
2013-07-22 13:39:32 +02:00
Andreas Schwab
20549e2343 Remove lisp/emacs-lisp/.gitignore 2013-07-12 11:33:10 +02:00
Andreas Schwab
051f277502 * emacs-lisp/map-ynp.el (map-y-or-n-p): Fix last change. 2013-07-12 11:33:09 +02:00
Juanma Barranquero
1048af7c8f lisp/emacs-lisp/cl-macs.el: Fix typos in docstrings. 2013-07-12 03:11:22 +02:00
Glenn Morris
4582a01c70 Remove some reimplementations of cl-gensym
* lisp/thumbs.el: Require cl-lib at run-time too.
(thumbs-gensym-counter, thumbs-gensym):
Remove reimplementation of cl-gensym.
(thumbs-temp-file): Use cl-gensym.

* lisp/emacs-lisp/edebug.el: Require cl-lib at run-time too.
(edebug-gensym-index, edebug-gensym):
Remove reimplementation of cl-gensym.
(edebug-make-enter-wrapper, edebug-make-form-wrapper): Use cl-gensym.
2013-07-11 13:16:19 -04:00