Commit graph

80 commits

Author SHA1 Message Date
Glenn Morris
01db225d1c Auto-commit of loaddefs files. 2011-10-27 06:22:00 -04:00
Eli Zaretskii
c11821d4e1 Fix bug #9324 with unwarranted repositioning of point.
src/xdisp.c (redisplay_window): Don't force window start if point
 will be invisible in the resulting window.
2011-08-26 13:07:06 +03:00
Stefan Monnier
673e08bbd4 * lisp/emacs-lisp/cl-macs.el (cl--make-usage-var, cl--make-usage-args):
New functions.
(cl-transform-lambda): Use them.

Fixes: debbugs:9239
2011-08-05 12:31:21 -04:00
Glenn Morris
568352e761 Auto-commit of loaddefs files. 2011-08-03 06:20:59 -04:00
Glenn Morris
60d847b46d Auto-commit of loaddefs files. 2011-07-17 06:26:13 -04:00
Lars Magne Ingebrigtsen
7b41decb8e Add a variable to customize the gnutls priority 2011-07-15 19:21:57 +02:00
Lars Magne Ingebrigtsen
1b5eaeb36c Minor grammer fixes for syntax.el.
Fixes: debbugs:8690
2011-07-15 15:55:00 +02:00
Glenn Morris
910fcf6e00 Auto-commit of loaddefs files. 2011-06-02 06:21:27 -04:00
Stefan Monnier
7200d79c65 Miscellanous cleanups in preparation for the merge.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Remove debug statement.
* lisp/emacs-lisp/bytecomp.el (byte-compile-single-version)
(byte-compile-version-cond, byte-compile-delay-out)
(byte-compile-delayed-out): Remove, unused.
* src/bytecode.c (Fbyte_code): Revert to old calling convention.
* src/lisp.h (COMPILED_PUSH_ARGS): Remove, unused.
2011-04-01 11:16:50 -04:00
Stefan Monnier
cafdcef32d Merge from trunk 2011-03-21 12:42:16 -04:00
Stefan Monnier
ca1055060d Remove bytecomp- prefix, plus misc changes.
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Make it work to
inline lexbind interpreted functions into lexbind code.
(bytedecomp-bytes): Not a dynamic var any more.
(disassemble-offset): Get the bytes via an argument instead.
(byte-decompile-bytecode-1): Use push.
* lisp/emacs-lisp/bytecomp.el: Remove the bytecomp- prefix now that we use
lexical-binding.
(byte-compile-outbuffer): Rename from bytecomp-outbuffer.
* lisp/emacs-lisp/cl-macs.el (load-time-value):
* lisp/emacs-lisp/cl.el (cl-compiling-file): Adjust to new name.
* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Add byte-code-function-p.
(pcase--u1): Remove left-over code from early development.
Fix case of variable shadowing in guards and predicates.
(pcase--u1): Add a new `let' pattern.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/lisp.h: Declare Ffunctionp.
2011-03-16 16:08:39 -04:00
Stefan Monnier
ba83908c4b Misc fixes, and use lexical-binding in more files.
* lisp/subr.el (letrec): New macro.
(with-wrapper-hook): Move from lisp/simple.el and don't use CL.
* simple.el (with-wrapper-hook): Move with-wrapper-hook to subr.el.
* lisp/help-fns.el (help-function-arglist): Handle subroutines as well.
(describe-variable): Use special-variable-p to filter completions.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Don't expand `declare'
in defmacros.
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
Handle `declare'.
* lisp/emacs-lisp/cl.el (pushnew): Silence unfixable warning.
* lisp/emacs-lisp/cl-macs.el (defstruct, define-compiler-macro):
Mark unused arg as unused.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Use memq.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't assume the macro's
first sexp is a list.
(autoload-generate-file-autoloads): Improve error message.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist
to understand the new byte-code arg format.
* lisp/vc/smerge-mode.el:
* lisp/vc/log-view.el:
* lisp/vc/log-edit.el:
* lisp/vc/cvs-status.el:
* lisp/uniquify.el:
* lisp/textmodes/css-mode.el:
* lisp/textmodes/bibtex-style.el:
* lisp/reveal.el:
* lisp/newcomment.el:
* lisp/emacs-lisp/smie.el:
* lisp/abbrev.el: Use lexical-binding.
* src/eval.c (Fprog1, Fprog2): Simplify and use XCDR/XCAR.
(Fdefvar): Remove redundant SYMBOLP check.
(Ffunctionp): Don't signal an error for undefined aliases.
* doc/lispref/variables.texi (Converting to Lexical Binding): New node.
2011-03-11 15:04:22 -05:00
Stefan Monnier
0d6459dfb5 Merge from trunk 2011-03-06 16:22:16 -05:00
Juanma Barranquero
f6132e5a3c lisp/emacs-lisp/cl-macs.el (lexical-let*): Fix argument name in docstring. 2011-03-01 04:59:31 +01:00
Stefan Monnier
876c194cba Get rid of funvec.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Handle new form of
`byte-constant'.
(byte-compile-close-variables, displaying-byte-compile-warnings):
Add edebug spec.
(byte-compile-toplevel-file-form): New fun, split out of
byte-compile-file-form.
(byte-compile-from-buffer): Use it to avoid applying cconv
multiple times.
(byte-compile): Only strip `function' if it's present.
(byte-compile-lambda): Add `reserved-csts' argument.
Use new lexenv arg of byte-compile-top-level.
(byte-compile-reserved-constants): New var.
(byte-compile-constants-vector): Obey it.
(byte-compile-constants-vector): Handle new `byte-constant' form.
(byte-compile-top-level): Add args `lexenv' and `reserved-csts'.
(byte-compile-form): Don't check callargs here.
(byte-compile-normal-call): Do it here instead.
(byte-compile-push-unknown-constant)
(byte-compile-resolve-unknown-constant): Remove, unused.
(byte-compile-make-closure): Use `make-byte-code' rather than `curry',
putting the environment into the "constant" pool.
(byte-compile-get-closed-var): Use special byte-constant.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Handle new
intermediate special form `internal-make-vector'.
(byte-optimize-lapcode): Handle new form of `byte-constant'.
* lisp/help-fns.el (describe-function-1): Don't handle funvecs.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Only convert quote to
function if the content is a lambda expression, not if it's a closure.
* emacs-lisp/eieio-come.el: Remove.
* lisp/emacs-lisp/eieio.el: Don't require eieio-comp.
(defmethod): Do a bit more work to find the body and wrap it into
a function before passing it to eieio-defmethod.
(eieio-defmethod): New arg `code' for it.
* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Don't hide things in
debugger backtrace.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Use backquotes, and be
more careful when quoting a function value.
* lisp/emacs-lisp/cconv.el (cconv-freevars): Accept defvar/defconst.
(cconv-closure-convert-rec): Catch stray `internal-make-closure'.
* lisp/Makefile.in (COMPILE_FIRST): Compile pcase and cconv early.

* src/eval.c (Qcurry): Remove.
(funcall_funvec): Remove.
(funcall_lambda): Move new byte-code handling to reduce impact.
Treat all args as lexical in the case of lexbind.
(Fcurry): Remove.
* src/data.c (Qfunction_vector): Remove.
(Ffunvecp): Remove.
* src/lread.c (read1): Revert to calling make_byte_code here.
(read_vector): Don't call make_byte_code any more.
* src/lisp.h (enum pvec_type): Rename back to PVEC_COMPILED.
(XSETCOMPILED): Rename back from XSETFUNVEC.
(FUNVEC_SIZE): Remove.
(FUNVEC_COMPILED_TAG_P, FUNVEC_COMPILED_P): Remove.
(COMPILEDP): Rename back from FUNVECP.
* src/fns.c (Felt): Remove unexplained FUNVEC check.
* src/doc.c (Fdocumentation): Don't handle funvec.
* src/alloc.c (make_funvec, Ffunvec): Remove.
* doc/lispref/vol2.texi (Top):
* doc/lispref/vol1.texi (Top):
* doc/lispref/objects.texi (Programming Types, Funvec Type, Type Predicates):
* doc/lispref/functions.texi (Functions, What Is a Function, FunctionCurrying):
* doc/lispref/elisp.texi (Top): Remove mentions of funvec and curry.
2011-02-24 22:27:45 -05:00
Stefan Monnier
f619ad4ca2 Merge from trunk 2011-02-21 17:34:51 -05:00
Stefan Monnier
a647cb26b6 Missing files in last commit; remove stack-depth in byte-optimize-lapcode 2011-02-21 15:31:07 -05:00
Stefan Monnier
b38b1ec071 Various compiler bug-fixes. MPC seems to run correctly now.
* lisp/files.el (lexical-binding): Add a safe-local-variable property.

* lisp/emacs-lisp/byte-opt.el (byte-inline-lapcode): Check how many elements
are added to the stack.
(byte-compile-splice-in-already-compiled-code): Don't touch lexical nor
byte-compile-depth now that byte-inline-lapcode does it for us.
(byte-compile-inline-expand): Don't inline dynbind byte code into
lexbind code, since it has to be done differently.

* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
Correctly extract arglist from `closure's.
(byte-compile-cl-warn): Compiler-macros are run earlier now.
(byte-compile-top-level): Bind byte-compile-lexical-environment to nil,
except for lambdas.
(byte-compile-form): Don't run the compiler-macro expander here.
(byte-compile-let): Merge with byte-compile-let*.
Don't preserve-body-value if the body's value was discarded.

* lisp/emacs-lisp/cconv.el (cconv--set-diff, cconv--set-diff-map)
(cconv--map-diff, cconv--map-diff-elem, cconv--map-diff-set): New funs.
(cconv--env-var): New constant.
(cconv-closure-convert-rec): Use it and use them.  Fix a typo that
ended up forgetting to remove entries from lmenvs in `let'.
For `lambda' use the outer `fvrs' when building the closure and don't
forget to remove `vars' from the `emvrs' and `lmenvs' of the body.

* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block): Disable optimization
in lexbind, because it needs a different implementation.

* src/bytecode.c (exec_byte_code): Fix handling of &rest.

* src/eval.c (Vinternal_interpreter_environment): Remove.
(syms_of_eval): Do declare Vinternal_interpreter_environment as
a global lisp var, but unintern it to hide it.
(Fcommandp):
* src/data.c (Finteractive_form): Understand `closure's.
2011-02-17 16:19:13 -05:00
Chong Yidong
e730aabed5 Merge changes from emacs-23 branch 2011-02-12 19:16:28 -05:00
Chong Yidong
84eb0351d8 Merge changes from emacs-23 branch 2011-02-12 18:40:43 -05:00
Andreas Schwab
43e9202446 Update cl-loaddefs.el again 2011-02-10 19:26:43 +01:00
Andreas Schwab
16b737dc09 Update cl-loaddefs.el and ibuffer.el 2011-02-10 12:07:15 +01:00
Kenichi Handa
50c822bd67 update for autoloads 2011-02-08 15:54:37 +09:00
Chong Yidong
2e804fc7e7 Update autoloads. 2011-01-28 11:58:04 -05:00
Andreas Schwab
44ec06d43e Update md5 checksums 2011-01-18 20:08:00 +01:00
Paul Eggert
61f74651c4 Merge from mainline. 2011-01-17 11:47:38 -08:00
Paul Eggert
a3e44e7937 Merge from mainline. 2011-01-17 11:01:01 -08:00
Stefan Monnier
f80aa5bfa9 Update md5 checksums 2011-01-14 13:06:07 -05:00
Lennart Borgman
320912fb3d Fix permanancy of BUFFER-LIST arg to list-buffers-noselect (Bug#7749).
* buff-menu.el (Buffer-menu-buffer-list): New var.
(Buffer-menu-revert-function, list-buffers-noselect): Use it, so a
restricted buffer list is not lost on revert (Bug#7749).
2011-01-08 17:15:51 -05:00
Andreas Schwab
665ca1eef6 Update cl-loaddefs.el 2010-12-03 11:07:24 +01:00
Stefan Monnier
d607b96bc2 Merge from emacs-23 2010-11-09 15:07:10 -05:00
Jan Djärv
80417b95f4 * src/nsfont.m: Include termchar for new mouse-highlight. 2010-11-06 10:33:22 +01:00
Andreas Schwab
7ec926206c Update cl-loaddefs.el 2010-09-04 21:44:39 +02:00
Chong Yidong
187d3296ae Fix several Package Menu and Finder bugs.
* finder.el: Load finder-inf using `require'.
(finder-list-matches): Sorting by status is now the default.
(finder-compile-keywords): Simpify printing.

* emacs-lisp/package.el (package--read-archive-file): Just use
`read', to avoid copying an additional string.
(package-menu-mode): Set header-line-format here.
(package-menu-refresh, package-menu-revert): Signal an error if
not in the Package Menu.
(package-menu-package-list): New var.
(package--generate-package-list): Operate on the current buffer;
don't assume that it is *Packages*, since the user may rename it.
Allow persistent package listings and sort keys using
package-menu-package-list and package-menu-package-sort-key.
(package-menu--version-predicate): Fix version calculation.
(package-menu-sort-by-column): Don't select the window.
(package--list-packages): Create the *Packages* buffer.  Set
package-menu-package-list-key.
(list-packages): Sorting by status is now the default.
(package-buffer-info): Use match-string-no-properties.
(define-package): Add a &rest argument for future proofing, but
don't use it yet.
(package-install-from-buffer, package-install-buffer-internal):
Merged into a single function, package-install-from-buffer.
(package-install-file): Caller changed.

Also, fix headers for hfy-cmap.el and ps-print.el.
2010-08-30 21:53:46 -04:00
Chong Yidong
bd78fa1d54 Add "Package:" file headers to denote built-in packages. 2010-08-29 12:17:13 -04:00
Andreas Schwab
15b72850c1 Update cl-loaddefs.el 2010-06-26 20:49:18 +02:00
Stefan Monnier
49b2e83db4 * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Don't handle `lambda'
specially, since it's a macro.  Fix up wrong hint passed to maybe-cons.
2010-06-16 17:11:06 -04:00
Stefan Monnier
d355a0b791 Replace Lisp calls to delete-backward-char by delete-char.
* bs.el, expand.el, ido.el, image-dired.el, lpr.el, pcomplete.el,
skeleton.el, term.el, time.el, wid-edit.el, woman.el,
calc/calc-graph.el, calc/calc-help.el, calc/calc-incom.el,
calc/calc.el, emacs-cl-extra.el, emacs-cl-loaddefs.el,
emulation/cua-rect.el, emulation/viper-ex.el, eshell/esh-test.el,
eshell/eshell.el, gnus/gnus-uu.el, gnus/nndoc.el, gnus/nnrss.el,
gnus/rfc2047.el, gnus/utf7.el, international/utf-7.el,
language/ethio-util.el, mh-e/mh-alias.el, mh-e/mh-search.el,
net/imap.el, net/rcirc.el, obsolete/complete.el, play/decipher.el,
progmodes/ada-mode.el, progmodes/cc-awk.el, progmodes/dcl-mode.el,
progmodes/ps-mode.el, progmodes/verilog-mode.el,
progmodes/vhdl-mode.el, textmodes/bibtex.el, textmodes/fill.el,
textmodes/reftex-auc.el, textmodes/rst.el, textmodes/sgml-mode.el,
textmodes/table.el, textmodes/texinfmt.el: Replace Lisp calls to
delete-backward-char by calls to delete-char.
2010-05-24 22:11:08 -04:00
Juanma Barranquero
49a817b3b3 * emacs-lisp/cl-loaddefs.el: Update autoload checksum. 2010-05-20 03:32:08 +02:00
Stefan Monnier
80ac5d4d34 Use define-minor-mode in more cases.
* term/tvi970.el (tvi970-set-keypad-mode):
* simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode)
(normal-erase-is-backspace-mode):
* scroll-bar.el (scroll-bar-mode): Use it and define-minor-mode.
(set-scroll-bar-mode-1): (Re)move to its sole caller.
(get-scroll-bar-mode): New function.
* emacs-lisp/cl-macs.el (eq): Handle a non-variable first arg.
2010-05-04 23:45:21 -04:00
Stefan Monnier
e97a42c15b Make the log-edit comments use RFC822 format throughout.
* vc.el (vc-checkin, vc-modify-change-comment):
Adjust to new vc-start/finish-logentry.
(vc-find-conflicted-file): New command.
(vc-transfer-file): Adjust to new vc-checkin.
(vc-next-action): Improve scoping.

* vc-hg.el (vc-hg-log-edit-mode): Remove.
(vc-hg-checkin): Remove extra arg.  Use log-edit-extract-headers.

* vc-git.el (vc-git-log-edit-mode): Remove.
(vc-git-checkin): Remove extra arg.  Use log-edit-extract-headers.
(vc-git-commits-coding-system): Rename from git-commits-coding-system.

* vc-dispatcher.el (vc-log-edit): Shorten names for log-edit-show-files.
(vc-start-logentry): Remove argument `extra'.
(vc-finish-logentry): Remove extra args.

* vc-bzr.el (vc-bzr-log-edit-mode): Remove.
(vc-bzr-checkin): Remove extra arg.  Use log-edit-extract-headers.
(vc-bzr-conflicted-files): New function.

* log-edit.el (log-edit-extra-flags)
(log-edit-before-checkin-process): Remove.
(log-edit-summary, log-edit-header, log-edit-unknown-header): New faces.
(log-edit-headers-alist): New var.
(log-edit-header-contents-regexp): New const.
(log-edit-match-to-eoh): New function.
(log-edit-font-lock-keywords): Use them.
(log-edit): Insert a "Summary:" header as default.
(log-edit-mode): Mark font-lock rules as case-insensitive.
(log-edit-done): Cleanup headers.
(log-view-process-buffer): Remove.
(log-edit-extract-headers): New function to replace it.
2010-04-20 22:05:24 -04:00
Eric S. Raymond
004f9b3f1b Get rid of several uses of the term 'master' in favor of equivalent verbiage
using "repository".  No code changes.
2010-04-09 13:19:53 -04:00
Glenn Morris
eb123b1295 Close bug#4427.
* emacs-lisp/cl-macs.el (defsubst*): Add autoload cookie.  (Bug#4427)
* emacs-lisp/cl-loaddefs.el: Regenerate.
2010-03-11 19:19:17 -08:00
Chong Yidong
c7dc1ac114 * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267). 2010-01-16 15:04:29 -05:00
Juanma Barranquero
d77b5977da Update autoload checksums. 2010-01-13 13:34:53 +01:00
Glenn Morris
7d8ba25431 Regenerate autoloads. 2009-11-16 02:08:12 +00:00
Chong Yidong
c93d41ba11 lisp/emacs-lisp/cl-loaddefs.el: Regenerate. 2009-09-28 00:22:09 +00:00
Juanma Barranquero
b4587710d3 * emacs-lisp/cl-macs.el (help-add-fundoc-usage): Declare. 2009-09-11 22:59:36 +00:00
Juanma Barranquero
7e0aa125bc Update. 2009-09-11 12:05:45 +00:00
Juanma Barranquero
3b814ebcdb Update. 2009-09-07 15:25:38 +00:00