Stefan Monnier [Mon, 21 Feb 2011 23:40:54 +0000 (18:40 -0500)]
* lisp/emacs-lisp/cconv.el (cconv-closure-convert-rec): Let the byte
compiler choose the representation of closures.
(cconv--env-var): Remove.
* lisp/emacs-lisp/bytecomp.el (byte-compile--env-var): New var.
(byte-compile-make-closure, byte-compile-get-closed-var):
New functions.
* lisp/cedet/semantic/wisent/comp.el (wisent-byte-compile-grammar):
Macroexpand before passing to byte-compile-form.
Stefan Monnier [Mon, 21 Feb 2011 22:34:51 +0000 (17:34 -0500)]
Merge from trunk
Stefan Monnier [Mon, 21 Feb 2011 20:31:07 +0000 (15:31 -0500)]
Missing files in last commit; remove stack-depth in byte-optimize-lapcode
Christoph Scholtes [Mon, 21 Feb 2011 20:16:43 +0000 (22:16 +0200)]
Add stdint.h for MS-Windows.
nt/inc/stdint.h: New file, to support compilation with tool chains
that do not have stdint.h (e.g. MSVC).
lib/makefile.w32-in: ($(BLD)/md5.$(O)): Added dependency on
$(EMACS_ROOT)/nt/inc/stdint.h.
Stefan Monnier [Mon, 21 Feb 2011 20:12:44 +0000 (15:12 -0500)]
Use offsets relative to top rather than bottom for stack refs
* lisp/emacs-lisp/byte-opt.el (byte-compile-side-effect-and-error-free-ops):
Remove interactive-p.
(byte-optimize-lapcode): Update optimizations now that stack-refs are
relative to the top rather than to the bottom.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode):
Turn stack-ref-0 into dup.
(byte-compile-form): Don't indirect-function since it can signal
errors.
(byte-compile-stack-ref, byte-compile-stack-set): Adjust to stack-refs
being relative to top rather than to bottom in the byte-code.
(with-output-to-temp-buffer): Remove.
(byte-compile-with-output-to-temp-buffer): Remove.
* lisp/emacs-lisp/cconv.el: Use lexical-binding.
(cconv--lookup-let): Rename from cconv-lookup-let.
(cconv-closure-convert-rec): Fix handling of captured+mutated
arguments in defun/defmacro.
* lisp/emacs-lisp/eieio-comp.el (eieio-byte-compile-file-form-defmethod):
Rename from byte-compile-file-form-defmethod.
Don't byte-compile-lambda.
(eieio-byte-compile-defmethod-param-convert): Rename from
byte-compile-defmethod-param-convert.
* lisp/emacs-lisp/eieio.el (eieio-defgeneric-form-primary-only-one):
Call byte-compile rather than byte-compile-lambda.
* src/alloc.c (Fgarbage_collect): Don't mark the byte-stack redundantly.
* src/bytecode.c (exec_byte_code): Change stack_ref and stack_set to use
offsets relative to top rather than to bottom.
* lisp/subr.el (with-output-to-temp-buffer): New macro.
* lisp/simple.el (count-words-region): Don't use interactive-p.
Eli Zaretskii [Mon, 21 Feb 2011 20:00:19 +0000 (22:00 +0200)]
Adapt MS-Windows build to import of filemode.c from gnulib.
nt/inc/sys/stat.h (S_ISUID, S_ISGID, S_ISVTX, S_IRGRP, S_IROTH)
(S_IWGRP, S_IWOTH, S_IXGRP, S_IXOTH, S_ISSOCK, S_ISLNK, S_ISCTG)
(S_ISDOOR, S_ISMPB, S_ISMPC, S_ISNWK, S_ISPORT, S_ISWHT)
(S_TYPEISMQ, S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Define.
(lstat): Define to stat.
lib/makefile.w32-in ($(BLD)/filemode.$(O)): Move from
src/makefile.w32-in and adapt. Depend on stamp_BLD.
(GNULIBOBJS): Add $(BLD)/filemode.$(O).
src/makefile.w32-in ($(BLD)/filemode.$(O)): Move recipe to
lib/makefilw.w32-in.
($(BLD)/dired.$(O)): Depend on $(EMACS_ROOT)/lib/filemode.h.
(GLOBAL_SOURCES): Remove filemode.c.
(OBJ1): Remove $(BLD)/filemode.$(O).
lib-src/makefile.w32-in ($(BLD)/ctags.$(O), $(BLD)/emacsclient.$(O))
($(BLD)/etags.$(O), $(BLD)/movemail.$(O), $(BLD)/ntlib.$(O)):
Depend on $(EMACS_ROOT)/nt/inc/sys/stat.h.
Michael Albinus [Mon, 21 Feb 2011 19:14:56 +0000 (20:14 +0100)]
* net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not use
`field' property of `rfn-eshadow-overlay'.
Ben Key [Mon, 21 Feb 2011 18:02:49 +0000 (13:02 -0500)]
* make-docfile.c (scan_c_file): Adapt to the new BVAR macro.
Paul Eggert [Mon, 21 Feb 2011 17:56:37 +0000 (09:56 -0800)]
Import filemode module from gnulib.
Lars Ingebrigtsen [Mon, 21 Feb 2011 13:29:15 +0000 (13:29 +0000)]
Merge changes made in Gnus trunk.
gnus.texi (Window Layout): Document layout names.
nntp.el (nntp-finish-retrieve-group-infos): Add a kludge to use the given method as in the group name if we're using an extended method.
(nntp-finish-retrieve-group-infos): Wait for the end of the LIST ACTIVE command, if we're using that, instead of waiting for the beginning.
gnus-start.el (gnus-get-unread-articles): Extend the methods so that we're sure to get unique server names, and we don't output two async commands in the same buffer. This fixes an NNTP hang for some users.
netrc.el (netrc-parse): Comment fix.
gnus-sum.el (gnus-summary-next-article): Add a kludge to reselect the summary buffer before reading going to the next buffer. This avoids putting the point in the group buffer if you `C-g' the command.
auth-source.el (auth-source-netrc-parse): Add an in-memory netrc cache (for now) to make ~/.authinfo.gpg files usable.
nnfolder.el (copyright-update): Define for the compiler.
auth-source.el (auth-source-search): Fix unbound variable.
Chong Yidong [Mon, 21 Feb 2011 06:03:36 +0000 (01:03 -0500)]
Merge some code from hexrgb.el into color.el.
* lisp/color.el (color-name-to-rgb): Rename from color-rgb->normalize.
Autoload. Add optional arg FRAME, and pass it to color-values.
(color-complement): Caller changed. Doc fix.
(color-gradient): Rewrite for better clarity and efficiency.
(color-rgb-to-hex): Rename from color-rgb->hex.
(color-rgb-to-hsv): Rename from color-rgb->hsv. Force hue and
saturation to zero if the value is too small.
(color-rgb-to-hsl): Rename from color-rgb->hsl.
(color-srgb-to-xyz): Rename from color-srgb->xyz. Doc fix.
(color-xyz-to-srgb): Rename from color-xyz->srgb. Doc fix.
(color-xyz-to-lab): Rename from color-xyz->lab. Doc fix.
(color-lab-to-xyz): Rename from color-lab->xyz. Doc fix.
(color-lab-to-srgb): Rename from color-lab->srgb. Doc fix.
(color-cie-de2000): Doc fix.
* lisp/facemenu.el (color-rgb-to-hsv): Deleted; use the version in
lisp/color.el instead.
(list-colors-sort-key, list-colors-print): Use
color-normalized-values.
* lisp/faces.el (color-values): Use cond for clarity. Doc fix.
* lisp/gnus/shr-color.el (shr-color->hexadecimal): Use renamed
function names color-rgb-to-hex, color-name-to-rgb,
color-srgb-to-lab, and color-lab-to-srgb.
Chong Yidong [Mon, 21 Feb 2011 05:59:20 +0000 (00:59 -0500)]
* themes/tango-dark-theme.el: Tweak background on low-color terminals.
Juanma Barranquero [Sun, 20 Feb 2011 22:17:39 +0000 (23:17 +0100)]
lib-src/makefile.w32-in (obj): Remove md5.o.
Eli Zaretskii [Sun, 20 Feb 2011 21:09:45 +0000 (23:09 +0200)]
Followup for 2011-02-20T18:50:26Z!eliz@gnu.org.
lib/makefile.w32-in ($(BLD)/md5.$(O)): Don't depend on
$(EMACS_ROOT)/nt/inc/sys/stat.h.
Paul Eggert [Sun, 20 Feb 2011 19:46:08 +0000 (11:46 -0800)]
* configure.in (C_WARNINGS_SWITCH): Do not prepend -Wno-pointer-sign.
Paul Eggert [Sun, 20 Feb 2011 19:31:01 +0000 (11:31 -0800)]
Merge from mainline.
Christoph Scholtes [Sun, 20 Feb 2011 18:50:26 +0000 (20:50 +0200)]
Fix the MS-Windows build due to import of md5 from gnulib.
src/makefile.w32-in: Remove md5.$(O).
($(BLD)/md5.$(O)): Remove prerequisites, moved to
lib/makefile.w32-in.
($(BLD)/fns.$(O)): Depend on $(EMACS_ROOT)/lib/md5.h and on stamp_BLD.
lib/makefile.w32-in ($(BLD)/md5.$(O)): New recipe, moved from
src/makefile.w32-in.
Alan Mackenzie [Sun, 20 Feb 2011 18:36:29 +0000 (18:36 +0000)]
(c-end-of-statement): Set macro-end correctly at the end of a loop.
Alan Mackenzie [Sun, 20 Feb 2011 18:35:30 +0000 (18:35 +0000)]
.
Paul Eggert [Sun, 20 Feb 2011 17:14:24 +0000 (09:14 -0800)]
* dired.c: Include <filemode.h> at top level.
Ulf Jasper [Sun, 20 Feb 2011 14:35:58 +0000 (15:35 +0100)]
Convert test/icalendar-testsuite.el to ERT format.
* automated/icalendar-tests.el: Move from icalendar-testsuite.el;
convert to ERT format.
Andreas Schwab [Sun, 20 Feb 2011 11:59:44 +0000 (12:59 +0100)]
Update autoloads
Paul Eggert [Sun, 20 Feb 2011 10:53:22 +0000 (02:53 -0800)]
Import filemode module from gnulib.
* Makefile.in (base_obj): Remove filemode.o, as it's now in ../lib.
* deps.mk (dired.o): Depend on ../lib/filemode.h, too.
(filemode.o): Remove; this is now in ../lib.
* dired.c: Include <filemode.h>.
(filemodestring): Remove now-redundant decl.
* config.in: Regenerate.
2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
Paul Eggert [Sun, 20 Feb 2011 10:51:50 +0000 (02:51 -0800)]
Import filemode module from gnulib.
* .bzrignore: Add lib/sys/.
* Makefile.in (GNULIB_MODULES): Add filemode.
* lib/Makefile.am (MOSTLYCLEANDIRS): New macro.
* lib/filemode.c: Renamed from src/filemode.c and regenerated
from gnulib. This adds support for some more file types, e.g.,
Cray DMF migrated files.
* lisp/emacs-lisp/find-gc.el (find-gc-source-files): Remove filemode.c.
* lib/filemode.h, lib/sys_stat.in.h, m4/filemode.m4, m4/st_dm_mode.m4:
* m4/sys_stat_h.m4: New files, generated from gnulib.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
2011-02-20 Paul Eggert <eggert@cs.ucla.edu>
Paul Eggert [Sun, 20 Feb 2011 08:48:52 +0000 (00:48 -0800)]
Merge: Import crypto/md5 and stdint modules from gnulib.
Gnus developers [Sun, 20 Feb 2011 04:08:04 +0000 (04:08 +0000)]
nnimap.el (nnimap-wait-for-response): Ensure that we get the entire line we're waiting for.
gnus-art.el (gnus-article-next-page-1): Because customized mode-line face with line-width greater than zero will cause RET in gnus summary buffer to scroll down article page-wise because auto vscroll happens, it should be temporalily disabled when doing a scroll-up.
Glenn Morris [Sun, 20 Feb 2011 00:16:54 +0000 (16:16 -0800)]
edmacro.el trivia.
* lisp/edmacro.el: Remove old header comment.
(edmacro-eight-bits): Make it a defcustom. Don't autoload it.
Glenn Morris [Sun, 20 Feb 2011 00:09:28 +0000 (16:09 -0800)]
autorevert.el trivia.
* lisp/autorevert.el (auto-revert-mode, auto-revert-tail-mode)
(global-auto-revert-ignore-buffer): Remove leading "*" from docs.
It makes zero sense to use it with these variables.
Dmitry Bolshakov [Sat, 19 Feb 2011 22:20:35 +0000 (17:20 -0500)]
Prevent hideshow from parsing braces inside comments (Bug#8036).
* progmodes/hideshow.el (hs-find-block-beginning)
(hs-hide-level-recursive): Ignore comments when parsing braces.
Chong Yidong [Sat, 19 Feb 2011 21:23:51 +0000 (16:23 -0500)]
Improvements to vc-bzr conffile handling and pull/merge support.
* vc/vc-bzr.el (vc-bzr--branch-conf): Function deleted.
(vc-bzr-branch-conf): New function, similar to vc-bzr--branch-conf
but returning an alist. Ignore comments in bzr conffile.
(vc-bzr-pull, vc-bzr-merge-branch): Use vc-bzr-branch-conf.
(vc-bzr-error-regex-alist): New var.
(vc-bzr-merge-branch): Use it to highlight the pull/merge buffer.
* progmodes/compile.el (compilation--flush-directory-cache):
Handle the case where cdr of compilation--flush-directory-cache
points to no buffer, which can occur if we previously switched to
compilation-mode in a pregenerated buffer.
* vc/vc-dispatcher.el (vc-do-async-command): Bind
inhibit-read-only to t.
Glenn Morris [Sat, 19 Feb 2011 20:44:34 +0000 (12:44 -0800)]
dired-x no longer requires dired-aux.
* lisp/dired-x.el: Don't require dired-aux.
(dired-do-create-files, dired-mark-read-regexp)
(dired-do-create-files-regexp): Autoload from dired-aux.
Glenn Morris [Sat, 19 Feb 2011 20:36:54 +0000 (12:36 -0800)]
Merge dired-x's dired-find-buffer-nocreate into dired.el.
* lisp/dired-x.el (dired-find-buffer-nocreate): Merge into dired.el.
* lisp/dired.el (dired-find-buffer-nocreate): Merge dired-x version.
* doc/misc/dired-x.texi (Technical Details):
No longer redefines dired-find-buffer-nocreate.
Eli Zaretskii [Sat, 19 Feb 2011 19:56:29 +0000 (21:56 +0200)]
Adapt and fix the MS-DOS port due to gnulib imports.
msdos/depfiles.bat: New file.
msdos/sedlibmk.inp: New file.
msdos/sedlibcf.inp: New file.
msdos/sedleim.inp (RUN_EMACS): Rename from RUN-EMACS.
(BUILT_EMACS): Rename from BUILT-EMACS.
msdos/sed6.inp (MAKEINFO): Edit to "makeinfo".
(ENVADD): Adjust to MAKEINFO_OPTS.
(texinputdir): Don't edit.
msdos/sed3v2.inp (-DVERSION): Edit out.
(LOADLIBES): Don't edit to empty.
msdos/sed2v2.inp: Remove workaround for the "#if ! HAVE_MKTIME ||
BROKEN_MKTIME" stuff -- it's no longer in src/config.in.
(HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE_DECL_GETENV)
(HAVE__BOOL): Edit to 1.
(VERSION, inline, restrict): Edit for DJGPP.
(my_strftime): Edit to nstrftime.
msdos/sed1v2.inp (NS_OBJC_OBJ): Edit to empty.
(@true): Edit to "@rem".
(move-if-change): Edit to "update".
(echo): Edit to "djecho".
(cd $(lib) && ...): Edit to "$(MAKE) -C ...".
(LIBOBJS): Edit to empty.
($(libsrc)/make-docfile): Two new edits, one each for every
invocation of make-docfile.
(move-if-change): Fix edit.
Remove some unused switches from $(ALL_CFLAGS), to make the GCC
command line shorter.
msdos/mainmake.v2 (version): Remove, no longer needed (config.in
defines VERSION).
(all): Add lib.
(lib): New target and recipe.
(lib-src): Depend on lib.
(src): Depend on lib and lib-src.
(clean, mostlyclean, distclean, maintainer-clean, extraclean)
(bootstrap-clean): Recurse into lib.
(lib, lib-src, src): Specify "all" as an explicit target.
.bzrignore: Ignore cxxdefs.h and lib/*.in-h files.
Add lib/deps/.
config.bat: Configure in `lib'.
Generate *.Po files in lib/deps.
src/termcap.c (tputs): Don't declare baud_rate.
src/s/msdos.h (strtold): Define to _strtold.
Eli Zaretskii [Sat, 19 Feb 2011 19:49:10 +0000 (21:49 +0200)]
Fix MS-DOS build in src/: delete gl-tmp.
msdos/sed1v2.inp: Delete gl-tmp after updating globals.h
Eli Zaretskii [Sat, 19 Feb 2011 19:41:00 +0000 (21:41 +0200)]
Finish fixing the MS-DOS build. Everything builds and works.
src/termcap.c (tputs): Don't declare baud_rate.
msdos/sedlibmk.inp (gl_LIBOBJS): Add getloadavg.o.
msdos/sedleim.inp (RUN_EMACS): Rename from RUN-EMACS.
(BUILT_EMACS): Rename from BUILT-EMACS.
msdos/sed6.inp (MAKEINFO): Edit to "makeinfo".
(ENVADD): Adjust to MAKEINFO_OPTS.
(texinputdir): Don't edit.
msdos/sed2v2.inp (my_strftime): Edit to nstrftime.
msdos/sed1v2.inp (LIBOBJS): Edit to empty.
($(libsrc)/make-docfile): Two new edits, one each for every
invocation of make-docfile.
(move-if-change): Fix edit.
Remove some unused switches from $(ALL_CFLAGS), to make the GCC
command line shorter.
Glenn Morris [Sat, 19 Feb 2011 19:40:59 +0000 (11:40 -0800)]
Merge from emacs-23; up to 2010-06-01T01:49:15Z!monnier@iro.umontreal.ca
Chong Yidong [Sat, 19 Feb 2011 19:26:37 +0000 (14:26 -0500)]
Fix typo in auth.texi (Bug#8068).
Glenn Morris [Sat, 19 Feb 2011 19:20:38 +0000 (11:20 -0800)]
Merge dired-x's dired-read-shell-command into dired-aux's version.
* lisp/dired-x.el (dired-read-shell-command): Merge into dired-aux's version.
* lisp/dired-aux.el (dired-read-shell-command): Merge dired-x's version.
* doc/misc/dired-x.texi (Technical Details):
No longer redefines dired-read-shell-command.
Glenn Morris [Sat, 19 Feb 2011 18:55:15 +0000 (10:55 -0800)]
Merge dired-x's dired-clean-up-after-deletion into dired's version.
* lisp/dired-x.el (dired-clean-up-after-deletion): Merge into dired.el.
* lisp/dired.el (dired-clean-up-after-deletion): Merge dired-x's version.
(dired-clean-up-buffers-too): Declare.
* doc/misc/dired-x.texi (Technical Details):
No longer redefine dired-clean-up-after-deletion.
Eli Zaretskii [Sat, 19 Feb 2011 17:54:18 +0000 (19:54 +0200)]
Fix msdos/sed3v2.inp. lib-src/ now builds.
sed3v2.inp (-DVERSION): Edit out.
(LOADLIBES): Don't edit to empty.
mainmake.v2 (lib, lib-src, src): Specify "all" as an explicit target.
Eli Zaretskii [Sat, 19 Feb 2011 17:35:11 +0000 (19:35 +0200)]
Fix msdos/sedlibmk.inp. lib/ builds now.
sedlibmk.inp (HAVE_GETOPT_H, PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS): Fix
editing.
(DEFS): Edit to -DHAVE_CONFIG_H.
(Makefile, &&): Fix removal.
Chong Yidong [Sat, 19 Feb 2011 17:34:50 +0000 (12:34 -0500)]
* Makefile.in (prefix-args${EXEEXT}): Compile with ALL_CFLAGS.
See http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg00715.html
Eli Zaretskii [Sat, 19 Feb 2011 16:53:10 +0000 (18:53 +0200)]
Fix generation of auto-dependency files in lib/.
.bzrignore: Add lib/deps/.
config.bat: Generate *.Po files in lib/deps.
msdos/sedlibmk.inp (CONFIG_CLEAN_VPATH_FILES): Fix editing of *-clean
rules.
msdos/depfiles.bat: New file.
Eli Zaretskii [Sat, 19 Feb 2011 16:12:18 +0000 (18:12 +0200)]
Update .bzrignore for files produced by the MS-DOS build.
.bzrignore: Ignore cxxdefs.h and lib/*.in-h files.
Eli Zaretskii [Sat, 19 Feb 2011 16:05:27 +0000 (18:05 +0200)]
Commit new Sed scripts in msdos/.
Eli Zaretskii [Sat, 19 Feb 2011 15:57:35 +0000 (17:57 +0200)]
Initial version of fix for the MS-DOS build, not yet tested.
config.bat: Configure in `lib'.
msdos/sedlibmk.inp: New file.
msdos/sedlibcf.inp: New file.
msdos/sed1v2.inp (NS_OBJC_OBJ): Edit to empty.
(@true): Edit to "@rem".
(move-if-change): Edit to "update".
(echo): Edit to "djecho".
(cd $(lib) && ...): Edit to "$(MAKE) -C ...".
msdos/mainmake.v2 (version): Remove, no longer needed (config.in
defines VERSION).
(all): Add lib.
(lib): New target and recipe.
(lib-src): Depend on lib.
(src): Depend on lib and lib-src.
(clean, mostlyclean, distclean, maintainer-clean, extraclean)
(bootstrap-clean): Recurse into lib.
msdos/sed2v2.inp: Remove workaround for the "#if ! HAVE_MKTIME ||
BROKEN_MKTIME" stuff -- it's no longer in src/config.in.
(HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE_DECL_GETENV)
(HAVE__BOOL): Edit to 1.
(VERSION, inline, restrict): Edit for DJGPP.
src/s/msdos.h (strtold): Define to _strtold.
admin/admin.el (set-version): Add msdos/sed2v2.inp.
Kenichi Handa [Sat, 19 Feb 2011 10:46:49 +0000 (19:46 +0900)]
merge emacs-23
Paul Eggert [Sat, 19 Feb 2011 09:51:59 +0000 (01:51 -0800)]
* deps.mk (fns.o): Depend on ../lib/md5.h.
Gnus developers [Sat, 19 Feb 2011 09:45:07 +0000 (09:45 +0000)]
nnimap.el (nnimap-parse-copied-articles): Allow for "<foo> OK" outputs from the server.
gnus-art.el (gnus-article-prepare): Run gnus-article-prepare-hook later so that bbdb can hook in easier.
Eli Zaretskii [Sat, 19 Feb 2011 09:35:15 +0000 (04:35 -0500)]
dired.el: Update autoloads.
Kenichi Handa [Sat, 19 Feb 2011 09:22:24 +0000 (18:22 +0900)]
Fix setting of buffer-file-coding-system for MIME message.
Paul Eggert [Sat, 19 Feb 2011 07:28:29 +0000 (23:28 -0800)]
Import simpler crypto/md5 module from gnulib, plus stdint module.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
* src/config.in: Regenerate.
* lib/md5.c, lib/md5.h: Regenerate with simpler version, which
assumes C99-style <stdint.h>, supplied by the stdint module.
* lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4: New files,
generated from gnulib.
* src/deps.mk (fns.o): Do not depend on md5.h, fixing a typo in
the earlier patch.
Paul Eggert [Sat, 19 Feb 2011 06:25:05 +0000 (22:25 -0800)]
Merge from mainline.
Stefan Monnier [Sat, 19 Feb 2011 05:10:33 +0000 (00:10 -0500)]
* lisp/subr.el (save-window-excursion): New macro, moved from C.
* lisp/emacs-lisp/lisp-mode.el (save-window-excursion): Don't touch.
* lisp/emacs-lisp/cconv.el (cconv-closure-convert-rec, cconv-analyse-form):
Don't handle save-window-excursion any more.
* lisp/emacs-lisp/bytecomp.el (interactive-p, save-window-excursion):
Don't use the byte-code any more.
(byte-compile-form): Check macro expansion was done.
(byte-compile-save-window-excursion): Remove.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Ignore save-window-excursion. Don't macroepand any more.
* src/window.c (Fsave_window_excursion): Remove. Moved to Lisp.
(syms_of_window): Don't defsubr it.
* src/window.h (Fsave_window_excursion): Don't declare it.
* src/bytecode.c (exec_byte_code): Inline Fsave_window_excursion.
Glenn Morris [Sat, 19 Feb 2011 04:12:23 +0000 (20:12 -0800)]
Merge dired-x's redefinition of dired-initial-position into the main version.
* lisp/dired-x.el (dired-initial-position): Merge into dired.el's version.
* lisp/dired.el (dired-initial-position): Merge dired-x's version here.
(dired-find-subdir): Declare.
* doc/misc/dired-x.texi (Technical Details):
No longer redefines dired-initial-position.
Glenn Morris [Sat, 19 Feb 2011 04:06:40 +0000 (20:06 -0800)]
* doc/emacs/dired.texi (Dired): Dired-X version number was dropped.
Glenn Morris [Sat, 19 Feb 2011 03:53:35 +0000 (19:53 -0800)]
Merge dired-x's dired-add-entry modifications into the main definition.
* lisp/dired-aux.el (dired-add-entry): Give it a doc-string.
Merge dired-x's dired-omit handling here.
(dired-omit-mode, dired-omit-regexp, dired-omit-localp): Declare.
* lisp/dired-x.el (dired-omit-new-add-entry): Merge into dired-add-entry.
* doc/misc/dired-x.texi (Technical Details): No longer redefines
dired-add-entry.
Glenn Morris [Sat, 19 Feb 2011 03:38:45 +0000 (19:38 -0800)]
mule-diag.el fix for bug#8066.
* lisp/international/mule-diag.el (list-input-methods-1):
Indent all lines of multi-line doc-strings.
Lars Ingebrigtsen [Fri, 18 Feb 2011 23:15:24 +0000 (23:15 +0000)]
auth-source.el (auth-source-search): If we don't find a match, don't bug out on non-bound variables.
(auth-source-search): Only ask a single backend to create the credentials.
Chong Yidong [Fri, 18 Feb 2011 22:52:58 +0000 (17:52 -0500)]
Fix incorrect changes introduced in 2011-02-02T17:59:44Z!sds@gnu.org.
* lisp/apropos.el (apropos-print): Call apropos-mode before setting up
buffer variables. Use inhibit-read-only.
* lisp/emacs-lisp/package.el (package--list-packages): Call
package-menu-mode before setting up buffer variables.
* lisp/play/solitaire.el (solitaire): Call solitaire-mode before
setting up buffer variables. Use inhibit-read-only.
Karl Chen [Fri, 18 Feb 2011 22:28:09 +0000 (17:28 -0500)]
* lib-src/emacsclient.c (main): Loop while `recv' return EINTR.
Lawrence Mitchell [Fri, 18 Feb 2011 21:46:08 +0000 (16:46 -0500)]
* lisp/progmodes/sh-script.el (sh-syntax-propertize-here-doc):
Bind case-fold-search to nil when looking for end of here-doc.
Fixes: debbugs:8053
Eli Zaretskii [Fri, 18 Feb 2011 19:11:04 +0000 (21:11 +0200)]
Still more followup for bug #7942.
Eli Zaretskii [Fri, 18 Feb 2011 19:07:44 +0000 (21:07 +0200)]
doc/misc/eieio.texi: More followup for bug #7942.
Eli Zaretskii [Fri, 18 Feb 2011 19:03:59 +0000 (21:03 +0200)]
Followup for fixing bug #7942.
doc/lispref/elisp.texi: Sync @dircategory with ../../info/dir.
doc/lispintro/emacs-lisp-intro.texi: Sync @dircategory with ../../info/dir.
doc/misc/ede.texi: Sync letter-case with ../../info/dir.
Eli Zaretskii [Fri, 18 Feb 2011 17:59:06 +0000 (19:59 +0200)]
Fix bug #8047 with require-final-newline in binary image buffers.
image-mode.el (image-toggle-display-image): Set
find-file-literally non-nil in buffers visiting binary image
files.
Eli Zaretskii [Fri, 18 Feb 2011 17:51:15 +0000 (19:51 +0200)]
Fix bug #8047 with require-final-newline and image file display.
image-mode.el (image-toggle-display-image): Disable
require-final-newline in buffers visiting binary image files.
Stefan Monnier [Fri, 18 Feb 2011 17:37:30 +0000 (12:37 -0500)]
* alloc.c (make_unibyte_string): Don't SET_UNIBYTE redundantly.
* process.c (Fstart_process, Fmake_serial_process)
(Fmake_network_process, server_accept_connection):
Use empty_unibyte_string.
Stefan Monnier [Fri, 18 Feb 2011 17:18:16 +0000 (12:18 -0500)]
* lisp/files.el (cd): Make completion obey cd-path.
* lread.c (Qdir_ok): New constant.
(syms_of_lread): Initialize it.
(openp): Don't ignore directories if the predicate returns dir-ok.
Fixes: debbugs:7924
Eli Zaretskii [Fri, 18 Feb 2011 15:43:22 +0000 (17:43 +0200)]
Document *SUBSTRING completion for Unicode character names.
international/mule-cmds.el (read-char-by-name, ucs-insert):
Document completion with asterisk and a substring.
Eli Zaretskii [Fri, 18 Feb 2011 15:11:10 +0000 (17:11 +0200)]
xdisp.c (display_line): Fix the change made for bug#7939.
Eli Zaretskii [Fri, 18 Feb 2011 14:48:28 +0000 (16:48 +0200)]
Fix bug #7840 with default terminal and keyboard encodings.
terminal.c (create_terminal): Use default-keyboard-coding-system
and default-terminal-coding-system to initialize coding systems of
the new terminal.
Eli Zaretskii [Fri, 18 Feb 2011 13:57:53 +0000 (15:57 +0200)]
Synchronize @dircategory directives in doc/misc with info/dir.
ada-mode.texi: Sync @dircategory with ../../info/dir.
auth.texi: Sync @dircategory with ../../info/dir.
autotype.texi: Sync @dircategory with ../../info/dir.
calc.texi: Sync @dircategory with ../../info/dir.
cc-mode.texi: Sync @dircategory with ../../info/dir.
cl.texi: Sync @dircategory with ../../info/dir.
dbus.texi: Sync @dircategory with ../../info/dir.
dired-x.texi: Sync @dircategory with ../../info/dir.
ebrowse.texi: Sync @dircategory with ../../info/dir.
ede.texi: Sync @dircategory with ../../info/dir.
ediff.texi: Sync @dircategory with ../../info/dir.
edt.texi: Sync @dircategory with ../../info/dir.
eieio.texi: Sync @dircategory with ../../info/dir.
emacs-mime.texi: Sync @dircategory with ../../info/dir.
epa.texi: Sync @dircategory with ../../info/dir.
erc.texi: Sync @dircategory with ../../info/dir.
eshell.texi: Sync @dircategory with ../../info/dir.
eudc.texi: Sync @dircategory with ../../info/dir.
flymake.texi: Sync @dircategory with ../../info/dir.
forms.texi: Sync @dircategory with ../../info/dir.
gnus.texi: Sync @dircategory with ../../info/dir.
idlwave.texi: Sync @dircategory with ../../info/dir.
mairix-el.texi: Sync @dircategory with ../../info/dir.
message.texi: Sync @dircategory with ../../info/dir.
mh-e.texi: Sync @dircategory with ../../info/dir.
newsticker.texi: Sync @dircategory with ../../info/dir.
nxml-mode.texi: Sync @dircategory with ../../info/dir.
org.texi: Sync @dircategory with ../../info/dir.
pcl-cvs.texi: Sync @dircategory with ../../info/dir.
pgg.texi: Sync @dircategory with ../../info/dir.
rcirc.texi: Sync @dircategory with ../../info/dir.
reftex.texi: Sync @dircategory with ../../info/dir.
remember.texi: Sync @dircategory with ../../info/dir.
sasl.texi: Sync @dircategory with ../../info/dir.
sc.texi: Sync @dircategory with ../../info/dir.
semantic.texi: Sync @dircategory with ../../info/dir.
ses.texi: Sync @dircategory with ../../info/dir.
sieve.texi: Sync @dircategory with ../../info/dir.
smtpmail.texi: Sync @dircategory with ../../info/dir.
speedbar.texi: Sync @dircategory with ../../info/dir.
trampver.texi [emacs]: Set emacsname to "Emacs".
tramp.texi: Sync @dircategory with ../../info/dir.
url.texi: Sync @dircategory with ../../info/dir.
vip.texi: Sync @dircategory with ../../info/dir.
viper.texi: Sync @dircategory with ../../info/dir.
widget.texi: Sync @dircategory with ../../info/dir.
woman.texi: Sync @dircategory with ../../info/dir.
Stefan Monnier [Fri, 18 Feb 2011 13:55:51 +0000 (08:55 -0500)]
* lisp/emacs-lisp/pcase.el (pcase--expand, pcase--u, pcase--u1, pcase--q1):
Avoid destructuring-bind which results in poorer code.
Eli Zaretskii [Fri, 18 Feb 2011 10:23:51 +0000 (12:23 +0200)]
Document find-file-literally in the ELisp manual.
files.texi (Visiting Functions): Document find-file-literally,
both the command and the variable.
Eli Zaretskii [Fri, 18 Feb 2011 10:04:48 +0000 (12:04 +0200)]
Improve documentation of permanent local variables.
variables.texi (Creating Buffer-Local): Explain the meaning of
permanent local variables.
Glenn Morris [Fri, 18 Feb 2011 08:42:21 +0000 (00:42 -0800)]
Silence prolog.el compilation.
* lisp/progmodes/prolog.el: Don't require compile when compiling.
-- not using any macros from it, it's just a cheap way to silence the
compiler that actually produces one warning.
(compilation-shell-minor-mode, compilation-error-regexp-alist)
(compilation-forget-errors, compilation-fake-loc)
(compilation-parse-errors-function, compilation-error-list): Declare.
(prolog-inferior-mode): Require 'compile.
Glenn Morris [Fri, 18 Feb 2011 08:17:20 +0000 (00:17 -0800)]
* lisp/emulation/cua-base.el (pc-selection-mode): Declare.
Paul Eggert [Fri, 18 Feb 2011 08:07:03 +0000 (00:07 -0800)]
Import crypto/md5 module from gnulib.
* Makefile.in (MAKEFILE_MODULES): Add crypto/md5.
* admin/notes/copyright: Remove src/md5.c and src/md5.h as
special cases.
* src/Makefile.in (base_obj): Remove md5.o, since this file
is in lib now.
* src/deps.mk (md5.o): Remove.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
Regenerate.
* lib/md5.c: Regenerate. This renames the file from src/md5.c,
and adds some porting improvements from gnulib.
* lib/md5.h: Regenerate, likwise; rename from src/md5.h.
* m4/md5.m4: New file, from gnulib.
2011-02-18 Paul Eggert <eggert@cs.ucla.edu>
Glenn Morris [Fri, 18 Feb 2011 08:00:08 +0000 (00:00 -0800)]
Use generated-autoload-file for internal eieio autoloads.
* lisp/emacs-lisp/eieio-custom.el: Set generated-autoload-file.
(customize-object): Add autoload cookie.
* lisp/emacs-lisp/eieio-opt.el: Set generated-autoload-file.
(eieio-browse, describe-class, eieio-describe-class)
(eieio-describe-constructor, describe-generic, eieio-describe-generic)
(eieio-help-mode-augmentation-maybee): Add autoload cookies.
* lisp/emacs-lisp/eieio.el: Regenerate with automatic autoloads.
* lisp/Makefile.in (autoloads): Make eieio.el writable.
Glenn Morris [Fri, 18 Feb 2011 07:54:28 +0000 (23:54 -0800)]
* doc/misc/dired-x.texi (Optional Installation File At Point): Simplify.
Glenn Morris [Fri, 18 Feb 2011 07:48:40 +0000 (23:48 -0800)]
dired-x largely cosmetic changes.
* lisp/dired-x.el (dired-clean-up-after-deletion, dired-do-relsymlink)
(dired-do-relsymlink-regexp, dired-find-buffer-nocreate): Use #'.
(dired-hack-local-variables): Use inhibit-read-only.
(dired-guess-default): Simplify.
(dired-make-relative-symlink): Use dotimes.
(dired-simultaneous-find-file): Use dolist.
(dired-mark-sexp): Remove unneeded `if'. Use line-end-position.
(dired-x-hands-off-my-keys): Doc fix.
(dired-x-bind-find-file): Doc fix. Use remapping.
(after-init-hook): No need to add dired-x-bind-find-file.
(dired-x-find-file, dired-x-find-file-other-window): Doc fixes.
No need to call expand-file-name.
(dired-filename-at-point): Remove unused locals `end', `filename'.
Paul Eggert [Fri, 18 Feb 2011 07:44:39 +0000 (23:44 -0800)]
Merge from mainline.
Paul Eggert [Fri, 18 Feb 2011 07:41:43 +0000 (23:41 -0800)]
Import IRIX 6.5 getloadavg fixes from gnulib.
* configure, lib/getloadavg.c, m4/getloadavg.m4: Regenerate.
Glenn Morris [Fri, 18 Feb 2011 05:21:57 +0000 (21:21 -0800)]
* lisp/.gitignore: Remove arch-tag.
Glenn Morris [Fri, 18 Feb 2011 05:17:10 +0000 (21:17 -0800)]
* lisp/gnus.el (gnus-meta): Doc fix.
Glenn Morris [Fri, 18 Feb 2011 05:15:22 +0000 (21:15 -0800)]
* lisp/files.el (find-file-literally): Doc fix.
Glenn Morris [Fri, 18 Feb 2011 05:11:26 +0000 (21:11 -0800)]
* doc/lispref/keymaps.texi (Remapping Commands): Mention how to undo it.
Stefan Monnier [Fri, 18 Feb 2011 04:58:21 +0000 (23:58 -0500)]
* lisp/emacs-lisp/pcase.el (pcase--u1): Understand non-linear patterns.
Christian Ohler [Fri, 18 Feb 2011 04:20:36 +0000 (15:20 +1100)]
Fix ERT.
* lisp/emacs-lisp/ert.el (ert--setup-results-buffer)
(ert-results-pop-to-backtrace-for-test-at-point)
(ert-results-pop-to-messages-for-test-at-point)
(ert-results-pop-to-should-forms-for-test-at-point)
(ert-results-pop-to-timings): Revert parts of 2011-02-02T17:59:44Z!sds@gnu.org that
were incorrect and unnecessary. This should make `make check'
pass again.
Stefan Monnier [Fri, 18 Feb 2011 02:07:36 +0000 (21:07 -0500)]
Don't GC-scan stack data redundantly.
* src/alloc.c (Fgarbage_collect): When using stack scanning, don't
redundantly scan byte-code stacks, catchlist, and handlerlist.
* src/bytecode.c (BYTE_MAINTAIN_TOP): New macros.
(struct byte_stack): Only define `top' and `bottom' if used.
(mark_byte_stack): Only define if used.
(BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Nullify if BYTE_MAINTAIN_TOP
is not set.
(Fbyte_code): Don't set `bottom' unless BYTE_MAINTAIN_TOP is set.
* src/lisp.h (BYTE_MARK_STACK): New macro.
(mark_byte_stack): Only declare if BYTE_MARK_STACK is set.
* src/term.c (OUTPUT_IF): Use OUTPUT.
Lars Ingebrigtsen [Fri, 18 Feb 2011 01:48:21 +0000 (01:48 +0000)]
auth-source.el (auth-source-search): Don't try to create credentials if the caller doesn't want that.
Lars Ingebrigtsen [Fri, 18 Feb 2011 00:41:50 +0000 (00:41 +0000)]
nnimap.el (nnimap-log-command): Add a newline to the inhibited logging.
(nnimap-credentials): Protect against auth-source-search returning nil.
(nnimap-request-list): Protect against not being able to open the server.
Lars Ingebrigtsen [Thu, 17 Feb 2011 23:48:59 +0000 (23:48 +0000)]
auth-source.el (auth-source-search): Do a two-phase search, one with no :create to get the responses from all backends.
Gnus developers [Thu, 17 Feb 2011 23:46:18 +0000 (23:46 +0000)]
Merge chagnes made in Gnus trunk.
auth.texi (GnuPG and EasyPG Assistant Configuration): Mention the default now is to have two files in `auth-sources'.
nnimap.el (nnimap-open-connection-1): Delete duplicate server names when getting credentials.
gnus-util.el (gnus-delete-duplicates): New function.
nnimap.el (nnimap-credentials): Instead of picking the first port as a creation default, pass the whole port list down. It will be completed.
auth-source.el (auth-source-search): Updated docs to talk about multiple creation choices.
(auth-source-netrc-create): Accept a list as a value (from the search parameters) and do completion on that list. Keep a separate netrc line with the password obscured for showing the user.
nnimap.el (nnimap-open-connection-1): Make the `nnimap-address' the first choice to `auth-source-search' so it will be used for entry creation instead of the server's Gnus-specific name.
(nnimap-credentials): Rely on the auth-source library to select which port is actually wanted in the new netrc entry, so don't override `auth-source-creation-defaults'.
Ken Manheimer [Thu, 17 Feb 2011 22:57:38 +0000 (17:57 -0500)]
(allout-encrypt-string): Recognize epg failure to decrypt gpg2 armored text
using gpg1, and add indication the gpg version *might* be the problem in
the error message.
Ken Manheimer [Thu, 17 Feb 2011 21:47:18 +0000 (16:47 -0500)]
* lisp/allout-widgets.el: (allout-widgets-icons-light-subdir)
(allout-widgets-icons-dark-subdir): Track relocations of icons
* lisp/allout.el: Remove commentary about remove encryption passphrase
mnemonic support and verification.
* etc/images/icons/allout-widgets/dark-bg,
etc/images/icons/allout-widgets/light-bg,
encrypted-locked.{xpm,png}, unlocked-encrypted.{xpm,png}: Reorganize icon
directories and files to reconcile against windows short-filename clashes.
Stefan Monnier [Thu, 17 Feb 2011 21:19:13 +0000 (16:19 -0500)]
Various compiler bug-fixes. MPC seems to run correctly now.
* lisp/files.el (lexical-binding): Add a safe-local-variable property.
* lisp/emacs-lisp/byte-opt.el (byte-inline-lapcode): Check how many elements
are added to the stack.
(byte-compile-splice-in-already-compiled-code): Don't touch lexical nor
byte-compile-depth now that byte-inline-lapcode does it for us.
(byte-compile-inline-expand): Don't inline dynbind byte code into
lexbind code, since it has to be done differently.
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
Correctly extract arglist from `closure's.
(byte-compile-cl-warn): Compiler-macros are run earlier now.
(byte-compile-top-level): Bind byte-compile-lexical-environment to nil,
except for lambdas.
(byte-compile-form): Don't run the compiler-macro expander here.
(byte-compile-let): Merge with byte-compile-let*.
Don't preserve-body-value if the body's value was discarded.
* lisp/emacs-lisp/cconv.el (cconv--set-diff, cconv--set-diff-map)
(cconv--map-diff, cconv--map-diff-elem, cconv--map-diff-set): New funs.
(cconv--env-var): New constant.
(cconv-closure-convert-rec): Use it and use them. Fix a typo that
ended up forgetting to remove entries from lmenvs in `let'.
For `lambda' use the outer `fvrs' when building the closure and don't
forget to remove `vars' from the `emvrs' and `lmenvs' of the body.
* lisp/emacs-lisp/cl-macs.el (cl-byte-compile-block): Disable optimization
in lexbind, because it needs a different implementation.
* src/bytecode.c (exec_byte_code): Fix handling of &rest.
* src/eval.c (Vinternal_interpreter_environment): Remove.
(syms_of_eval): Do declare Vinternal_interpreter_environment as
a global lisp var, but unintern it to hide it.
(Fcommandp):
* src/data.c (Finteractive_form): Understand `closure's.
Teodor Zlatanov [Thu, 17 Feb 2011 12:50:01 +0000 (12:50 +0000)]
auth-source.el (auth-source-debug): Default to off.
Teodor Zlatanov [Thu, 17 Feb 2011 12:08:48 +0000 (12:08 +0000)]
auth.texi (Help for users): Use :port instead of :protocol for all auth-source docs.
auth-source.el (auth-source-netrc-parse): Use :port instead of :protocol and accept a missing user, host, or port as a wildcard match.
(auth-source-netrc-search, auth-source-netrc-create)
(auth-source-secrets-search, auth-source-secrets-create)
(auth-source-user-or-password, auth-source-backend, auth-sources)
(auth-source-backend-parse-parameters, auth-source-search): Use :port instead of :protocol.
nnimap.el (nnimap-credentials): Pass a port default to `auth-source-search' in case an entry needs to be created.
(nnimap-open-connection-1): Use :port instead of :protocol.