1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-28 07:45:00 +00:00
emacs/lisp/ChangeLog

2197 lines
84 KiB
Plaintext
Raw Normal View History

2011-05-04 Glenn Morris <rgm@gnu.org>
* calendar/diary-lib.el (diary-fancy-date-pattern): Turn it into a
function, so it follows changes in calendar-date-style.
(diary-fancy-date-matcher): New function.
(diary-fancy-font-lock-keywords): Use diary-fancy-date-matcher.
(diary-fancy-font-lock-fontify-region-function):
Use diary-fancy-date-pattern as a function.
* calendar/diary-lib.el (diary-fancy-date-pattern): Do not use
non-numbers for `year' etc pseudo-variables. (Bug#8583)
2011-05-04 Teodor Zlatanov <tzz@lifelogs.com>
* net/gnutls.el (gnutls-negotiate): Use CL-style keyword arguments
instead of positional arguments. Allow :keylist and :crlfiles
arguments.
(open-gnutls-stream): Call it.
* net/network-stream.el (network-stream-open-starttls): Adjust to
call `gnutls-negotiate' with :process and :hostname arguments.
2011-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuffer.el (completion--message): New function.
(completion--do-completion, minibuffer-complete)
(minibuffer-force-complete, minibuffer-complete-word): Use it.
(completion--do-completion): Don't ignore completion-auto-help when in
icomplete-mode.
* whitespace.el (whitespace-trailing-regexp): Don't rely on the
internal encoding (e.g. tibetan zero is not whitespace).
(global-whitespace-mode): Prefer save-current-buffer.
(whitespace-trailing-regexp): Remove useless save-match-data.
(whitespace-empty-at-bob-regexp): Minor simplification.
2011-05-03 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/autoload.el (generated-autoload-file): Doc fix (Bug#7989).
2011-05-03 Agustín Martín Domingo <agustin.martin@hispalinux.es>
* textmodes/ispell.el (ispell-add-per-file-word-list):
2011-05-03 15:08:20 +00:00
Use `concat' to create string for insertion.
2011-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
* textmodes/bibtex.el (bibtex-fill-field-bounds, bibtex-fill-entry):
Avoid open-line which runs post-self-insert-hook.
(bibtex-fill-entry): Remove unused `end' var.
2011-05-03 Dirk Ullrich <dirk.ullrich@googlemail.com> (tiny change)
* textmodes/ispell.el (ispell-add-per-file-word-list):
Protect against `nil' value of `comment-start' (Bug#8579).
2011-05-03 Leo Liu <sdl.web@gmail.com>
* isearch.el (isearch-yank-pop): New command.
(isearch-mode-map): Bind it to `M-y'.
(isearch-forward): Mention it.
2011-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
* simple.el (minibuffer-complete-shell-command): Remove.
(minibuffer-local-shell-command-map): Use completion-at-point.
(read-shell-command): Setup completion vars here instead.
(read-expression-map): Bind TAB to symbol completion.
* textmodes/ispell.el (lookup-words): Use with-temp-buffer; signal
error directly rather via storing it into `results'.
2011-05-02 12:22:38 +00:00
2011-05-02 Leo Liu <sdl.web@gmail.com>
* vc/diff.el: Fix description.
2011-05-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
* server.el (server-eval-at): New function.
2011-05-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
* net/network-stream.el (open-network-stream): Take a :nowait
parameter and pass it on to `make-network-process'.
(network-stream-open-plain): Ditto.
2011-04-30 Andreas Schwab <schwab@linux-m68k.org>
* faces.el (face-spec-set-match-display): Don't match toolkit
options on terminal frames.
2011-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/pascal.el: Use lexical binding.
(pascal-mode-map): Remove author preferences.
* pcomplete.el (pcomplete-std-complete): Don't abuse
completion-at-point.
2011-04-28 Juanma Barranquero <lekktu@gmail.com>
* calc/calccomp.el (math-comp-to-string-flat-term): Simplify by
removing code that has been dead since 1991 or so.
* startup.el (command-line): When warning about "_emacs", use a
delayed warning to allow the user to filter it out.
2011-04-28 Deniz Dogan <deniz@dogan.se>
* net/rcirc.el (rcirc-handler-353): Fix bug for channels which the
user has not joined.
2011-04-28 Stefan Monnier <monnier@iro.umontreal.ca>
* pcomplete.el (pcomplete-completions-at-point): Return nil if there
aren't any completions at point.
2011-04-28 Juanma Barranquero <lekktu@gmail.com>
* subr.el (display-delayed-warnings): New function.
(delayed-warnings-hook): New variable.
2011-04-28 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuffer.el (completion-at-point, completion-help-at-point):
Don't presume that a given completion-at-point-function will always
use the same calling convention.
* pcomplete.el (pcomplete-completions-at-point):
Obey pcomplete-ignore-case. Don't call pcomplete-norm-func unless
pcomplete-seen is non-nil.
(pcomplete-comint-setup): Also recognize the new comint/shell
completion functions.
(pcomplete-do-complete): Don't call pcomplete-norm-func unless
pcomplete-seen is non-nil.
2011-04-27 19:51:19 +00:00
2011-04-27 Niels Giesen <niels.giesen@gmail.com>
2011-04-27 19:51:19 +00:00
* calendar/icalendar.el (diary-lib): Add require statement.
(icalendar--create-uid): Read out a uid from a text-property on
2011-04-27 19:51:19 +00:00
the first character in the entry. This allows for code to add its
own uid to the entry.
(icalendar--convert-float-to-ical): Add export of
`diary-float'-entries save for those with the optional DAY
argument.
2011-04-27 Daniel Colascione <dan.colascione@gmail.com>
* subr.el (shell-quote-argument): Use alternate escaping strategy
when we spot a variable reference in a string.
2011-04-26 11:26:05 +00:00
2011-04-26 Daniel Colascione <dan.colascione@gmail.com>
* cus-start.el (all): Define customization for debug-on-event.
2011-04-27 19:51:19 +00:00
2011-04-26 Daniel Colascione <dan.colascione@gmail.com>
2011-04-26 10:44:03 +00:00
* subr.el (shell-quote-argument): Escape correctly under Windows.
2011-04-25 Stefan Monnier <monnier@iro.umontreal.ca>
* emulation/cua-base.el (cua-selection-mode): Make it toggle again.
2011-04-25 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-process-actions): Add POS argument.
Delete region between POS and (pos).
* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Use `nil' position in `tramp-process-actions' call.
(tramp-maybe-open-connection): Call `tramp-process-actions' with pos.
* net/tramp-smb.el (tramp-smb-maybe-open-connection): Use `nil'
position in `tramp-process-actions' call.
* net/trampver.el: Update release number.
2011-04-25 Stefan Monnier <monnier@iro.umontreal.ca>
* custom.el (defcustom): Obey lexical-binding.
Fix octave-inf completion problems reported by Alexander Klimov.
* progmodes/octave-inf.el (inferior-octave-mode-syntax-table):
Inherit from octave-mode-syntax-table.
(inferior-octave-mode): Set info-lookup-mode.
(inferior-octave-completion-at-point): New function.
(inferior-octave-complete): Use it and completion-in-region.
(inferior-octave-dynamic-complete-functions): Use it as well, and use
comint-filename-completion.
* progmodes/octave-mod.el (octave-mode-syntax-table): Use _ syntax for
symbol elements which shouldn't be word elements.
(octave-font-lock-keywords, octave-beginning-of-defun)
(octave-function-header-regexp): Adjust regexps accordingly.
(octave-mode-map): Also use info-lookup-symbol for C-c C-h.
2011-04-25 Juanma Barranquero <lekktu@gmail.com>
* net/gnutls.el (gnutls-errorp): Declare before first use.
2011-04-24 Teodor Zlatanov <tzz@lifelogs.com>
* net/gnutls.el (gnutls-negotiate): Add hostname, verify-flags,
verify-error, and verify-hostname-error parameters. Check whether
default trustfile exists before going to use it. Add missing
argument to gnutls-message-maybe call. Return return value.
Reported by Claudio Bley <claudio.bley@gmail.com>.
(open-gnutls-stream): Add usage example.
* net/network-stream.el (network-stream-open-starttls): Give host
parameter to `gnutls-negotiate'.
(gnutls-negotiate): Adjust `gnutls-negotiate' declaration.
2011-04-26 10:44:03 +00:00
* subr.el (shell-quote-argument): Escape correctly under Windows.
2011-04-27 19:51:19 +00:00
2011-04-24 Daniel Colascione <dan.colascione@gmail.com>
* progmodes/cc-engine.el (c-forward-decl-or-cast-1):
Use correct match group (bug#8438).
2011-04-24 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/package.el (package-built-in-p): Fix typo.
(package-menu--generate): New arg specifying packages to show.
(package-menu-refresh, package-menu-execute, list-packages):
Callers changed.
(package-show-package-list): New function, replacing deleted
package--list-packages (renamed because it is non-internal).
* finder.el (finder-list-matches): Use package-show-package-list
instead of deleted package--list-packages.
* vc/vc-annotate.el (vc-annotate-goto-line): New command.
Based on a previous implementation by Juanma Barranquero (Bug#8366).
(vc-annotate-mode-map): Bind it to RET.
2011-04-24 Uday S Reddy <u.s.reddy@cs.bham.ac.uk> (tiny change)
* progmodes/etags.el (next-file): Don't use set-buffer to change
buffers (Bug#8478).
2011-04-24 Chong Yidong <cyd@stupidchicken.com>
* files.el (auto-mode-alist): Use js-mode for .json (Bug#8529).
* apropos.el (apropos-label-face): Avoid variable-pitch face.
(apropos-accumulator): Doc fix.
(apropos-function, apropos-macro, apropos-command)
(apropos-variable, apropos-face, apropos-group, apropos-widget)
(apropos-plist): Add face property.
(apropos-symbols-internal): Fix indentation.
(apropos-print): Simplify help, and recognize apropos-multi-type.
(apropos-print-doc): Use button-type-get to extract the button's
face property. Fill docstring (Bug#8352).
2011-04-23 Juanma Barranquero <lekktu@gmail.com>
* buff-menu.el (Buffer-menu--buffers): Fix typo in docstring (bug#8535).
* play/mpuz.el (mpuz-silent): Doc fix.
(mpuz-mode-map): Use mapc.
(mpuz-put-number-on-board): Rename parameter L to COLUMNS.
(mpuz-letter-to-digit, mpuz-check-all-solved, mpuz-create-buffer):
Fix typos in docstrings.
* play/doctor.el (doc$, doctor-$, doctor-read-print, doctor-read-token)
(doctor-nounp, doctor-pronounp): Fix typos in docstrings.
* mouse-drag.el (mouse-drag-throw): Fix typo in docstring.
2011-04-23 Chong Yidong <cyd@stupidchicken.com>
* minibuffer.el (completion--do-completion): Avoid the "Next char
not unique" prompt if icomplete-mode is enabled (Bug#5849).
* mouse.el (mouse-drag-mode-line-1): Make sure that if we push
mouse-2 into unread-command-events, it is interpreted correctly.
* image-mode.el (image-type, image-mode-map, image-minor-mode-map)
2011-04-09 20:29:22 +00:00
(image-toggle-display): Doc fix.
2011-04-27 19:51:19 +00:00
2011-04-23 Stephen Berman <stephen.berman@gmx.net>
* textmodes/page.el (what-page): Use line-number-at-pos to
calculate line number (Bug#6825).
2011-04-22 Juanma Barranquero <lekktu@gmail.com>
* eshell/esh-mode.el (find-tag-interactive): Declare function.
(eshell-find-tag): Remove `with-no-warnings', unneeded now.
Pass argument NO-DEFAULT to `find-tag-interactive'.
2011-04-22 Juanma Barranquero <lekktu@gmail.com>
Lexical-binding cleanup.
* progmodes/ada-mode.el (ada-after-change-function, ada-loose-case-word)
(ada-no-auto-case, ada-capitalize-word, ada-untab, ada-narrow-to-defun):
* progmodes/ada-prj.el (ada-prj-initialize-values)
(ada-prj-display-page, ada-prj-field-modified, ada-prj-display-help)
(ada-prj-show-value):
* progmodes/ada-xref.el (ada-find-any-references, ada-gdb-application):
* progmodes/antlr-mode.el (antlr-with-displaying-help-buffer)
(antlr-invalidate-context-cache, antlr-options-menu-filter)
(antlr-language-option-extra, antlr-c++-mode-extra, antlr-run-tool):
* progmodes/bug-reference.el (bug-reference-push-button):
* progmodes/fortran.el (fortran-line-length):
* progmodes/glasses.el (glasses-change):
* progmodes/octave-mod.el (octave-fill-paragraph):
* progmodes/python.el (python-mode, python-pdbtrack-track-stack-file)
(python-pdbtrack-grub-for-buffer, python-sentinel):
* progmodes/sql.el (sql-save-connection):
* progmodes/tcl.el (tcl-indent-command, tcl-popup-menu):
* progmodes/xscheme.el (xscheme-enter-debugger-mode):
Mark unused parameters.
* progmodes/compile.el (compilation--flush-directory-cache)
(compilation--flush-parse, compile-internal): Mark unused parameters.
(compilation-buffer-name): Rename parameter MODE-NAME to NAME-OF-MODE.
(compilation-next-error-function): Remove unused variable `timestamp'.
* progmodes/cpp.el (cpp-parse-close): Remove unused variable `begin'.
(cpp-signal-read-only, cpp-grow-overlay): Mark unused parameters.
* progmodes/dcl-mode.el (dcl-end-of-command):
Remove unused variable `start'.
(dcl-calc-command-indent-multiple, dcl-calc-cont-indent-relative)
(dcl-option-value-basic, dcl-option-value-offset)
(dcl-option-value-margin-offset, dcl-option-value-comment-line):
Mark unused parameters.
(dcl-save-local-variable): Remove unused variable `val'.
(mode): Declare.
* progmodes/delphi.el (delphi-save-state, delphi-after-change):
Mark unused parameters.
(delphi-ignore-changes): Move before first use.
(delphi-charset-token-at): Remove unused variable `start'.
(delphi-else-start): Remove unused variable `if-count'.
(delphi-comment-block-start, delphi-comment-block-end):
Remove unused variable `kind'.
(delphi-indent-line): Remove unused variable `new-point'.
* progmodes/ebrowse.el (ebrowse-files-list)
(ebrowse-list-of-matching-members, ebrowse-tags-list-members-in-file):
Mark unused parameters. Don't quote `lambda'.
(ebrowse-sort-tree-list, ebrowse-same-tree-member-buffer-list):
Don't quote `lambda'.
(ebrowse-revert-tree-buffer-from-file, ebrowse-tags-choose-class)
(ebrowse-goto-visible-member/all-member-lists): Mark unused parameters.
(ebrowse-create-tree-buffer): Rename parameter OBARRAY to CLASSES.
(ebrowse-toggle-mark-at-point): Remove unused variable `pnt'.
Use `ignore-errors'.
(ebrowse-frozen-tree-buffer-name, ebrowse-find-source-file)
(ebrowse-view/find-file-and-search-pattern)
(ebrowse-view/find-member-declaration/definition):
Rename parameter TAGS-FILE-NAME to TAGS-FILE.
(ebrowse-find-class-declaration, ebrowse-view-class-declaration):
Rename parameter PREFIX-ARG to PREFIX.
(ebrowse-tags-read-name): Remove unused variables `start' and
`member-info'.
(ebrowse-display-member-buffer): Rename variable `tags-file-name'
to `tags-file'.
* progmodes/etags.el (local-find-tag-hook): Declare.
(tag-partial-file-name-match-p, tag-any-match-p, list-tags):
Mark unused parameters.
* progmodes/executable.el (compilation-error-regexp-alist): Declare.
(executable-interpret): Mark unused parameter.
* progmodes/flymake.el (flymake-process-sentinel)
(flymake-after-change-function)
(flymake-create-temp-with-folder-structure)
(flymake-get-include-dirs-dot): Mark unused parameters.
(flymake-safe-delete-directory): Remove unused variable `err'.
* progmodes/gdb-mi.el (speedbar-change-initial-expansion-list)
(speedbar-timer-fn, speedbar-line-text)
(speedbar-change-expand-button-char, speedbar-delete-subblock)
(speedbar-center-buffer-smartly): Declare functions.
(gdb-find-watch-expression): Remove unused variable `array'.
(gdb-edit-value, gdb-gdb, gdb-ignored-notification, gdb-thread-created)
(gdb-starting): Mark unused parameters.
(gud-gdbmi-marker-filter): Remove unused variable `output-record'.
(gdb-table-string): Remove unused variable `res'.
(gdb-place-breakpoints): Remove unused variables `flag' and `bptno'.
(gdb-disassembly-handler-custom): Remove unused variable `pos'.
(gdb-display-buffer): Remove unused variable `cur-size'.
* progmodes/gud.el (gud-def): Use `defalias' instead of `defun' to
allow lexical-binding compilation.
(gud-expansion-speedbar-buttons, gud-gdb-goto-stackframe)
(gud-dbx-massage-args, gud-xdb-massage-args, gud-perldb-massage-args)
(gud-jdb-massage-args, gud-jdb-find-source, gud-find-class):
Mark unused parameters.
(gud-gdb-marker-filter): Remove unused variable `match'.
(gud-find-class): Bind `syntax-symbol' and `syntax-point' to suitable
lambda expressions and funcall them, instead of using `fset'.
* progmodes/hideif.el (hif-parse-if-exp): Rename parameter
HIF-TOKEN-LIST to TOKEN-LIST and let-bind `hif-token-list'.
* progmodes/hideshow.el (hs-hide-block-at-point): Remove unused
variable `header-beg'; use `let'.
* progmodes/icon.el (indent-icon-exp): Remove unused variables
`restart', `last-sexp' and `at-do'.
* progmodes/js.el (js--debug): Mark unused parameter.
(js--parse-state-at-point): Remove unused variable `bound'; use `let'.
(js--splice-into-items): Remove unused variable `item'.
(js--read-symbol, js--read-tab): Pass 1/-1 to `ido-mode', not t/nil.
* progmodes/make-mode.el (makefile-make-font-lock-keywords):
Rename parameter FONT-LOCK-KEYWORDS to FL-KEYWORDS.
(makefile-complete): Remove unused variable `try'.
(makefile-fill-paragraph, makefile-match-function-end):
Mark unused parameters.
* progmodes/octave-inf.el (inferior-octave-complete):
Remove unused variable `proc'.
(inferior-octave-output-digest): Mark unused parameter.
* progmodes/perl-mode.el (perl-calculate-indent):
Remove unused variable `err'.
* progmodes/prolog.el (prolog-mode-keybindings-inferior)
(prolog-indent-line): Mark unused parameters.
(prolog-indent-line): Remove unused variable `beg'.
* progmodes/ps-mode.el (reporter-prompt-for-summary-p)
(reporter-dont-compact-list): Declare.
* progmodes/sh-script.el (sh-font-lock-quoted-subshell):
Remove unused variable `char'.
(sh-debug): Mark unused parameter.
(sh-get-indent-info): Remove unused variable `start'.
(sh-calculate-indent): Remove unused variable `var'.
* progmodes/simula.el (simula-popup-menu): Mark unused parameter.
(simula-electric-keyword): Remove unused variable `null'.
(simula-search-backward, simula-search-forward): Remove unused
variables `begin' and `end'.
* progmodes/vera-mode.el (vera-guess-basic-syntax):
Remove unused variable `pos'.
(vera-electric-tab, vera-comment-uncomment-region):
Mark unused parameters.
(vera-electric-tab): Rename parameter PREFIX-ARG to PREFIX.
2011-04-22 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/package.el (package--builtins, package-alist)
(package-load-descriptor, package-built-in-p, package-activate)
(define-package, package-installed-p)
(package-compute-transaction, package-buffer-info)
(package--push): Doc fix. Distinguish more clearly between
version strings and version lists.
2011-04-21 Juanma Barranquero <lekktu@gmail.com>
Lexical-binding cleanup.
* play/5x5.el (5x5-make-random-solution, 5x5-make-mutate-current)
(5x5-make-mutate-best):
* play/fortune.el (fortune-in-buffer):
* play/gomoku.el (gomoku-init-display):
* play/solitaire.el (solitaire, solitaire-do-check):
* play/tetris.el (tetris-default-update-speed-function):
Mark unused parameters.
* play/bubbles.el (bubbles-mode): Set `show-trailing-whitespace'.
(bubbles--shift): Remove unused variable `char-org'.
(bubbles--set-faces): Remove unused variable `fg-col'. Simplify.
(bubbles--show-images): Remove unused variable `char'.
* play/decipher.el (decipher-keypress, decipher-alphabet-keypress)
(decipher-get-undo, decipher-set-map, decipher-complete-alphabet)
(decipher-resync, decipher-loop-with-breaks, decipher--analyze)
(decipher-analyze-buffer): Use ?\s.
(decipher-make-checkpoint): Remove unused variable `mapping'.
* play/doctor.el (doctor-doc): Rename parameter DOCTOR-SENT to SENT.
* play/gamegrid.el (gamegrid-add-score-with-update-game-score):
Remove unused variable `result'; use `let'.
* play/gametree.el (gametree-current-layout, gametree-apply-layout):
Rename parameter TOP-LEVEL to FROM-TOP-LEVEL; use `ignore-errors'.
(gametree-children-shown-p, gametree-compute-reduced-score):
Use `ignore-errors'.
* play/handwrite.el (ps-lpr-switches): Declare.
(handwrite): Remove unused variables `pmin' and `lastp'.
* play/hanoi.el (hanoi-move-ring): Remove unused variable `total-steps'.
* play/landmark.el (landmark-init-display)
(landmark-update-naught-weights): Mark unused parameters.
(landmark-y): Remove unused variable `noise'. Simplify.
(landmark-human-plays): Remove unused variable `score'.
* play/mpuz.el (mpuz-try-letter): Remove unused variable `message'.
(mpuz-try-proposal): Remove unused variable `game'.
* play/zone.el (life-patterns): Declare.
2011-04-20 Juanma Barranquero <lekktu@gmail.com>
* vc/vc.el (ediff-vc-internal): Declare function.
2011-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
* shell.el: Use lexical-binding and std completion UI.
(shell-filter-ctrl-a-ctrl-b): Work as a preoutput filter.
(shell-mode): Put shell-filter-ctrl-a-ctrl-b on
comint-preoutput-filter-functions rather than on
comint-output-filter-functions.
(shell-command-completion, shell--command-completion-data)
(shell-filename-completion, shell-environment-variable-completion)
(shell-c-a-p-replace-by-expanded-directory): New functions.
(shell-dynamic-complete-functions, shell-dynamic-complete-command)
(shell-dynamic-complete-filename, shell-replace-by-expanded-directory)
(shell-dynamic-complete-environment-variable): Use them.
(shell-dynamic-complete-as-environment-variable)
(shell-dynamic-complete-as-command): Remove.
(shell-match-partial-variable): Match past point.
* comint.el: Clean up use of completion-at-point-functions.
(comint-completion-at-point): New function.
(comint-mode): Use it completion-at-point-functions.
(comint-dynamic-complete): Make it obsolete.
(comint-replace-by-expanded-history-before-point): Add dry-run arg.
(comint-c-a-p-replace-by-expanded-history): New function.
(comint-dynamic-complete-functions)
(comint-replace-by-expanded-history): Use it.
* minibuffer.el (completion-table-with-terminator): Allow dynamic
termination strings. Try harder to avoid second try-completion.
(completion-in-region-mode-map): Disable bindings that don't work yet.
* comint.el: Use lexical-binding. Require CL.
(comint-dynamic-complete-functions): Use comint-filename-completion.
(comint-completion-addsuffix): Tweak custom type.
(comint-filename-completion, comint--common-suffix)
(comint--common-quoted-suffix, comint--table-subvert)
(comint--complete-file-name-data): New functions.
(comint-dynamic-complete-as-filename, comint-dynamic-complete-filename)
(comint-dynamic-list-filename-completions): Use them.
(comint-dynamic-simple-complete): Make obsolete.
* minibuffer.el (completion-in-region-mode):
Keep completion-in-region-mode--predicate global.
(completion-in-region--postch):
Assume completion-in-region-mode--predicate is not null.
* progmodes/flymake.el (flymake-start-syntax-check-process):
Obey `dir'. Simplify.
* vc/vc.el (vc-version-ediff): Call ediff-vc-internal directly, since
we're in VC after all.
2011-04-20 Christoph Scholtes <cschol2112@googlemail.com>
* vc/vc.el (vc-diff-build-argument-list-internal)
(vc-version-ediff, vc-ediff): New commands.
(vc-version-diff): Use vc-diff-build-argument-list-internal.
2011-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Remove dead code,
add sanity check.
* obsolete/erc-hecomplete.el: Make obsolete.
* obsolete/: Standardize obsolescence info in the header.
2011-04-20 Glenn Morris <rgm@gnu.org>
* calendar/solar.el (solar-horizontal-coordinates):
Use the longitude argument rather than `calendar-longitude'.
(solar-date-next-longitude): Remove unused locals.
2011-04-20 Vinicius Jose Latorre <viniciusjl@ig.com.br>
* whitespace.el: New version 13.2.1.
2011-04-20 felix <EmacsWiki> (tiny change)
* whitespace.el (global-whitespace-mode): keep highlight when
switching between major modes on a file.
2011-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/octave-mod.el (octave-in-comment-p, octave-in-string-p)
(octave-not-in-string-or-comment-p): Use syntax-ppss so it works with
multi-line comments as well.
2011-04-19 13:44:55 +00:00
2011-04-19 Juanma Barranquero <lekktu@gmail.com>
Lexical-binding cleanup.
* arc-mode.el (archive-mode-revert):
* cmuscheme.el (scheme-interactively-start-process):
* custom.el (custom-initialize-delay):
* dnd.el (dnd-open-local-file, dnd-open-remote-url):
* dos-w32.el (direct-print-region-helper, direct-print-region-function):
* emacs-lock.el (emacs-lock-clear-sentinel):
* ezimage.el (defezimage):
* follow.el (follow-avoid-tail-recenter):
* fringe.el (set-fringe-mode-1):
* generic-x.el (bat-generic-mode-compile):
* help-mode.el (help-info-variable, help-do-xref)
(help-mode-revert-buffer):
* help.el (view-emacs-todo):
* iswitchb.el (iswitchb-completion-help):
* jka-compr.el (jka-compr-make-temp-name, jka-compr-load):
* kmacro.el (kmacro-cycle-ring-next, kmacro-cycle-ring-previous)
(kmacro-delete-ring-head, kmacro-bind-to-key, kmacro-view-macro):
* locate.el (locate-update):
* longlines.el (longlines-encode-region)
(longlines-after-change-function):
* outline.el (outline-isearch-open-invisible):
* ps-def.el (declare-function, charset-dimension, char-width)
(encode-char):
* ps-mule.el (ps-mule-plot-string):
* recentf.el (recentf-make-menu-items, recentf-cancel-dialog)
(recentf-edit-list-select, recentf-edit-list-validate)
(recentf-open-files-action):
* rect.el (delete-whitespace-rectangle-line)
(rectangle-number-line-callback):
* register.el (window-configuration-to-register)
(frame-configuration-to-register):
* scroll-bar.el (scroll-bar-mode, toggle-horizontal-scroll-bar):
* select.el (xselect-convert-to-string, xselect-convert-to-length)
(xselect-convert-to-targets, xselect-convert-to-delete)
(xselect-convert-to-filename, xselect-convert-to-charpos)
(xselect-convert-to-lineno, xselect-convert-to-colno)
(xselect-convert-to-os, xselect-convert-to-host)
(xselect-convert-to-user, xselect-convert-to-class)
(xselect-convert-to-name, xselect-convert-to-integer)
(xselect-convert-to-atom, xselect-convert-to-identity):
* subr.el (declare, ignore, process-kill-without-query)
(text-clone-maintain):
* terminal.el (te-get-char, te-tic-sentinel):
* tool-bar.el (tool-bar-make-keymap):
* tooltip.el (tooltip-timeout, tooltip-hide, tooltip-help-tips):
* type-break.el (type-break-mode, type-break-noninteractive-query):
* view.el (View-back-to-mark):
* wid-browse.el (widget-browse-action, widget-browse-widget)
(widget-browse-widgets, widget-browse-sexp):
* widget.el (define-widget-keywords):
* xt-mouse.el (xterm-mouse-translate, turn-off-xterm-mouse-tracking):
Mark unused parameters.
* align.el (align-adjust-col-for-rule): Mark unused parameter.
(align-areas): Remove unused variable `look'.
(align-region): Remove unused variables `real-end' and `pos-list'.
* apropos.el (apropos-score-doc): Remove unused variable `i'.
* bindings.el (mode-line-modified, mode-line-remote):
Mark unused parameters.
(mode-line-mule-info): Mark unused parameter; don't quote `lambda'.
* buff-menu.el (Buffer-menu-revert-function): Mark unused parameters.
(Buffer-menu-mode): Mark unused parameter; don't quote `lambda'.
* comint.el (comint-history-isearch-pop-state)
(comint-postoutput-scroll-to-bottom, comint-truncate-buffer)
(comint-strip-ctrl-m, comint-read-noecho): Mark unused parameters.
(comint-substitute-in-file-name): Doc fix.
* completion.el (cmpl-statistics-block): Mark unused parameter.
(add-completions-from-tags-table, add-completions-from-lisp-buffer)
(save-completions-to-file, load-completions-from-file):
Remove unused local variable `e'.
* composite.el (compose-chars): Remove unused variable `len'.
(lgstring-insert-glyph): Remove unused variable `g'.
(compose-glyph-string): Remove unused variables `ascent',
`descent', `lbearing' and `rbearing'.
(compose-glyph-string-relative): Remove unused variables
`lbearing', `rbearing' and `wadjust'.
(compose-gstring-for-graphic): Remove unused variables `header',
`wadjust', `xoff' and `yoff'. Use `let', not `let*'.
(compose-gstring-for-terminal): Remove unused variables `header'
and `nchars'. Use `let', not `let*'.
* cus-edit.el (Custom-set, Custom-save, custom-reset)
(Custom-reset-current, Custom-reset-saved, Custom-reset-standard)
(Custom-buffer-done, custom-buffer-create-internal)
(custom-browse-visibility-action, custom-browse-group-tag-action)
(custom-browse-variable-tag-action, custom-browse-face-tag-action)
(widget-magic-mouse-down-action, custom-toggle-parent)
(custom-add-parent-links, custom-toggle-hide-variable)
(custom-face-edit-value-visibility-action, custom-face-edit-fix-value)
(custom-toggle-hide-face, face, hook, custom-group-link-action)
(custom-face-menu-create, custom-variable-menu-create, get)
(custom-group-menu-create, Custom-no-edit): Mark unused parameters.
(custom-reset-standard-save-and-update): Remove unused variable `value'.
(customize-apropos): Remove unused variable `tests'.
(custom-group-value-create): Remove unused variable `hidden-p'.
(sort-fold-case): Declare.
* cus-theme.el (custom-reset-standard-faces-list)
(custom-reset-standard-variables-list): Declare.
(customize-create-theme, custom-theme-revert, custom-theme-write)
(custom-theme-choose-mode, customize-themes, custom-theme-save):
Mark unused parameters.
* dabbrev.el (dabbrev-completion): Remove unused variable `init'.
* delim-col.el (delimit-columns-max): Move defvar before first use.
* descr-text.el (describe-char-categories): Don't quote `lambda'.
2011-04-26 14:07:29 +00:00
(describe-char): Don't quote `lambda'. Mark unused parameter.
2011-04-19 13:44:55 +00:00
* desktop.el (desktop-save-buffer-p): Mark unused parameter.
(auto-insert): Declare.
(desktop-restore-file-buffer): Rename desktop-* parameters;
mark unused ones.
(desktop-create-buffer): Rename desktop-* parameters and bind them.
(desktop-buffer): Rename desktop-* parameters.
* dframe.el (x-sensitive-text-pointer-shape, x-pointer-shape): Declare.
(dframe-reposition-frame-xemacs, dframe-help-echo)
(dframe-hack-buffer-menu, dframe-set-timer, dframe-set-timer-internal):
Mark unused parameters.
* dired-aux.el (backup-extract-version-start, overwrite-query)
(overwrite-backup-query, rename-regexp-query)
(rename-non-directory-query): Declare.
(dired-shell-stuff-it, dired-do-create-files): Mark unused parameters.
(dired-add-entry): Remove unused variable `orig-file-name'.
(dired-copy-file-recursive): Remove unused variable `dirfailed'.
Use parameter PRESERVE-TIME instead of accessing dynamic variable
`dired-copy-preserve-time' directly.
(dired-do-create-files-regexp): Remove unused variable `fn-count'.
(dired-insert-subdir-newpos): Rename unused variable `pos'.
* dired-x.el (dired-omit-size-limit): Move defcustom before first use.
(dired-virtual-revert, dired-make-relative-symlink):
Mark unused parameters.
(manual-program): Declare.
(dired-x-hands-off-my-keys): Rename parameters of lambda expression.
(inode, s, mode, nlink, uid, gid, size, time, name, sym): Declare them,
wrapped in `with-no-warnings' to avoid replacing one warning by another.
* dirtrack.el (dirtrack): Remove unused variable `multi-line'.
* dos-fns.el (dos-8+3-filename): Remove unused variable `i'.
* echistory.el (electric-history-in-progress, Helper-return-blurb):
Declare.
* edmacro.el (edmacro-finish-edit): Remove unused variable `kmacro'.
* electric.el (Electric-command-loop): Rename parameter
INHIBIT-QUIT to INHIBIT-QUITTING and bind `inhibit-quit'.
* expand.el (expand-in-literal): Remove unused variable `here'.
* facemenu.el (facemenu-add-new-color):
Remove unused variable `docstring'.
* faces.el (face-id, make-face-bold, make-face-unbold, make-face-italic)
(make-face-unitalic, make-face-bold-italic): Mark unused parameters.
(face-attr-construct): Mark unused parameter. Doc fix.
(read-color): Remove unused variable `hex-string'.
* files.el (parse-colon-path): Rename argument CD-PATH to SEARCH-PATH.
(locate-dominating-file): Remove unused vars `prev-file' and `user'.
(remote-file-name-inhibit-cache, revert-buffer): Clean up docstrings.
(display-buffer-other-frame): Remove unused variable `old-window'.
(kill-buffer-hook): Declare.
(insert-file-contents-literally, set-auto-mode, risky-local-variable-p):
Mark unused parameters.
(after-find-file): Pass 1 to `auto-save-mode', not t.
* files-x.el (auto-insert): Declare.
(modify-file-local-variable-prop-line): Remove unused variable `val'.
* find-lisp.el (find-lisp-find-dired-internal): Remove unused
2011-04-26 14:07:29 +00:00
variable `buf'. Mark unused parameter.
2011-04-19 13:44:55 +00:00
(find-lisp-insert-directory): Mark unused parameter.
* format.el (format-decode-run-method): Mark unused parameter; doc fix.
(format-encode-region): Remove unused variables `cur-buf' and `result'.
(format-common-tail): Remove, unused.
(format-deannotate-region): Remove unused variable `loc'.
(format-annotate-region): Remove unused variable `p'.
(format-annotate-single-property-change): Remove unused variables
`default' and `tail'.
* forms.el (read-file-filter): Declare.
(forms--iif-hook, forms--revert-buffer): Mark unused parameters.
* frame.el (frame-creation-function-alist): Mark unused parameter.
(frame-geom-spec-cons): Pass FRAME to `frame-geom-value-cons'.
* hilit-chg.el (hilit-chg-cust-fix-changes-face-list, hilit-chg-clear):
Remove unused parameters.
(hilit-chg-set-face-on-change): Remove unused variable `beg-decr'.
(highlight-compare-with-file): Remove unused variable `buf-b-read-only'.
* htmlfontify.el (hfy-default-footer, hfy-decor, hfy-invisible)
(hfy-parse-tags-buffer, hfy-prepare-index-i, hfy-prepare-index)
(hfy-prepare-tag-map): Mark unused parameters.
(htmlfontify-buffer): Use `called-interactively-p'.
* ibuf-ext.el (ibuffer-do-kill-lines, ibuffer-jump-to-buffer)
(ibuffer-copy-filename-as-kill, ibuffer-mark-on-buffer)
(ibuffer-do-occur): Mark unused parameters.
(ibuffer-forward-next-marked): Remove unused variable `curmark'.
(ibuffer-diff-buffer-with-file-1): Remove unused variable `proc'.
* ibuffer.el: Don't quote `lambda'.
(ibuffer-count-marked-lines, ibuffer-count-deletion-lines)
(ibuffer-unmark-all, ibuffer-toggle-marks, ibuffer-redisplay-engine):
Mark unused parameters.
* ido.el (ido-mode, ido-wide-find-dir-or-delete-dir)
(ido-completing-read): Mark unused parameters.
(ido-copy-current-word): Mark unused parameters;
remove unused variable `name'.
(ido-sort-merged-list): Remove unused parameter `dirs'.
* ielm.el (ielm-input-sender): Mark unused parameter.
(ielm-string, ielm-form, ielm-pos, ielm-result, ielm-error-type)
(ielm-output, ielm-wbuf, ielm-pmark): Declare.
(ielm-eval-input): Rename argument IELM-STRING to INPUT-STRING to keep
`ielm-string' as a dynamic variable accessible from the IELM prompt.
Bind `ielm-string' to INPUT-STRING. Remove unused variable `err'.
* image-dired.el (image-dired-display-thumbs): Remove unused
variables `curr-file' and `count'.
(image-dired-remove-tag): Remove unused variable `start'.
(image-dired-tag-files, image-dired-create-thumbs): Remove unused
variable `curr-file'
(image-dired-rotate-original): Remove unused variable `temp-file'.
(image-dired-mouse-select-thumbnail, image-dired-mouse-toggle-mark):
Remove unused variable `file'.
(image-dired-gallery-generate): Remove unused variable `curr'.
(image-dired-dired-edit-comment-and-tags): Mark unused parameters.
* indent.el (tab-to-tab-stop): Remove unused variable `opoint'.
* info-xref.el (info-xref-goto-node-p): Remove unused variable `err'.
* informat.el (texinfo-command-start, texinfo-command-end): Declare.
* isearch.el (minibuffer-history-symbol): Declare.
(isearch-edit-string): Remove unused variable `err'.
(isearch-message-prefix, isearch-message-suffix):
Mark unused parameters.
* ls-lisp.el (ls-lisp-insert-directory): Remove unused variable `fil'.
* macros.el (insert-kbd-macro): Remove unused variable `mods'.
* makesum.el (double-column): Remove unused variable `cnt'.
* misearch.el (multi-isearch-pop-state): Mark unused parameter.
(ido-ignore-item-temp-list): Declare.
* mouse-drag.el (mouse-drag-throw): Remove unused variables
`mouse-delta', `window-last-row', `mouse-col-delta', `window-last-col',
`adjusted-mouse-col-delta' and `adjusted-mouse-delta'.
(mouse-drag-drag): Remove unused variables `mouse-delta' and
`mouse-col-delta'.
* mouse-sel.el (mouse-extend-internal):
Remove unused variable `orig-window-frame'.
* pcomplete.el (pcomplete-args, pcomplete-begins, pcomplete-last)
(pcomplete-index, pcomplete-stub, pcomplete-seen, pcomplete-norm-func):
Move declarations before first use.
(pcomplete-opt): Mark unused parameters; doc fix.
* proced.el (proced-revert): Mark unused parameter.
(proced-send-signal): Remove unused variable `err'.
* ps-print.el (ps-print-preprint-region, ps-print-preprint):
Rename parameter PREFIX-ARG to ARG.
(ps-basic-plot-string, ps-basic-plot-whitespace):
Mark unused parameters.
* replace.el (replace-count): Define.
(occur-revert-function): Mark unused parameters.
(ido-ignore-item-temp-list, isearch-error, isearch-forward)
(isearch-case-fold-search, isearch-string): Declare.
(occur-engine): Rename parameter CASE-FOLD-SEARCH to CASE-FOLD and
bind `case-fold-search'. Remove unused variables `beg' and `end',
and simplify.
(replace-eval-replacement): Rename parameter REPLACE-COUNT to
COUNT and bind `replace-count'.
(replace-loop-through-replacements): Rename parameter REPLACE-COUNT
to COUNT.
* savehist.el (print-readably, print-string-length): Declare.
* shadowfile.el (shadow-expand-cluster-in-file-name):
Remove unused variable `cluster'.
(shadow-copy-file): Remove unused variable `i'.
(shadow-noquery, shadow-clusters, shadow-site-cluster)
(shadow-parse-fullname, shadow-parse-name, shadow-define-cluster)
(shadow-define-literal-group, shadow-define-regexp-group)
(shadow-make-group, shadow-shadows-of): Clean up docstrings.
* shell.el (shell-filter-ctrl-a-ctrl-b): Mark unused parameter.
(shell): Use `called-interactively-p'.
(shell-directory-tracker): Remove unused variable `chdir-failure'.
* simple.el (compilation-context-lines, comint-file-name-quote-list)
(comint-file-name-chars, comint-delimiter-argument-list): Declare.
(delete-backward-char): Remove unused variable `ocol'.
(minibuffer-avoid-prompt, minibuffer-history-isearch-pop-state)
(line-move-1, event-apply-alt-modifier, event-apply-super-modifier)
(event-apply-hyper-modifier, event-apply-shift-modifier)
(event-apply-control-modifier, event-apply-meta-modifier):
Mark unused parameters.
(undo-make-selective-list): Remove duplicate variable `undo-elt'.
(normal-erase-is-backspace-mode): Remove unused variable `old-state'.
* speedbar.el (speedbar-ignored-directory-expressions)
(speedbar-supported-extension-expressions, speedbar-directory-buttons)
(speedbar-find-file, speedbar-dir-follow)
(speedbar-directory-buttons-follow, speedbar-tag-find)
(speedbar-buffer-buttons, speedbar-buffer-buttons-temp)
(speedbar-buffers-line-directory, speedbar-buffer-click):
Mark unused parameters.
(speedbar-tag-file): Remove unused variable `mode'.
(speedbar-buffers-tail-notes): Remove unused variable `mod'; simplify.
* strokes.el (strokes-decode-buffer): Remove unused variable `ext'.
* talk.el (talk): Remove unused variable `display'.
* tar-mode.el (tar-subfile-save-buffer): Remove unused variable `name'.
(tar-write-region-annotate): Mark unused parameter.
* time.el (now, time, load, mail, 24-hours, hour, 12-hours, am-pm)
(minutes, seconds, time-zone, day, year, monthname, month, dayname):
Declare them, wrapped in `with-no-warnings' to avoid replacing one
warning by another.
* time-stamp.el (time-stamp-string-preprocess):
Remove unused variable `require-padding'.
* tree-widget.el (widget-glyph-enable): Declare.
(tree-widget-action): Mark unused parameter.
* w32-fns.el (x-get-selection): Mark unused parameter.
(autoload-make-program, generated-autoload-file): Declare.
* wdired.el (wdired-revert): Mark unused parameters.
(wdired-xcase-word): Remove unused variable `err'.
* whitespace.el (whitespace-buffer-changed): Mark unused parameters.
(whitespace-help-scroll): Remove unused variable `data-help'.
* wid-edit.el (widget-mouse-help, widget-overlay-inactive)
(widget-image-insert, widget-after-change, default)
(widget-default-format-handler, widget-default-notify)
(widget-default-prompt-value, widget-info-link-action)
(widget-url-link-action, widget-function-link-action)
(widget-variable-link-action, widget-file-link-action)
(widget-emacs-library-link-action, widget-emacs-commentary-link-action)
(widget-field-prompt-internal, widget-field-action, widget-field-match)
(widget-choice-mouse-down-action, toggle, widget-radio-button-notify)
(widget-insert-button-action, widget-delete-button-action, visibility)
(widget-documentation-link-action, widget-documentation-string-action)
(widget-const-prompt-value, widget-regexp-match, symbol)
(widget-coding-system-prompt-value)
(widget-key-sequence-value-to-external, sexp)
(widget-sexp-value-to-internal, character, vector, cons)
(widget-choice-prompt-value, widget-boolean-prompt-value)
(widget-color--choose-action): Mark unused parameters.
(widget-item-match-inline, widget-choice-match-inline)
(widget-checklist-match, widget-checklist-match-inline)
(widget-group-match): Rename parameter VALUES to VALS.
(widget-field-value-set): Remove unused variable `size'.
(widget-color-action): Remove unused variables `value' and `start'.
* windmove.el (windmove-wrap-loc-for-movement): Remove unused
2011-04-26 14:07:29 +00:00
variable `dir'. Doc fix.
2011-04-19 13:44:55 +00:00
(windmove-find-other-window): Don't pass it.
* window.el (count-windows): Mark unused parameter.
(bw-adjust-window): Remove unused variable `err'.
* woman.el (woman-file-name): Remove unused variable `default'.
(woman-expand-directory-path): Rename parameters WOMAN-MANPATH and
WOMAN-PATH to PATH-DIRS and PATH-REGEXPS, respectively.
(global-font-lock-mode): Declare.
(woman-decode-region): Mark unused parameter.
(woman-get-tab-stop): Rename parameter TAB-STOP-LIST to TAB-STOPS.
* x-dnd.el (x-dnd-default-test-function, x-dnd-handle-old-kde)
(x-dnd-handle-xdnd, x-dnd-handle-motif): Mark unused parameters.
(x-dnd-handle-moz-url): Remove unused variable `title'.
(x-dnd-handle-xdnd): Remove unused variables `x', `y' and `ret-action'.
* xml.el (xml-parse-tag, xml-parse-attlist):
Remove unused variable `pos'.
2011-04-19 Glenn Morris <rgm@gnu.org>
* calendar/cal-tex.el (cal-tex-list-holidays, cal-tex-cursor-month)
(cal-tex-cursor-week, cal-tex-cursor-week2, cal-tex-cursor-week-iso)
(cal-tex-cursor-filofax-2week, cal-tex-cursor-filofax-week)
(cal-tex-cursor-filofax-daily, cal-tex-mini-calendar)
* calendar/cal-html.el (cal-html-insert-minical):
* calendar/diary-lib.el (diary-list-entries-1, diary-list-entries)
(calendar-mark-date-pattern):
Prefix "unused" locals.
* calendar/cal-dst.el (dst-adjust-time): Remove never-implemented
optional argument `style'.
* calendar/appt.el (appt-make-list):
* calendar/cal-china.el (calendar-chinese-date-string):
* calendar/cal-hebrew.el (calendar-hebrew-list-yahrzeits)
(diary-hebrew-yahrzeit):
* calendar/cal-tex.el (cal-tex-last-blank-p, cal-tex-cursor-week2):
* calendar/calendar.el (calendar-generate-window):
* calendar/time-date.el (time-to-days):
Remove unused local variables.
2011-04-18 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/tabulated-list.el (tabulated-list-mode): Use a custom
glyphless-char-display table.
(tabulated-list-glyphless-char-display): New var.
2011-04-18 Sam Steingold <sds@gnu.org>
* vc/add-log.el (change-log-font-lock-keywords): Add "Thanks to"
to acknowledgments.
2011-04-17 Glenn Morris <rgm@gnu.org>
* calendar/diary-lib.el (diary-sexp-entry):
* calendar/holidays.el (holiday-sexp):
Set debug-on-error rather than the removed stack-trace-on-error.
2011-04-16 Glenn Morris <rgm@gnu.org>
* progmodes/f90.el: Use lexical-binding.
(f90-get-correct-indent): Remove unnecessary local variable `cont'.
2011-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
* mail/sendmail.el (mail-mode-map): Use completion-at-point.
(mail-mode): Setup mailalias completion here instead.
* mail/mailalias.el: Use lexical-binding.
(pattern, mailalias-done): Declare dynamic.
(mail-completion-at-point-function): New function, from mail-complete.
(mail-complete): Use it.
(mail-completion-expand): New function.
(mail-get-names): Use it.
(mail-directory, mail-directory-process, mail-directory-stream):
Don't use `pattern' for lexically bound arg.
* emacs-lisp/lisp-mode.el (eval-defun-2): Use eval-sexp-add-defvars.
* htmlfontify.el (hfy-etags-cmd): Remove inoperant eval-and-compile.
(hfy-e2x-etags-cmd, hfy-etags-cmd-alist-default)
(hfy-etags-cmd-alist): Don't eval-and-compile any more.
* emacs-lisp/bytecomp.el (byte-temp-output-buffer-show)
(byte-save-window-excursion, byte-temp-output-buffer-setup)
(byte-interactive-p): Define them again, for use when inlining
old code.
2011-04-15 Juanma Barranquero <lekktu@gmail.com>
* loadup.el: Use `string-to-number', not `string-to-int'.
2011-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/gud.el (gud-gdb): Use completion-at-point instead of
gud-gdb-complete-command.
(gud-gdb-completions): New function, from gud-gdb-complete-command.
(gud-gdb-completion-at-point): New function.
(gud-gdb-completions): Remove.
2011-04-14 Michael Albinus <michael.albinus@gmx.de>
* net/tramp-sh.el (tramp-sh-handle-file-attributes): Handle the case
when the scripts fail. Use `tramp-do-file-attributes-with-ls' then.
(tramp-do-copy-or-rename-file-out-of-band): Do not check any longer
whether `executable-find' is bound.
* net/tramp-smb.el (tramp-smb-handle-copy-file): Fix docstring.
2011-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuffer.el (completion-in-region-mode-predicate)
(completion-in-region-mode--predicate): New vars.
(completion-in-region, completion-in-region--postch)
(completion-in-region-mode): Use them.
(completion--capf-wrapper): Also return the hook function.
(completion-at-point, completion-help-at-point):
Adjust and provide a predicate.
Preserve arg names for advice of subr and lexical functions (bug#8457).
* help-fns.el (help-function-arglist): Consolidate the subr and
new-byte-code cases. Add argument `preserve-names' to extract names
from the docstring when needed.
* emacs-lisp/advice.el (ad-define-subr-args, ad-undefine-subr-args)
(ad-subr-args-defined-p, ad-get-subr-args, ad-subr-arglist): Remove.
(ad-arglist): Use help-function-arglist's new arg.
(ad-definition-type): Use cond.
2011-04-13 Juanma Barranquero <lekktu@gmail.com>
* autorevert.el (auto-revert-handler):
Bind `remote-file-name-inhibit-cache', not `tramp-cache-inhibit-cache',
which was removed in 2010-10-02T13:21:43Z!michael.albinus@gmx.de.
Don't quote lambda.
* image-mode.el (image-transform-set-scale):
Fix change in 2011-04-09T20:28:01Z!cyd@stupidchicken.com.
2011-04-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
* net/network-stream.el (network-stream-open-starttls): Only do
opportunistic STARTTLS upgrades if we have built-in gnutls support.
Upgrades via gnutls-cli are too slow to be done opportunistically.
2011-04-12 Juanma Barranquero <lekktu@gmail.com>
* dframe.el (dframe-current-frame): Remove spurious quote.
2011-04-12 Glenn Morris <rgm@gnu.org>
* calendar/cal-tex.el (cal-tex-end-document):
Try to automatically use latin1 input if needed.
* calendar/cal-hebrew.el (diary-hebrew-rosh-hodesh):
Don't try to cons a mark onto an empty element.
2011-04-11 03:44:54 +00:00
2011-04-11 Leo Liu <sdl.web@gmail.com>
* ido.el (ido-buffer-internal): Allow method 'kill for virtual
buffers.
(ido-kill-buffer-at-head): Support killing virtual buffers.
2011-04-10 Chong Yidong <cyd@stupidchicken.com>
* minibuffer.el (completion-show-inline-help): New var.
(completion--do-completion, minibuffer-complete)
(minibuffer-force-complete, minibuffer-complete-word):
Inhibit minibuffer messages if completion-show-inline-help is nil.
* icomplete.el (icomplete-mode): Bind completion-show-inline-help
to avoid interference from inline help (Bug#5849).
2011-04-10 14:21:26 +00:00
2011-04-10 Leo Liu <sdl.web@gmail.com>
2011-04-12 13:14:44 +00:00
* emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
Fix typo.
2011-04-10 14:21:26 +00:00
2011-04-09 Chong Yidong <cyd@stupidchicken.com>
* image-mode.el (image-toggle-display-image): Signal an error if
not in Image mode.
(image-transform-mode, image-transform-resize)
(image-transform-set-rotation): Doc fix.
(image-transform-set-resize): Delete.
(image-transform-set-scale, image-transform-fit-to-height)
(image-transform-fit-to-width): Handle image-toggle-display-image
and image-transform-resize directly.
2011-04-12 13:14:44 +00:00
2011-04-08 Sho Nakatani <lay.sakura@gmail.com>
* doc-view.el (doc-view-fit-width-to-window)
2011-04-12 13:14:44 +00:00
(doc-view-fit-height-to-window, doc-view-fit-page-to-window):
New functions for fitting the shown image to the Emacs window size.
(doc-view-mode-map): Add bindings for the new functions.
2011-04-12 13:14:44 +00:00
2011-04-08 Juanma Barranquero <lekktu@gmail.com>
2011-03-24 01:57:22 +00:00
* vc-annotate.el (vc-annotate-show-log-revision-at-line):
Fix typo in docstring.
2011-04-08 Eli Zaretskii <eliz@gnu.org>
* files.el (file-size-human-readable): Produce one digit after
decimal, like "ls -lh" does.
* ls-lisp.el (ls-lisp-format-file-size): Allow for 7 characters in
the file size representation.
* simple.el (list-processes): If async subprocesses are not
available, error out with a clear error message.
2011-04-08 Chong Yidong <cyd@stupidchicken.com>
* help.el (help-form-show): New function, to be called from C.
Put help-form output in a buffer named differently than *Help*.
2011-04-08 Eli Zaretskii <eliz@gnu.org>
* files.el (file-size-human-readable): New function.
* ls-lisp.el (ls-lisp-format-file-size): Use it, instead of
computing the representation inline. Don't require `cl'.
2011-04-08 Glenn Morris <rgm@gnu.org>
* man.el (Man-page-header-regexp): Solaris < 2.6 no longer supported.
* net/browse-url.el (browse-url-firefox):
Test system-type, not system-configuration.
* vc/log-edit.el (log-edit-empty-buffer-p): New function.
(log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate):
Use log-edit-empty-buffer-p. (Bug#7598)
* net/rlogin.el (rlogin-process-connection-type): Simplify.
(rlogin-mode-map): Initialize in the defvar.
(rlogin): Use ignore-errors.
* replace.el (occur-mode-map): Some fixes for menu items.
2011-04-07 Aaron S. Hawley <aaron.s.hawley@gmail.com>
* play/morse.el (denato-region): Handle varying case. (Bug#8386)
2011-04-06 Chong Yidong <cyd@stupidchicken.com>
* 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.
* 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 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/tabulated-list.el: New file.
* 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): Rename from package-print-package.
Return insertion data instead of inserting it directly.
2011-04-12 13:14:44 +00:00
(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)
2011-04-12 13:14:44 +00:00
(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 Juanma Barranquero <lekktu@gmail.com>
* files.el (after-find-file-from-revert-buffer): Remove variable.
(after-find-file): Don't 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 Glenn Morris <rgm@gnu.org>
* Makefile.in (AUTOGEN_VCS): New variable.
(autoloads): Use $AUTOGEN_VCS.
* 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 Chong Yidong <cyd@stupidchicken.com>
* minibuffer.el (completion-in-region--postch)
(completion-in-region-mode): Remove unnecessary messages.
2011-04-05 Juanma Barranquero <lekktu@gmail.com>
* 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).
* 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 docstrings.
(Info-virtual-index): Remove unused local variable `nodename'.
2011-04-05 Deniz Dogan <deniz@dogan.se>
* net/rcirc.el: Update my e-mail address.
(rcirc-mode-map): Remove M-o binding.
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 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 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 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 Chong Yidong <cyd@stupidchicken.com>
* dired-aux.el (dired-create-files): Add docstring (Bug#7970).
* 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 Chong Yidong <cyd@stupidchicken.com>
2011-04-12 13:14:44 +00:00
* emacs-lisp/package.el (package--with-work-buffer):
Recognize https URLs.
2011-04-12 13:14:44 +00:00
* 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 Glenn Morris <rgm@gnu.org>
* 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.
* find-dired.el (find-ls-option, find-ls-subdir-switches)
(find-grep-options): Do not autoload these defcustoms, remove purecopy.
(find-name-arg): Remove purecopy.
* 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.
* files.el (save-some-buffers): Doc fix.
2011-04-02 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in (EMACS): Default to ../src/$(BLD)/emacs.exe.
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 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.
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.
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.
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.
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):
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:
* 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 Eli Zaretskii <eliz@gnu.org>
* info.el (info-display-manual): New function.
2011-03-31 Stefan Monnier <monnier@iro.umontreal.ca>
* loadup.el: Load minibuffer after loaddefs, to use define-minor-mode.
2011-03-31 Tassilo Horn <tassilo@member.fsf.org>
* net/rcirc.el (rcirc-handler-001): Only authenticate, if there's
an entry for that server in rcirc-authinfo. (Bug#8385)
2011-03-31 Glenn Morris <rgm@gnu.org>
* progmodes/f90.el (f90-find-tag-default): Handle multiple `%'.
* generic-x.el (etc-fstab-generic-mode): Add ext4, sysfs keywords.
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 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 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 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 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 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-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
Kerberos, SSL, other subprocesses.
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 Jan Djärv <jan.h.d@swipnet.se>
* cus-start.el (all): Add boolean ns-auto-hide-menu-bar.
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 Leo Liu <sdl.web@gmail.com>
* midnight.el (midnight-time-float): Remove. Note it calculates
the microsecond component incorrectly and seconds-to-time does the
same job.
Remove redundant (require 'timer).
* ido.el (ido-read-internal): Simplify with read-from-minibuffer.
(ido-completions): Remove unused arguments. (Bug#8329)
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 Leo Liu <sdl.web@gmail.com>
* abbrevlist.el: Move to obsolete/abbrevlist.el.
* help-mode.el (help-mode-finish): Tweak regexp.
2011-03-23 Glenn Morris <rgm@gnu.org>
* eshell/esh-opt.el (eshell-eval-using-options):
Do not bind unused local variable `eshell-option-stub'.
* progmodes/gdb-mi.el (gdb): Fix typo in previous change.
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 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 Juanma Barranquero <lekktu@gmail.com>
* simple.el (backward-delete-char-untabify):
Avoid warning about using `delete-backward-char'.
* 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 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.
(rcirc-user-authenticated): Define to fix compiler warning.
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.
(enable-theme): Accept only loaded themes as arguments.
Ignore the special custom-enabled-themes variable.
(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 Leo Liu <sdl.web@gmail.com>
* ido.el (ido-read-internal): Add ido-selected to history instead
of user input.
2011-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
* subr.el (deferred-action-list, deferred-action-function):
Mark obsolete.
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).
* 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 Glenn Morris <rgm@gnu.org>
* eshell/esh-opt.el (eshell-eval-using-options, eshell-process-args):
Doc fixes.
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 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 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 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 Chong Yidong <cyd@stupidchicken.com>
* dired-aux.el (dired-create-directory): Signal an error if the
directory already exists (Bug#8246).
* 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 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 Ralph Schleicher <rs@ralph-schleicher.de> (tiny change)
* 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>
* 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 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 Stefan Monnier <monnier@iro.umontreal.ca>
* 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-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 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*'.
* lisp/calc/README: Mention musical notes. * lisp/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'. * lisp/calc/calc-ext.el (calc-init-extensions): Update the names of the functions being autoloaded. * lisp/calc/calc.el (calc-lu-power-reference): Rename from `calc-logunits-power-reference'. (calc-lu-field-reference): Rename from `calc-logunits-field-reference'. * lisp/calc/calc-help (calc-l-prefix-help): Mention musical note functions. * doc/misc/calc.texi (Logarithmic Units): Update the function names.
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 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuffer.el (completion-all-sorted-completions):
Use :completion-cycle-penalty text property if present.
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 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 Ken Manheimer <ken.manheimer@gmail.com>
2011-03-16 01:28:20 +00:00
* allout.el (allout-make-topic-prefix, allout-rebullet-heading):
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 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 Chong Yidong <cyd@stupidchicken.com>
* startup.el (command-line): Update package subdirectory regexp.
2011-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
* allout.el (allout-abbreviate-flattened-numbering)
(allout-mode-deactivate-hook): Fix up obsolescence "date".
* subr.el (read-char-choice): Only show the cursor after the prompt,
not after the answer.
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 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/bytecomp.el (byte-compile-save-excursion): Change the
warning message.
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 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 Juanma Barranquero <lekktu@gmail.com>
* help.el (describe-mode): Link to the mode's definition (bug#8185).
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 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 Stefan Monnier <monnier@iro.umontreal.ca>
* 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.
* emacs-lisp/bytecomp.el (byte-compile-make-obsolete-variable):
Disable obsolescence warnings in the file that declares it.
2011-03-11 Ken Manheimer <ken.manheimer@gmail.com>
2011-04-12 13:14:44 +00:00
* allout-widgets.el (allout-widgets-tally):
Initialize 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 Juanma Barranquero <lekktu@gmail.com>
* help-fns.el (describe-variable): Don't complete keywords.
Suggested by Teodor Zlatanov <tzz@lifelogs.com>.
2011-03-10 Chong Yidong <cyd@stupidchicken.com>
* 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 Michael Albinus <michael.albinus@gmx.de>
* simple.el (delete-trailing-whitespace): Return nil for the
benefit of `write-file-functions'.
2011-03-10 Glenn Morris <rgm@gnu.org>
* vc/vc-hg.el (vc-hg-pull, vc-hg-merge-branch): Use vc-hg-program.
* 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.
* eshell/esh-util.el (eshell-condition-case): Doc fix.
* cus-edit.el (Custom-newline): If no button at point, look
for a subgroup button at start-of-line. (Bug#2298)
* mail/rmail.el (rmail-msgend, rmail-msgbeg): Doc fixes.
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 Jay Belanger <jay.p.belanger@gmail.com>
* calc/calc.el (calc-mode-map): Don't bind "C-_" to `calc-missing-key'.
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
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 Michael Albinus <michael.albinus@gmx.de>
* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Do not use `tramp-file-name-port', because this returns also
`tramp-default-port'.
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 Glenn Morris <rgm@gnu.org>
* shell.el (shell-mode):
Set comint-input-ring-size from HISTSIZE. (Bug#7889)
* progmodes/gdb-mi.el (gdb): Improve 2010-12-08 change.
Check for GDBHISTFILE, HISTSIZE, etc. (Bug#7889)
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 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.
* emacs-lisp/package-x.el (package-upload-buffer-internal):
Use `equal' for upload base check.
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 Glenn Morris <rgm@gnu.org>
* cus-start.el (cursor-in-non-selected-windows):
Fix :set quoting oddness. (Bug#8192)
* font-lock.el (lisp-font-lock-keywords-1): Don't highlight `)'
in some setf expressions. (Bug#2159)
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/>.