Stefan Monnier [Thu, 24 Mar 2011 15:31:56 +0000 (11:31 -0400)]
Fix C-M-x in lexbind mode. Misc tweaks.
* lisp/startup.el: Convert to lexical-binding. Mark unused arguments.
(command-line-1): Get rid of the "cl1-" prefix now that we use lexical
scoping instead.
* lisp/emacs-lisp/float-sup.el (pi): Leave it lexically scoped.
* lisp/emacs-lisp/lisp-mode.el (eval-sexp-add-defvars): New fun.
(eval-last-sexp-1): Use eval-sexp-add-defvars.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun): Use eval-sexp-add-defvars.
* lisp/emacs-lisp/cconv.el (cconv--analyse-function):
Fix `report-error/log-warning' mixup.
Stefan Monnier [Wed, 23 Mar 2011 00:53:36 +0000 (20:53 -0400)]
Clean up left over Emacs-18/19 code, inline byte-code-functions.
* lisp/emacs-lisp/byte-opt.el (byte-inline-lapcode): Move to bytecomp.el.
(byte-compile-inline-expand): Inline all bytecompiled functions.
Unify the inlining code of the lexbind and dynbind interpreted functions.
(byte-compile-unfold-lambda): Don't handle byte-compiled functions at all.
(byte-optimize-form-code-walker): Don't optimize byte-compiled inlined
functions here.
(byte-compile-splice-in-already-compiled-code): Remove.
(byte-code): Don't optimize it any more.
(byte-decompile-bytecode-1): Remove unused bytedecomp-bytes.
Leave `byte-return's even for `make-spliceable'.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
byte-compile-lambda now always returns a byte-code-function.
(byte-compile-byte-code-maker, byte-compile-byte-code-unmake)
(byte-compile-closure): Remove.
(byte-compile-lambda): Always return a byte-code-function.
(byte-compile-top-level): Don't handle `byte-code' forms specially.
(byte-compile-inline-lapcode): New function, taken from byte-opt.el.
(byte-compile-unfold-bcf): New function.
(byte-compile-form): Use it to optimize inline byte-code-functions.
(byte-compile-function-form, byte-compile-defun): Simplify.
(byte-compile-defmacro): Don't bother calling
byte-compile-byte-code-maker.
* autogen/: New directory, to be excluded from releases.
* autogen/copy_autogen, autogen/update_autogen: New scripts.
* autogen/README: New file.
* autogen/aclocal.m4, autogen/config.in, autogen/configure:
* autogen/Makefile.in: Add auto-updated generated files.
* autogen.sh: No longer a no-op, now it tests for autotools
and runs them as necessary.
* minibuf.c (Vcompleting_read_function): Don't declare, global variables
are now in src/globals.h.
(syms_of_minibuf): Remove spurious & from previous change.
Christian Ohler [Sun, 20 Mar 2011 10:17:10 +0000 (21:17 +1100)]
* 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.
Chong Yidong [Sat, 19 Mar 2011 21:37:21 +0000 (17:37 -0400)]
Fix facemenu to populate buffer inside the with-help-window call.
See http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg01193.html
* facemenu.el (list-colors-display): Call list-faces-display from
inside with-help-window.
(list-colors-print): Use display property to align the final
column, instead of checking window-width.
Chong Yidong [Sat, 19 Mar 2011 18:27:55 +0000 (14:27 -0400)]
Fix tar package handling, and clean up package-subdirectory-regexp usage.
* lisp/startup.el (package-subdirectory-regexp): Move from package.el.
Omit \\` and \\', and let callers add them.
* lisp/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.
Chong Yidong [Sat, 19 Mar 2011 16:42:53 +0000 (12:42 -0400)]
Backport fix for Bug#8219 from trunk.
* buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
(BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
These macros can no longer be used for assignment.
* buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Assign
struct members directly, instead of using BUF_BEGV etc.
(record_buffer_markers, fetch_buffer_markers): New functions for
recording and fetching special buffer markers.
(set_buffer_internal_1, set_buffer_temp): Use them.
* lread.c (unreadchar): Use SET_BUF_PT_BOTH.
* insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
* intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
(get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
* xdisp.c (hscroll_window_tree):
(reconsider_clip_changes): Use PT instead of BUF_PT.
Eli Zaretskii [Sat, 19 Mar 2011 09:30:56 +0000 (11:30 +0200)]
Fix emerge.el on MS-Windows and MS-DOS.
lisp/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.
Stefan Monnier [Sat, 19 Mar 2011 00:21:27 +0000 (20:21 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block, cl-block-wrapper)
(cl-block-throw, cl-byte-compile-throw): Use a compiler-macro rather
than a `byte-compile' hook to optimize away unused CL blocks, so that
also works for lexbind code.
Move the code after define-compiler-macro.
Stefan Monnier [Fri, 18 Mar 2011 19:52:05 +0000 (15:52 -0400)]
* vc/diff-mode.el (diff-mode-map): Shadow problematic bindings from
diff-mode-shared-map.
(diff-mode-shared-map): Re-introduce some bindings that were problematic.
Gnus developers [Fri, 18 Mar 2011 13:45:04 +0000 (13:45 +0000)]
Merge changes made in Gnus trunk.
message.texi (Various Commands): Document format specs in the ellipsis.
time-date.el (format-seconds): Use assoc instead of assoc-string to avoid warning on XEmacs.
gnus-art.el: Require mouse, which the build bot seems to say is needed.
gravatar.el (gravatar-retrieve-synchronously): Use `url-retrieve' on XEmacs, since it doesn't have url-retrieve-synchronously.
time-date.el (format-seconds): Use assoc instead of assoc-string, since assoc-string doesn't exist in XEmacs.
gnus-group.el (gnus-group-list-ticked): New function.
(gnus-group-make-menu-bar): Provide a menu entry for it.
(gnus-group-list-map): Provide a binding for it.
shr.el (shr-visit-file): New command.
nnimap.el (nnimap-fetch-inbox): Rewrite slightly last patch.
nnimap.el (nnimap-fetch-inbox): Don't download bodies on ver4-capable servers.
Julien Danjou [Thu, 17 Mar 2011 11:30:27 +0000 (11:30 +0000)]
mm-uu.el (mm-uu-dissect-text-parts): Only dissect handle that are inline.
gnus-art.el (article-hide-list-identifiers): Use gnus-group-get-list-identifiers.
* gnus-sum.el (gnus-group-get-list-identifiers): New function.
(gnus-summary-remove-list-identifiers): Use gnus-group-get-list-identifiers to get regexp.
(gnus-select-newsgroup, gnus-summary-insert-subject, gnus-summary-insert-articles): Call gnus-summary-remove-list-identifiers unconditionally.
Paul Eggert [Thu, 17 Mar 2011 05:15:08 +0000 (22:15 -0700)]
* process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
That way, the code declares only the vars that it needs.
* s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
* s/cygwin.h (PTY_ITERATION): Likewise.
* s/darwin.h (PTY_ITERATION): Likewise.
* s/gnu-linux.h (PTY_ITERATION): Likewise.
Jay Belanger [Thu, 17 Mar 2011 01:30:08 +0000 (20:30 -0500)]
* 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'.
Stefan Monnier [Wed, 16 Mar 2011 20:08:39 +0000 (16:08 -0400)]
Remove bytecomp- prefix, plus misc changes.
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Make it work to
inline lexbind interpreted functions into lexbind code.
(bytedecomp-bytes): Not a dynamic var any more.
(disassemble-offset): Get the bytes via an argument instead.
(byte-decompile-bytecode-1): Use push.
* lisp/emacs-lisp/bytecomp.el: Remove the bytecomp- prefix now that we use
lexical-binding.
(byte-compile-outbuffer): Rename from bytecomp-outbuffer.
* lisp/emacs-lisp/cl-macs.el (load-time-value):
* lisp/emacs-lisp/cl.el (cl-compiling-file): Adjust to new name.
* lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
Add byte-code-function-p.
(pcase--u1): Remove left-over code from early development.
Fix case of variable shadowing in guards and predicates.
(pcase--u1): Add a new `let' pattern.
* src/image.c (parse_image_spec): Use Ffunctionp.
* src/lisp.h: Declare Ffunctionp.