Paul Eggert [Sat, 3 May 2014 20:13:10 +0000 (13:13 -0700)]
Handle systems without WCONTINUED consistently.
* lib-src/emacsclient.c (WCONTINUED): Move to ../src/syswait.h.
* src/process.c (handle_child_signal): Remove WCONTINUED ifdef,
because WCONTINUED is always defined now.
* src/syswait.h (WCONTINUED): Move here from ../lib-src/emacsclient.c.
Stefan Monnier [Sat, 3 May 2014 02:27:46 +0000 (22:27 -0400)]
* lisp/vc/ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer):
Use nil rather than `default' for the "default" appearance.
* lisp/vc/ediff-util.el (ediff-inferior-compare-regions)
(ediff-toggle-autorefine, ediff-unselect-difference): Don't use
a misleading `default' value when it's really a boolean.
* lisp/vc/ediff-init.el (ediff-set-overlay-face): Don't set help-echo if the
overlay is not visible.
Paul Eggert [Fri, 2 May 2014 19:34:03 +0000 (12:34 -0700)]
Consult libpng-config more consistently.
* configure.ac (edit_cflags): Move this up and to the top level,
so that PNG_CFLAGS can use it too.
(PNG_CFLAGS): New var.
(png_longjmp): Use PNG_CFLAGS when checking.
(LIBPNG): Be consistent about -lpng16 etc; e.g., don't use -lpng16
in some places and -lpng in others. Test libpng-config's exit
status. If it succeeds, use its output rather than appending -lz -lm.
* src/Makefile.in (PNG_CFLAGS): New var.
(ALL_CFLAGS): Use it.
* src/image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
CFLAGS now handles this.
* todo-mode.texi: Update, improve exposition, add cross
references, fix typos.
(Inserting New Items, Editing Item Headers and Text): Rewrite to
document new user interface.
Stephen Berman [Fri, 2 May 2014 13:58:23 +0000 (15:58 +0200)]
Extend todo item insertion UI to item editing.
* calendar/todo-mode.el: Reimplement item editing to have the same
basic user interface as item insertion, and make small UI and
larger internal improvements to the latter.
(todo-insert-item): Add reference to the Todo mode user manual to
the documentation string.
(todo-insert-item--basic): Rename from todo-basic-insert-item and
adjust all callers. Change signature to combine diary and
nonmarking arguments. Incorporate functionality of deleted item
copying command and add error checking. Remove detailed
descriptions of the arguments from the documentation string, since
this is treated in the Todo mode user manual.
(todo-copy-item, todo-edit-multiline-item)
(todo-edit-done-item-comment, todo-edit-item-header)
(todo-edit-item-time, todo-edit-item-date-from-calendar)
(todo-edit-item-date-to-today, todo-edit-item-date-day-name)
(todo-edit-item-date-year, todo-edit-item-date-month)
(todo-edit-item-date-day, todo-edit-item-diary-nonmarking):
Remove.
(todo-edit-item): Reimplement as wrapper command for
todo-edit-item--next-key and make it distinguish done and not done
todo items.
(todo-edit-item--text): New function, replacing old command
todo-edit-item and incorporating deleted commands
todo-edit-multiline-item and todo-edit-done-item-comment.
(todo-edit-item--header): Rename from todo-basic-edit-item-header.
Use only numeric value of prefix argument. Remove detailed
descriptions of the arguments from the documentation string, since
this is treated in the Todo mode user manual.
(todo-edit-item--diary-inclusion): New function, replacing old
command todo-edit-item-diary-inclusion and incorporating and fixing
functionality of deleted command todo-edit-item-diary-nonmarking,
making sure to remove todo-nondiary-marker when adding
diary-nonmarking-symbol.
(todo-edit-category-diary-inclusion): Make sure to delete
diary-nonmarking-symbol when adding todo-nondiary-marker.
(todo-edit-category-diary-nonmarking): Fix indentation.
(todo-insert-item--parameters): Group diary and nonmarking
parameters together.
(todo-insert-item--apply-args): Adjust to signature of
todo-insert-item--basic and incorporate copy parameter.
Make small code improvements.
(todo-insert-item--next-param): Improve prompt and adjust it to
new parameter grouping. Remove obsolete code.
(todo-edit-item--param-key-alist)
(todo-edit-item--date-param-key-alist)
(todo-edit-done-item--param-key-alist): New defconsts.
(todo-edit-item--prompt): New variable.
(todo-edit-item--next-key): New function.
(todo-key-bindings-t): Bind "e" to todo-edit-item. Remove
bindings of deleted commands.
Eli Zaretskii [Fri, 2 May 2014 12:28:10 +0000 (15:28 +0300)]
Improve indexing in trouble-related sections of Emacs User manual.
doc/emacs/trouble.texi (Lossage, DEL Does Not Delete, Stuck Recursive)
(Screen Garbled, Text Garbled, After a Crash, Emergency Escape)
(Bug Criteria, Understanding Bug Reporting, Checklist, Service):
Improve indexing.
Stefan Monnier [Thu, 1 May 2014 15:15:46 +0000 (11:15 -0400)]
* src/intervals.c: Tighten assertions.
(create_root_interval): Make sure the interval is not empty.
(intervals_equal): Use booleans.
(rotate_right, rotate_left): Check LENGTHs rather than TOTAL_LENGTH.
(balance_an_interval): Sanity check LENGTHs and TOTAL_LENGTHs.
(balance_possible_root_interval): Simplify and use booleans.
(split_interval_right, split_interval_left): Check LENGTH, and remove
now redundant assertion.
(adjust_intervals_for_insertion): Remove now redundant assertions.
(delete_node, interval_deletion_adjustment)
(adjust_intervals_for_deletion, merge_interval_right)
(merge_interval_left): Check LENGTH rather than TOTAL_LENGTH.
(reproduce_interval): Make sure the interval is not empty.
Eli Zaretskii [Tue, 29 Apr 2014 15:33:37 +0000 (18:33 +0300)]
Place hardware TTY cursor at the active menu item when displaying a menu.
src/term.c (tty_menu_display): Move the cursor to the active menu
item.
(tty_menu_activate): Return the cursor to the active menu item
after displaying the menu and after displaying help-echo. See
http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00402.html
for the details of why this is needed by screen readers and
Braille displays.
Eli Zaretskii [Tue, 29 Apr 2014 14:45:24 +0000 (17:45 +0300)]
Fix bug #17362 with inconsistent usage of @key and @kbd, and key names.
doc/emacs/trouble.texi (Quitting, DEL Does Not Delete, Emergency Escape)
(Bug Criteria): Fix usage of @kbd and @key. (Bug#17362)
doc/emacs/text.texi (Words, Pages, Foldout, HTML Mode): Fix usage of @kbd
and @key.
doc/emacs/search.texi (Special Isearch, Regexp Search): Fix usage of @kbd
and @key.
doc/emacs/screen.texi (Echo Area, Menu Bar): Fix usage of @kbd and @key.
doc/emacs/rmail.texi (Rmail Scrolling): Fix usage of @kbd and @key.
doc/emacs/programs.texi (Hungry Delete, Other C Commands): Fix usage of
@kbd and @key.
doc/emacs/picture-xtra.texi (Insert in Picture): Fix usage of @kbd and
@key.
doc/emacs/mule.texi (Unibyte Mode, Bidirectional Editing): Fix usage of
@kbd and @key.
doc/emacs/msdog.texi (Windows Keyboard, Windows Processes): Fix usage of
@kbd and @key.
doc/emacs/msdog-xtra.texi (MS-DOS Keyboard, MS-DOS Printing)
(MS-DOS Processes): Fix usage of @kbd and @key.
doc/emacs/misc.texi (Shell Ring, Printing Package): Fix usage of @kbd and
@key.
doc/emacs/mini.texi (Completion Commands, Minibuffer History): Fix usage
of @kbd and @key.
doc/emacs/kmacro.texi (Keyboard Macro Step-Edit): Fix usage of @kbd and
@key.
doc/emacs/killing.texi (Deletion, Rectangles, CUA Bindings): Fix usage of
@kbd and @key.
doc/emacs/indent.texi (Indentation Commands): Fix usage of @kbd and @key.
doc/emacs/help.texi (Help Mode, Misc Help): Fix usage of @kbd and @key.
doc/emacs/glossary.texi (Glossary): Fix usage of @kbd and @key.
doc/emacs/frames.texi (Speedbar): Fix usage of @kbd and @key.
doc/emacs/files.texi (Misc File Ops, File Name Cache, File Conveniences)
(Filesets): Fix usage of @kbd and @key.
doc/emacs/display.texi (View Mode): Fix usage of @kbd and @key.
doc/emacs/dired.texi (Image-Dired): Fix usage of @kbd and @key.
doc/emacs/custom.texi (Modifier Keys, Function Keys, Named ASCII Chars)
(Init Syntax): Fix usage of @kbd and @key.
doc/emacs/commands.texi (User Input): Fix usage of @kbd and @key.
doc/emacs/calendar.texi (Counting Days, General Calendar): Fix usage of
@kbd and @key.
doc/emacs/building.texi (Threads Buffer): Fix usage of @kbd and @key.
doc/emacs/buffers.texi (Select Buffer, Icomplete): Fix usage of @kbd and
@key.
doc/emacs/basic.texi (Inserting Text, Erasing, Arguments): Fix usage of
@kbd and @key.
Fix bug 16694 with applying X resources to faces too early.
lisp/faces.el (face-spec-recalc): Apply X resources only after the defface spec has been applied. Thus, X resources are no longer
overriden by the defface spec which also fixes issues on win32 where
the toolbar coloring was wrong because it is set through X resources
and was (wrongfully) overriden.
Michael Albinus [Fri, 25 Apr 2014 10:35:01 +0000 (12:35 +0200)]
* automated/tramp-tests.el (top):
* automated/file-notify-tests.el (top): Do not disable interactive
passwords in batch mode.
(password-cache-expiry): Set to nil.
Michael Albinus [Thu, 24 Apr 2014 08:21:58 +0000 (10:21 +0200)]
Use a mock-up connection method for remote files.
* automated/file-notify-tests.el
(file-notify-test-remote-temporary-file-directory):
* automated/tramp-tests.el (tramp-test-temporary-file-directory):
Use a mock-up method as default.
(tramp-test00-availability): Print the used directory name.
(tramp-test33-recursive-load): Fix typo.
Stefan Monnier [Wed, 23 Apr 2014 02:22:06 +0000 (22:22 -0400)]
* lisp/simple.el (completion-list-mode-map): Use choose-completion for the
mouse binding as well.
(completion-list-mode, completion-setup-function): Adjust docstring and
echo area message accordingly.
* lisp/progmodes/idlwave.el (idlwave-choose-completion): Adjust to new
calling convention of choose-completion.
* lisp/comint.el (comint-dynamic-list-completions):
* lisp/term.el (term-dynamic-list-completions): Accept choose-completion.
Paul Eggert [Tue, 22 Apr 2014 20:19:17 +0000 (13:19 -0700)]
Port to GCC 4.9.0 with --enable-gcc-warnings.
* image.c (struct my_jpeg_error_mgr) [lint]: Remove member fp.
All uses removed.
(jpeg_load_body) [lint]: Add a 'volatile' to pacify a buggy GCC in
a way that also works with GCC 4.9.0.
* dired.el (dired-insert-set-properties): Do not consider
subdirectory headings and empty lines to be information that
`dired-hide-details-mode' should hide. (Bug#17228)
Eli Zaretskii [Tue, 22 Apr 2014 17:37:35 +0000 (20:37 +0300)]
Add debugging facility for the newline cache.
See the discussion in
http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00295.html
for more detail.
src/search.c (find_newline1): New subroutine.
(Fnewline_cache_check): New function.
(syms_of_search): Defsubr it.
Michael Albinus [Tue, 22 Apr 2014 10:43:01 +0000 (12:43 +0200)]
* net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
Remove test messages.
(tramp-do-copy-or-rename-file-out-of-band): Do not quote `source'
and `target' twice.
Michael Albinus [Mon, 21 Apr 2014 21:04:25 +0000 (23:04 +0200)]
* net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): Set
"IFS=" when using read builtin, in order to preserve spaces in
the file name. Add test messages for hunting a bug on hydra.
(tramp-get-ls-command): Undo using "-b" argument. It doesn't help.
Eli Zaretskii [Mon, 21 Apr 2014 14:50:19 +0000 (17:50 +0300)]
Minor fixes to the docs.
doc/emacs/buffers.texi (Uniquify): Clarify the default uniquification.
doc/emacs/indent.texi (Tab Stops): Improve wording.
doc/emacs/cmdargs.texi (General Variables): Improve docs of
EMACSLOADPATH. Index all the environment variables.
(Misc Variables): Index all the environment variables.
Michael Albinus [Sun, 20 Apr 2014 21:39:43 +0000 (23:39 +0200)]
* automated/tramp-tests.el (tramp-test19-directory-files-and-attributes)
(tramp-test22-file-times): Check for `file-attributes' equality
only if there is a usable timestamp.
(tramp--test-check-files): Do not use `copy-sequence'.
Michael Albinus [Fri, 18 Apr 2014 18:58:13 +0000 (20:58 +0200)]
* automated/tramp-tests.el (tramp-copy-size-limit): Set to nil.
(tramp--test-make-temp-name): Optional argument LOCAL.
(tramp--instrument-test-case): Show messages. Catch also `quit'.
(tramp-test10-write-region): No special test for out-of-band copy
needed anymore.
(tramp-test11-copy-file, tramp-test12-rename-file)
(tramp-test21-file-links): Extend tests.
(tramp-test20-file-modes): More robust check for user "root".
(tramp--test-check-files): New defun.
(tramp-test30-special-characters, tramp-test33-recursive-load)
(tramp-test34-unload): New tests.
(tramp-test31-utf8, tramp-test32-asynchronous-requests): Rename.
Michael Albinus [Fri, 18 Apr 2014 18:57:04 +0000 (20:57 +0200)]
Avoid recursive load of tramp.el
* net/tramp.el (tramp-run-real-handler, tramp-file-name-handler):
Do not autoload.
(tramp-file-name-handler, tramp-completion-file-name-handler):
Revert patch from 2014-04-10, it isn't necessary anymore.
(tramp-autoload-file-name-handler)
(tramp-register-autoload-file-name-handlers): New defuns.
(top): Autoload call of `tramp-register-autoload-file-name-handlers'.
(tramp-register-file-name-handlers): Remove also
`tramp-autoload-file-name-handler' from `file-name-handler-list'.
Do not autoload its invocation, but eval it after loading of 'tramp.
Stefan Monnier [Wed, 16 Apr 2014 14:00:39 +0000 (10:00 -0400)]
* src/window.c (save_window_save): Lookup window_point_insertion_type in
the right buffer.
(Qwindow_point_insertion_type): New var.
(syms_of_window): Initialize it.
Eli Zaretskii [Wed, 16 Apr 2014 13:27:28 +0000 (16:27 +0300)]
Fix the MSDOS build.
src/unexcoff.c [MSDOS]: Include libc/atexit.h.
(copy_text_and_data): Zero out the atexit chain pointer before
dumping Emacs.
src/termhooks.h (encode_terminal_code): Update prototype.
src/term.c (encode_terminal_code) [DOS_NT]: Make it externally
visible for all DOS_NT ports, not just WINDOWSNT.
(syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
src/sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
unless it is defined.
(emacs_pipe) [MSDOS]: Redirect to 'pipe'.
src/process.c (close_on_exec, accept4, process_socket): Move into
the "ifdef subprocesses" part.
(catch_child_signal): Condition by "ifdef subprocesses".
(syms_of_process) <Qinternal_default_process_sentinel>
<Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
src/msdos.h: Add prototypes for new functions.
(EINPROGRESS): Define.
(O_CLOEXEC): Define to zero.
src/msdos.c (check_window_system): Remove unnecessary an
incompatible duplicate function.
(sys_opendir, readlinkat, faccessat, fstatat, unsetenv): New
functions in support of new functionality.
src/menu.c (single_menu_item): Add visual indication of submenu
also for menus on MSDOS frames.
(Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
src/lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
when async subprocesses aren't supported.
src/font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
src/emacs.c (close_output_streams): Zero out errno before calling
close_stream.
src/dired.c [MSDOS]: Include msdos.h.
src/conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
(DATA_START) [MSDOS]: Define.
(SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
src/callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
Ifdef away for MSDOS.
(record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
(call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
for MSDOS.
(call_process) [MSDOS]: Fix call sequence of dostounix_filename.
Use temporary file template that is compatible with mkostemp.
Move vfork-related portions under #ifndef MSDOS.
(syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.
lisp/term/pc-win.el (x-list-fonts, x-get-selection-value): Provide
doc strings, as required by snarf-documentation.
msdos/sedlisp.inp:
msdos/sedlibmk.inp:
msdos/sedleim.inp:
msdos/sed3v2.inp:
msdos/sed2v2.inp:
msdos/sed1v2.inp: Update Sed scripts for Emacs 24.4.
msdos/inttypes.h: Add PRIdMAX.
msdos/INSTALL: Update for Emacs 24.4.
msdos/sedadmin.inp: New file.
Paul Eggert [Tue, 15 Apr 2014 15:43:41 +0000 (08:43 -0700)]
Fix some xgselect-vs-pselect bugs.
This may not fix Bug#17172, but it fixes some bugs discovering
while auditing xgselect.c for that bug.
when one of glib's file descriptors is greater than FDS_LIM.
Treat rfds, wfds, efds consistently, and test G_IO_PRI too.
Clear input masks when pselect returns zero.
Stefan Monnier [Tue, 15 Apr 2014 13:21:18 +0000 (09:21 -0400)]
* src/buffer.c (Foverlays_at): Add argument `sorted'.
* doc/lispref/display.texi (Overlay Properties): Reword the doc of `priority'.
(Finding Overlays): Document new arg of `overlays-at'.
* lisp/obsolete/lucid.el (extent-at):
* lisp/htmlfontify.el (hfy-overlay-props-at): Use the new `sorted' arg of
overlays-at.
(hfy-fontify-buffer): Remove unused var `orig-ovls'.
* lisp/ps-def.el (ps-generate-postscript-with-faces1): Use the new `sorted'
arg of overlays-at. Use `invisible-p'.
Eli Zaretskii [Mon, 14 Apr 2014 15:32:27 +0000 (18:32 +0300)]
Fix bidirectional redisplay when deletion creates a paragraph start.
src/insdel.c (invalidate_buffer_caches): When deleting or replacing
text, invalidate the bidi_paragraph_cache upto and including the
preceding newline.
Paul Eggert [Sun, 13 Apr 2014 22:51:08 +0000 (15:51 -0700)]
Port to IRIX 6.5.
This port requires IRIX cc, as I did not have time to get
undump working with the old GCC on the system I had access to,
but that's better than nothing.
* configure.ac (gl_GCC_VERSION_IFELSE): Remove unused macro
that wouldn't have worked anyway, with IRIX cc.
(emacs_cv_clang, emacs_cv_sanitize_address)
(ns_osx_have_104, ns_osx_have_105):
Don't assume '#error' makes the compiler fail,
as this doesn't work with IRIX cc.
(CFLAGS, LIBS): Don't let the GnuTLS results infect later 'configure'
checks. This runs afoul of an IRIX configuration where GnuTLS is
in an optional library that also contains getdelim, and causes
a later 'configure' to incorrectly think getdelim is supported.
* src/alloc.c (TAGGABLE_NULL): New constant,
for porting to hosts with nontrivial DATA_SEG_BITS settings.
(next_vector, set_next_vector): Use it.
* src/conf_post.h (INET6) [IRIX6_5]: Define.
(HAVE_GETADDRINFO) [IRIX6_5]: Undef.
* src/data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
* src/lisp.h (lisp_h_XPNTR): Don't OR in bits that aren't masked out,
for consistency with how TAGGABLE_NULL is computed.
Michael Albinus [Sun, 13 Apr 2014 10:31:48 +0000 (12:31 +0200)]
* net/tramp-sh.el (tramp-sh-handle-file-truename): Revert previous
patch, there are new problems with file names containing spaces.
Get rid of backticks. (Bug#17238)
Eli Zaretskii [Sun, 13 Apr 2014 07:49:23 +0000 (10:49 +0300)]
Improve documentation of blink-cursor-mode and its customization variables.
lisp/frame.el (blink-cursor-blinks, blink-cursor-blinks-done): Doc fixes.
(blink-cursor-mode): Mention customization variables and the
effect of 'blink-cursor-blinks'.
doc/emacs/display.texi (Cursor Display): Explain better how to customize
'blink-cursor-blinks'.