Paul Eggert [Sat, 7 Apr 2012 19:18:52 +0000 (12:18 -0700)]
Avoid unnecessary pointer scanning in garbage collection (Bug#10780).
* alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): New macro.
(mark_memory): Mark Lisp_Objects only if pointers might hide in
objects, as mark_maybe_pointer will catch them otherwise.
(GC_LISP_OBJECT_ALIGNMENT): Remove; no longer needed.
* s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT) [__mc68000__]: Likewise.
Eli Zaretskii [Sat, 7 Apr 2012 14:26:14 +0000 (17:26 +0300)]
Update the Unicode database and derived files for Unicode 6.1.
admin/unidata/README:
admin/unidata/copyright.html:
admin/unidata/BidiMirroring.txt:
admin/unidata/UnicodeData.txt: Update for the latest version 6.1 of
the Unicode Standard.
Eli Zaretskii [Sat, 7 Apr 2012 13:57:36 +0000 (16:57 +0300)]
Support building on MS-Windows with libxml2.
src/makefile.w32-in (OBJ2): Add xml.$(O).
(GLOBAL_SOURCES): Add xml.c.
($(BLD)/xml.$(O)): New dependency list.
src/xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros.
(fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement)
(fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion)
[!WINDOWSNT]: New macros.
(init_libxml2_functions, libxml2_loaded_p): New functions.
(parse_region): Call fn_xmlCheckVersion instead of using the macro
LIBXML_TEST_VERSION. Call libxml2 functions via the fn_* macros.
(xml_cleanup_parser): New function, export for fn_xmlCleanupParser.
Calls xmlCleanupParser only if libxml2 was loaded (or statically
linked in).
(Flibxml_parse_html_region, Flibxml_parse_xml_region): Call
init_libxml2_functions before calling libxml2 functions.
(syms_of_xml) <Qlibxml2_dll>: DEFSYM it.
src/emacs.c: Don't include libxml/parser.h.
(shut_down_emacs): Call xml_cleanup_parser, instead of calling
xmlCleanupParser directly.
src/ lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser.
nt/configure.bat: Support building with libxml2.
nt/INSTALL:
nt/README.W32: Add information about libxml2.
Eli Zaretskii [Sat, 7 Apr 2012 10:19:22 +0000 (13:19 +0300)]
Fix parallel build and bootstrap on MS-Windows.
nt/makefile.w32-in: (all): Don't depend on stamp_BLD and on maybe-bootstrap.
(all-other-dirs-$(MAKETYPE)): Depend on maybe-bootstrap.
(bootstrap-gmake): Invoke the "clean" and build targets in 2
separate commands, so they run in that order even under "make -j".
lib/makefile.w32-in (gnulib, all): Don't depend on stamp_BLD.
lib-src/makefile.w32-in (ALL): Now the list of executables, not of phony
targets.
(.PHONY): Only make-docfile is its prerequisite now.
(make-docfile): Don't depend on stamp_BLD. Add a comment about
the need in this target.
(ctags, etags, ebrowse, hexl, movemail, emacsclient)
(test-distrib): Phony targets removed.
($(BLD)/test-distrib.exe): Run test-distrib as part of the recipe.
(all): Don't depend on stamp_BLD.
Eli Zaretskii [Fri, 6 Apr 2012 13:10:30 +0000 (16:10 +0300)]
Warning comments about subtleties of fetching characters from buffers/strings.
src/buffer.h (FETCH_CHAR, FETCH_MULTIBYTE_CHAR):
src/character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH): Add comments
about subtle differences between FETCH_CHAR* and STRING_CHAR*
macros related to unification of CJK characters. For the details,
see the discussion following the message here:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11073#14.
* doc/lispref/minibuf.texi (Reading File Names): minibuffer-local-filename-must-match-map is
not used anymore.
(Minibuffer Completion): Document completing-read-function.
(Completion in Buffers): completion-at-point-functions can return
properties recognized in completion-extra-properties.
* doc/emacs/glossary.texi (Glossary): Copyedits.
Use Texinfo-recommended convention for quotes and punctuation.
Comment out a few specialized (Rmail) items.
Eli Zaretskii [Mon, 2 Apr 2012 17:33:41 +0000 (20:33 +0300)]
Add details about emacsclient -c and -t on MS-Windows.
doc/emacs/msdog.texi (Windows Startup): Add description of emacsclient
operation under -c and -t on MS-Windows.
doc/emacs/misc.texi (emacsclient Options): Add cross-reference to "Windows
Startup".
Michael Albinus [Mon, 2 Apr 2012 08:50:26 +0000 (10:50 +0200)]
* net/tramp-gvfs.el (tramp-gvfs-send-command): Apply
`tramp-compat-call-process' instead of `tramp-local-call-process'.
Reported by Magnus Henoch <magnus.henoch@gmail.com>.
Eli Zaretskii [Sat, 31 Mar 2012 19:30:53 +0000 (22:30 +0300)]
Fix bug #11063 with move_it_by_lines when there's a before-string at bol.
src/xdisp.c (move_it_by_lines): When DVPOS is positive, and the
position we get to after a call to move_it_to fails the
IS_POS_VALID_AFTER_MOVE_P test, move to the next buffer position
only if we wind up in a string from display property.
Eli Zaretskii [Sat, 31 Mar 2012 18:10:34 +0000 (21:10 +0300)]
Fix bug #7464 with mouse highlight after "C-x 1".
src/window.c (Fdelete_other_windows_internal): Invalidate the row
and column information about mouse highlight, so that redisplay
restores it after reallocating the glyph matrices.
Eli Zaretskii [Sat, 31 Mar 2012 17:08:38 +0000 (20:08 +0300)]
Remove an incorrect assertion on move_it_by_lines.
src/xdisp.c (move_it_by_lines): Remove the assertion that
"it->current_x == 0 && it->hpos == 0" which can be legitimately
violated when there's a before-string at the beginning of a line.
(Bug#11063)
Eli Zaretskii [Sat, 31 Mar 2012 10:27:04 +0000 (13:27 +0300)]
Improve documentation of 'cursor' text property.
doc/lispref/text.texi (Special Properties): Clarify the description of the
effect of integer values of the 'cursor' property on cursor
position. See the discussions in bug#11068 for more details and
context.
Eli Zaretskii [Sat, 31 Mar 2012 07:45:33 +0000 (10:45 +0300)]
Fix cursor positioning in rows completely covered by display strings.
src/xdisp.c (set_cursor_from_row): If `cursor' property on a display
string comes from a `display' text property, use the buffer
position of that property as if we actually saw that position in
the row's glyphs.
Chong Yidong [Fri, 30 Mar 2012 16:31:24 +0000 (00:31 +0800)]
Updates for Display chapter of Lisp manual.
* doc/lispref/display.texi (Image Formats): Add imagemagick type.
(Image Descriptors): Mention how they are used.
(ImageMagick Images): Clarify role of imagemagick-register-types.
(Character Display): Don't mention glyph tables.
(Display Tables): Use make-glyph-code in example.
(Glyphs): Avoid "simple glyph code" terminology. Note that glyph
tables are semi-obsolete. De-document create-glyph.
(Glyphless Chars): Note that display tables override this.
(Bidirectional Display): Copyedits. Introduce "bidirectional
reordering" terminology, and use it.
Eli Zaretskii [Fri, 30 Mar 2012 08:45:27 +0000 (11:45 +0300)]
Fix bug #11068 with window display when default face was remapped.
src/xdisp.c (append_space_for_newline): If the default face was
remapped, use the remapped face for the appended newline.
(extend_face_to_end_of_line): Use the remapped default face for
extending the face to the end of the line.
(display_line): Call extend_face_to_end_of_line when the default
face was remapped.
Sam Steingold [Thu, 29 Mar 2012 14:00:00 +0000 (10:00 -0400)]
calendar/calendar.el (calendar-exit): Use `quit-windows-on' instead of
the broken adhockery which does not prevent calendar buffers from
being displayed at random after exit.
(calendar-window-list, calendar-hide-window): Remove the broken adhockery.
Glenn Morris [Wed, 28 Mar 2012 19:30:12 +0000 (12:30 -0700)]
Doc and lispref updates related to searching
* doc/lispref/searching.texi (Regexp Functions, Regexp Search):
(Simple Match Data, Saving Match Data, Standard Regexps): Copyedits.
(Regexp Functions): Mention regexp-opt is not guaranteed.
Mention regexp-opt-charset.
(Regexp Search): Recommend against looking-back.
(Search and Replace): Use Texinfo recommended quote convention.
Add more query-replace-map items. List multi-query-replace-map items.