Martin Rudalics [Sun, 9 Oct 2011 12:26:29 +0000 (14:26 +0200)]
Describe frame-auto-hide-function and related issues.
* buffers.texi (The Buffer List): Describe how bury-buffer deals
with the selected window.
* windows.texi (Buffers and Windows): Reformulate text on how
replace-buffer-in-windows deals with a window.
(Quitting Windows): Describe how quit-window deals with a
standalone frame. Describe new option frame-auto-hide-function.
Chong Yidong [Sat, 8 Oct 2011 16:37:46 +0000 (12:37 -0400)]
Rework count-words-region. New command count-words.
See discussion at http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00193.html
* lisp/simple.el (count-words-region): Always count in the region.
Report the number of lines and characters too.
(count-words): New command, which counts in the buffer if the
region is inactive, as count-words-region used to.
(count-words--message): New function. Handle plurals.
(count-lines-region): Make it an alias for count-words-region.
* lisp/bindings.el (esc-map): Replace count-lines-region with
count-words-region.
Chong Yidong [Sat, 8 Oct 2011 15:08:50 +0000 (11:08 -0400)]
Document completion styles in Emacs manual; copyedits.
* doc/emacs/mini.texi (Minibuffer File): Minor copyedits. Use xref to
Remote Files node instead of linking directly to the Tramp manual.
(Minibuffer Edit): Add xref to Blank Lines.
(Completion): Add xref to Symbol Completion. Remove redundant
example, which is repeated in the next node.
(Completion Commands): Minor clarifications.
(Completion Styles): New node, split from Completion Commands.
Document substring and initials styles.
(Strict Completion): Remove information duplicated in other nodes.
(Completion Options): Consolidate case difference discussion here.
* doc/emacs/files.texi (File Names): Add index entries.
Paul Eggert [Fri, 7 Oct 2011 21:15:00 +0000 (14:15 -0700)]
Merge from gnulib, fixing some 'configure' typos (Bug#9696).
* lib/signal.in.h, lib/sigprocmask.c, m4/gl-comp.m4:
* m4/gnulib-common.m4: Merge from gnulib.
Without this, 'configure' would say "func_gl_gnulib_m4code_pathmax:
command not found" on powerpc-apple-darwin9.8.0.
Chong Yidong [Fri, 7 Oct 2011 16:22:04 +0000 (12:22 -0400)]
Copyedits and updates for Emacs manual's first few chapters.
* doc/emacs/basic.texi (Inserting Text): Add xref to Completion. Add
ucs-insert example, and document prefix argument.
(Moving Point): Fix introduction; C-f/C-b are no longer equivalent
to left/right. Tweak left-char and right-char descriptions.
M-left and M-right are now bound to left-word/right-word.
(Erasing): Document delete-forward-char.
* doc/emacs/commands.texi (User Input): Define "input event" more clearly.
(Keys): Add xref to Echo Area.
(Commands): Clarify relation between commands and functions.
* doc/emacs/entering.texi (Entering Emacs): Define "startup screen".
Document window-splitting behavior with command-line inputs.
(Exiting): Remove obsolete paragraph about shells without suspend
functionality.
* doc/emacs/frames.texi (Non-Window Terminals): Index just "text-only
terminal", which is used throughout the manual now.
* doc/emacs/screen.texi (Screen, Menu Bar): Copyedits.
(Point): Remove duplicate paragraph on cursors, also in Screen.
(Mode Line): Trailing dashes no longer shown on X displays.
Paul Eggert [Fri, 7 Oct 2011 07:23:44 +0000 (00:23 -0700)]
Fix alignment-related core dump during GC.
* configure.in (GC_LISP_OBJECT_ALIGNMENT): Remove.
This is now done by src/alloc.c.
* src/alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__
or sizeof. __alignof__ gives the wrong answer on Fedora x86-64
with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int;
this makes Emacs dump core during garbage collection on rare
occasions. sizeof is obviously inferior to offsetof here, so
stick with offsetof.
(GC_POINTER_ALIGNMENT): New macro.
(mark_memory): Omit 3rd (offset) arg; caller changed.
Don't assume EMACS_INT alignment is the same as pointer alignment.
Gnus developers [Thu, 6 Oct 2011 22:11:15 +0000 (22:11 +0000)]
Merge changes made in Gnus trunk.
gnus.texi (Gnus Utility Functions): Add more references and explanations (bug#9683).
ecomplete.el (ecomplete-display-matches): Use a local keymap to handle bindings.
gnus-win.el (gnus-configure-windows): Protect against reading ephemeral groups outside of Gnus.
Martin Rudalics [Wed, 5 Oct 2011 08:59:13 +0000 (10:59 +0200)]
New functions window-point-1 and set-window-point-1.
* window.el (window-point-1, set-window-point-1): New functions.
(window-in-direction, record-window-buffer, window-state-get-1)
(display-buffer-record-window): Use window-point-1 instead of
window-point.
(set-window-buffer-start-and-point): Use set-window-point-1.
Martin Rudalics [Wed, 5 Oct 2011 06:49:53 +0000 (08:49 +0200)]
New option frame-auto-hide-function replacing frame-auto-delete.
* window.el (frame-auto-hide-function): New option replacing
frame-auto-delete. Suggested by Stefan Monnier.
(window--delete): Call frame-auto-hide-function instead of
investigating frame-auto-delete.
Stefan Monnier [Mon, 3 Oct 2011 20:50:54 +0000 (16:50 -0400)]
* src/keyboard.c (read_key_sequence_remapped): New var.
(read_key_sequence): Compute remapping in the right buffer.
(command_loop_1): Use read_key_sequence's remapping directly.
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.