2011-04-06 21:13:17 +00:00
|
|
|
2011-04-06 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
2011-04-06 21:55:08 +00:00
|
|
|
* emacs-lisp/cconv.el (cconv--analyse-use): Ignore "ignored" when
|
|
|
|
issuing unused warnings.
|
|
|
|
|
|
|
|
* emacs-lisp/tabulated-list.el (tabulated-list-print): Use lambda
|
|
|
|
macro directly.
|
|
|
|
|
2011-04-06 21:13:17 +00:00
|
|
|
* simple.el: Lisp reimplement of list-processes. Based on an
|
|
|
|
earlier reimplementation by Leo Liu, but using tabulated-list.el.
|
|
|
|
(process-menu-mode): New major mode.
|
|
|
|
(list-processes--refresh, list-processes):
|
|
|
|
(process-menu-visit-buffer): New functions.
|
|
|
|
|
|
|
|
* files.el (save-buffers-kill-emacs): Don't assume any return
|
|
|
|
value of list-processes, which is undocumented anyway.
|
|
|
|
|
2011-04-06 20:10:51 +00:00
|
|
|
2011-04-06 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* emacs-lisp/tabulated-list.el: New file.
|
|
|
|
|
2011-04-06 20:33:30 +00:00
|
|
|
* emacs-lisp/package.el: Use Tabulated List mode.
|
|
|
|
(package-menu-mode-map): Inherit from tabulated-list-mode-map.
|
|
|
|
(package-menu-mode): Derive from tabulated-list-mode. Set up the
|
|
|
|
table format using Tabulated List mode variables.
|
|
|
|
(package--push): New macro, replacing package-list-maybe-add.
|
|
|
|
(package-menu--generate): Use package--push. Renamed from
|
|
|
|
package--generate-package-list.
|
|
|
|
(package-menu-refresh, list-packages): Use it.
|
|
|
|
(package-menu--print-info): Renamed from package-print-package.
|
|
|
|
Return insertion data instead of inserting it directly.
|
|
|
|
(package-menu-describe-package, package-menu-execute): Use
|
|
|
|
tabulated-list-get-id.
|
|
|
|
(package-menu-mark-delete, package-menu-mark-install)
|
|
|
|
(package-menu-mark-unmark, package-menu-backup-unmark)
|
|
|
|
(package-menu-mark-obsolete-for-deletion): Use
|
|
|
|
tabulated-list-put-tag.
|
|
|
|
(package--list-packages, package-menu-revert)
|
|
|
|
(package-menu-get-package, package-menu-get-version)
|
|
|
|
(package-menu-sort-by-column): Functions deleted.
|
|
|
|
(package-menu-package-list, package-menu-sort-key): Vars deleted.
|
|
|
|
(package-menu--status-predicate, package-menu--version-predicate)
|
|
|
|
(package-menu--name-predicate)
|
|
|
|
(package-menu--description-predicate): Handle arguments in the
|
|
|
|
Tabulated List format.
|
|
|
|
(package-list-packages-no-fetch): Call list-packages.
|
|
|
|
|
2011-04-06 19:38:46 +00:00
|
|
|
2011-04-06 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* files.el (after-find-file-from-revert-buffer): Remove variable.
|
|
|
|
(after-find-file): Dont' bind it.
|
|
|
|
(revert-buffer-in-progress-p): New variable.
|
|
|
|
(revert-buffer): Bind it.
|
|
|
|
Pass nil for `after-find-file-from-revert-buffer'.
|
|
|
|
|
|
|
|
* saveplace.el (save-place-find-file-hook): Use new variable
|
|
|
|
`rever-buffer-in-progress-p', not `after-find-file-from-revert-buffer'.
|
|
|
|
|
2011-04-06 02:05:45 +00:00
|
|
|
2011-04-06 Glenn Morris <rgm@gnu.org>
|
|
|
|
|
2011-04-06 02:13:16 +00:00
|
|
|
* Makefile.in (AUTOGEN_VCS): New variable.
|
|
|
|
(autoloads): Use $AUTOGEN_VCS.
|
|
|
|
|
2011-04-06 02:05:45 +00:00
|
|
|
* calendar/cal-move.el (calendar-scroll-toolkit-scroll): New function.
|
|
|
|
* calendar/calendar.el (calendar-mode-map):
|
|
|
|
Check for toolkit scroll bars. (Bug#8305)
|
|
|
|
|
2011-04-05 21:19:42 +00:00
|
|
|
2011-04-05 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* minibuffer.el (completion-in-region--postch)
|
|
|
|
(completion-in-region-mode): Remove unnecessary messages.
|
|
|
|
|
lisp/info.el: Fix typos; mark unused parameters.
* info.el (Info-directory-list, Info-read-node-name-2)
(Info-split-parameter-string): Doc fixes.
(Info-virtual-nodes): Reflow docstring.
(Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes)
(Info-apropos-toc-nodes, info-finder, Info-get-token)
(Info-find-emacs-command-nodes, Info-speedbar-key-map):
Fix typos in docstrings.
(Info-revert-buffer-function, Info-search, Info-isearch-pop-state)
(Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node)
(Info-speedbar-buttons, Info-desktop-buffer-misc-data)
(Info-restore-desktop-buffer): Mark unused parameters.
(Info-directory-find-file, Info-directory-find-node)
(Info-history-find-file, Info-history-find-node, Info-toc-find-node)
(Info-virtual-index-find-node, Info-apropos-find-file)
(Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node):
Mark unused parameters; fix typos in arguments.
(Info-virtual-index): Remove unused local variable `nodename'.
2011-04-05 15:08:28 +00:00
|
|
|
2011-04-05 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
2011-04-05 15:20:21 +00:00
|
|
|
* font-lock.el (font-lock-refresh-defaults):
|
|
|
|
Don't bind `hi-lock--inhibit-font-lock-hook', removed in
|
|
|
|
2010-10-09T04:09:19Z!cyd@stupidchicken.com and 2010-10-11T23:57:49Z!lekktu@gmail.com (2010-10-12).
|
|
|
|
|
lisp/info.el: Fix typos; mark unused parameters.
* info.el (Info-directory-list, Info-read-node-name-2)
(Info-split-parameter-string): Doc fixes.
(Info-virtual-nodes): Reflow docstring.
(Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes)
(Info-apropos-toc-nodes, info-finder, Info-get-token)
(Info-find-emacs-command-nodes, Info-speedbar-key-map):
Fix typos in docstrings.
(Info-revert-buffer-function, Info-search, Info-isearch-pop-state)
(Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node)
(Info-speedbar-buttons, Info-desktop-buffer-misc-data)
(Info-restore-desktop-buffer): Mark unused parameters.
(Info-directory-find-file, Info-directory-find-node)
(Info-history-find-file, Info-history-find-node, Info-toc-find-node)
(Info-virtual-index-find-node, Info-apropos-find-file)
(Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node):
Mark unused parameters; fix typos in arguments.
(Info-virtual-index): Remove unused local variable `nodename'.
2011-04-05 15:08:28 +00:00
|
|
|
* info.el (Info-directory-list, Info-read-node-name-2)
|
|
|
|
(Info-split-parameter-string): Doc fixes.
|
|
|
|
(Info-virtual-nodes): Reflow docstring.
|
|
|
|
(Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes)
|
|
|
|
(Info-apropos-toc-nodes, info-finder, Info-get-token)
|
|
|
|
(Info-find-emacs-command-nodes, Info-speedbar-key-map):
|
|
|
|
Fix typos in docstrings.
|
|
|
|
(Info-revert-buffer-function, Info-search, Info-isearch-pop-state)
|
|
|
|
(Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node)
|
|
|
|
(Info-speedbar-buttons, Info-desktop-buffer-misc-data)
|
|
|
|
(Info-restore-desktop-buffer): Mark unused parameters.
|
|
|
|
(Info-directory-find-file, Info-directory-find-node)
|
|
|
|
(Info-history-find-file, Info-history-find-node, Info-toc-find-node)
|
|
|
|
(Info-virtual-index-find-node, Info-apropos-find-file)
|
|
|
|
(Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node):
|
2011-04-05 15:20:21 +00:00
|
|
|
Mark unused parameters; fix typos in docstrings.
|
lisp/info.el: Fix typos; mark unused parameters.
* info.el (Info-directory-list, Info-read-node-name-2)
(Info-split-parameter-string): Doc fixes.
(Info-virtual-nodes): Reflow docstring.
(Info-find-file, Info-directory-toc-nodes, Info-history-toc-nodes)
(Info-apropos-toc-nodes, info-finder, Info-get-token)
(Info-find-emacs-command-nodes, Info-speedbar-key-map):
Fix typos in docstrings.
(Info-revert-buffer-function, Info-search, Info-isearch-pop-state)
(Info-speedbar-hierarchy-buttons, Info-speedbar-goto-node)
(Info-speedbar-buttons, Info-desktop-buffer-misc-data)
(Info-restore-desktop-buffer): Mark unused parameters.
(Info-directory-find-file, Info-directory-find-node)
(Info-history-find-file, Info-history-find-node, Info-toc-find-node)
(Info-virtual-index-find-node, Info-apropos-find-file)
(Info-apropos-find-node, Info-finder-find-file, Info-finder-find-node):
Mark unused parameters; fix typos in arguments.
(Info-virtual-index): Remove unused local variable `nodename'.
2011-04-05 15:08:28 +00:00
|
|
|
(Info-virtual-index): Remove unused local variable `nodename'.
|
|
|
|
|
2011-04-05 04:33:38 +00:00
|
|
|
2011-04-05 Deniz Dogan <deniz@dogan.se>
|
2011-04-05 04:31:24 +00:00
|
|
|
|
2011-04-05 04:33:38 +00:00
|
|
|
* net/rcirc.el: Update my e-mail address.
|
|
|
|
(rcirc-mode-map): Remove M-o binding.
|
2011-04-05 04:31:24 +00:00
|
|
|
|
2011-04-05 01:21:52 +00:00
|
|
|
2011-04-05 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* startup.el (command-line): Save the cursor's theme-face
|
|
|
|
directly, instead of using face-override-spec.
|
|
|
|
|
|
|
|
* custom.el (load-theme): Minor optimization in assigning faces.
|
|
|
|
|
2011-04-04 22:08:01 +00:00
|
|
|
2011-04-04 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* help-fns.el (describe-variable): Complete all variables having
|
|
|
|
documentation, including keywords.
|
|
|
|
http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00112.html
|
|
|
|
|
2011-04-04 09:35:16 +00:00
|
|
|
2011-04-04 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
Convert to lexical-binding.
|
|
|
|
|
|
|
|
* bs.el (bs-refresh, bs-sort-buffer-interns-are-last)
|
|
|
|
(bs--get-marked-string, bs--get-modified-string)
|
|
|
|
(bs--get-readonly-string, bs--get-size-string, bs--get-name)
|
|
|
|
(bs--get-mode-name, bs--get-file-name): Mark unused arguments.
|
|
|
|
(bs--configuration-name-for-prefix-arg): Rename argument PREFIX-ARG.
|
|
|
|
|
|
|
|
* ehelp.el (electric-help-execute-extended)
|
|
|
|
(electric-help-ctrl-x-prefix):
|
|
|
|
* hexl.el (hexl-revert-buffer-function):
|
|
|
|
* linum.el (linum-after-change, linum-after-scroll):
|
|
|
|
* emacs-lisp/re-builder.el (reb-auto-update): Mark unused arguments.
|
|
|
|
|
|
|
|
* help-fns.el (help-describe-category-set): Remove unused ERR variable.
|
|
|
|
|
2011-04-04 06:16:23 +00:00
|
|
|
2011-04-04 Daiki Ueno <ueno@unixuser.org>
|
|
|
|
|
|
|
|
* epa-dired.el:
|
|
|
|
* epa-mail.el:
|
|
|
|
* epa-hook.el:
|
|
|
|
* epa-file.el:
|
|
|
|
* epa.el:
|
|
|
|
* epg.el: Use lexical binding.
|
|
|
|
|
2011-04-03 20:59:45 +00:00
|
|
|
2011-04-03 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
2011-04-03 21:23:23 +00:00
|
|
|
* dired-aux.el (dired-create-files): Add docstring (Bug#7970).
|
|
|
|
|
2011-04-03 20:59:45 +00:00
|
|
|
* textmodes/flyspell.el (flyspell-word): Recognize default
|
|
|
|
dictionary case for flyspell-mark-duplications-exceptions. Use
|
|
|
|
regexp matching for languages.
|
|
|
|
(flyspell-mark-duplications-exceptions): Add "that" and "had" for
|
|
|
|
default dictionary (Bug#7926).
|
|
|
|
|
2011-04-02 23:41:03 +00:00
|
|
|
2011-04-02 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* emacs-lisp/package.el (package--with-work-buffer): Recognize
|
|
|
|
https URLs.
|
|
|
|
|
|
|
|
* net/network-stream.el: Move from gnus/proto-stream.el. Change
|
|
|
|
prefix to network-stream throughout.
|
|
|
|
(open-protocol-stream): Merge into open-network-stream, leaving
|
|
|
|
open-protocol-stream as an alias. Handle nil BUFFER args.
|
|
|
|
|
|
|
|
* subr.el (open-network-stream): Move to net/network-stream.el.
|
|
|
|
|
2011-04-02 18:12:21 +00:00
|
|
|
2011-04-02 Glenn Morris <rgm@gnu.org>
|
|
|
|
|
2011-04-02 20:36:47 +00:00
|
|
|
* find-dired.el (find-exec-terminator): New option.
|
|
|
|
(find-ls-option): Test for -ls support.
|
|
|
|
(find-ls-subdir-switches): Test for -b in find-ls-option.
|
|
|
|
(find-dired, find-grep-dired): Doc fixes.
|
|
|
|
(find-dired): Use find-exec-terminator.
|
|
|
|
|
2011-04-02 18:56:29 +00:00
|
|
|
* find-dired.el (find-ls-option, find-ls-subdir-switches)
|
2011-04-02 19:01:52 +00:00
|
|
|
(find-grep-options): Do not autoload these defcustoms, remove purecopy.
|
|
|
|
(find-name-arg): Remove purecopy.
|
2011-04-02 18:56:29 +00:00
|
|
|
|
2011-04-02 18:52:08 +00:00
|
|
|
* progmodes/grep.el (grep-find-use-xargs): Doc fix.
|
|
|
|
(grep-compute-defaults): Check for `-exec COMMAND +' support.
|
|
|
|
Set grep-find-use-xargs, grep-find-command, and grep-find-template
|
|
|
|
accordingly. Don't add the null-device if not needed.
|
|
|
|
|
2011-04-02 18:12:21 +00:00
|
|
|
* files.el (save-some-buffers): Doc fix.
|
|
|
|
|
2011-04-02 08:55:47 +00:00
|
|
|
2011-04-02 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
* makefile.w32-in (EMACS): Default to ../src/$(BLD)/emacs.exe.
|
|
|
|
|
2011-04-01 22:33:37 +00:00
|
|
|
2011-04-01 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* progmodes/idlwave.el (idlwave-one-key-select, idlwave-list-abbrevs):
|
|
|
|
Use `dolist' rather than `mapcar'.
|
|
|
|
|
2011-04-01 15:16:50 +00:00
|
|
|
2011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.
* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.
* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.
* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el:
* lisp/newcomment.el:
* lisp/reveal.el:
* lisp/server.el:
* lisp/mpc.el:
* lisp/emacs-lisp/smie.el:
* lisp/doc-view.el:
* lisp/dired.el:
* lisp/abbrev.el: Use lexical binding.
* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.
* lisp/files.el (lexical-binding): Declare safe.
* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.
* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.
* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix. Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions. Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
* lisp/emacs-lisp/cconv.el: New file.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
* lisp/emacs-lisp/cl.el (pushnew): Silence warning.
* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.
* lisp/emacs-lisp/eieio-comp.el: Remove.
* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.
* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.
* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.
* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize. Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.
* src/alloc.c (Fmake_symbol): Init new `declared_special' field.
* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.
* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions. Add new byte-codes.
* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.
* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.
* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval. Use it almost
everywhere where Feval was used. Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.
* src/fns.c (concat, mapcar1): Accept byte-code-functions.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.
* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.
* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.
* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 17:19:52 +00:00
|
|
|
Add lexical binding.
|
2011-04-01 15:16:50 +00:00
|
|
|
|
Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.
* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.
* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.
* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el:
* lisp/newcomment.el:
* lisp/reveal.el:
* lisp/server.el:
* lisp/mpc.el:
* lisp/emacs-lisp/smie.el:
* lisp/doc-view.el:
* lisp/dired.el:
* lisp/abbrev.el: Use lexical binding.
* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.
* lisp/files.el (lexical-binding): Declare safe.
* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.
* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.
* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix. Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions. Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
* lisp/emacs-lisp/cconv.el: New file.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
* lisp/emacs-lisp/cl.el (pushnew): Silence warning.
* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.
* lisp/emacs-lisp/eieio-comp.el: Remove.
* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.
* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.
* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.
* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize. Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.
* src/alloc.c (Fmake_symbol): Init new `declared_special' field.
* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.
* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions. Add new byte-codes.
* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.
* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.
* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval. Use it almost
everywhere where Feval was used. Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.
* src/fns.c (concat, mapcar1): Accept byte-code-functions.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.
* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.
* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.
* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 17:19:52 +00:00
|
|
|
* subr.el (apply-partially): Use new closures rather than CL.
|
|
|
|
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
|
|
|
|
(dolist, dotimes): Use slightly different expansion for lexical code.
|
|
|
|
(functionp): Move to C.
|
|
|
|
(letrec): New macro.
|
|
|
|
(with-wrapper-hook): Use it and apply-partially instead of CL.
|
|
|
|
(eval-after-load): Preserve lexical-binding.
|
|
|
|
(save-window-excursion, with-output-to-temp-buffer): Turn them
|
|
|
|
into macros.
|
2011-04-01 15:16:50 +00:00
|
|
|
|
Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.
* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.
* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.
* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el:
* lisp/newcomment.el:
* lisp/reveal.el:
* lisp/server.el:
* lisp/mpc.el:
* lisp/emacs-lisp/smie.el:
* lisp/doc-view.el:
* lisp/dired.el:
* lisp/abbrev.el: Use lexical binding.
* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.
* lisp/files.el (lexical-binding): Declare safe.
* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.
* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.
* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix. Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions. Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
* lisp/emacs-lisp/cconv.el: New file.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
* lisp/emacs-lisp/cl.el (pushnew): Silence warning.
* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.
* lisp/emacs-lisp/eieio-comp.el: Remove.
* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.
* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.
* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.
* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize. Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.
* src/alloc.c (Fmake_symbol): Init new `declared_special' field.
* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.
* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions. Add new byte-codes.
* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.
* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.
* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval. Use it almost
everywhere where Feval was used. Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.
* src/fns.c (concat, mapcar1): Accept byte-code-functions.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.
* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.
* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.
* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 17:19:52 +00:00
|
|
|
* simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
|
|
|
|
|
|
|
|
* help-fns.el (help-split-fundoc): Return nil if there's nothing else
|
|
|
|
than the arglist.
|
|
|
|
(help-add-fundoc-usage): Don't add `Not documented'.
|
|
|
|
(help-function-arglist): Handle closures, subroutines, and new
|
|
|
|
byte-code-functions.
|
|
|
|
(help-make-usage): Remove leading underscores.
|
|
|
|
(describe-function-1): Handle closures.
|
|
|
|
(describe-variable): Use special-variable-p for completion.
|
|
|
|
|
|
|
|
* files.el (lexical-binding): Declare safe.
|
2011-03-30 18:40:00 +00:00
|
|
|
|
Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.
* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.
* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.
* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el:
* lisp/newcomment.el:
* lisp/reveal.el:
* lisp/server.el:
* lisp/mpc.el:
* lisp/emacs-lisp/smie.el:
* lisp/doc-view.el:
* lisp/dired.el:
* lisp/abbrev.el: Use lexical binding.
* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.
* lisp/files.el (lexical-binding): Declare safe.
* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.
* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.
* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix. Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions. Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
* lisp/emacs-lisp/cconv.el: New file.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
* lisp/emacs-lisp/cl.el (pushnew): Silence warning.
* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.
* lisp/emacs-lisp/eieio-comp.el: Remove.
* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.
* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.
* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.
* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize. Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.
* src/alloc.c (Fmake_symbol): Init new `declared_special' field.
* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.
* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions. Add new byte-codes.
* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.
* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.
* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval. Use it almost
everywhere where Feval was used. Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.
* src/fns.c (concat, mapcar1): Accept byte-code-functions.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.
* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.
* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.
* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 17:19:52 +00:00
|
|
|
* emacs-lisp/pcase.el: Don't use destructuring-bind.
|
|
|
|
(pcase--memoize): Rename from pcase-memoize. Change weakness.
|
|
|
|
(pcase): Add `let' pattern.
|
|
|
|
Change memoization so it actually works.
|
|
|
|
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
|
|
|
|
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
|
|
|
|
<let>: New case.
|
2011-03-30 18:40:00 +00:00
|
|
|
|
Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.
* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.
* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.
* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el:
* lisp/newcomment.el:
* lisp/reveal.el:
* lisp/server.el:
* lisp/mpc.el:
* lisp/emacs-lisp/smie.el:
* lisp/doc-view.el:
* lisp/dired.el:
* lisp/abbrev.el: Use lexical binding.
* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.
* lisp/files.el (lexical-binding): Declare safe.
* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.
* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.
* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix. Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions. Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
* lisp/emacs-lisp/cconv.el: New file.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
* lisp/emacs-lisp/cl.el (pushnew): Silence warning.
* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.
* lisp/emacs-lisp/eieio-comp.el: Remove.
* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.
* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.
* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.
* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize. Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.
* src/alloc.c (Fmake_symbol): Init new `declared_special' field.
* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.
* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions. Add new byte-codes.
* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.
* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.
* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval. Use it almost
everywhere where Feval was used. Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.
* src/fns.c (concat, mapcar1): Accept byte-code-functions.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.
* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.
* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.
* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 17:19:52 +00:00
|
|
|
* emacs-lisp/macroexp.el: Use lexical binding.
|
|
|
|
(macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
|
|
|
|
Don't convert ' to #' without checking that it's indeed quoting
|
|
|
|
a lambda.
|
|
|
|
|
|
|
|
* emacs-lisp/lisp-mode.el (eval-last-sexp-1):
|
2011-03-30 18:40:00 +00:00
|
|
|
Use eval-sexp-add-defvars.
|
Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.
* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.
* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.
* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el:
* lisp/newcomment.el:
* lisp/reveal.el:
* lisp/server.el:
* lisp/mpc.el:
* lisp/emacs-lisp/smie.el:
* lisp/doc-view.el:
* lisp/dired.el:
* lisp/abbrev.el: Use lexical binding.
* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.
* lisp/files.el (lexical-binding): Declare safe.
* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.
* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.
* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix. Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions. Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
* lisp/emacs-lisp/cconv.el: New file.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
* lisp/emacs-lisp/cl.el (pushnew): Silence warning.
* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.
* lisp/emacs-lisp/eieio-comp.el: Remove.
* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.
* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.
* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.
* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize. Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.
* src/alloc.c (Fmake_symbol): Init new `declared_special' field.
* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.
* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions. Add new byte-codes.
* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.
* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.
* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval. Use it almost
everywhere where Feval was used. Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.
* src/fns.c (concat, mapcar1): Accept byte-code-functions.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.
* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.
* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.
* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 17:19:52 +00:00
|
|
|
(eval-sexp-add-defvars): New fun.
|
|
|
|
|
|
|
|
* emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
|
|
|
|
|
|
|
|
* emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
|
|
|
|
Don't autoload.
|
|
|
|
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
|
|
|
|
than the internal `byte-compile-lambda'.
|
|
|
|
(defmethod): Don't hide code under quotes.
|
|
|
|
(eieio-defmethod): New `code' argument.
|
|
|
|
|
|
|
|
* emacs-lisp/eieio-comp.el: Remove.
|
|
|
|
|
|
|
|
* emacs-lisp/edebug.el (edebug-eval-defun)
|
|
|
|
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
|
|
|
|
(edebug-toggle): Avoid `eval'.
|
|
|
|
|
|
|
|
* emacs-lisp/disass.el (disassemble-internal): Handle new
|
|
|
|
`closure' objects.
|
|
|
|
(disassemble-1): Handle new byte codes.
|
|
|
|
|
|
|
|
* emacs-lisp/cl.el (pushnew): Silence warning.
|
|
|
|
|
|
|
|
* emacs-lisp/cl-macs.el (cl-byte-compile-block)
|
|
|
|
(cl-byte-compile-throw): Remove.
|
|
|
|
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
|
|
|
|
|
|
|
|
* emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
|
|
|
|
closures.
|
|
|
|
|
|
|
|
* emacs-lisp/cconv.el: New file.
|
|
|
|
|
|
|
|
* emacs-lisp/bytecomp.el: Use lexical binding instead of
|
|
|
|
a "bytecomp-" prefix. Macroexpand everything as a separate phase.
|
|
|
|
(byte-compile-initial-macro-environment):
|
|
|
|
Handle declare-function here.
|
|
|
|
(byte-compile--lexical-environment): New var.
|
|
|
|
(byte-stack-ref, byte-stack-set, byte-discardN)
|
|
|
|
(byte-discardN-preserve-tos): New lap codes.
|
|
|
|
(byte-interactive-p): Don't use any more.
|
|
|
|
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
|
|
|
|
New macros.
|
|
|
|
(byte-compile-lapcode): Use them and handle new lap codes.
|
|
|
|
(byte-compile-obsolete): Remove.
|
|
|
|
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
|
|
|
|
(byte-compile-arglist-warn): Check late def of inlinable funs.
|
|
|
|
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
|
|
|
|
since they should have been expanded by now.
|
|
|
|
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
|
|
|
|
(byte-compile-from-buffer): Remove unused second arg.
|
|
|
|
(byte-compile-preprocess): New function.
|
|
|
|
(byte-compile-toplevel-file-form): New function to distinguish
|
|
|
|
file-form calls from outside from file-form calls from hunk-handlers.
|
|
|
|
(byte-compile-file-form): Simplify.
|
|
|
|
(byte-compile-file-form-defsubst): Remove.
|
|
|
|
(byte-compile-file-form-defmumble): Simplify now that
|
|
|
|
byte-compile-lambda always returns a byte-code-function.
|
|
|
|
(byte-compile): Preprocess.
|
|
|
|
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
|
|
|
|
Remove, not used any more.
|
|
|
|
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
|
|
|
|
(byte-compile-make-args-desc): New funs.
|
|
|
|
(byte-compile-lambda): Handle lexical functions. Always return
|
|
|
|
a byte-code-function.
|
|
|
|
(byte-compile-reserved-constants): New var, to make up room for
|
|
|
|
closed-over variables.
|
|
|
|
(byte-compile-constants-vector): Obey it.
|
|
|
|
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
|
|
|
|
(byte-compile-macroexpand-declare-function): New function.
|
|
|
|
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
|
|
|
|
byte-code-functions.
|
|
|
|
(byte-compile-form): Check obsolescence here.
|
|
|
|
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
|
|
|
|
(byte-compile-variable-ref): Remove.
|
|
|
|
(byte-compile-dynamic-variable-op): New fun.
|
|
|
|
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
|
|
|
|
(byte-compile-variable-set): New funs.
|
|
|
|
(byte-compile-discard): Add 2 args.
|
|
|
|
(byte-compile-stack-ref, byte-compile-stack-set)
|
|
|
|
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
|
|
|
|
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
|
|
|
|
macroexpand-all instead.
|
|
|
|
(byte-compile-quote-form): Remove.
|
|
|
|
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
|
|
|
|
(byte-compile-bind, byte-compile-unbind): New funs.
|
|
|
|
(byte-compile-let): Handle let* and lexical binding.
|
|
|
|
(byte-compile-let*): Remove.
|
|
|
|
(byte-compile-catch, byte-compile-unwind-protect)
|
|
|
|
(byte-compile-track-mouse, byte-compile-condition-case):
|
|
|
|
Handle a new :fun-body form, used for lexical scoping.
|
|
|
|
(byte-compile-save-window-excursion)
|
|
|
|
(byte-compile-with-output-to-temp-buffer): Remove.
|
|
|
|
(byte-compile-defun): Simplify.
|
|
|
|
(byte-compile-stack-adjustment): New fun.
|
|
|
|
(byte-compile-out): Use it.
|
|
|
|
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
|
|
|
|
|
|
|
|
* emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
|
|
|
|
handler any more.
|
|
|
|
|
|
|
|
* emacs-lisp/byte-opt.el: Use lexical binding.
|
|
|
|
(byte-inline-lapcode): Remove (to bytecomp).
|
|
|
|
(byte-compile-inline-expand): Pay attention to inlining to/from
|
|
|
|
lexically bound code.
|
|
|
|
(byte-compile-unfold-lambda): Don't handle byte-code-functions
|
|
|
|
any more.
|
|
|
|
(byte-optimize-form-code-walker): Don't handle save-window-excursion
|
|
|
|
any more and don't call compiler-macros.
|
|
|
|
(byte-compile-splice-in-already-compiled-code): Remove.
|
|
|
|
(byte-code): Don't inline any more.
|
|
|
|
(disassemble-offset): Receive `bytes' as argument rather than via
|
|
|
|
dynamic scoping.
|
|
|
|
(byte-compile-tag-number): Declare before first use.
|
|
|
|
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
|
|
|
|
`return' even if make-spliceable.
|
|
|
|
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
|
|
|
|
obsolete interactive-p.
|
|
|
|
(byte-optimize-lapcode): Optimize new lap-codes.
|
|
|
|
Don't trip up on new form of `byte-constant' lap code.
|
|
|
|
|
|
|
|
* emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
|
|
|
|
|
|
|
|
* emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
|
|
|
|
|
|
|
|
* custom.el (custom-initialize-default, custom-declare-variable):
|
|
|
|
Use `defvar'.
|
|
|
|
|
|
|
|
* Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
|
|
|
|
New variables.
|
|
|
|
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
|
|
|
|
(COMPILE_FIRST): Add macroexp and cconv.
|
|
|
|
* makefile.w32-in: Mirror changes in Makefile.in.
|
|
|
|
|
|
|
|
* vc/cvs-status.el:
|
|
|
|
* vc/diff-mode.el:
|
|
|
|
* vc/log-edit.el:
|
|
|
|
* vc/log-view.el:
|
|
|
|
* vc/smerge-mode.el:
|
|
|
|
* textmodes/bibtex-style.el:
|
|
|
|
* textmodes/css.el:
|
|
|
|
* startup.el:
|
|
|
|
* uniquify.el:
|
2011-04-02 23:41:03 +00:00
|
|
|
* minibuffer.el:
|
|
|
|
* newcomment.el:
|
|
|
|
* reveal.el:
|
|
|
|
* server.el:
|
|
|
|
* mpc.el:
|
|
|
|
* emacs-lisp/smie.el:
|
|
|
|
* doc-view.el:
|
|
|
|
* dired.el:
|
Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.
* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.
* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.
* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el:
* lisp/newcomment.el:
* lisp/reveal.el:
* lisp/server.el:
* lisp/mpc.el:
* lisp/emacs-lisp/smie.el:
* lisp/doc-view.el:
* lisp/dired.el:
* lisp/abbrev.el: Use lexical binding.
* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.
* lisp/files.el (lexical-binding): Declare safe.
* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.
* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.
* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix. Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions. Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
* lisp/emacs-lisp/cconv.el: New file.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
* lisp/emacs-lisp/cl.el (pushnew): Silence warning.
* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.
* lisp/emacs-lisp/eieio-comp.el: Remove.
* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.
* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.
* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.
* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize. Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.
* src/alloc.c (Fmake_symbol): Init new `declared_special' field.
* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.
* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions. Add new byte-codes.
* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.
* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.
* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval. Use it almost
everywhere where Feval was used. Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.
* src/fns.c (concat, mapcar1): Accept byte-code-functions.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.
* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.
* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.
* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 17:19:52 +00:00
|
|
|
* abbrev.el: Use lexical binding.
|
|
|
|
|
2011-04-01 10:10:47 +00:00
|
|
|
2011-04-01 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
* info.el (info-display-manual): New function.
|
|
|
|
|
2011-03-31 15:17:06 +00:00
|
|
|
2011-03-31 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
|
|
|
* loadup.el: Load minibuffer after loaddefs, to use define-minor-mode.
|
|
|
|
|
2011-03-31 12:19:17 +00:00
|
|
|
2011-03-31 Tassilo Horn <tassilo@member.fsf.org>
|
|
|
|
|
|
|
|
* net/rcirc.el (rcirc-handler-001): Only authenticate, if there's
|
2011-04-04 09:35:16 +00:00
|
|
|
an entry for that server in rcirc-authinfo. (Bug#8385)
|
2011-03-31 12:19:17 +00:00
|
|
|
|
2011-03-31 02:11:34 +00:00
|
|
|
2011-03-31 Glenn Morris <rgm@gnu.org>
|
|
|
|
|
2011-03-31 07:20:38 +00:00
|
|
|
* progmodes/f90.el (f90-find-tag-default): Handle multiple `%'.
|
|
|
|
|
2011-03-31 02:11:34 +00:00
|
|
|
* generic-x.el (etc-fstab-generic-mode): Add ext4, sysfs keywords.
|
|
|
|
|
2011-03-30 22:44:07 +00:00
|
|
|
2011-03-30 Christoph Scholtes <cschol2112@googlemail.com>
|
|
|
|
|
|
|
|
* progmodes/python.el (python-default-interpreter)
|
|
|
|
(python-python-command-args, python-jython-command-args)
|
|
|
|
(python-which-shell, python-which-args, python-which-bufname)
|
|
|
|
(python-file-queue, python-comint-output-filter-function)
|
|
|
|
(python-toggle-shells, python-shell): Remove obsolete defcustoms,
|
|
|
|
variables and functions.
|
|
|
|
|
2011-03-30 22:25:57 +00:00
|
|
|
2011-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
|
|
|
* minibuffer.el (completion-table-dynamic): Optimize `boundaries'.
|
|
|
|
(completion-in-region-mode): New minor mode.
|
|
|
|
(completion-in-region): Use it.
|
|
|
|
(completion-in-region--data, completion-in-region-mode-map): New vars.
|
|
|
|
(completion-in-region--postch): New function.
|
|
|
|
(completion--capf-misbehave-funs, completion--capf-safe-funs):
|
|
|
|
New vars.
|
|
|
|
(completion--capf-wrapper): New function.
|
|
|
|
(completion-at-point): Use it to track well-behavedness of
|
|
|
|
hook functions.
|
|
|
|
(completion-help-at-point): New command.
|
|
|
|
|
2011-03-30 21:56:04 +00:00
|
|
|
2011-03-30 Jason Merrill <jason@redhat.com> (tiny change)
|
|
|
|
|
|
|
|
* vc/add-log.el (add-change-log-entry): Don't use whitespace
|
|
|
|
syntax class to search for whitespace on a single line
|
|
|
|
(Message-ID: <4D938140.4030905@redhat.com>).
|
|
|
|
|
2011-03-30 01:06:00 +00:00
|
|
|
2011-03-30 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
|
|
|
* abbrev.el (abbrev-edit-save-to-file, abbrev-edit-save-buffer):
|
|
|
|
New commands.
|
|
|
|
(edit-abbrevs-map): Bind them here.
|
|
|
|
(write-abbrev-file): New optinal arg VERBOSE. (Bug#5937)
|
|
|
|
|
2011-03-29 18:26:01 +00:00
|
|
|
2011-03-29 Ken Manheimer <ken.manheimer@gmail.com>
|
|
|
|
|
|
|
|
* allout.el (allout-hide-by-annotation, allout-flag-region):
|
|
|
|
Reduce possibility of overlay leakage by making them volatile.
|
|
|
|
|
|
|
|
* allout-widgets.el (allout-widgets-tally): Define as nil so the
|
|
|
|
hash is not shared between buffers. Mode initialization is
|
|
|
|
responsible for giving it a useful starting value.
|
|
|
|
(allout-item-span): Reduce possibility of overlay leakage by
|
|
|
|
making them volatile.
|
|
|
|
(allout-widgets-count-buttons-in-region): Add diagnostic function
|
|
|
|
for tracking down button overlay leaks.
|
|
|
|
|
2011-03-29 08:25:31 +00:00
|
|
|
2011-03-29 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
|
|
|
* ido.el (ido-read-internal): Use the default history var
|
|
|
|
minibuffer-history if no HISTORY is specified.
|
|
|
|
|
2011-03-29 13:23:38 +00:00
|
|
|
2011-03-28 Brian T. Sniffen <bsniffen@akamai.com> (tiny change)
|
|
|
|
|
Merge from lexical-binding branch.
* doc/lispref/eval.texi (Eval): Discourage the use of `eval'.
Document its new `lexical' argument.
* doc/lispref/variables.texi (Defining Variables): Mention the new meaning of `defvar'.
(Lexical Binding): New sub-section.
* lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS, BYTE_COMPILE_FLAGS):
New variables.
(compile-onefile, .el.elc, compile-calc, recompile): Use them.
(COMPILE_FIRST): Add macroexp and cconv.
* lisp/makefile.w32-in: Mirror changes in Makefile.in.
* lisp/vc/cvs-status.el:
* lisp/vc/diff-mode.el:
* lisp/vc/log-edit.el:
* lisp/vc/log-view.el:
* lisp/vc/smerge-mode.el:
* lisp/textmodes/bibtex-style.el:
* textmodes/css.el:
* lisp/startup.el:
* lisp/uniquify.el:
* lisp/minibuffer.el:
* lisp/newcomment.el:
* lisp/reveal.el:
* lisp/server.el:
* lisp/mpc.el:
* lisp/emacs-lisp/smie.el:
* lisp/doc-view.el:
* lisp/dired.el:
* lisp/abbrev.el: Use lexical binding.
* lisp/custom.el (custom-initialize-default, custom-declare-variable):
Use `defvar'.
* lisp/files.el (lexical-binding): Declare safe.
* lisp/help-fns.el (help-split-fundoc): Return nil if there's nothing else
than the arglist.
(help-add-fundoc-usage): Don't add `Not documented'.
(help-function-arglist): Handle closures, subroutines, and new
byte-code-functions.
(help-make-usage): Remove leading underscores.
(describe-function-1): Handle closures.
(describe-variable): Use special-variable-p for completion.
* lisp/simple.el (with-wrapper-hook, apply-partially): Move to subr.el.
* lisp/subr.el (apply-partially): Use new closures rather than CL.
(--dolist-tail--, --dotimes-limit--): Don't declare dynamic.
(dolist, dotimes): Use slightly different expansion for lexical code.
(functionp): Move to C.
(letrec): New macro.
(with-wrapper-hook): Use it and apply-partially instead of CL.
(eval-after-load): Preserve lexical-binding.
(save-window-excursion, with-output-to-temp-buffer): Turn them
into macros.
* lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist.
* lisp/emacs-lisp/autoload.el (make-autoload): Don't burp on trivial macros.
* lisp/emacs-lisp/byte-opt.el: Use lexical binding.
(byte-inline-lapcode): Remove (to bytecomp).
(byte-compile-inline-expand): Pay attention to inlining to/from
lexically bound code.
(byte-compile-unfold-lambda): Don't handle byte-code-functions
any more.
(byte-optimize-form-code-walker): Don't handle save-window-excursion
any more and don't call compiler-macros.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't inline any more.
(disassemble-offset): Receive `bytes' as argument rather than via
dynamic scoping.
(byte-compile-tag-number): Declare before first use.
(byte-decompile-bytecode-1): Handle new byte-codes, don't change
`return' even if make-spliceable.
(byte-compile-side-effect-and-error-free-ops): Add stack-ref, remove
obsolete interactive-p.
(byte-optimize-lapcode): Optimize new lap-codes.
Don't trip up on new form of `byte-constant' lap code.
* lisp/emacs-lisp/byte-run.el (make-obsolete): Don't set the `byte-compile'
handler any more.
* lisp/emacs-lisp/bytecomp.el: Use lexical binding instead of
a "bytecomp-" prefix. Macroexpand everything as a separate phase.
(byte-compile-initial-macro-environment):
Handle declare-function here.
(byte-compile--lexical-environment): New var.
(byte-stack-ref, byte-stack-set, byte-discardN)
(byte-discardN-preserve-tos): New lap codes.
(byte-interactive-p): Don't use any more.
(byte-compile-push-bytecodes, byte-compile-push-bytecode-const2):
New macros.
(byte-compile-lapcode): Use them and handle new lap codes.
(byte-compile-obsolete): Remove.
(byte-compile-arglist-signature): Handle new byte-code arg"lists".
(byte-compile-arglist-warn): Check late def of inlinable funs.
(byte-compile-cl-warn): Don't silence warnings for compiler-macros
since they should have been expanded by now.
(byte-compile--outbuffer): Rename from bytecomp-outbuffer.
(byte-compile-from-buffer): Remove unused second arg.
(byte-compile-preprocess): New function.
(byte-compile-toplevel-file-form): New function to distinguish
file-form calls from outside from file-form calls from hunk-handlers.
(byte-compile-file-form): Simplify.
(byte-compile-file-form-defsubst): Remove.
(byte-compile-file-form-defmumble): Simplify now that
byte-compile-lambda always returns a byte-code-function.
(byte-compile): Preprocess.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake):
Remove, not used any more.
(byte-compile-arglist-vars, byte-compile-make-lambda-lexenv)
(byte-compile-make-args-desc): New funs.
(byte-compile-lambda): Handle lexical functions. Always return
a byte-code-function.
(byte-compile-reserved-constants): New var, to make up room for
closed-over variables.
(byte-compile-constants-vector): Obey it.
(byte-compile-top-level): New args `lexenv' and `reserved-csts'.
(byte-compile-macroexpand-declare-function): New function.
(byte-compile-form): Call byte-compile-unfold-bcf to inline immediate
byte-code-functions.
(byte-compile-form): Check obsolescence here.
(byte-compile-inline-lapcode, byte-compile-unfold-bcf): New functions.
(byte-compile-variable-ref): Remove.
(byte-compile-dynamic-variable-op): New fun.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): New funs.
(byte-compile-discard): Add 2 args.
(byte-compile-stack-ref, byte-compile-stack-set)
(byte-compile-make-closure, byte-compile-get-closed-var): New funs.
(byte-compile-funarg, byte-compile-funarg-2): Remove, handled in
macroexpand-all instead.
(byte-compile-quote-form): Remove.
(byte-compile-push-binding-init, byte-compile-not-lexical-var-p)
(byte-compile-bind, byte-compile-unbind): New funs.
(byte-compile-let): Handle let* and lexical binding.
(byte-compile-let*): Remove.
(byte-compile-catch, byte-compile-unwind-protect)
(byte-compile-track-mouse, byte-compile-condition-case):
Handle a new :fun-body form, used for lexical scoping.
(byte-compile-save-window-excursion)
(byte-compile-with-output-to-temp-buffer): Remove.
(byte-compile-defun): Simplify.
(byte-compile-stack-adjustment): New fun.
(byte-compile-out): Use it.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
* lisp/emacs-lisp/cconv.el: New file.
* lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Properly quote CL
closures.
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block)
(cl-byte-compile-throw): Remove.
(cl-block-wrapper, cl-block-throw): Use compiler-macros instead.
* lisp/emacs-lisp/cl.el (pushnew): Silence warning.
* lisp/emacs-lisp/disass.el (disassemble-internal): Handle new
`closure' objects.
(disassemble-1): Handle new byte codes.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun)
(edebug-eval-top-level-form): Use eval-sexp-add-defvars.
(edebug-toggle): Avoid `eval'.
* lisp/emacs-lisp/eieio-comp.el: Remove.
* lisp/emacs-lisp/eieio.el (byte-compile-file-form-defmethod):
Don't autoload.
(eieio-defgeneric-form-primary-only-one): Use `byte-compile' rather
than the internal `byte-compile-lambda'.
(defmethod): Don't hide code under quotes.
(eieio-defmethod): New `code' argument.
* lisp/emacs-lisp/float-sup.el (pi): Don't declare as dynamically bound.
* lisp/emacs-lisp/lisp-mode.el (eval-last-sexp-1):
Use eval-sexp-add-defvars.
(eval-sexp-add-defvars): New fun.
* lisp/emacs-lisp/macroexp.el: Use lexical binding.
(macroexpand-all-1): Check obsolete macros. Expand compiler-macros.
Don't convert ' to #' without checking that it's indeed quoting
a lambda.
* lisp/emacs-lisp/pcase.el: Don't use destructuring-bind.
(pcase--memoize): Rename from pcase-memoize. Change weakness.
(pcase): Add `let' pattern.
Change memoization so it actually works.
(pcase-mutually-exclusive-predicates): Add byte-code-function-p.
(pcase--u1) <guard, pred>: Fix possible shadowing problem.
<let>: New case.
* src/alloc.c (Fmake_symbol): Init new `declared_special' field.
* src/buffer.c (defvar_per_buffer): Set new `declared_special' field.
* src/bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
New byte-codes.
(exec_byte_code): New function extracted from Fbyte_code to handle new
calling convention for byte-code-functions. Add new byte-codes.
* src/callint.c (Fcall_interactively): Preserve lexical-binding mode for
interactive spec.
* src/doc.c (Fdocumentation, store_function_docstring):
* src/data.c (Finteractive_form): Handle closures.
* src/eval.c (Fsetq): Handle lexical vars.
(Fdefun, Fdefmacro, Ffunction): Make closures when needed.
(Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
(FletX, Flet): Obey lexical binding.
(Fcommandp): Handle closures.
(Feval): New `lexical' arg.
(eval_sub): New function extracted from Feval. Use it almost
everywhere where Feval was used. Look up vars in lexical env.
Handle closures.
(Ffunctionp): Move from subr.el.
(Ffuncall): Handle closures.
(apply_lambda): Remove `eval_flags'.
(funcall_lambda): Handle closures and new byte-code-functions.
(Fspecial_variable_p): New function.
(syms_of_eval): Initialize the Vinternal_interpreter_environment var,
but without exporting it to Lisp.
* src/fns.c (concat, mapcar1): Accept byte-code-functions.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/keyboard.c (eval_dyn): New fun.
(menu_item_eval_property): Use it.
* src/lisp.h (struct Lisp_Symbol): New field `declared_special'.
* src/lread.c (lisp_file_lexically_bound_p): New function.
(Fload): Bind Qlexical_binding.
(readevalloop): Remove `evalfun' arg.
Bind Qinternal_interpreter_environment.
(Feval_buffer): Bind Qlexical_binding.
(defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
Mark as dynamic.
(syms_of_lread): Declare `lexical-binding'.
* src/window.c (Ftemp_output_buffer_show): New fun.
(Fsave_window_excursion):
* src/print.c (Fwith_output_to_temp_buffer): Move to subr.el.
2011-04-01 17:19:52 +00:00
|
|
|
* net/imap.el (imap-shell-open, imap-process-connection-type):
|
|
|
|
Use imap-process-connection-type for 'shell' streams as well as
|
2011-03-29 13:23:38 +00:00
|
|
|
Kerberos, SSL, other subprocesses.
|
|
|
|
|
2011-03-28 14:34:32 +00:00
|
|
|
2011-03-28 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
|
|
|
* abbrev.el (abbrev-table-empty-p): New function.
|
|
|
|
(prepare-abbrev-list-buffer): Place empty abbrev tables after
|
|
|
|
nonempty ones. (Bug#5937)
|
|
|
|
|
2011-03-27 10:55:07 +00:00
|
|
|
2011-03-27 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
|
|
|
|
* cus-start.el (all): Add boolean ns-auto-hide-menu-bar.
|
|
|
|
|
2011-03-27 01:56:35 +00:00
|
|
|
2011-03-27 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
|
|
|
* ansi-color.el (ansi-color-names-vector): Allow cons cell value
|
|
|
|
for foreground and background colors.
|
|
|
|
(ansi-color-make-color-map): Adapt.
|
|
|
|
|
2011-03-25 00:42:26 +00:00
|
|
|
2011-03-25 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
2011-03-25 22:11:15 +00:00
|
|
|
* midnight.el (midnight-time-float): Remove. Note it calculates
|
|
|
|
the microsecond component incorrectly and seconds-to-time does the
|
|
|
|
same job.
|
2011-03-25 22:26:30 +00:00
|
|
|
Remove redundant (require 'timer).
|
2011-03-25 22:11:15 +00:00
|
|
|
|
2011-03-25 00:42:26 +00:00
|
|
|
* ido.el (ido-read-internal): Simplify with read-from-minibuffer.
|
|
|
|
(ido-completions): Remove unused arguments. (Bug#8329)
|
|
|
|
|
2011-03-24 22:05:01 +00:00
|
|
|
2011-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
|
|
|
* minibuffer.el (completion--flush-all-sorted-completions):
|
|
|
|
Remove itself from hook.
|
|
|
|
(completion-at-point): Let the functions perform the completion
|
|
|
|
immediately and return nil or t.
|
|
|
|
* comint.el (comint-dynamic-complete-functions): Now identical to
|
|
|
|
completion-at-point-functions.
|
|
|
|
(comint-dynamic-list-input-ring): Remove unused var `index'.
|
|
|
|
(comint--match-partial-filename, comint--unquote&expand-filename):
|
|
|
|
New funs, split from comint-match-partial-filename.
|
|
|
|
(comint-dynamic-complete): Use completion-at-point.
|
|
|
|
(comint-dynamic-complete-filename): Use comint--match-partial-filename.
|
|
|
|
|
2011-03-24 16:38:12 +00:00
|
|
|
2011-03-24 Drew Adams <drew.adams@oracle.com>
|
|
|
|
|
|
|
|
* thingatpt.el: Support `defun'.
|
|
|
|
|
2011-03-23 11:56:34 +00:00
|
|
|
2011-03-23 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
2011-03-23 18:11:15 +00:00
|
|
|
* abbrevlist.el: Move to obsolete/abbrevlist.el.
|
|
|
|
|
2011-03-23 11:56:34 +00:00
|
|
|
* help-mode.el (help-mode-finish): Tweak regexp.
|
|
|
|
|
2011-03-23 02:50:28 +00:00
|
|
|
2011-03-23 Glenn Morris <rgm@gnu.org>
|
|
|
|
|
2011-03-23 02:52:52 +00:00
|
|
|
* eshell/esh-opt.el (eshell-eval-using-options):
|
|
|
|
Do not bind unused local variable `eshell-option-stub'.
|
|
|
|
|
2011-03-23 02:50:28 +00:00
|
|
|
* progmodes/gdb-mi.el (gdb): Fix typo in previous change.
|
|
|
|
|
2011-03-22 20:58:27 +00:00
|
|
|
2011-03-22 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* emacs-lisp/derived.el (define-derived-mode): Wrap declaration of
|
|
|
|
keymap variable in `with-no-warnings' to avoid a warning when the
|
|
|
|
keymap has been already `defconst'ed.
|
|
|
|
|
2011-03-22 15:38:40 +00:00
|
|
|
2011-03-22 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
|
|
|
* abbrev.el (write-abbrev-file): Use utf-8 for writing if it can
|
|
|
|
encode all chars in abbrevs; otherwise use emacs-mule or
|
|
|
|
utf-8-emacs. (Bug#8308)
|
|
|
|
|
2011-03-22 13:10:43 +00:00
|
|
|
2011-03-22 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
2011-03-22 15:15:21 +00:00
|
|
|
* simple.el (backward-delete-char-untabify):
|
|
|
|
Avoid warning about using `delete-backward-char'.
|
|
|
|
|
2011-03-22 13:10:43 +00:00
|
|
|
* image.el (image-type-file-name-regexps): Make it variable.
|
|
|
|
`imagemagick-register-types' modifies it, and the user may want
|
|
|
|
to add new extensions for known image types.
|
|
|
|
(imagemagick-register-types): Throw error if not using ImageMagick.
|
|
|
|
|
2011-03-22 11:30:05 +00:00
|
|
|
2011-03-22 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
|
|
|
* net/rcirc.el (rcirc-completion-at-point): Return nil if point is
|
|
|
|
located before rcirc-prompt-end-marker.
|
|
|
|
(rcirc-complete): Error if point is not after rcirc prompt.
|
|
|
|
Handle the case when table is nil.
|
2011-03-22 11:51:48 +00:00
|
|
|
(rcirc-user-authenticated): Define to fix compiler warning.
|
2011-03-22 11:30:05 +00:00
|
|
|
|
2011-03-22 00:30:23 +00:00
|
|
|
2011-03-22 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* custom.el (custom--inhibit-theme-enable): Make it affect only
|
|
|
|
custom-theme-set-variables and custom-theme-set-faces.
|
|
|
|
(provide-theme): Ignore custom--inhibit-theme-enable.
|
|
|
|
(load-theme): Enable the theme explicitly if NO-ENABLE is non-nil.
|
|
|
|
(custom-enabling-themes): Delete variable.
|
2011-03-24 22:05:01 +00:00
|
|
|
(enable-theme): Accept only loaded themes as arguments.
|
|
|
|
Ignore the special custom-enabled-themes variable.
|
2011-03-22 00:30:23 +00:00
|
|
|
(custom-enabled-themes): Forbid themes from setting this.
|
|
|
|
Eliminate use of custom-enabling-themes.
|
|
|
|
(custom-push-theme): Quote "changed" custom var entry.
|
2011-03-21 22:09:52 +00:00
|
|
|
|
2011-03-21 17:48:36 +00:00
|
|
|
2011-03-21 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
|
|
|
* ido.el (ido-read-internal): Add ido-selected to history instead
|
|
|
|
of user input.
|
|
|
|
|
2011-03-21 16:34:16 +00:00
|
|
|
2011-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
|
|
|
* subr.el (deferred-action-list, deferred-action-function):
|
|
|
|
Mark obsolete.
|
|
|
|
|
2011-03-21 14:55:00 +00:00
|
|
|
2011-03-21 Leo Liu <sdl.web@gmail.com>
|
|
|
|
|
2011-03-21 15:26:05 +00:00
|
|
|
* vc/log-view.el: Remove (require 'wid-edit), not needed after the
|
|
|
|
change on 2011-02-13 (bug#8309).
|
|
|
|
|
2011-03-21 14:55:00 +00:00
|
|
|
* minibuffer.el (read-file-name-function): Change default value.
|
|
|
|
(read-file-name--defaults): Rename from read-file-name-defaults.
|
|
|
|
(read-file-name-default): Rename from read-file-name.
|
|
|
|
(read-file-name): Call read-file-name-function.
|
|
|
|
|
2011-03-21 06:42:23 +00:00
|
|
|
2011-03-21 Glenn Morris <rgm@gnu.org>
|
|
|
|
|
|
|
|
* eshell/esh-opt.el (eshell-eval-using-options, eshell-process-args):
|
|
|
|
Doc fixes.
|
|
|
|
|
2011-03-21 04:30:55 +00:00
|
|
|
2011-03-21 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* cus-theme.el: Add missing provide statement.
|
|
|
|
(customize-create-theme): Extract theme value correctly.
|
|
|
|
(custom-theme-visit-theme): Autoload.
|
|
|
|
(customize-create-theme): Prompt before inserting default faces.
|
|
|
|
|
2011-03-20 20:59:29 +00:00
|
|
|
2011-03-20 Jay Belanger <jay.p.belanger@gmail.com>
|
|
|
|
|
|
|
|
* calc/calc-menu.el (calc-units-menu): Add entries for logarithmic
|
|
|
|
units and musical notes.
|
|
|
|
|
2011-03-20 10:35:27 +00:00
|
|
|
2011-03-20 Leo <sdl.web@gmail.com>
|
|
|
|
|
|
|
|
* ido.el (ido-read-internal): Use completing-read-default.
|
|
|
|
(ido-completing-read): Fix compatibility with completing-read.
|
|
|
|
|
2011-03-20 10:17:10 +00:00
|
|
|
2011-03-20 Christian Ohler <ohler@gnu.org>
|
|
|
|
|
|
|
|
* emacs-lisp/ert.el (ert-run-tests-batch): Remove unused variable.
|
|
|
|
(ert-delete-all-tests): Use `called-interactively-p' rather than
|
|
|
|
`interactive-p'.
|
|
|
|
(ert--make-xrefs-region): Respect END.
|
|
|
|
|
2011-03-19 21:37:21 +00:00
|
|
|
2011-03-19 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
2011-03-19 22:07:41 +00:00
|
|
|
* dired-aux.el (dired-create-directory): Signal an error if the
|
|
|
|
directory already exists (Bug#8246).
|
|
|
|
|
2011-03-19 21:37:21 +00:00
|
|
|
* facemenu.el (list-colors-display): Call list-faces-display
|
|
|
|
inside with-help-window.
|
|
|
|
(list-colors-print): Use display property to align the final
|
|
|
|
column, instead of checking window-width.
|
|
|
|
|
2011-03-19 09:30:56 +00:00
|
|
|
2011-03-19 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
* emerge.el (emerge-metachars): Separate value for ms-dos and
|
|
|
|
windows-nt systems.
|
|
|
|
(emerge-protect-metachars): Quote correctly for ms-dos and
|
|
|
|
windows-nt systems.
|
|
|
|
|
2011-03-19 18:49:31 +00:00
|
|
|
2011-03-19 Ralph Schleicher <rs@ralph-schleicher.de>
|
2011-03-16 00:00:58 +00:00
|
|
|
|
|
|
|
* info.el (info-initialize): Replace all uses of `:' with
|
|
|
|
path-separator for compatibility with non-Unix systems.
|
|
|
|
Cache quoting of path-separator. (Bug#8258)
|
|
|
|
|
2011-03-19 18:49:31 +00:00
|
|
|
2011-03-19 Juanma Barranquero <lekktu@gmail.com>
|
2011-03-12 19:44:42 +00:00
|
|
|
|
|
|
|
* avoid.el (mouse-avoidance-mode, mouse-avoidance-nudge-dist)
|
|
|
|
(mouse-avoidance-threshold, mouse-avoidance-banish-destination)
|
|
|
|
(mouse-avoidance-mode): Fix typos in docstrings.
|
|
|
|
|
2011-03-19 18:27:55 +00:00
|
|
|
2011-03-19 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* startup.el (package-subdirectory-regexp): Move from package.el.
|
|
|
|
Omit \\` and \\', and let callers add them.
|
|
|
|
|
|
|
|
* emacs-lisp/package.el (package-strip-version)
|
|
|
|
(package-load-all-descriptors): Add \\` and \\' to
|
|
|
|
package-subdirectory-regexp before using it.
|
|
|
|
(package-untar-buffer): New arg DIR; ensure that file untars only
|
|
|
|
into this expected directory. Remove superfluous delete-region.
|
|
|
|
(package-unpack): Caller changed.
|
|
|
|
(package-tar-file-info): Use package-subdirectory-regexp.
|
|
|
|
|
2011-03-18 19:52:05 +00:00
|
|
|
2011-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
|
2011-03-18 13:45:04 +00:00
|
|
|
|
2011-03-18 19:52:05 +00:00
|
|
|
* vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from
|
|
|
|
diff-mode-shared-map (bug#8284).
|
|
|
|
(diff-mode-shared-map): Re-introduce some bindings that were problematic.
|
2011-03-18 13:45:04 +00:00
|
|
|
|
|
|
|
2011-03-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
|
|
|
|
* calendar/time-date.el (format-seconds): Use assoc instead of
|
|
|
|
assoc-string, since assoc-string doesn't exist in XEmacs.
|
|
|
|
|
2011-03-17 02:30:27 +00:00
|
|
|
2011-03-17 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* custom.el (custom-known-themes): Reflow docstring.
|
|
|
|
(custom-theme-load-path): Fix typo in docstring.
|
|
|
|
(load-theme): Fix typo in error message.
|
|
|
|
(custom-available-themes, custom-variable-theme-value):
|
|
|
|
Use `let', not `let*'.
|
|
|
|
|
2011-03-17 01:30:08 +00:00
|
|
|
2011-03-17 Jay Belanger <jay.p.belanger@gmail.com>
|
|
|
|
|
|
|
|
* calc/README: Mention inclusion of musical notes.
|
|
|
|
|
|
|
|
* calc/calc-units.el (calc-lu-quant): Rename from
|
|
|
|
`calc-logunits-quantity'.
|
|
|
|
(calcFunc-lupquant): Rename from `calcFunc-powerquant'.
|
|
|
|
(calcFunc-lufquant): Rename from `calcFunc-fieldquant'.
|
|
|
|
(calc-db): Rename from `calc-dblevel'.
|
|
|
|
(calcFunc-dbpower): Rename from `calcFunc-dbpowerlevel'.
|
|
|
|
(calcFunc-dbfield): Rename from `calcFunc-dbfieldlevel'.
|
|
|
|
(calc-np): Rename from `calc-nplevel'.
|
|
|
|
(calcFunc-nppower): Rename from `calcFunc-nppowerlevel'.
|
|
|
|
(calcFunc-npfield): Rename from `calcFunc-npfieldlevel'.
|
|
|
|
(calc-lu-plus): Rename from `calc-logunits-add'.
|
|
|
|
(calcFunc-lupadd): Rename from `calcFunc-lupoweradd'.
|
|
|
|
(calcFunc-lufadd): Rename from `calcFunc-lufieldadd'.
|
|
|
|
(calc-lu-minus): Rename from `calc-logunits-sub'.
|
|
|
|
(calcFunc-lupsub): Rename from `calcFunc-lupowersub'.
|
|
|
|
(calcFunc-lufsub): Rename from `calcFunc-lufieldsub'.
|
|
|
|
(calc-lu-times): Rename from `calc-logunits-mul'.
|
|
|
|
(calcFunc-lupmul): Rename from `calcFunc-lupowermul'.
|
|
|
|
(calcFunc-lufmul): Rename from `calcFunc-lufieldmul'.
|
|
|
|
(calc-lu-divide): Rename from `calc-logunits-div'.
|
|
|
|
(calcFunc-lupdiv): Rename from `calcFunc-lupowerdiv'.
|
|
|
|
(calcFunc-lufdiv): Rename from `calcFunc-lufielddiv'.
|
|
|
|
|
|
|
|
* calc/calc-ext.el (calc-init-extensions): Update the names of the
|
|
|
|
functions being autoloaded.
|
|
|
|
|
|
|
|
* calc/calc.el (calc-lu-power-reference): Rename from
|
|
|
|
`calc-logunits-power-reference'.
|
|
|
|
(calc-lu-field-reference): Rename from
|
|
|
|
`calc-logunits-field-reference'.
|
|
|
|
|
|
|
|
* calc/calc-help (calc-l-prefix-help): Mention musical note functions.
|
|
|
|
|
2011-03-17 00:43:54 +00:00
|
|
|
2011-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
|
|
|
* minibuffer.el (completion-all-sorted-completions):
|
|
|
|
Use :completion-cycle-penalty text property if present.
|
|
|
|
|
2011-03-16 19:03:06 +00:00
|
|
|
2011-03-16 Ken Manheimer <ken.manheimer@gmail.com>
|
|
|
|
|
|
|
|
* allout.el (allout-yank-processing): Adjust for new rebulleting
|
|
|
|
regime so bullet being yanked is used without prompting the user
|
|
|
|
for a choice.
|
|
|
|
|
2011-03-16 02:13:31 +00:00
|
|
|
2011-03-16 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* startup.el (command-line): Warn the user that _emacs is deprecated.
|
|
|
|
|
2011-03-16 01:28:20 +00:00
|
|
|
2011-03-16 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* progmodes/delphi.el (delphi-search-path, delphi-indent-level)
|
|
|
|
(delphi-verbose, delphi-comment-face, delphi-string-face)
|
|
|
|
(delphi-keyword-face, delphi-ignore-changes, delphi-indent-line)
|
|
|
|
(delphi-mode-abbrev-table, delphi-debug-buffer, delphi-tab)
|
|
|
|
(delphi-find-unit, delphi-find-current-xdef, delphi-fill-comment)
|
|
|
|
(delphi-new-comment-line, delphi-font-lock-defaults)
|
|
|
|
(delphi-debug-mode-map, delphi-mode-syntax-table, delphi-mode):
|
|
|
|
Fix typos in docstrings.
|
|
|
|
|
2011-03-15 21:01:37 +00:00
|
|
|
2011-03-15 Ken Manheimer <ken.manheimer@gmail.com>
|
|
|
|
|
2011-03-16 01:28:20 +00:00
|
|
|
* allout.el (allout-make-topic-prefix, allout-rebullet-heading):
|
2011-03-15 21:01:37 +00:00
|
|
|
Invert the roles of character and string values for INSTEAD, so a
|
|
|
|
string is used for the more common case of a defaulting prompt.
|
|
|
|
|
2011-03-15 17:39:56 +00:00
|
|
|
2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
|
|
|
* progmodes/ruby-mode.el (ruby-backward-sexp):
|
|
|
|
* progmodes/ebrowse.el (ebrowse-draw-file-member-info):
|
|
|
|
* play/gamegrid.el (gamegrid-make-face):
|
|
|
|
* play/bubbles.el (bubbles--grid-width, bubbles--grid-height)
|
|
|
|
(bubbles--colors, bubbles--shift-mode, bubbles--initialize-images):
|
|
|
|
* notifications.el (notifications-notify):
|
|
|
|
* net/xesam.el (xesam-search-engines):
|
|
|
|
* net/quickurl.el (quickurl-list-insert):
|
|
|
|
* vc/vc-hg.el (vc-hg-dir-printer): Fix use of case.
|
|
|
|
|
2011-03-15 16:21:30 +00:00
|
|
|
2011-03-15 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* startup.el (command-line): Update package subdirectory regexp.
|
|
|
|
|
2011-03-15 02:42:31 +00:00
|
|
|
2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
2011-03-15 02:46:18 +00:00
|
|
|
* allout.el (allout-abbreviate-flattened-numbering)
|
|
|
|
(allout-mode-deactivate-hook): Fix up obsolescence "date".
|
|
|
|
|
2011-03-15 02:42:31 +00:00
|
|
|
* subr.el (read-char-choice): Only show the cursor after the prompt,
|
|
|
|
not after the answer.
|
|
|
|
|
2011-03-15 02:36:07 +00:00
|
|
|
2011-03-15 Kevin Ryde <user42@zip.com.au>
|
|
|
|
|
|
|
|
* help-fns.el (variable-at-point): Skip leading quotes, if any
|
|
|
|
(bug#8253).
|
|
|
|
|
2011-03-15 01:12:54 +00:00
|
|
|
2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
|
|
|
* emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the
|
|
|
|
warning message.
|
|
|
|
|
2011-03-14 09:53:13 +00:00
|
|
|
2011-03-14 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
|
|
|
|
* shell.el (shell): When called interactively, offer to change the
|
|
|
|
shell file name on remote hosts.
|
|
|
|
|
2011-03-13 22:17:17 +00:00
|
|
|
2011-03-13 Teodor Zlatanov <tzz@lifelogs.com>
|
|
|
|
|
|
|
|
* net/ldap.el (ldap-search-internal): Add `auth-source-search'
|
|
|
|
integration for LDAP parameters. The host, base, user or binddn,
|
|
|
|
and secret tokens can be specified in a netrc file, for instance.
|
|
|
|
This is optional because an `auth-source' parameter must be
|
|
|
|
specified in the search attributes.
|
|
|
|
|
2011-03-13 01:57:40 +00:00
|
|
|
2011-03-13 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* help.el (describe-mode): Link to the mode's definition (bug#8185).
|
|
|
|
|
2011-03-12 19:19:47 +00:00
|
|
|
2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
|
|
|
* ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
|
|
|
|
into declaration. Remove redundant and harmful binding.
|
|
|
|
|
|
|
|
2011-03-12 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
|
|
|
|
* files.el (file-ownership-preserved-p): Pass `integer' as an
|
|
|
|
explicit 2nd argument to `file-attributes'. If the file's owner
|
|
|
|
is the Administrators group on Windows, and the current user is
|
|
|
|
Administrator, consider that a match.
|
|
|
|
|
|
|
|
* server.el (server-ensure-safe-dir): Consider server directory
|
|
|
|
safe on MS-Windows if its owner is the Administrators group while
|
|
|
|
the current Emacs user is Administrator. Use `=' to compare
|
|
|
|
numerical UIDs, since they could be integers or floats.
|
|
|
|
|
2011-03-12 15:38:34 +00:00
|
|
|
2011-03-12 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* vc/vc-bzr.el (vc-bzr-state): Handle bzr 2.3.0 (follow-up to bug#8170).
|
|
|
|
|
2011-03-12 15:19:29 +00:00
|
|
|
2011-03-12 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
|
|
|
|
Sync with Tramp 2.2.1.
|
|
|
|
|
|
|
|
* net/tramp-sh.el (tramp-methods): Exchange "%k" marker with options.
|
|
|
|
|
|
|
|
* net/trampver.el: Update release number.
|
|
|
|
|
2011-03-12 02:59:24 +00:00
|
|
|
2011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
|
2011-03-12 04:29:22 +00:00
|
|
|
* progmodes/compile.el (compilation--previous-directory): Fix up
|
|
|
|
various nil/dead-marker mismatches (bug#8014).
|
|
|
|
(compilation-directory-properties, compilation-error-properties):
|
|
|
|
Don't call it at a position past the one we're about to change.
|
|
|
|
|
2011-03-12 02:59:24 +00:00
|
|
|
* emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable):
|
|
|
|
Disable obsolescence warnings in the file that declares it.
|
|
|
|
|
2011-03-11 18:46:12 +00:00
|
|
|
2011-03-11 Ken Manheimer <ken.manheimer@gmail.com>
|
|
|
|
|
2011-03-12 15:38:34 +00:00
|
|
|
* allout-widgets.el (allout-widgets-tally): Initialize
|
2011-03-11 18:46:12 +00:00
|
|
|
allout-widgets-tally as a hash table rather than nil to prevent
|
|
|
|
mode-line redisplay warnings.
|
|
|
|
Also, clarify the module description and fix a comment typo.
|
|
|
|
|
2011-03-11 00:33:57 +00:00
|
|
|
2011-03-11 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
|
|
|
|
* help-fns.el (describe-variable): Don't complete keywords.
|
|
|
|
Suggested by Teodor Zlatanov <tzz@lifelogs.com>.
|
|
|
|
|
2011-03-10 21:51:26 +00:00
|
|
|
2011-03-10 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
2011-03-10 23:40:46 +00:00
|
|
|
* emacs-lisp/package.el (package-version-join): Impose a standard
|
|
|
|
string representation for pre/alpha/beta version lists.
|
|
|
|
(package-unpack-single): Standardize the directory name by passing
|
|
|
|
it through package-version-join.
|
|
|
|
(package-strip-rcs-id): Accept any version string that does not
|
|
|
|
signal an error in version-to-list.
|
2011-03-10 21:51:26 +00:00
|
|
|
|
2011-03-10 11:28:33 +00:00
|
|
|
2011-03-10 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
|
|
|
|
* simple.el (delete-trailing-whitespace): Return nil for the
|
|
|
|
benefit of `write-file-functions'.
|
|
|
|
|
2011-03-10 03:41:17 +00:00
|
|
|
2011-03-10 Glenn Morris <rgm@gnu.org>
|
|
|
|
|
2011-03-10 08:32:27 +00:00
|
|
|
* vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program.
|
|
|
|
|
2011-03-10 08:26:41 +00:00
|
|
|
* vc/vc-git.el (vc-git-program): New option.
|
|
|
|
(vc-git-branches, vc-git-pull, vc-git-merge-branch, vc-git-command)
|
|
|
|
(vc-git--call): Use it.
|
|
|
|
|
2011-03-10 07:16:04 +00:00
|
|
|
* eshell/esh-util.el (eshell-condition-case): Doc fix.
|
|
|
|
|
2011-03-10 03:44:33 +00:00
|
|
|
* cus-edit.el (Custom-newline): If no button at point, look
|
|
|
|
for a subgroup button at start-of-line. (Bug#2298)
|
|
|
|
|
2011-03-10 03:41:17 +00:00
|
|
|
* mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes.
|
|
|
|
|
2011-03-10 02:14:55 +00:00
|
|
|
2011-03-10 Julien Danjou <julien@danjou.info>
|
|
|
|
|
|
|
|
* avoid.el (mouse-avoidance-ignore-p): Do not move the cursor if
|
|
|
|
`cursor-type' is nil.
|
|
|
|
|
2011-03-09 23:38:16 +00:00
|
|
|
2011-03-09 Jay Belanger <jay.p.belanger@gmail.com>
|
|
|
|
|
|
|
|
* calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'.
|
|
|
|
|
2011-03-09 20:48:56 +00:00
|
|
|
2011-03-09 Ken Manheimer <ken.manheimer@gmail.com>
|
|
|
|
|
|
|
|
* allout.el Summary: Change so yank of distinctive-bullet items
|
|
|
|
preserves the existing header prefix, rebulleting it if necessary,
|
|
|
|
rather than replacing it. This is necessary for proper operation
|
|
|
|
of cooperative addons like allout-widgets.
|
2011-03-12 15:38:34 +00:00
|
|
|
(allout-make-topic-prefix, allout-rebullet-heading): Change
|
2011-03-09 20:48:56 +00:00
|
|
|
SOLICIT arg to INSTEAD, and interpret additionally a string value
|
|
|
|
as alternate bullet to be used, instead of prompting the user for
|
|
|
|
a bullet character.
|
|
|
|
|
2011-03-09 11:04:27 +00:00
|
|
|
2011-03-09 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
|
2011-03-24 22:05:01 +00:00
|
|
|
* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
|
|
|
|
Do not use `tramp-file-name-port', because this returns also
|
2011-03-09 11:04:27 +00:00
|
|
|
`tramp-default-port'.
|
|
|
|
|
2011-03-09 10:45:19 +00:00
|
|
|
2011-03-09 Deniz Dogan <deniz.a.m.dogan@gmail.com>
|
|
|
|
|
|
|
|
* net/rcirc.el (rcirc-handler-001): Remove useless
|
|
|
|
with-rcirc-process-buffer.
|
|
|
|
(rcirc-check-auth-status): Swap arguments to string-match.
|
|
|
|
|
2011-03-09 08:43:27 +00:00
|
|
|
2011-03-09 Glenn Morris <rgm@gnu.org>
|
|
|
|
|
2011-03-09 09:01:14 +00:00
|
|
|
* shell.el (shell-mode):
|
|
|
|
Set comint-input-ring-size from HISTSIZE. (Bug#7889)
|
|
|
|
|
2011-03-09 08:43:27 +00:00
|
|
|
* progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change.
|
|
|
|
Check for GDBHISTFILE, HISTSIZE, etc. (Bug#7889)
|
|
|
|
|
2011-03-08 17:11:19 +00:00
|
|
|
2011-03-08 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* emacs-lisp/package.el (package-refresh-contents)
|
|
|
|
(package-menu-execute): Use condition-case-no-debug.
|
|
|
|
|
2011-03-08 12:58:40 +00:00
|
|
|
2011-03-08 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
|
|
|
|
* simple.el (shell-command-to-string): Use `process-file'.
|
|
|
|
|
|
|
|
* emacs-lisp/package.el (package-tar-file-info): Handle also
|
|
|
|
remote files.
|
|
|
|
|
2011-03-24 22:05:01 +00:00
|
|
|
* emacs-lisp/package-x.el (package-upload-buffer-internal):
|
|
|
|
Use `equal' for upload base check.
|
2011-03-08 12:58:40 +00:00
|
|
|
|
2011-03-08 04:42:40 +00:00
|
|
|
2011-03-08 Arni Magnusson <arnima@hafro.is> (tiny change)
|
|
|
|
|
|
|
|
* textmodes/texinfo.el (texinfo-environments):
|
|
|
|
Add deftypecv, deftypeivar, deftypemethod, deftypeop, html. (Bug#2783)
|
|
|
|
|
2011-03-08 04:28:14 +00:00
|
|
|
2011-03-08 Glenn Morris <rgm@gnu.org>
|
|
|
|
|
2011-03-08 04:34:31 +00:00
|
|
|
* cus-start.el (cursor-in-non-selected-windows):
|
|
|
|
Fix :set quoting oddness. (Bug#8192)
|
|
|
|
|
2011-03-08 04:28:14 +00:00
|
|
|
* font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)'
|
|
|
|
in some setf expressions. (Bug#2159)
|
|
|
|
|
2011-03-08 02:49:20 +00:00
|
|
|
2011-03-08 Chong Yidong <cyd@stupidchicken.com>
|
|
|
|
|
|
|
|
* custom.el (custom-available-themes): Return themes in
|
|
|
|
alphabetical order.
|
|
|
|
|
2011-04-06 12:18:10 +00:00
|
|
|
See ChangeLog.15 for earlier changes.
|
2008-09-24 16:24:35 +00:00
|
|
|
|
|
|
|
;; Local Variables:
|
|
|
|
;; coding: utf-8
|
|
|
|
;; End:
|
|
|
|
|
2011-04-06 12:18:10 +00:00
|
|
|
Copyright (C) 2011 Free Software Foundation, Inc.
|
2008-09-24 16:24:35 +00:00
|
|
|
|
|
|
|
This file is part of GNU Emacs.
|
|
|
|
|
|
|
|
GNU Emacs is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
GNU Emacs is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|