Commit graph

3814 commits

Author SHA1 Message Date
Glenn Morris
c5ad92de10 * emacs-lisp/trace.el (trace-function, trace-function-background): Doc fix. 2013-01-08 19:59:10 -08:00
Stefan Monnier
4bdc352611 * lisp/emacs-lisp/pcase.el (pcase--split-equal): Also take advantage if
the predicate returns nil.
2013-01-08 17:26:21 -05:00
Stefan Monnier
a731fc1bb0 * lisp/emacs-lisp/nadvice.el (advice--tweak): New function.
(advice--remove-function, advice--subst-main): Use it.
* lisp/emacs-lisp/advice.el: Update commentary.
2013-01-08 10:24:56 -05:00
Stefan Monnier
4986fa2175 * lisp/emacs-lisp/advice.el (ad-activate-advised-definition): Refresh the
advice list when the interactive-spec of ad-Advice-* changes.
2013-01-07 13:03:01 -05:00
Glenn Morris
0a8bf3afca Merge from emacs-24; up to 2012-12-06T07:33:20Z!rgm@gnu.org 2013-01-02 18:37:57 -08:00
Glenn Morris
ad235a8b88 defun fix for cl declarations + interactive forms
* lisp/emacs-lisp/byte-run.el (defun):
Place cl declarations after any interactive spec.

Fixes: debbugs:13265
2013-01-02 16:43:46 -08:00
Paul Eggert
09b8afb6c8 Update copyright dates to 2013. 2013-01-02 08:30:50 -08:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Glenn Morris
d8fb8cce84 Auto-commit of loaddefs files. 2013-01-01 07:22:35 -05:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Andreas Schwab
5cebef2d18 * emacs-lisp/byte-run.el (defmacro): Use same argument parsing as
defun.  Don't check for DECL if DOCSTRING isn't a string.
(defun): Likewise.
2012-12-31 22:53:33 +01:00
Andreas Schwab
bdcad781aa Fixes: debbugs:13316
* emacs-lisp/byte-run.el (defmacro): Don't lose final nil if
neither DOCSTRING nor DECL was given.
2012-12-31 20:15:32 +01:00
Glenn Morris
d5e5e7b411 Merge from emacs-24; up to 2012-12-05T00:13:56Z!yamaoka@jpl.org 2012-12-30 10:09:01 -08:00
Chong Yidong
3c94d7a636 * emacs-lisp/package.el (package-untar-buffer): Improve integrity check for tarball contents. 2012-12-29 19:06:10 +08:00
Matt Fidler
af39894ab4 * emacs-lisp/package.el (package-untar-buffer): Handle problematic tarfile content listings.
Fixes: debbugs:13136
2012-12-29 18:26:14 +08:00
Jonas Bernoulli
ee3c0aeca4 * lisp/emacs-lisp/lisp-mnt.el (lm-section-end): Always end before the
following non-comment text.
(lm-header-multiline): Continuation lines need to be indented more than
the first line.
(lm-homepage): New function.
(lm-with-file): Don't be confused if narrowing is in effect.
* doc/lispref/tips.texi (Library Headers): New header keyword `Homepage'.
Make continuation lines syntax more precise.

Fixes: debbugs:13207
2012-12-19 14:51:40 -05:00
Glenn Morris
a5f7444219 macroexp--warn-and-return message tweak (bug#13132)
* lisp/emacs-lisp/macroexp.el (macroexp--warn-and-return):
Try to include filename in non-bytecomp warning.
2012-12-14 16:27:39 -05:00
Juanma Barranquero
ce0440ff96 lisp/emacs-lisp/edebug.el: Fix previous change.
(edebug-unload-function): Make sure that unload-feature finishes even when
aborting an ongoing edebug session.  Also, do not worry about edebug-mode,
unload-feature takes care of it.
2012-12-13 19:15:42 +01:00
Juanma Barranquero
5f3a3bb1f5 lisp/emacs-lisp/edebug.el: Fix bug#13163.
(edebug--require-cl-read): New function.
(edebug-setup-hook, cl-read-load-hooks): Use it.
(edebug-unload-function): New function.
2012-12-13 10:45:54 +01:00
Stefan Monnier
eb8006c61f * lisp/emacs-lisp/cl.el (letf): Make it an alias of cl-letf.
(cl--symbol-function): Remove (now that funbound is like nil).
2012-12-12 20:46:47 -05:00
Jonas Bernoulli
69e1c203e9 * lisp/emacs-lisp/eieio.el: Prettier object pretty-printing.
(eieio-override-prin1): Don't quote kewords and booleans.
(object-write) <eieio-default-superclass>: Don't put closing parens
on new line, avoid needless empty lines, align values that are objects
with the slot keyword (instead of beginning on the same line).
(eieio-list-prin1): Align value with slot keyword; increase
eieio-print-depth before printing members of the list.

Fixes: debbugs:13115
2012-12-11 21:16:05 -05:00
Glenn Morris
265c2fbf11 Merge from emacs-24; up to 2012-11-26T19:56:14Z!monnier@iro.umontreal.ca 2012-12-09 18:00:42 -08:00
Stefan Monnier
bad162fd1b * lisp/emacs-lisp/cl-lib.el (cl-declaim): Paren typo. 2012-12-09 20:32:36 -05:00
Glenn Morris
c6c08d3f8f Make eval-defun on a pre-defined defcustom call any :set function
* lisp/emacs-lisp/lisp-mode.el (eval-defun-1): Doc fix.
Respect a defcustom's :set function, if appropriate. 
(eval-defun): Doc fix.

* doc/lispref/customize.texi (Variable Definitions): Mention eval-defun
on a defcustom calls the :set function when appropriate.

* etc/NEWS: Mention this.

Fixes: debbugs:109
2012-12-08 17:04:43 -08:00
Michael Heerdegen
610251116c * lisp/emacs-lisp/debug.el (debug): Fix hard-coded frame counts.
Virtually backported from trunk.

Fixes: debbugs:10025
2012-12-06 23:31:24 -05:00
Stefan Monnier
4611a3cce7 * lisp/emacs-lisp/cl-macs.el (cl-tagbody): New macro. 2012-12-06 22:56:57 -05:00
Stefan Monnier
338bfefacb Further cleanup of the "cl-" namespace. Fit CL in 80 columns.
* lisp/emacs-lisp/cl-macs.el (cl--pop2, cl--optimize-safety)
(cl--optimize-speed, cl--not-toplevel, cl--parse-loop-clause)
(cl--expand-do-loop, cl--proclaim-history, cl--declare-stack)
(cl--do-proclaim, cl--proclaims-deferred): Rename from the "cl-" prefix.
(cl-progv): Don't rely on dynamic scoping to find the body.
* lisp/emacs-lisp/cl-lib.el (cl--optimize-speed, cl--optimize-safety)
(cl--proclaims-deferred): Rename from the "cl-" prefix.
(cl-declaim): Use backquotes.
* lisp/emacs-lisp/cl-extra.el (cl-make-random-state, cl-random-state-p):
Use "cl--" prefix for the object's tag.
2012-12-06 16:29:29 -05:00
Stefan Monnier
82e1f390ab * lisp/emacs-lisp/cl.el, lisp/emacs-lisp/cl-lib.el: Move cl-unload-function and
cl-load-hook where they belong.
2012-12-06 16:08:50 -05:00
Chong Yidong
9dffb5b693 Fix last change.
* emacs-lisp/lisp-mode.el (lisp-current-defun-name):
* progmodes/m4-mode.el (m4-current-defun-name):
* progmodes/perl-mode.el (perl-current-defun-name):
* textmodes/tex-mode.el (tex-current-defun-name):
* textmodes/texinfo.el (texinfo-current-defun-name): Use save-excursion.
2012-12-01 13:09:12 +08:00
Chong Yidong
ba03d0d932 Modularize add-log-current-defun.
Suggested by Jari Aalto.

* lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): New.
(lisp-mode-variables): Use it.

* lisp/progmodes/cc-mode.el (c-common-init):
* lisp/progmodes/cperl-mode.el (cperl-mode): Set a value for
add-log-current-defun-function.

* lisp/progmodes/m4-mode.el (m4-current-defun-name): New function.
(m4-mode): Use it.

* lisp/progmodes/perl-mode.el (perl-current-defun-name): New.
(perl-mode): Use it.

* lisp/progmodes/scheme.el (scheme-mode-variables, dsssl-mode): Use
lisp-current-defun-name.

* lisp/textmodes/tex-mode.el (tex-current-defun-name): New.
(tex-common-initialization): Use it.

* lisp/textmodes/texinfo.el (texinfo-current-defun-name): New.
(texinfo-mode): Use it.

* lisp/vc/add-log.el (add-log-current-defun-function): Doc fix.
(add-log-current-defun): Move mode-specific code to other files.
(add-log-lisp-like-modes, add-log-c-like-modes)
(add-log-tex-like-modes): Variables deleted.

Fixes: debbugs:2224
2012-12-01 12:57:07 +08:00
Chong Yidong
92eadba57f Convert several major modes to setq-local.
* emacs-lisp/lisp-mode.el (lisp-mode-variables, lisp-mode):
* progmodes/autoconf.el (autoconf-mode):
* progmodes/js.el (js-mode):
* progmodes/make-mode.el (makefile-mode, makefile-makepp-mode)
(makefile-bsdmake-mode, makefile-imake-mode, makefile-browse):
* progmodes/perl-mode.el (perl-mode):
* progmodes/sh-script.el (sh-mode, sh-set-shell):
* textmodes/css-mode.el (css-mode):
* textmodes/sgml-mode.el (html-mode, sgml-mode)
(sgml-tags-invisible, sgml-guess-indent):
* textmodes/tex-mode.el (tex-common-initialization)
(latex-complete-bibtex-keys, tex-shell, tex-main-file)
(doctex-mode, plain-tex-mode, latex-mode):
* textmodes/texinfo.el (texinfo-mode): Use setq-local.
2012-12-01 12:09:55 +08:00
Glenn Morris
48d6d9c019 derived-mode-make-docstring tweak for bug#11277
* lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
Don't mention "abbrev" or "syntax" if nil.
2012-11-27 11:40:04 -05:00
Glenn Morris
026822f966 Auto-commit of loaddefs files. 2012-11-27 06:18:12 -05:00
Glenn Morris
5c9cf0a3f9 Merge from emacs-24; up to 2012-11-20T20:06:17Z!monnier@iro.umontreal.ca 2012-11-26 19:10:32 -08:00
Stefan Monnier
848a2dd19d * lisp/emacs-lisp/advice.el (ad-should-compile): Don't compile advice if the
base function is not yet defined.
(ad-activate-advised-definition): Use ad-compile-function.
(ad-activate): Use cond.

Fixes: debbugs:12965
2012-11-26 14:56:14 -05:00
Glenn Morris
0d35edba15 Auto-commit of loaddefs files. 2012-11-25 07:23:32 -05:00
Chong Yidong
1c4f115d4c Revamp face-spec-set to be more analogous to setq for faces.
* lisp/faces.el (face-spec-set): Change the third arg to specify
whether this function is being called via defface, customize, or a
third party.  Set the appropriate symbol properties.  Clear the
override spec if setting via Custom.  Initialize face if necessary.
(face-spec-recalc): Allow theme faces to completely replace the
defface spec, in the same way as custom faces (Bug#8454).

* lisp/cus-edit.el (custom-face-set, custom-face-mark-to-save)
(custom-face-reset-saved, custom-face-mark-to-reset-standard):
Simplify by using the new arg to face-spec-set.

* lisp/cus-face.el (custom-declare-face): Move face initialization to
face-spec-set.
(custom-theme-set-faces): Don't initialize the face name here, as
that is now done in face-spec-set.

* lisp/emacs-lisp/lisp-mode.el (eval-defun-1): When evaluating defface,
reset face-override-spec too, and use custom-declare-face.

Fixes: debbugs:4988
2012-11-25 12:50:20 +08:00
Stefan Monnier
35a1051652 * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Add back `declare' in
the constructs to keep outside of the `cl-block'.

Fixes: debbugs:12977
2012-11-24 16:34:28 -05:00
Glenn Morris
d125ca15f3 Merge from emacs-24; up to 2012-11-19T11:36:02Z!yamaoka@jpl.org 2012-11-23 17:57:09 -08:00
Stefan Monnier
002c019c34 * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Setup default value for
lexical-binding.

Fixes: debbugs:12938
2012-11-23 16:49:13 -05:00
Stefan Monnier
15c9d04ea4 * emacs-lisp/ert.el, emacs-lisp/ert-x.el: Use cl-lib and lexical-binding. 2012-11-22 22:26:09 -05:00
Glenn Morris
6ef2e5ef52 Merge from emacs-24; up to 2012-11-17T22:12:47Z!eggert@cs.ucla.edu 2012-11-20 20:47:55 -08:00
Stefan Monnier
8b62d7427e * lisp/emacs-lisp/trace.el: Rewrite, use nadvice and lexical-binding.
(trace-buffer): Don't purecopy.
(trace-entry-message, trace-exit-message): Add `context' arg.
(trace--timer): New var.
(trace-make-advice): Adjust for use in nadvice.
Add `context' argument.  Delay `display-buffer' via a timer.
(trace-function-internal): Use advice-add.
(trace--read-args): New function.
(trace-function-foreground, trace-function-background): Use it.
(trace-function): Rename to trace-function-foreground and redefine as
an alias to that new name.
(untrace-function, untrace-all): Adjust to the use of nadvice.
2012-11-20 14:30:37 -05:00
Stefan Monnier
5d0ccd9509 * lisp/emacs-lisp/bytecomp.el (byte-compile): Fix handling of closures. 2012-11-20 14:05:20 -05:00
Stefan Monnier
3837d988dd * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Fix last change. 2012-11-20 12:54:00 -05:00
Stefan Monnier
23ba2705e2 Make called-interactively-p work for edebug or advised code.
* lisp/subr.el (called-interactively-p-functions): New var.
(internal--called-interactively-p--get-frame): New macro.
(called-interactively-p, interactive-p): Rewrite in Lisp.
* lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun.
(called-interactively-p-functions): Use it.
* lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun.
(called-interactively-p-functions): Use it.
* lisp/allout.el (allout-called-interactively-p): Don't assume
called-interactively-p is a subr.
* src/eval.c (Finteractive_p, Fcalled_interactively_p, interactive_p): Remove.
(syms_of_eval): Remove corresponding defsubr.
* src/bytecode.c (exec_byte_code): `interactive-p' is now a Lisp function.
* test/automated/advice-tests.el (advice-tests--data): Remove.
(advice-tests): Move the tests directly here instead.
Add called-interactively-p tests.
2012-11-19 23:24:09 -05:00
Stefan Monnier
141462223d * lisp/emacs-lisp/byte-run.el (defun-declarations-alist):
Allow compiler-macros to be lambda expressions.
* lisp/progmodes/python.el: Use cl-lib.  Move var declarations outside of
eval-when-compile.
(python-syntax-context): Add compiler-macro.
(python-font-lock-keywords): Simplify with De Morgan.
2012-11-19 16:30:55 -05:00
Stefan Monnier
63f251724c * lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Don't accept
non-symbols for compiler macros (yet).
2012-11-19 15:57:36 -05:00
Stefan Monnier
bc715d67b3 * lisp/emacs-lisp/ert.el (ert--expand-should-1): Adapt to cl-lib. 2012-11-19 12:02:20 -05:00
Glenn Morris
2ac9538d67 Merge from emacs-24; up to 2012-11-15T23:31:37Z!dancol@dancol.org 2012-11-17 17:52:36 -08:00