Eli Zaretskii [Thu, 5 Jul 2012 16:28:34 +0000 (19:28 +0300)]
Avoid long futile looping on a TTY under huge values of hscroll.
src/xdisp.c (display_line): Fix horizontal pixel coordinates when
hscroll is larger than the line width. Fixes long and futile
looping inside extend_face_to_end_of_line (on a TTY) producing
glyphs that are not needed and thrown away.
Dmitry Antipov [Thu, 5 Jul 2012 16:14:39 +0000 (20:14 +0400)]
* marker.c (set_marker_restricted_both): Simplify by using
clip_to_bounds.
Paul Eggert [Thu, 5 Jul 2012 16:00:20 +0000 (09:00 -0700)]
* editfns.c (region_limit): Simplify by using clip_to_bounds.
Jan Djärv [Thu, 5 Jul 2012 15:44:53 +0000 (17:44 +0200)]
Don't use deprecated functions when compiling with Gtk3.
* gtkutil.c (gtk_scrollbar_new, gtk_box_new): Define when HAVE_GTK3 is
not defined (Bug#11768).
(xg_create_frame_widgets): Use gtk_plug_new_for_display (Bug#11768).
(xg_create_frame_widgets, create_dialog, xg_get_file_with_chooser)
(make_widget_for_menu_item, xg_make_tool_item): Use gtk_box_new
followed by gtk_box_set_homogeneous (Bug#11768).
(xg_update_menu_item): Use GTK_IS_BOX (Bug#11768).
(update_theme_scrollbar_width, xg_create_scroll_bar): Use
gtk_scrollbar_new (Bug#11768).
(xg_event_is_for_scrollbar): Use Gdk Device functions for HAVE_GTK3.
(is_box_type): New function (Bug#11768).
(xg_tool_item_stale_p): Call is_box_type.
(xg_initialize): Get settings by calling gtk_settings_get_for_screen
with default display (Bug#11768).
Eli Zaretskii [Thu, 5 Jul 2012 15:20:12 +0000 (18:20 +0300)]
Revert hscroll and min_hscroll to ptrdiff_t.
Fixes: debbugs:11857
Eli Zaretskii [Thu, 5 Jul 2012 15:04:57 +0000 (18:04 +0300)]
Fix bug #11857 with messed up display for insanely large hscroll values.
src/xdisp.c (window_hscroll_limited): New function.
(pos_visible_p, init_iterator): Use it to avoid overflow of pixel
coordinates when window's hscroll is set to insanely large
values.
src/window.h (struct window) <hscroll, min_hscroll>: Change type to 'int'.
Juanma Barranquero [Thu, 5 Jul 2012 12:07:29 +0000 (14:07 +0200)]
src/makefile.w32-in: Update dependencies.
($(BLD)/dired.$(O), $(BLD)/fileio.$(O)): Fix typo.
($(BLD)/terminal.$(O), $(BLD)/syntax.$(O)): Update dependencies.
Michael Albinus [Thu, 5 Jul 2012 06:57:57 +0000 (08:57 +0200)]
Sync with Tramp 2.2.6-pre.
* net/tramp.el (tramp-drop-volume-letter): Provide an XEmacs
compatible declaration.
* net/tramp-cmds.el (tramp-append-tramp-buffers): Protect
`list-load-path-shadows' call.
* net/tramp-compat.el (top): Require packages, which aren't
autoloaded anymore for XEmacs. Protect call of
`tramp-file-name-handler' by `tramp-compat-funcall', pacifying the
compiler. Do not require tramp-util.el and tramp-vc.el anymore,
it hurts at least for SXEmacs.
(tramp-compat-temporary-file-directory): In XEmacs, there is no
standard-value for `temporary-file-directory'.
* net/tramp-sh.el (tramp-do-directory-files-and-attributes-with-stat):
Redirect stderr to /dev/null.
(tramp-sh-handle-write-region): uid and gid can be floats.
Reported by Russell Sim <russell.sim@gmail.com>.
(tramp-sh-handle-vc-registered): Hide errors.
(tramp-vc-file-name-handler): Use dummy results for `process-file'
and `start-file-process'.
(tramp-maybe-open-connection): Check also whether `non-essential'
is bound.
Dmitry Antipov [Thu, 5 Jul 2012 06:32:41 +0000 (10:32 +0400)]
Cleanup xmalloc.
* admin/coccinelle/xzalloc.cocci: Semantic patch to convert
calls to xmalloc with following memset to xzalloc.
* src/lisp.h (xzalloc): New prototype. Omit needless casts.
* src/alloc.c (xzalloc): New function. Omit needless casts.
* src/charset.c: Omit needless casts. Convert all calls to
malloc with following memset to xzalloc.
* src/dispnew.c: Likewise.
* src/fringe.c: Likewise.
* src/image.c: Likewise.
* src/sound.c: Likewise.
* src/term.c: Likewise.
* src/w32fns.c: Likewise.
* src/w32font.c: Likewise.
* src/w32term.c: Likewise.
* src/xfaces.c: Likewise.
* src/xfns.c: Likewise.
* src/xterm.c: Likewise.
* src/atimer.c: Omit needless casts.
* src/buffer.c: Likewise.
* src/callproc.c: Likewise.
* src/ccl.c: Likewise.
* src/coding.c: Likewise.
* src/composite.c: Likewise.
* src/doc.c: Likewise.
* src/doprnt.c: Likewise.
* src/editfns.c: Likewise.
* src/emacs.c: Likewise.
* src/eval.c: Likewise.
* src/filelock.c: Likewise.
* src/fns.c: Likewise.
* src/gtkutil.c: Likewise.
* src/keyboard.c: Likewise.
* src/lisp.h: Likewise.
* src/lread.c: Likewise.
* src/minibuf.c: Likewise.
* src/msdos.c: Likewise.
* src/print.c: Likewise.
* src/process.c: Likewise.
* src/region-cache.c: Likewise.
* src/search.c: Likewise.
* src/sysdep.c: Likewise.
* src/termcap.c: Likewise.
* src/terminal.c: Likewise.
* src/tparam.c: Likewise.
* src/w16select.c: Likewise.
* src/w32.c: Likewise.
* src/w32reg.c: Likewise.
* src/w32select.c: Likewise.
* src/w32uniscribe.c: Likewise.
* src/widget.c: Likewise.
* src/xdisp.c: Likewise.
* src/xmenu.c: Likewise.
* src/xrdb.c: Likewise.
* src/xselect.c: Likewise.
Paul Eggert [Thu, 5 Jul 2012 04:16:11 +0000 (21:16 -0700)]
* fileio.c (time_error_value): Check the right error number.
Problem reported by Troels Nielsen in
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00095.html>.
Glenn Morris [Thu, 5 Jul 2012 03:06:50 +0000 (20:06 -0700)]
* doc/lispref/intro.texi (A Sample Function Description): Fix cross-refs.
Michael Witten [Thu, 5 Jul 2012 02:52:00 +0000 (22:52 -0400)]
* doc/lispref/intro.texi (Evaluation Notation, A Sample Function Description)
(A Sample Variable Description, Version Info): Copy edits.
Fixes: debbugs:11862
Paul Eggert [Wed, 4 Jul 2012 17:58:55 +0000 (10:58 -0700)]
* window.c (set_window_hscroll): Revert the 100000 hscroll limit.
This should be fixed in a better way; see Eli Zaretskii in
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00088.html>.
(HSCROLL_MAX): Remove; this is now internal to set_window_hscroll.
Juanma Barranquero [Wed, 4 Jul 2012 17:17:19 +0000 (19:17 +0200)]
* nt/configure.bat (enablechecking): Enable checks through src/config.h.
* nt/gmake.defs (DEBUG_CFLAGS): Add -fno-crossjumping.
(CHECKING_CFLAGS): Remove.
(CFLAGS, ESC_CFLAGS): Do not include $(CHECKING_CFLAGS).
* nt/nmake.defs (CHECKING_CFLAGS): Remove.
(CFLAGS, ESC_CFLAGS): Do not include $(CHECKING_CFLAGS).
Paul Eggert [Wed, 4 Jul 2012 17:11:11 +0000 (10:11 -0700)]
* fileio.c (time_error_value): Rename from special_mtime.
The old name's problems were noted by Eli Zaretskii in
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00087.html>.
Paul Eggert [Wed, 4 Jul 2012 17:04:09 +0000 (10:04 -0700)]
* emacs.c (gdb_pvec_type): Change it back to enum pvec_type.
This variable's comment says Emacs needs at least one GDB-visible
symbol of type enum pvec_type, to work around GDB problems.
The symbol's value doesn't matter.
Paul Eggert [Wed, 4 Jul 2012 16:52:51 +0000 (09:52 -0700)]
* alloc.c (PSEUDOVECTOR_NBYTES): Remove stray ';'
that causes compilation to fail on pre-C99 compilers.
Juanma Barranquero [Wed, 4 Jul 2012 16:46:42 +0000 (18:46 +0200)]
Remove obsolete configuration options (Windows port).
* admin/CPP-DEFINES (LISP_FLOAT_TYPE): Remove, obsolete.
* nt/config.nt (LISP_FLOAT_TYPE, HAVE_XFREE386, USE_TEXT_PROPERTIES)
(GSSAPI, HAVE_LIBINTL, HAVE_LIBGSSAPI_KRB5, HAVE_LIBGSSAPI)
(HAVE_GSSAPI_H, HAVE_LIBXBD, HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET)
(HAVE_MEMCMP): Remove, obsolete.
* src/s/ms-w32.h (LISP_FLOAT_TYPE, HAVE_MEMCMP, HAVE_MEMCPY)
(HAVE_MEMMOVE, HAVE_MEMSET): Don't set, obsolete.
Juanma Barranquero [Wed, 4 Jul 2012 16:32:54 +0000 (18:32 +0200)]
Fix ChangeLog typos.
Chong Yidong [Wed, 4 Jul 2012 16:14:05 +0000 (00:14 +0800)]
Clean up syntax-table usage in xml.el
* xml.el (xml--parse-buffer): Use xml-syntax-table.
(xml-parse-tag): Likewise, and avoid changing entity tables.
(xml-syntax-table): Define from scratch, making sure not to give
x2000 and other Unicode spaces whitespace syntax, since those are
not spaces in XML.
(xml-parse-fragment): Delete unused function.
(xml-name-start-char-re, xml-name-char-re, xml-name-re)
(xml-names-re, xml-nmtoken-re, xml-nmtokens-re, xml-char-ref-re)
(xml-entity-ref, xml-pe-reference-re)
(xml-reference-re,xml-att-value-re, xml-tokenized-type-re)
(xml-notation-type-re, xml-enumeration-re, xml-enumerated-type-re)
(xml-att-type-re, xml-default-decl-re, xml-att-def-re)
(xml-entity-value-re): Use syntax references in regexps where
possible; no need to define inside a let-binding.
(xml-parse-dtd): Use xml-pe-reference-re.
(xml-entity-or-char-ref-re): New defconst.
(xml-parse-string, xml-substitute-special): Use it.
Stefan Monnier [Wed, 4 Jul 2012 15:59:12 +0000 (11:59 -0400)]
* lisp/files.el (locate-dominating-file): Allow `name' to be a predicate.
(find-file--read-only): New function.
(find-file-read-only, find-file-read-only-other-window)
(find-file-read-only-other-frame): Use it.
(insert-file-contents-literally): Don't `fset'.
(get-free-disk-space): Use locate-dominating-file.
Dmitry Antipov [Wed, 4 Jul 2012 15:49:46 +0000 (19:49 +0400)]
* buffer.c (init_buffer_once): Fix initialization of
headers for buffer_defaults and buffer_local_symbols.
Reported by Juanma Barranquero <lekktu@gmail.com>.
Stefan Monnier [Wed, 4 Jul 2012 14:42:59 +0000 (10:42 -0400)]
* lisp/emacs-lisp/bytecomp.el (byte-compile): Don't signal an error if the
function is already compiled.
Stefan Monnier [Wed, 4 Jul 2012 14:38:02 +0000 (10:38 -0400)]
Turn VECTOR_FREE_LIST_FLAG into PVEC_FREE.
* src/lisp.h (enum pvec_type): Use fewer bits.
(PSEUDOVECTOR_SIZE_BITS): New constant.
(PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK): Use it.
(XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR, DEFUN): Adapt code to
change in pvec_type.
(PSEUDOVECTOR_TYPEP): New macro.
(TYPED_PSEUDOVECTORP): Use it.
* src/fns.c (internal_equal): Adapt code to extract pvectype.
* src/emacs.c (gdb_pvec_type): Update type.
* src/alloc.c (PSEUDOVECTOR_NBYTES): New macro.
(VECTOR_FREE_LIST_SIZE_MASK): Remove (=> PSEUDOVECTOR_SIZE_MASK).
(VECTOR_FREE_LIST_FLAG): Remove (=> PVEC_FREE).
(SETUP_ON_FREE_LIST): Use XSETPVECTYPESIZE.
(sweep_vectors): Use it. Use local var `total_bytes' instead of
abusing vector->header.next.nbytes.
(live_vector_p): Use PVEC_TYPE.
(mark_object): Adapt code to extract pvectype. Use switch.
Glenn Morris [Wed, 4 Jul 2012 10:17:38 +0000 (06:17 -0400)]
Auto-commit of generated files.
Paul Eggert [Wed, 4 Jul 2012 08:35:34 +0000 (01:35 -0700)]
Merge from gnulib.
* lib/alloca.in.h: New version from gnulib, incorporating:
2012-07-03 alloca: add support for HP NonStop TNS/E native
Paul Eggert [Wed, 4 Jul 2012 08:26:20 +0000 (01:26 -0700)]
* doprnt.c (doprnt): Don't assume string length fits in 'int'.
Tighten new eassert a bit.
Dmitry Antipov [Wed, 4 Jul 2012 08:07:26 +0000 (12:07 +0400)]
Fix compilation with --enable-gcc-warnings and -O1
optimization level.
* configure.in: If --enable-gcc-warnings, disable
-Wunsafe-loop-optimizations for -O1 optimization level.
* src/doprnt.c (doprnt): Change type of tem to int, initialize
to avoid compiler warning. Add eassert.
* src/search.c (simple_search): Initialize match_byte to avoid
compiler warning. Add eassert.
Paul Eggert [Wed, 4 Jul 2012 06:15:31 +0000 (23:15 -0700)]
Avoid weird behavior with large horizontal scrolls.
Without this change, for example, large hscroll values would
mess up Emacs's display on Fedora 15 x86, presumably due to
overflows in int calculations in the display code.
Also, if buffers had long lines, Emacs would freeze.
* window.c (HSCROLL_MAX): Reduce to 100000, and make it visible to GDB.
(set_window_hscroll): New function, containing the old guts of
Fset_window_hscroll. Return the clipped value.
(Fset_window_hscroll, Fscroll_left, Fscroll_right): Use it.
This avoids the need to check against PTRDIFF_MAX.
Paul Eggert [Wed, 4 Jul 2012 05:39:36 +0000 (22:39 -0700)]
* buffer.c (Fgenerate_new_buffer_name): Fix sprintf format mismatch.
Dmitry Antipov [Wed, 4 Jul 2012 03:49:19 +0000 (07:49 +0400)]
* buffer.c (Fgenerate_new_buffer_name): Fix type mismatch.
Stefan Monnier [Wed, 4 Jul 2012 03:31:34 +0000 (23:31 -0400)]
* lisp/xml.el (xml-name-regexp): Remove, redundant. Use xml-name-re.
Paul Eggert [Wed, 4 Jul 2012 02:57:12 +0000 (19:57 -0700)]
Remove stray empty line.
Paul Eggert [Wed, 4 Jul 2012 00:36:28 +0000 (17:36 -0700)]
* regex.c: Suppress GCC warning on RHEL 6. (Bug#11207)
Conditionalize the pragmas on GCC 4.5 or later, not GCC 4.3 or later,
since GCC 4.4.6 issues a bogus warning for them.
Paul Eggert [Wed, 4 Jul 2012 00:04:46 +0000 (17:04 -0700)]
Fix bugs in file timestamp newness comparisons.
* fileio.c (Ffile_newer_than_file_p):
* lread.c (Fload): Use full timestamp resolution of files,
not just the 1-second resolution, so that files that are only
slightly newer still count as newer.
* fileio.c (Ffile_newer_than_file_p): Don't assume file
timestamps fit in 'int'; this fixes a Y2038 bug on most hosts.
Paul Eggert [Tue, 3 Jul 2012 23:51:32 +0000 (16:51 -0700)]
* fileio.c: Improve handling of file time marker. (Bug#11852)
(special_mtime): New function.
(Finsert_file_contents, Fverify_visited_file_modtime):
Use it to set special mtime values consistently.
Andreas Schwab [Tue, 3 Jul 2012 22:03:37 +0000 (00:03 +0200)]
* fileio.c (Finsert_file_contents): Properly handle st_mtime
marker for non-existing file.
Paul Eggert [Tue, 3 Jul 2012 21:14:48 +0000 (14:14 -0700)]
* make-docfile.c (scan_c_file): Suppress GCC warning.
Glenn Morris [Tue, 3 Jul 2012 20:34:47 +0000 (16:34 -0400)]
* src/lisp.h (Fread_file_name): Restore EXFUN
(it's not a normal DEFUN and did not make it into globals.h).
Tom Tromey [Tue, 3 Jul 2012 18:24:42 +0000 (12:24 -0600)]
Auto-generate EXFUN using make-docfile
src
* window.c (Fset_window_margins, Fset_window_fringes)
(Fset_window_scroll_bars, Fset_window_vscroll): No longer static.
* textprop.c (Fprevious_property_change): No longer static.
* syntax.c (Fsyntax_table_p): No longer static.
* process.c (Fget_process, Fprocess_datagram_address): No longer
static.
* keymap.c (Flookup_key, Fcopy_keymap): No longer static.
* keyboard.c (Fcommand_execute): No longer static.
Remove EXFUN.
* insdel.c (Fcombine_after_change_execute): No longer static.
* image.c (Finit_image_library): No longer static.
* fileio.c (Fmake_symbolic_link): No longer static.
* eval.c (Ffetch_bytecode): No longer static.
* editfns.c (Fuser_full_name): No longer static.
* doc.c: (Fdocumentation_property, Fsnarf_documentation): No
longer static.
* buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer
static.
* dired.c (Ffile_attributes): No longer static.
* composite.c (Fcomposition_get_gstring): No longer static.
* callproc.c (Fgetenv_internal): No longer static.
* ccl.h: Remove EXFUNs.
* buffer.h: Remove EXFUNs.
* dispextern.h: Remove EXFUNs.
* intervals.h: Remove EXFUNs.
* fontset.h: Remove EXFUN.
* font.h: Remove EXFUNs.
* dosfns.c (system_process_attributes): Remove EXFUN.
* keymap.h: Remove EXFUNs.
* lisp.h: Remove EXFUNs.
* w32term.h: Remove EXFUNs.
* window.h: Remove EXFUNs.
* xsettings.h: Remove EXFUN.
* xterm.h: Remove EXFUN.
lib-src
* make-docfile.c (enum global_type) <FUNCTION>: New constant.
(struct global) <value>: New field.
(add_global): Add 'value' argument.
(compare_globals): Sort functions at the end.
(close_emacs_globals): New function.
(write_globals): Handle functions.
(scan_c_file): Call add_global for DEFUN.
Glenn Morris [Tue, 3 Jul 2012 17:47:32 +0000 (13:47 -0400)]
Speed up generate-new-buffer-name for invisible buffers (bug#1229)
* src/buffer.c (Fgenerate_new_buffer_name):
Speed up finding a new buffer for invisible buffers.
* src/lisp.h (Frandom): Make it visible to C.
Dmitry Antipov [Tue, 3 Jul 2012 16:35:53 +0000 (20:35 +0400)]
Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
values which aren't power of 2.
* alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. Verify
it's value and the value of VECTOR_BLOCK_SIZE. Adjust users
accordingly.
Stefan Monnier [Tue, 3 Jul 2012 14:37:55 +0000 (10:37 -0400)]
* src/alloc.c (mark_object): Revert part of last patch to use `switch'.
* src/lisp.h (Lisp_Misc, Lisp_Fwd): Move around to group better.
Dmitry Antipov [Tue, 3 Jul 2012 11:09:36 +0000 (15:09 +0400)]
* alloc.c (allocate_vector_block): Remove redundant
calls to mallopt if DOUG_LEA_MALLOC is defined.
(allocate_vectorlike): If DOUG_LEA_MALLOC is defined,
avoid calls to mallopt if zero_vector is returned.
Dmitry Antipov [Tue, 3 Jul 2012 10:21:01 +0000 (14:21 +0400)]
* alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES
is enabled, avoid dereferencing NULL current_sblock if
running undumped.
Michael Albinus [Tue, 3 Jul 2012 07:42:31 +0000 (09:42 +0200)]
* vc/ediff-diff.el (ediff-same-file-contents): Fix it for remote
files on the same host.
Andreas Schwab [Tue, 3 Jul 2012 07:12:22 +0000 (09:12 +0200)]
Fixes: debbugs:11848
* help-fns.el (describe-function-1): Only call
help-fns--autoloaded-p when we have a file name.
Chong Yidong [Tue, 3 Jul 2012 05:28:42 +0000 (13:28 +0800)]
* xml.el: Protect parser against XML bombs.
(xml-entity-expansion-limit): New variable.
(xml-parse-string, xml-substitute-special): Use it.
(xml-parse-dtd): Avoid infloop if the DTD is not terminated.
* test/automated/xml-parse-tests.el: Update testcases.
Dmitry Antipov [Tue, 3 Jul 2012 03:57:52 +0000 (07:57 +0400)]
Cleanup basic buffer management.
* buffer.h (struct buffer): Change layout to use generic vector
marking code. Fix some comments. Change type of 'clip_changed'
to bitfield. Remove unused #ifndef old.
(FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove.
(GET_OVERLAYS_AT): Fix indentation.
(for_each_per_buffer_object_at): New macro.
* buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
(Fbuffer_local_variables): Use it.
(init_buffer_once, syms_of_buffer): Remove unused #ifndef old.
* alloc.c (allocate_buffer): Adjust to match new layout of
struct buffer. Fix comment.
(mark_overlay): New function.
(mark_buffer): Use it. Use mark_vectorlike to mark normal
Lisp area of struct buffer.
(mark_object): Use it. Adjust marking of misc objects
and related comments.
Glenn Morris [Tue, 3 Jul 2012 02:16:11 +0000 (22:16 -0400)]
Tweak bug-reference-bug-regexp setting
* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
Allow linking to specific messages in debbugs reports (eg 123#5).
Katsumi Yamaoka [Tue, 3 Jul 2012 00:25:57 +0000 (00:25 +0000)]
gnus-art.el (gnus-article-view-part): Toggle subparts of multipart/alternative part
Chong Yidong [Mon, 2 Jul 2012 16:21:54 +0000 (00:21 +0800)]
* lisp/xml.el: Handle entity and character reference expansion correctly.
(xml-default-ns): New variable.
(xml-entity-alist): Use XML spec definitions for lt and amp.
(xml-parse-region): Make first two arguments optional. Discard
text properties.
(xml-parse-tag-1): New function, spun off from xml-parse-tag. All
callers changed.
(xml-parse-tag): Call xml-parse-tag-1. For backward
compatibility, this function should not modify buffer contents.
(xml-parse-tag-1): Fix opening-tag regexp.
(xml-parse-string): Rewrite, handling entity and character
references properly.
(xml--entity-replacement-text): Signal an error if a parameter
entity is undefined.
* test/automated/xml-parse-tests.el (xml-parse-tests--data): More
testcases.
Stefan Monnier [Mon, 2 Jul 2012 16:18:02 +0000 (12:18 -0400)]
* lisp/comint.el (comint-output-filter): Filter out repeated prompts.
Stefan Monnier [Mon, 2 Jul 2012 13:31:15 +0000 (09:31 -0400)]
* lisp/net/ange-ftp.el (ange-ftp-expand-file-name): Use ange-ftp-ftp-name
and file-name-absolute-p.
(ange-ftp-file-exists-p): Use ange-ftp-file-exists-p for
internal calls.
Dmitry Antipov [Mon, 2 Jul 2012 10:08:41 +0000 (14:08 +0400)]
* src/ChangeLog: Fix a typo.
Paul Eggert [Mon, 2 Jul 2012 08:00:05 +0000 (01:00 -0700)]
Spelling fixes.
Paul Eggert [Mon, 2 Jul 2012 07:36:17 +0000 (00:36 -0700)]
* alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS"
wrapper that is not needed because the wrapped code is a no-op (zero
machine instructions) when GC_CHECK_MARKED_OBJECTS is not defined.
This avoids a -Wunused-macros diagnostic with GCC 4.7.1 x86-64.
Dmitry Antipov [Mon, 2 Jul 2012 06:23:15 +0000 (10:23 +0400)]
* alloc.c (mark_buffer): Simplify. Remove prototype.
(mark_object): Add comment. Reorganize marking of vector-like
objects. Use CHECK_LIVE for all vector-like ojects except buffers
and subroutines when GC_CHECK_MARKED_OBJECTS is defined. Avoid
redundant calls to mark_vectorlike for bool vectors.
Katsumi Yamaoka [Mon, 2 Jul 2012 00:48:41 +0000 (00:48 +0000)]
gnus-sync.el: Simply require json
registry.el: Simply require eieio and eieio-base
Chong Yidong [Sun, 1 Jul 2012 11:05:17 +0000 (19:05 +0800)]
* xml.el (xml-parse-dtd): Use proper regexps for ELEMENT declarations.
* test/automated/xml-parse-tests.el: Update testcase.
Fixes: debbugs:7172
Glenn Morris [Sun, 1 Jul 2012 10:23:35 +0000 (06:23 -0400)]
Auto-commit of loaddefs files.
Glenn Morris [Sun, 1 Jul 2012 10:18:49 +0000 (06:18 -0400)]
Auto-commit of generated files.
Chong Yidong [Sun, 1 Jul 2012 07:17:05 +0000 (15:17 +0800)]
Improve xml parameter entity parsing, and add a new ERT test.
* test/automated/xml-parse-tests.el: New file.
* lisp/xml.el (xml--parse-buffer): New function. Move most of
xml-parse-region here.
(xml-parse-region): Copy region into a temporary buffer, since
parameter entity substitution requires changing buffer contents.
Use xml--parse-buffer.
(xml-parse-file): Use xml--parse-buffer.
(xml-parse-dtd): Make parameter entity substitution work right.
Juanma Barranquero [Sat, 30 Jun 2012 23:01:52 +0000 (01:01 +0200)]
lib-src/makefile.w32-in (CTAGS_CFLAGS): Remove EMACS_NAME.
Already defined in ETAGS_CFLAGS.
Glenn Morris [Sat, 30 Jun 2012 21:35:20 +0000 (14:35 -0700)]
* src/nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp.
Glenn Morris [Sat, 30 Jun 2012 21:23:38 +0000 (14:23 -0700)]
* lisp/comint.el (follow-comint-scroll-to-bottom): Fix declaration.
Glenn Morris [Sat, 30 Jun 2012 21:22:18 +0000 (14:22 -0700)]
Remove outdated and unnecessary dbus- declarations.
* net/secrets.el, net/tramp-gvfs.el, net/xesam.el, net/zeroconf.el:
Remove outdated and unnecessary dbus- declarations.
(They are in defined dbus.el now.)
Glenn Morris [Sat, 30 Jun 2012 21:13:05 +0000 (14:13 -0700)]
* url-vars.el (mm-mime-mule-charset-alist, mm-coding-system-p): Declare.
Glenn Morris [Sat, 30 Jun 2012 21:10:50 +0000 (14:10 -0700)]
Make --no-site-lisp work for --enable-locallisppath elements
without "site-lisp" in the name.
Ref http://debbugs.gnu.org/10208#25, point iii).
* configure.in (standardlisppath): New output variable.
(lisppath): Use standardlisppath.
* Makefile.in (standardlisppath): New, set by configure.
(epaths-force): Use standardlisppath and locallisppath rather than lisppath.
* src/epaths.in (PATH_SITELOADSEARCH): New.
* src/lread.c (init_lread): Use PATH_SITELOADSEARCH.
* nt/paths.h (PATH_SITELOADSEARCH): New.
Fixes: debbugs:11658
Eli Zaretskii [Sat, 30 Jun 2012 16:09:47 +0000 (19:09 +0300)]
Fix last entry in src/ChangeLog.
Eli Zaretskii [Sat, 30 Jun 2012 15:55:27 +0000 (18:55 +0300)]
Adapt the MS-DOS build to the latest changes.
msdos/mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not
bootstrap-clean (which doesn't exist).
msdos/inttypes.h (PRIuMAX) [__DJGPP__ < 2.04]: Define to "llu".
msdos/sedleim.inp (MKDIR_P): Edit to DOS "md" command.
msdos/sed1v2.inp: (LIB_CLOCK_GETTIME): Edit to empty.
Remove lines that invoke PAXCTL.
(clean): Fix recipe not to run Unixy shell commands.
msdos/sed2v2.inp (GETTIMEOFDAY_TIMEZONE): Edit to 'struct timezone'.
(HAVE_STRNCASECMP): Edit to 1.
msdos/sed3v2.inp (LIB_CLOCK_GETTIME): Edit to empty.
(C_SWITCH_SYSTEM): Add "-I../msdos".
msdos/sedlibmk.inp (GNULIB_GETTIMEOFDAY, GNULIB_PSELECT)
(GNULIB_SELECT, HAVE_STRUCT_TIMEVAL, HAVE_SYS_SELECT_H)
(HAVE_SYS_TIME_H, NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H)
(NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H, NEXT_SYS_SELECT_H)
(NEXT_SYS_TIME_H, REPLACE_GETTIMEOFDAY, REPLACE_PSELECT)
(REPLACE_STRUCT_TIMEVAL): Edit to appropriate values.
(BUILT_SOURCES): Edit out sys/select.h and sys/time.h.
(mostlyclean-local, distclean-generic): Fix recipe not to run
Unixy shell commands.
src/sysselect.h [DOS_NT]: Don't include sys/select.h.
src/sysselect.h (pselect) [!HAVE_PSELECT]: Redirect to sys_select.
src/sysdep.c: Don't include dos.h and dosfns.h.
src/process.c (sys_select):
src/msdos.c (sys_select): Accept one more argument and ignore it.
src/msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
adapt data types and code to that.
src/dosfns.c:
src/msdos.c (gettime, settime): Define away the prototypes in dos.h,
which clashes with the gnulib function of the same name.
src/ w32proc.c (sys_select): Accept and ignore one more argument.
src/w32.c (emacs_gnutls_pull): Call select with one more argument.
lisp/emacs-lisp/timer.el (timer-until): Subtract results of
float-time, instead of taking float-time of the result of
time-subtract, since float-time signals an error for negative time
arguments.
Eli Zaretskii [Sat, 30 Jun 2012 15:32:51 +0000 (18:32 +0300)]
Adapt the MS-DOS build to the latest changes.
msdos/mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not
bootstrap-clean (which doesn't exist).
msdos/inttypes.h (PRIuMAX) [__DJGPP__ < 2.04]: Define to "llu".
msdos/sedleim.inp (MKDIR_P): Edit to DOS "md" command.
msdos/sed1v2.inp: (LIB_CLOCK_GETTIME): Edit to empty.
Remove lines that invoke PAXCTL.
(clean): Fix recipe not to run Unixy shell commands.
msdos/sed2v2.inp (GETTIMEOFDAY_TIMEZONE): Edit to 'struct timezone'.
(HAVE_STRNCASECMP): Edit to 1.
msdos/sed3v2.inp (LIB_CLOCK_GETTIME): Edit to empty.
(C_SWITCH_SYSTEM): Add "-I../msdos".
msdos/sedlibmk.inp (GNULIB_GETTIMEOFDAY, GNULIB_PSELECT)
(GNULIB_SELECT, HAVE_STRUCT_TIMEVAL, HAVE_SYS_SELECT_H)
(HAVE_SYS_TIME_H, NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H)
(NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H, NEXT_SYS_SELECT_H)
(NEXT_SYS_TIME_H, REPLACE_GETTIMEOFDAY, REPLACE_PSELECT)
(REPLACE_STRUCT_TIMEVAL): Edit to appropriate values.
(BUILT_SOURCES): Edit out sys/select.h and sys/time.h.
(mostlyclean-local, distclean-generic): Fix recipe not to run
Unixy shell commands.
src/sysselect.h [DOS_NT]: Don't include sys/select.h.
src/s/ms-w32.h (select, pselect): Don't define here, they are
defined in sysselect.h
src/sysselect.h (pselect) [!HAVE_PSELECT]: Redirect to sys_select.
src/sysdep.c: Don't include dos.h and dosfns.h.
src/process.c (sys_select):
src/msdos.c (sys_select): Accept one more argument and ignore it.
src/msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
adapt data types and code to that.
src/dosfns.c:
src/msdos.c (gettime, settime): Define away the prototypes in dos.h,
which clashes with the gnulib function of the same name.
lisp/emacs-lisp/timer.el (timer-until): Subtract results of
float-time, instead of taking float-time of the result of
time-subtract, since float-time signals an error for negative time
arguments.
Chong Yidong [Sat, 30 Jun 2012 14:21:24 +0000 (22:21 +0800)]
Fix use of eval-and-compile in regexps in xml.el.
* xml.el (xml-*-re): Convert defvars into defconsts, and
eval-and-compile them so eval-and-compile works on derivatives.
(xml--entity-replacement-text): Use eval-and-comple.
Chong Yidong [Sat, 30 Jun 2012 13:57:55 +0000 (21:57 +0800)]
xml.el: Fix last change.
Michael Albinus [Sat, 30 Jun 2012 13:18:16 +0000 (15:18 +0200)]
* vc/vc-git.el (vc-git-registered): Use cache property
`git-registered'.
(vc-git-mode-line-string): Call `vc-working-revision' instead of
`vc-git-working-revision' in order to benefit from the cache.
(vc-git-root): Use cache property `git-root'.
Dmitry Gutov [Sat, 30 Jun 2012 13:14:00 +0000 (15:14 +0200)]
* vc/vc-hooks.el (vc-before-save): Clear cache if file has been
removed (likely outside Emacs).
Stefan Monnier [Sat, 30 Jun 2012 12:52:08 +0000 (08:52 -0400)]
* lisp/emacs-lisp/cl-lib.el: Require macroexp.
Stefan Monnier [Sat, 30 Jun 2012 12:05:22 +0000 (08:05 -0400)]
* lisp/emacs-lisp/cl-lib.el: Require macroexp for its macros.
Chong Yidong [Sat, 30 Jun 2012 11:33:22 +0000 (19:33 +0800)]
* xml.el: Implement XML parameter entities.
(xml-parameter-entity-alist): New variable.
(xml-parse-region, xml-parse-fragment): Preserve previous values
of xml-entity-alist and xml-parameter-entity-alist, so that
repeated calls on different documents do not change them.
(xml-parse-tag): Fix doctype regexp.
(xml--entity-replacement-text): New function.
(xml-parse-dtd): Use it. Don't handle system entities; doing that
properly requires url retrieval which is unimplemented.
(xml-escape-string): Doc fix.
Andreas Schwab [Sat, 30 Jun 2012 09:13:54 +0000 (11:13 +0200)]
* font.c (font_style_to_value, font_style_symbolic)
(font_prop_validate_style): Add type checks for values in
font_style_table.
Andreas Schwab [Sat, 30 Jun 2012 09:13:54 +0000 (11:13 +0200)]
* lisp.h (CHECK_RANGED_INTEGER): Make value to check the first
argument.
* character.c, charset.c, menu.c, process.c, window.c: Adjust all
uses.
Stefan Monnier [Sat, 30 Jun 2012 02:00:08 +0000 (22:00 -0400)]
* lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use macroexp-let2.
Eli Zaretskii [Fri, 29 Jun 2012 18:52:54 +0000 (21:52 +0300)]
Undo change in xdisp.c in 2012-06-29T11:48:08Z!dmantipov@yandex.ru.
src/xdisp.c (try_window_id): Undo last change. 'int' is wide
enough to hold vertical pixel positions on screen.
Eli Zaretskii [Fri, 29 Jun 2012 13:11:54 +0000 (16:11 +0300)]
Fix the current directory of the Emacs process on MS-Windows.
src/w32.c (getwd): Adjust commentary about startup_dir.
(init_environment): Always call sys_access, even in non-MSVC
builds. Don't chdir to the directory of the Emacs executable.
This undoes code from 1997 which was justified by the need to
"avoid conflicts when removing and renaming directories". But its
downside was that every relative file name was being interpreted
relative to the directory of the Emacs executable, which can never
be TRT. In particular, it broke sys_access when called with
relative file names.
(sys_access): Map GetLastError to errno.
Dmitry Antipov [Fri, 29 Jun 2012 11:48:08 +0000 (15:48 +0400)]
* lisp/fringe.el (fringe-mode): Doc fix.
* src/window.h (struct window): Change type of 'fringes_outside_margins'
to bitfield. Fix comment. Adjust users accordingly.
(struct window): Change type of 'window_end_bytepos' to ptrdiff_t.
Adjust comment.
* src/xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos'
to ptrdiff_t.
Glenn Morris [Fri, 29 Jun 2012 10:17:31 +0000 (06:17 -0400)]
Auto-commit of generated files.
Michael Albinus [Fri, 29 Jun 2012 07:14:36 +0000 (09:14 +0200)]
* net/ange-ftp.el (ange-ftp-get-passwd): Throw if `non-essential'
is non-nil.
(ange-ftp-ignore-errors-if-non-essential): New defmacro.
(ange-ftp-file-name-all-completions): Use it. (Bug#11808)
Glenn Morris [Fri, 29 Jun 2012 06:28:37 +0000 (23:28 -0700)]
Merge from emacs-24; up to 2012-04-30T11:57:47Z!sdl.web@gmail.com
Katsumi Yamaoka [Fri, 29 Jun 2012 04:15:43 +0000 (04:15 +0000)]
lisp/gnus/tests/: Remove
Dmitry Antipov [Fri, 29 Jun 2012 02:19:32 +0000 (06:19 +0400)]
* editfns.c (region_limit): Fix type mismatch.
Dmitry Antipov [Fri, 29 Jun 2012 01:35:32 +0000 (05:35 +0400)]
* nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be
undefined. Convert from xassert to eassert.
* nsmenu.m: Convert from xassert to eassert.
* nsterm.m: Likewise.
Juanma Barranquero [Thu, 28 Jun 2012 23:04:27 +0000 (01:04 +0200)]
lisp/emacs-lisp/cl-lib.el (cl-pushnew): Don't capture X (bug#11811).
Stefan Monnier [Thu, 28 Jun 2012 19:09:41 +0000 (15:09 -0400)]
* src/editfns.c (region_limit): Clip to narrowing.
Fixes: debbugs:11770
Dmitry Antipov [Thu, 28 Jun 2012 16:34:05 +0000 (20:34 +0400)]
* configure.in: Fix previous change. Remove --enable-asserts.
(CPPFLAGS): Remove conditional -DXASSERTS=1.
Add --enable-link-time-optimization.
* INSTALL: Mention this.
Paul Eggert [Thu, 28 Jun 2012 15:50:11 +0000 (08:50 -0700)]
Avoid integer overflow on scroll-left and scroll-right.
* window.c (HSCROLL_MAX): New macro.
(Fscroll_left, Fscroll_right): Avoid undefined behavior on integer
overflow when requested scroll falls outside ptrdiff_t range.
Dmitry Antipov [Thu, 28 Jun 2012 12:29:37 +0000 (16:29 +0400)]
* window.h (struct window): Change type of 'hscroll',
'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t,
'last_modified' and 'last_overlay_modified' to EMACS_INT.
Adjust users accordingly.
* xdisp.c (try_cursor_movement): Replace type check with eassert.
* window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll'
from EMACS_INT to ptrdiff_t.
(make_window): Omit redundant initialization.
Andreas Schwab [Thu, 28 Jun 2012 12:13:38 +0000 (14:13 +0200)]
* calendar/cal-dst.el (calendar-current-time-zone): Return
calendar-current-time-zone-cache if non-nil.
Juanma Barranquero [Thu, 28 Jun 2012 11:37:27 +0000 (13:37 +0200)]
src/makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies.
Dmitry Antipov [Thu, 28 Jun 2012 11:11:48 +0000 (15:11 +0400)]
* window.h (struct window): Change type of 'use_time' and
'sequence_number' from Lisp_Object to int.
* frame.c (make_frame): Adjust users accordingly.
* print.c (print_object): Likewise.
* window.c (select_window, Fwindow_use_time, make_parent_window)
(make_window): Likewise.
Julien Danjou [Thu, 28 Jun 2012 10:40:24 +0000 (12:40 +0200)]
term: rework color cutomizing
* term.el (term-handle-colors-array): Use a set of new faces to
color the terminal. Also uses :inverse-video property.
(term-default-fg-color): Set to nil by default, deprecate in favor
of `term-face'.
(term-default-bg-color): Set to nil by default, deprecate in favor
of `term-face'.
(term-current-face): Use `term-face' by default.
(term-bold-attribute): Variable deleted.