* lisp/custom.el (custom-variable-p): Return nil for non-symbol
arguments instead of signaling an error.
(user-variable-p): Obsolete alias for custom-variable-p.
* lisp/erc/erc.el (erc-cmd-SET): Call custom-variable-p instead of
user-variable-p.
Eli Zaretskii [Mon, 9 Apr 2012 08:00:08 +0000 (11:00 +0300)]
Fix bug #11094 with cursor display on display string after invisible text.
src/xdisp.c (set_cursor_from_row): If the display string appears in
the buffer at position that is closer to point than the position
after the display string, display the cursor on the first glyph of
the display string. Fixes cursor display when a 'display' text
property immediately follows invisible text.
Paul Eggert [Mon, 9 Apr 2012 06:52:40 +0000 (23:52 -0700)]
composite.c: use 'double' consistently
* composite.c (get_composition_id): Use 'double' consistently
instead of converting 'float' to 'double' and vice versa; this is
easier to understand and avoids a GCC warning.
Make leim/Makefile compute the list of .el files like lisp/Makefile
* leim/Makefile.in: (TIT_GB, TIT_BIG5, CHINESE_TIT, MISC, TIT_MISC):
Make them store the .el files rather than the .elc files.
(NON_TIT_GB, NON_TIT_BIG5, CHINESE_NON_TIT, CHINESE_GB)
(CHINESE_GB, CHINESE_BIG5, JAPANESE, KOREAN, THAI, VIETNAMESE)
(LAO, INDIAN, TIBETAN, LATIN, UNICODE, SLAVIC, GREEK, RUSSIAN)
(OTHERS, CHINESE, EASTASIA, ASIA, EUROPEAN, WORLD, NON_TIT_MISC):
Remove variables listing the non-generated .el files.
(.el.elc): Add explicit load-path for quail.
(all): Depend on compile-main rule rather than $WORLD.
(changed.tit, changed.misc): Also depend on $SUBDIRS.
(leim-list.el): Don't depend on changed.tit or changed.misc.
Remove unnecessary compilation check.
(setwins, compile-targets, compile-main): New.
(clean, mostlyclean): Update for change in TIT_MISC contents.
(bootstrap-clean): Use a glob match to delete .elc, not a fixed list.
Stefan Monnier [Mon, 9 Apr 2012 02:53:51 +0000 (22:53 -0400)]
* leim/quail/latin-ltx.el: Auto-generate some of the entries.
(latin-ltx--ascii-p): New function.
(latin-ltx--define-rules): New macro.
(define-rules): Use it.
Eli Zaretskii [Sun, 8 Apr 2012 17:09:03 +0000 (20:09 +0300)]
Fix invocation of Hunspell by ispell.el.
lisp/textmodes/ispell.el (ispell-check-version): For hunspell, set
ispell-encoding8-command to "-i", without a trailing space.
(ispell-start-process): For hunspell, use '("-i" ENCODING), in 2
separate command-line arguments, to specify the encoding, since
that's how hunspell expects it.
* lisp/version.el (emacs-bzr-get-version): New function.
* lisp/loadup.el (emacs-bzr-version): Set it.
* lisp/mail/emacsbug.el (report-emacs-bug): Include bzr version.
* etc/NEWS: Mention this, though it is not really relevant to releases.
Insert template for 24.2 release.
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.