Stefan Monnier [Mon, 3 Oct 2011 14:18:42 +0000 (10:18 -0400)]
* lisp/international/mule-cmds.el: Fix abuses of apply-partially.
(mule-input-method-string): New widget.
(default-input-method, language-info-custom-alist): Use it.
Stefan Monnier [Sun, 2 Oct 2011 04:08:50 +0000 (00:08 -0400)]
* lisp/pcomplete.el: Require comint.
(pcomplete--common-suffix): Remove.
(pcomplete--common-quoted-suffix): Use comint--common-suffix instead.
(pcomplete--table-subvert): Sync with comint--table-subvert.
(pcomplete--entries): Use comint-completion-file-name-table.
* lisp/comint.el (comint-unquote-filename): Simplify.
(comint-completion-file-name-table): New function.
(comint--complete-file-name-data): Use it.
* src/dired.c (file_name_completion): Don't expand file name.
(Ffile_name_completion, Ffile_name_all_completions): Expand file name
before checking file name handler.
Stefan Monnier [Sun, 2 Oct 2011 01:00:17 +0000 (21:00 -0400)]
* lisp/pcmpl-gnu.el (pcmpl-gnu-with-file-buffer): New macro.
(pcmpl-gnu-tar-buffer): Remove.
(pcmpl-gnu-with-file-buffer): Use it to avoid leaving the tar's buffer
avoid. Make sure pcomplete-suffix-list is only changed temporarily.
Don't look inside the tar's file is it's too large.
* doc/lispref/windows.texi (Textual Scrolling): Document scroll-up-command,
scroll-down-command, scroll-error-top-bottom, and the
scroll-command symbol property.
Paul Eggert [Fri, 30 Sep 2011 20:22:01 +0000 (13:22 -0700)]
* buffer.h (struct buffer): Use time_t, not int, for a time stamp.
This fixes a Y2038 bug on 64-bit hosts.
* buffer.c (reset_buffer):
* fileio.c (Fdo_auto_save, Fset_buffer_auto_saved)
(Fclear_buffer_auto_save_failure):
Use 0, not -1, to represent an unset failure time, since time_t
might not be signed.
Paul Eggert [Fri, 30 Sep 2011 17:07:40 +0000 (10:07 -0700)]
Remove dependency on glibc malloc internals.
* alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move back here from lisp.h, but with their new implementations.
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
(XMALLOC_OVERRUN_SIZE_SIZE): Move these new lisp.h macros here.
* charset.c (charset_table_init): New static var.
(syms_of_charset): Use it instead of xmalloc. This removes a
dependency on glibc malloc internals. See Eli Zaretskii's comment in
<http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00815.html>.
* lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move back to alloc.c.
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
(XMALLOC_OVERRUN_SIZE_SIZE): Move to alloc.c.
Paul Eggert [Fri, 30 Sep 2011 03:25:46 +0000 (20:25 -0700)]
Port --enable-checking=all to Fedora 14 x86.
* alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move to lisp.h.
(xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
(overrun_check_realloc, overrun_check_free):
Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t).
That way, xmalloc returns a properly-aligned pointer even if
XMALLOC_OVERRUN_CHECK is defined. The old debugging code happened
to align OK on typical 64-bit hosts, but not on Fedora 14 x86.
* charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD
into account when calculating the initial malloc maximum.
* lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move here from alloc.c, so that charset.c can use it too.
Properly align; the old code wasn't right for common 32-bit hosts
when configured with --enable-checking=all.
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
(XMALLOC_OVERRUN_SIZE_SIZE): New macros.
Eli Zaretskii [Thu, 29 Sep 2011 13:03:42 +0000 (16:03 +0300)]
Fix bug #9607 with vertical motion when auto-hscroll-mode is disabled.
lisp/simple.el (line-move): If auto-hscroll-mode is disabled and the
window is hscrolled, move by logical lines.
(line-move-visual): Update the doc string to the above effect.
Eli Zaretskii [Thu, 29 Sep 2011 12:13:54 +0000 (15:13 +0300)]
Fix the MSDOS build due to recent changes.
msdos/mainmake.v2 (boot): Condition the value on the existence of
autogen/README, not admin/admin.el, since the latter is now part
of the release tarball.
(install): Don't copy lib-src/fns.el, as that file is no longer
generated in that directory.
msdos/sed1v2.inp (LIB_PTHREAD, LIB_PTHREAD_SIGMASK): Edit to empty.
(SETTINGS_CFLAGS, SETTINGS_LIBS): Edit these instead of
GCONF_CFLAGS and GCONF_LIBS.
msdos/sedlibmk.inp (ALLOCA_H, AR, ARFLAGS, GNULIB_CHDIR, GNULIB_DUP)
(GNULIB_FDATASYNC, GNULIB_FDOPEN, GNULIB_FSTAT, GNULIB_PCLOSE)
(GNULIB_PTHREAD_SIGMASK, GNULIB_RAISE, GNULIB_SIGACTION)
(GNULIB_SIGPROCMASK, GNULIB_SIGNAL_H_SIGPIPE, HAVE_FDATASYNC)
(HAVE_PCLOSE, HAVE_POPEN, HAVE_POSIX_SIGNALBLOCKING)
(HAVE_PTHREAD_SIGMASK, HAVE_RAISE, HAVE_SIGACTION)
(HAVE_SIGHANDLER_T, HAVE_SIGINFO_T, HAVE_SIGSET_T)
(HAVE_STRUCT_SIGACTION_SA_SIGACTION)
(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T, LIB_PTHREAD)
(LIB_PTHREAD_SIGMASK, NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H)
(NEXT_SIGNAL_H, REPLACE_FDOPEN, REPLACE_PTHREAD_SIGMASK)
(REPLACE_RAISE): New edits.
(gl_LIBOBJS): Remove md5.o, filemode.o, and sha1.o. Add
pthread_sigmask.o.
(@GL_GENERATE_ALLOCA_H_TRUE@, @GL_GENERATE_ALLOCA_H_FALSE@): Edit
to comment out unneeded lines.
(warn-on-use.h): Edit the recipe commands to work with DJGPP
without requiring a Unixy shell.
msdos/inttypes.h (strtoimax) [DJGPP < 2.04]: New macro.
msdos/sed2v2.inp (HAVE_ALLOCA, HAVE_DECL_STRTOLL, HAVE_DECL_STRTOIMAX)
(HAVE_STRTOLL, HAVE_SIGSET_T, HAVE_SNPRINTF): New edits.
.bzrignore: Add ./GNUmakefile.unix.
config.bat: Rename GNUmakefile, so it is not run on MS-DOS.
Rename signal.in.h and alloca.in.h.
src/sysdep.c (snprintf) [EOVERFLOW]: If EOVERFLOW is not defined,
use EDOM.
Eli Zaretskii [Thu, 29 Sep 2011 12:00:18 +0000 (15:00 +0300)]
Fix the MSDOS build.
msdos/mainmake.v2 (boot): Condition the value on the existence of
autogen/README, not admin/admin.el, since the latter is now part
of the release tarball.
(install): Don't copy lib-src/fns.el, as that file is no longer
generated in that directory.
msdos/sed1v2.inp (LIB_PTHREAD, LIB_PTHREAD_SIGMASK): Edit to empty.
(SETTINGS_CFLAGS, SETTINGS_LIBS): Edit these instead of
GCONF_CFLAGS and GCONF_LIBS.
msdos/sedlibmk.inp (ALLOCA_H, AR, ARFLAGS, GNULIB_CHDIR, GNULIB_DUP)
(GNULIB_FDATASYNC, GNULIB_FDOPEN, GNULIB_FSTAT, GNULIB_PCLOSE)
(GNULIB_PTHREAD_SIGMASK, GNULIB_RAISE, GNULIB_SIGACTION)
(GNULIB_SIGPROCMASK, GNULIB_SIGNAL_H_SIGPIPE, HAVE_FDATASYNC)
(HAVE_PCLOSE, HAVE_POPEN, HAVE_POSIX_SIGNALBLOCKING)
(HAVE_PTHREAD_SIGMASK, HAVE_RAISE, HAVE_SIGACTION)
(HAVE_SIGHANDLER_T, HAVE_SIGINFO_T, HAVE_SIGSET_T)
(HAVE_STRUCT_SIGACTION_SA_SIGACTION)
(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T, LIB_PTHREAD)
(LIB_PTHREAD_SIGMASK, NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H)
(NEXT_SIGNAL_H, REPLACE_FDOPEN, REPLACE_PTHREAD_SIGMASK)
(REPLACE_RAISE): New edits.
(gl_LIBOBJS): Remove md5.o, filemode.o, and sha1.o. Add
pthread_sigmask.o.
(@GL_GENERATE_ALLOCA_H_TRUE@, @GL_GENERATE_ALLOCA_H_FALSE@): Edit
to comment out unneeded lines.
(warn-on-use.h): Edit the recipe commands to work with DJGPP
without requiring a Unixy shell.
msdos/inttypes.h (strtoimax) [DJGPP < 2.04]: New macro.
msdos/sed2v2.inp (HAVE_ALLOCA, HAVE_DECL_STRTOLL, HAVE_DECL_STRTOIMAX)
(HAVE_STRTOLL, HAVE_SIGSET_T, HAVE_SNPRINTF): New edits.
.bzrignore: Add ./GNUMakefile.unix.
config.bat: Rename GNUMakefile, so it is not run on MS-DOS.
Rename signal.in.h and alloca.in.h.
src/sysdep.c (snprintf) [EOVERFLOW]: If EOVERFLOW is not defined,
use EDOM.
Eli Zaretskii [Wed, 28 Sep 2011 14:37:27 +0000 (17:37 +0300)]
Fix bug #9624 with crashes in Muse mode.
src/xdisp.c (compute_display_string_end): If there's no display
string at CHARPOS, return -1.
src/bidi.c (bidi_fetch_char): When compute_display_string_end
returns a negative value, treat the character as a normal
character not covered by a display string.
Eli Zaretskii [Tue, 27 Sep 2011 17:18:31 +0000 (20:18 +0300)]
Fix bug #9610 with slow cursor motion in buffers with invisible text.
src/xdisp.c (handle_invisible_prop): If invisible text ends on a
newline, reseat the iterator instead of bidi-iterating there one
character at a time. (Bug#9610)
(BUFFER_POS_REACHED_P, move_it_in_display_line_to): Bail when past
TO_CHARPOS if the bidi iterator is at base embedding level.
Eli Zaretskii [Tue, 27 Sep 2011 16:46:17 +0000 (19:46 +0300)]
Force left-to-right paragraphs in Org buffers.
lisp/org/org.el (org-mode): Force left-to-right paragraphs in Org
buffers. For a related discussions, see
https://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00349.html.
nnimap.el (nnimap-wait-for-response): Message less (bug#9540).
nnheader.el (nnheader-message-maybe): New function.
shr.el (shr-tag-table): Render totally broken tables better.
mml.el (mml-generate-mime-1): Don't alter the contents if we're computing the boundary.
pop3.el (pop3-number-of-responses): Removed.
(pop3-wait-for-messages): Rewrite to take linear time instead of exponential time.
Paul Eggert [Mon, 26 Sep 2011 21:30:18 +0000 (14:30 -0700)]
Merge from gnulib, improving some licensing wording.
This clarifies and fixes some licensing issues raised by Glenn Morris
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
It also merges the latest version of texinfo.tex and has some
MSVC-related changes that don't affect Emacs.
* Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
pathmax, and raise, since these are needed only to address
MSVC-related issues that Emacs doesn't have.
* doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
* lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
* lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
* m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
* m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Merge from gnulib.
* lisp/progmodes/cfengine.el (cfengine-auto-mode): Add convenience
function that picks between cfengine 2 and 3 support
automatically. Update docs accordingly.
Martin Rudalics [Sun, 25 Sep 2011 10:11:25 +0000 (12:11 +0200)]
Some minor changes in windows section.
* windows.texi (Windows and Frames, Display Action Functions)
(Switching Buffers): Fix some typos.
(Buffers and Windows): Remove reference to window-auto-delete.
Reword description of replace-buffer-in-windows.
(Window History): Fix some typos and refer to frame local buffer
list.
Support a new variable `shr-ignore-cache' to re-fetch images when hitting `g' in Gnus.
gnus-sum.el (gnus-summary-show-article): Bind `shr-ignore-cache' to re-fetch images.
shr.el (shr-tag-img): Support a new variable `shr-ignore-cache' to re-fetch images when hitting `g' in Gnus.
Document display-buffer and other window changes in Lisp manual.
* doc/lispref/windows.texi (Window History): New node. Move text here
from Buffers and Windows.
(Switching Buffers): Rename from Displaying Buffers, since we
don't document display-buffer here; callers changed. Document
FORCE-SAME-WINDOW arg to switch-to-buffer and
switch-to-buffer-other-frame. Delete duplicate
replace-buffer-in-windows doc.
(Choosing Window): Document display actions.
Ken Manheimer [Sat, 24 Sep 2011 20:58:23 +0000 (16:58 -0400)]
* allout.el (allout-this-command-hid-stuff): Buffer-local variable that's
true if the current command involved collapsing of text. It's reset to
false at the beginning of the next command.
(allout-post-command-business): Move the cursor to the beginning of entry
if the cursor is hidden and collapsing activity just happened.
* etc/NEWS: Reorganize, placing user options in Changes section.
* doc/emacs/buffers.texi (Select Buffer): Clarify description of
buffer-switching commands. Add xref to Window Display node.
Don't repeat confirm-nonexistent-file-or-buffer description from
Visiting node. Remove even-window-heights.
* doc/emacs/frames.texi (Special Buffer Frames): Add xref to Window Choice.
* doc/emacs/windows.texi (Pop Up Window): Defer discussion of window
splitting to the Window Choice node. Add index entries.
(Force Same Window): Node deleted.
(Displaying Buffers, Window Choice): New nodes.
Eli Zaretskii [Sat, 24 Sep 2011 14:38:16 +0000 (17:38 +0300)]
Change the default value of redisplay-dont-pause to t.
src/dispnew.c (syms_of_display) <redisplay-dont-pause>: Default
value is now t. Doc fix.
doc/lispref/display.texi (Forcing Redisplay): Update the description of
redisplay-dont-pause due to change in the default value.
etc/NEWS: Mention the change of the default value.
newsticker: automatically load html rendering packages.
lisp/ChangeLog:
2011-09-24 Ulf Jasper <ulf.jasper@web.de>
* net/newst-reader.el (newsticker-html-renderer)
(newsticker-show-news): Automatically load html rendering package
if newsticker-html-renderer is set. Fixes "Warning: defvar ignored
because w3m-fill-column is let-bound" and the error "Symbol's
value as variable is void: w3m-fill-column".
Eli Zaretskii [Sat, 24 Sep 2011 13:23:58 +0000 (16:23 +0300)]
Fix vertical cursor motion when the newline is covered by a display string.
src/indent.c (Fvertical_motion): Compute and apply the overshoot
logic when moving up, not only when moving down. Fix the
confusing name and values of the it_overshoot_expected variable;
logic changes accordingly. (Bug#9254) (Bug#9549)
src/xdisp.c (pos_visible_p): Produce correct pixel coordinates when
CHARPOS is covered by a display string which includes newlines.
(move_it_vertically_backward): Avoid inflooping when START_CHARPOS
is covered by a display string with embedded newlines.