-
-2010-10-07 Glenn Morris <rgm@gnu.org>
+ 2010-10-08 Glenn Morris <rgm@gnu.org>
+
+ * cl.texi (Organization, Installation, Old CL Compatibility):
+ Deprecate cl-compat for new code.
++ (Usage, Installation): Remove outdated information.
+
+ * eudc.texi (CCSO PH/QI, LDAP Requirements): Remove old information.
+
+2010-10-07 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus.texi (Gravatars): Document gnus-gravatar-too-ugly.
+
+2010-10-06 Julien Danjou <julien@danjou.info>
+
+ * sieve.texi (Manage Sieve API): Document sieve-manage-authenticate.
+
+ * message.texi (PGP Compatibility): Remove reference to gpg-2comp,
+ broken link.
+
+ * gnus-faq.texi (FAQ 8-3): Remove references to my.gnus.org.
+
+ * gnus.texi (Comparing Mail Back Ends): Remove broken link and allusion
+ to ReiserFS.
+
+ * gnus-faq.texi (FAQ 5-5): Fix Flyspell URL.
+ (FAQ 7-1): Fix getmail URL.
+
+2010-10-06 Daiki Ueno <ueno@unixuser.org>
+
+ * epa.texi (Caching Passphrases): New section.
+
2010-10-06 Glenn Morris <rgm@gnu.org>
- * cl.texi (Usage, Installation): Remove outdated information.
+ * Makefile.in (SHELL): Set it.
+ (info): Move the mkdir dependency to the individual info files.
+ (mostlyclean): Tidy up.
+ (clean): Only delete the specific dvi and pdf files.
+ (maintainer-clean): Be more restrictive in what we delete.
+ ($(infodir)): Add parallel build workaround.
+
+2010-10-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Misc Article): Document gnus-widen-article-window.
+
+2010-10-03 Julien Danjou <julien@danjou.info>
+
+ * emacs-mime.texi (Display Customization): Update
+ mm-inline-large-images documentation and add documentation for
+ mm-inline-large-images-proportion.
+
+2010-10-03 Michael Albinus <michael.albinus@gmx.de>
+
+ * tramp.texi (Frequently Asked Questions): Mention
+ remote-file-name-inhibit-cache.
+
+2010-10-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Splitting Mail): Fix @xref syntax.
+ (Splitting Mail): Really fix the @ref syntax.
+
+2010-10-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Splitting Mail): Mention the new fancy splitting
+ function.
+ (Article Hiding): Add google banner example. Suggested by Benjamin
+ Xu.
+
+2010-09-30 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * gnus.texi (Spam Package Configuration Examples, SpamOracle): Remove
+ nnimap-split-rule from examples.
+
+2010-09-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Mail Source Specifiers): Remove webmail.el mentions.
+ (NNTP): Document nntp-server-list-active-group. Suggested by Barry
+ Fishman.
+ (Client-Side IMAP Splitting): Add nnimap-split-fancy.
+
+2010-09-30 Julien Danjou <julien@danjou.info>
+
+ * gnus.texi (Gravatars): Fix documentation about
+ gnu-gravatar-properties.
+
+2010-09-29 Daiki Ueno <ueno@unixuser.org>
+
+ * epa.texi (Bug Reports): New section.
+
+2010-09-29 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (top_srcdir): Remove unused variable.
+
+2010-09-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Using IMAP): Remove the @acronyms from the headings.
+ (Client-Side IMAP Splitting): Document 'default.
+
+2010-09-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Customizing the IMAP Connection): Document
+ nnimap-fetch-partial-articles.
+
+2010-09-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-news.texi: Mention nnimap-inbox.
+
+ * gnus.texi (Picons): Document gnus-picon-inhibit-top-level-domains.
+
+2010-09-26 Julien Danjou <julien@danjou.info>
+
+ * gnus.texi (Oort Gnus): Remove mention of ssl.el.
+
+2010-09-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Security): Remove gpg.el mention.
+
+2010-09-26 Andreas Seltenreich <seltenreich@gmx.de>
+
+ * gnus.texi (Browse Foreign Server): New variable
+ gnus-browse-subscribe-newsgroup-method.
+
+ * gnus-news.texi: Mention it.
+
+2010-09-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (NoCeM): Removed.
+ (Startup Variables): No jingle.
+
+2010-09-25 Ulrich Mueller <ulm@gentoo.org>
+
+ * woman.texi (Interface Options): xz compression is now supported.
+
+2010-09-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Article Commands): Document gnus-fetch-partial-articles.
+ (Unavailable Servers): Document gnus-server-copy-server.
+ (Using IMAP): Document the new nnimap.
+
+2010-09-25 Julien Danjou <julien@danjou.info>
+
+ * gnus.texi (Customizing Articles): Remove gnus-treat-translate.
+
+2010-09-24 Glenn Morris <rgm@gnu.org>
+
+ * url.texi (Disk Caching): Tweak previous change.
+
+2010-09-24 Julien Danjou <julien@danjou.info>
+
+ * url.texi (Disk Caching): Mention url-cache-expire-time,
+ url-cache-expired, and url-fetch-from-cache.
+
+2010-09-24 Julien Danjou <julien@danjou.info>
+
+ * gnus.texi: Add Gravatars.
+
+2010-09-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Startup Variables): Mention gnus-use-backend-marks.
+
+2010-09-21 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Expunging mailboxes): Update name of the expunging
+ command.
+
+2010-09-20 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * emacs-mime.texi (rfc2047): Update description for
+ rfc2047-encode-parameter.
+
+2010-09-13 Michael Albinus <michael.albinus@gmx.de>
+
+ * tramp.texi (Inline methods): Remove "ssh1_old", "ssh2_old" and
+ "fish" methods.
+ (External methods): Remove "scp1_old" and "scp2_old" methods.
+
+2010-09-09 Michael Albinus <michael.albinus@gmx.de>
+
+ * tramp.texi: Remove Japanese manual. Fix typo.
+
+ * trampver.texi: Update release number. Remove japanesemanual.
+
+2010-09-09 Glenn Morris <rgm@gnu.org>
+
+ * org.texi: Restore clobbered changes (copyright years, untabify).
+
+2010-09-04 Julien Danjou <julien@danjou.info> (tiny change)
+
+ * gnus.texi (Adaptive Scoring): Fix typo.
+
+2010-09-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Article Display): Document gnus-html-show-images.
+
+2010-09-02 Jan Djärv <jan.h.d@swipnet.se>
+
+ * cl.texi (Basic Setf): Remove x-get-cut-buffer and x-get-cutbuffer.
+
+2010-09-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (HTML): Document gnus-max-image-proportion.
+
+2010-08-31 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (HTML): Document gnus-blocked-images.
+
+ * message.texi (Wide Reply): Document message-prune-recipient-rules.
+
+2010-08-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Summary Mail Commands): Note that only the addresses from
+ the first message are used for wide replies.
+ (Changing Servers): Remove documentation on gnus-change-server and
+ friends, since it's been removed.
+
+2010-08-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Drafts): Mention B DEL.
+
+2010-08-29 Tim Landscheidt <tim@tim-landscheidt.de> (tiny change)
+
+ * gnus.texi (Delayed Articles): Mention that the Date header is the
+ original one, even if you delay.
+
+2010-08-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Asynchronous Fetching): Document
+ gnus-async-post-fetch-function.
+ (HTML): Made into its own section.
2010-08-26 Michael Albinus <michael.albinus@gmx.de>
-2010-10-01 Glenn Morris <rgm@gnu.org>
++2010-10-08 Glenn Morris <rgm@gnu.org>
+
+ * emacsclient.c (set_local_socket) [DARWIN_OS]: Try as a fall-back
+ DARWIN_USER_TEMP_DIR. (Bug#3992)
+
+2010-10-03 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * test-distrib.c (cool_read):
+ * movemail.c (main, concat):
+ * make-docfile.c (scan_file, write_c_args):
+ * emacsclient.c (get_server_config): Fix -Wconversion warning.
+ (egetenv): Move conditional definition earlier.
+ (progname): Use const.
+ * sorted-doc.c (xstrdup): Use const.
+
+ * Makefile.in: Remove ^L, old makes choke on it.
+
+2010-10-02 Wolfgang Schnerring <wosc@wosc.de> (tiny change)
+
+ * emacsclient.c (main): Return EXIT_FAILURE if Emacs sends us an
+ error string (Bug#6963).
+
+2010-10-02 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (tags): Remove target.
+
+2010-10-01 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (tags, TAGS): New targets.
+
+2010-09-30 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacsclient.c (get_server_config): Don't read Emacs pid from
+ the authentication file.
+
+2010-09-29 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (../src/config.h): Remove target, it is stale.
+
+ * emacsclient.c (main): Remove unused variables.
+ (start_daemon_and_retry_set_socket): Use EXIT_FAILURE.
+
+2010-09-25 Ulrich Mueller <ulm@gentoo.org>
+
+ * etags.c (compressors, print_language_names): Support xz compression.
+
+2010-08-11 Jan Djärv <jan.h.d@swipnet.se>
+
+ * fakemail.c: Include stdlib.h for getenv. Remove declaration of
+ popen, fclose and pclose.
+ (my_name, fatal, error, put_line): Use const char*.
+ (main): Remove extern getenv, mail_program_name is const char*.
+
+ * update-game-score.c (get_prefix, write_scores, main): Use const char*.
+
+ * sorted-doc.c (error, fatal, states): Use const char *.
+
+ * pop.h (pop_multi_first): Use const char *.
+ (_ARGS): Remove.
+
+ * pop.c (pop_multi_first, socket_connection, sendline): Use const char*.
+
+ * movemail.c (fatal, error, concat): Use const char *.
+
+ * make-docfile.c (error, fatal, scan_c_file, scan_lisp_file): Use
+ const char *.
+
+ * etags.c (compressor, language, Ada_suffix, Ada_help, Asm_suffixes)
+ (Asm_help, default_C_suffixes, default_C_help, Cplusplus_suffixes)
+ (Cplusplus_help, Cjava_suffixes, Cobol_suffixes, Cstar_suffixes)
+ (Erlang_suffixes, Erlang_help, Forth_suffixes, Forth_help)
+ (Fortran_suffixes, Fortran_help, HTML_suffixes, HTML_help)
+ (Lisp_suffixes, Lisp_help, Lua_suffixes, Lua_help)
+ (Makefile_filenames, Makefile_help, Objc_suffixes, Objc_help)
+ (Pascal_suffixes, Pascal_help, Perl_suffixes, Perl_interpreters)
+ (Perl_help, PHP_suffixes, PHP_help, plain_C_suffixses, PS_suffixes)
+ (PS_help, Prolog_suffixes, Prolog_help, Python_suffixes, Python_help)
+ (Scheme_suffixes, Scheme_help, TeX_suffixes, TeX_help, Texinfo_suffixes)
+ (Texinfo_help, Yacc_suffixes, Yacc_help, auto_help, none_help)
+ (no_lang_help, print_language_names)
+ (get_language_from_interpreter, get_language_from_filename)
+ (init, make_tag, struct C_stab_entry, write_classname, TEX_defenv)
+ (TEX_decode_env, nocase_tail, savestr, savenstr, fatal, pfatal)
+ (concat): Use const char*.
+
+ * emacsclient.c (message, sock_err_message, send_to_emacs)
+ (quote_argument, set_local_socket)
+ (start_daemon_and_retry_set_socket): Use const char*.
+
+ * ebrowse.c (struct member): filename, def_filename is const.
+ (struct sym): filename, sfilename is const.
+ (struct kw): name is const.
+ (add_sym, yyerror, token_string, insert_keyword, main): Use const char*.
+
+ * b2m.c (concat, fatal): Use const char*.
+ (main): Don't assign labels a string literal.
+
+2010-08-07 Juanma Barranquero <lekktu@gmail.com>
+
+ * ebrowse.c (usage, version, mark_virtual):
+ Remove duplicate declarations.
+
+2010-08-06 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * emacsclient.c: Move socket related #includes together with the
+ rest of the #includes. Move WINDOWSNT includes closer together.
+ (HAVE_CONFIG_H): Remove.
+ (NO_RETURN): Remove, defined in config.h.
+ (main): Convert definition to standard C.
+
+2010-07-29 Juanma Barranquero <lekktu@gmail.com>
+
+ * make-docfile.c (write_c_args): Warn for old-style empty arglist ().
+
+2010-07-25 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacsclient.c (getcwd): Fix previous change: make getcwd
+ conditional on HAVE_GETCWD and declare with the correct POSIX
+ profile (for some reason MinGW headers define its 2nd arg as int,
+ not size_t; but getcwd is not used on Windows nonetheless).
+
+2010-07-25 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacsclient.c (getcwd, w32_getenv):
+ * ntlib.h (getlogin, getuid, getegid, getgid): Fix prototypes.
+
+2010-07-24 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * update-game-score.c (usage): Add NO_RETURN specifier.
+ * movemail.c (fatal, pfatal_with_name, pfatal_and_delete):
+ * make-docfile.c (fatal):
+ * hexl.c (usage):
+ * fakemail.c (fatal):
+ * etags.c (fatal, suggest_asking_for_help, pfatal):
+ * emacsclient.c (fatal):
+ * b2m.c (fatal): Likewise.
+
+2010-07-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * make-docfile.c (write_c_args): Correctly handle prefixes of "defalt".
+
+2010-07-20 Juanma Barranquero <lekktu@gmail.com>
+
+ * emacsclient.c (get_current_dir_name, w32_get_resource)
+ (w32_getenv, w32_set_user_model_id, w32_window_app, w32_execvp)
+ (close_winsock, initialize_sockets, w32_find_emacs_process)
+ (w32_give_focus):
+ * ntlib.c (getlogin, getuid, getgid, getegid):
+ Convert definitions to standard C.
+
+2010-07-12 Andreas Schwab <schwab@linux-m68k.org>
+
+ * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
+ (PROFILING_LDFLAGS): Set from substitution.
+ (BASE_CFLAGS): Add ${C_WARNINGS_SWITCH}.
+ (ALL_CFLAGS, CPP_CFLAGS): Add ${PROFILING_CFLAGS}.
+ (LINK_CFLAGS): Add ${PROFILING_LDFLAGS}.
+
+2010-07-12 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (lisp2): Change hebrew.el to hebrew.elc (see
+ 2010-07-12T05:25:46Z!handa@etlken).
+
+2010-07-11 Andreas Schwab <schwab@linux-m68k.org>
+
+ * emacsclient.c (set_local_socket): Use strchr, strrchr instead of
+ index, rindex.
+ * movemail.c (mail_spool_name, popmail): Likewise.
+ * pop.c (pop_list): Likewise.
+
+2010-07-11 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (obj): Add menu.o, bidi.o, w32uniscribe.o,
+ and unexw32.o. (Bug#6603)
+
+2010-07-10 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile.in ($(DESTDIR)${archlibdir}): Convert spaces to TABs.
+
+2010-07-09 Andreas Schwab <schwab@linux-m68k.org>
+
+ * make-docfile.c (write_c_args): Restructure scanning loop.
+
+2010-07-09 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * make-docfile.c (write_c_args): Deal with type names in DEFUN
+ arguments.
+
+2010-07-08 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * update-game-score.c (P_): Remove macro.
+ * ebrowse.c: Remove include guards.
+ (P_): Remove macro.
+
+2010-07-07 Andreas Schwab <schwab@linux-m68k.org>
+
+ * ebrowse.c (add_sym, make_namespace): Replace bcopy, bzero by
+ memcpy, memmove, memset.
+ * pop.c (pop_retrieve, socket_connection, pop_getline): Likewise.
+
+2010-07-06 Andreas Schwab <schwab@linux-m68k.org>
+
+ * movemail.c: Add MAIL_USE_POP around prototypes.
+ Include <string.h> if HAVE_STRING_H.
+ (strerror): Only declare if !HAVE_STRERROR.
+ (fatal): Make static.
+ (error): Likewise.
+ (pfatal_with_name): Likewise.
+ (pfatal_and_delete): Likewise.
+ (concat): Likewise.
+ (xmalloc): Likewise.
+ (popmail): Likewise.
+ (pop_retr): Likewise.
+ (mbx_write): Likewise.
+ (mbx_delimit_begin): Likewise.
+ (mbx_delimit_end): Likewise.
+
+2010-07-04 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * fakemail.c (action): Convert function definitions to standard C.
+ (add_a_stream):
+ * test-distrib.c (cool_read):
+ (main): Likewise.
+
+2010-07-03 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sorted-doc.c (cmpdoc): Fix signature.
+ (qsort_compare): Delete.
+ (main): Remove cast.
+
+2010-07-03 Juanma Barranquero <lekktu@gmail.com>
+
+ * ebrowse.c (match_qualified_namespace_alias): Check for null pointer.
+
+2010-07-03 Juanma Barranquero <lekktu@gmail.com>
+
+ Fix prototype warnings.
+
+ * ebrowse.c (match_qualified_namespace_alias):
+ Pass sym* to find_namespace, not link*.
+
+ * emacsclient.c (send_to_emacs, quote_argument): Arg s is HSOCKET.
+
+ * sorted-doc.c (qsort_compare): New typedef.
+ (main): Use it to cast cmpdoc.
+
+2010-07-03 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * update-game-score.c: Convert function definitions to standard C.
+ * sorted-doc.c:
+ * profile.c:
+ * pop.c:
+ * movemail.c:
+ * make-docfile.c:
+ * hexl.c:
+ * fakemail.c:
+ * etags.c:
+ * ebrowse.c:
+ * digest-doc.c:
+ * b2m.c: Likewise.
+
+2010-07-02 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * make-docfile.c (xmalloc, xrealloc, concat, readline, fatal):
+ * b2m.c (scan_file, scan_lisp_file, scan_c_file): Convert to
+ standard C prototypes.
+
+2010-07-02 Jan Djärv <jan.h.d@swipnet.se>
+
+ * ebrowse.c: Remove P_ and __P.
+ * etags.c:
+ * movemail.c:
+ * pop.c:
+ * update-game-score.c: Likewise.
+
+2010-06-24 Juanma Barranquero <lekktu@gmail.com>
+
+ * movemail.c (error): Avoid warning when there are no args.
+
+2010-06-11 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (lisp2): Fix references to vc/vc-hooks.elc
+ and vc/ediff-hook.elc.
+
+2010-06-06 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * ntlib.h: Remove code dealing with BSTRING.
+
+2010-05-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacsclient.c (longopts, decode_options, print_help_and_exit):
+ New arg `-parent-id'.
+ (main): Send parent-id to Emacs.
+
+2010-05-27 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (distclean): No more Makefile.c.
+
+2010-05-22 Jan Djärv <jan.h.d@swipnet.se>
+
+ * Makefile.in (STAMP_INST_SCRIPTS, STAMP_SCRIPS): New (Bug #6246).
+ (all): Depend onSTAMP_INST_SCRIPTS, STAMP_SCRIPS (Bug #6246).
+ (stamp-rcs2log, stamp-rcs-checkin, stamp-grep-changelog, stamp-vcdiff):
+ New rules (Bug #6246).
+ (clean): Remove stamp-* (Bug #6246).
+
+2010-05-12 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (INSTALLABLES): Remove @LIB_SRC_EXTRA_INSTALLABLES@.
+
+2010-05-11 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (.m.o): Remove, there are no .m files.
+ (BASE_CFLAGS): New variable.
+ (ALL_CFLAGS, LINK_CFLAGS, CPP_CFLAGS): Use $BASE_CFLAGS.
+ (check): Update the message.
+ (update-game-score${EXEEXT}): Do not use $MOVE_FLAGS.
+
+ * Makefile.in: Convert comments to makefile format.
+
+ * Makefile.in (LIBS_SYSTEM) [MSDOS]: Do not reset.
+ (config.h) [MSDOS]: Do not include.
+
+2010-05-10 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (LIBS_SYSTEM): Set with configure, not cpp.
+ (LIBS_SYSTEM) [MSDOS]: Reset with MSDOS_LIBS_SYSTEM.
+ (NOT_C_CODE): Remove, no longer used.
+ (config.h) [!MSDOS]: No longer include.
+ (LOADLIBES): Use LIBS_SYSTEM as a variable.
+
+ * Makefile.in (BLESSMAIL_TARGET): Set with configure, not cpp.
+
+2010-05-08 Glenn Morris <rgm@gnu.org>
+
+ * Makefile.in (THIS_IS_MAKEFILE): Remove, unused.
+
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.
-2010-10-03 Chong Yidong <cyd@stupidchicken.com>
+ 2010-10-08 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/cl-compat.el, emacs-lisp/lmenu.el: Move to obsolete/.
+
+ * emacs-lisp/shadow.el (lisp-shadow): Change prefix.
+ (shadows-compare-text-p): Make it an obsolete alias for...
+ (load-path-shadows-compare-text): ... new name.
+ (find-emacs-lisp-shadows): Update for above name change.
+ (load-path-shadows-same-file-or-nonexistent): New name for the old
+ shadow-same-file-or-nonexistent.
+
-2010-10-03 Olof Ohlsson Sax <olof.ohlsson.sax@gmail.com> (tiny change)
++2010-10-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * minibuffer.el (completion--some, completion--do-completion)
+ (minibuffer-complete-and-exit, minibuffer-completion-help)
+ (completion-basic-try-completion)
+ (completion-basic-all-completions)
+ (completion-pcm--find-all-completions): Use lexical-let to
+ avoid some false matches in variable completion (Bug#7056)
+
-2010-10-03 Leo <sdl.web@gmail.com>
++2010-10-08 Olof Ohlsson Sax <olof.ohlsson.sax@gmail.com> (tiny change)
+
+ * vc-svn.el (vc-svn-merge-news): Use --non-interactive. (Bug#7152)
+
-2010-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
++2010-10-08 Leo <sdl.web@gmail.com>
+
+ * dnd.el (dnd-get-local-file-name): If MUST-EXIST is non-nil, only
+ return non-nil if the file exists (Bug#7090).
+
-2010-09-29 Juanma Barranquero <lekktu@gmail.com>
++2010-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuffer.el (completion--replace):
+ Better preserve markers (bug#7138).
+
-2010-09-27 Drew Adams <drew.adams@oracle.com>
++2010-10-08 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-process-filter): Doc fix.
+
-2010-09-27 Andreas Schwab <schwab@linux-m68k.org>
++2010-10-08 Drew Adams <drew.adams@oracle.com>
+
+ * dired.el (dired-save-positions): Doc fix. (Bug#7119)
+
++2010-10-08 Andreas Schwab <schwab@linux-m68k.org>
+
+ * Makefile.in (ELCFILES): Update.
+
+2010-10-08 Glenn Morris <rgm@gnu.org>
+
+ * vc/ediff-wind.el (ediff-setup-control-frame):
+ * vc/ediff-ptch.el (ediff-default-backup-extension):
+ * vc/ediff-diff.el (ediff-shell, ediff-diff-options)
+ (ediff-exec-process): Remove system-types emx, windows-95.
+
+ * net/browse-url.el (browse-url-xdg-open): Shell-quote url. (Bug#7166)
+
+2010-10-07 Chong Yidong <cyd@stupidchicken.com>
+
+ * cus-edit.el (custom-variable, custom-face): Doc fix.
+ (custom-face-edit): Add value-create attribute.
+ (custom-face-edit-value-create)
+ (custom-face-edit-value-visibility-action): New functions. Hide
+ unused face attributes by default, and add a visibility toggle.
+ (custom-face-edit-deactivate): Show empty values with shadow face.
+ (custom-face-selected): Only use this for face specs with default
+ attributes.
+ (custom-face-value-create): Cleanup.
+
+ * wid-edit.el (widget-checklist-value-create): Use dolist.
+ (widget-checklist-match-find): Make second arg optional.
+
+2010-10-07 Glenn Morris <rgm@gnu.org>
+
+ * hilit-chg.el (hilit-chg-get-diff-info, hilit-chg-get-diff-list-hk):
+ Prefix things.
+
+ * emacs-lisp/shadow.el (shadow-font-lock-keywords)
+ (load-path-shadows-mode, list-load-path-shadows): Rename shadow-mode to
+ load-path-shadows-mode, update references.
+ (load-path-shadows-font-lock-keywords, load-path-shadows-find-file):
+ Rename variable and button.
+ (list-load-path-shadows): Update button caller.
+
+2010-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/smie.el (smie-bnf-classify): New function.
+ (smie-bnf-precedence-table): Use it to remember the closers/openers.
+ (smie-merge-prec2s): Handle those new entries.
+ (smie-prec2-levels): Only set precedence to nil for actual
+ openers/closers.
+ * progmodes/octave-mod.el (octave-smie-op-levels): Remove dummy entry
+ that is now unnecessary.
+
+2010-10-07 Miles Bader <miles@gnu.org>
+
+ * emacs-lisp/regexp-opt.el (regexp-opt): Add `symbols' mode.
+
+2010-10-07 Glenn Morris <rgm@gnu.org>
+
+ * mail/rmail.el (mail-sendmail-delimit-header, mail-header-end)
+ (mail-position-on-field): Remove declarations.
+ (mail-position-on-field): Autoload it.
+ (rmail-retry-failure): Replace use of mail-sendmail-delimit-header
+ and mail-header-end. Don't require sendmail.
+
+ * emacs-lisp/shadow.el (shadow-font-lock-keywords): New variable.
+ (shadow-mode): New mode.
+ (shadow-find-file): New button.
+ (list-load-path-shadows): Use shadow-mode and buttons.
+
+ * iimage.el (iimage-version): Remove.
+ (iimage-mode-image-search-path, iimage-mode-image-regex-alist):
+ Turn into defcustoms.
+ (iimage-mode-map): Give it a doc string.
+
+ * calendar/appt.el (appt-activate): Give a warning rather than an error
+ if there is no diary-file.
+
+2010-10-06 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp-sh.el (tramp-sh-file-name-handler-alist):
+ Use `tramp-handle-find-backup-file-name'.
+
+2010-10-06 Glenn Morris <rgm@gnu.org>
+
+ * font-core.el (font-lock-defaults-alist): Remove variable.
+ (font-lock-mode): Doc fix.
+ (font-lock-default-function): Do not consult font-lock-defaults-alist.
+ * font-lock.el (font-lock-refresh-defaults): Doc fix.
+ (font-lock-set-defaults): Doc fix.
+ Do not consult font-lock-defaults-alist.
+
+ * hilit-chg.el (hilit-chg-get-diff-list-hk): Declare `e' for compiler.
+
+ * emacs-lisp/cl.el: No longer provide cl-19.
+
+2010-10-05 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-handle-directory-files-and-attributes)
+ (tramp-handle-file-exists-p, tramp-handle-file-newer-than-file-p):
+ New defuns, taken from tramp-smb.el.
+ (tramp-coding-system-change-eol-conversion)
+ (tramp-set-process-query-on-exit-flag): Removed.
+
+ * net/tramp-compat.el (top): Do not check for byte-compiler
+ objects.
+ (tramp-compat-coding-system-change-eol-conversion)
+ (tramp-compat-set-process-query-on-exit-flag): New defuns, taken
+ from tramp.el.
+
+ * net/tramp-gvfs.el:
+ * net/tramp-gw.el: Replace `tramp-set-process-query-on-exit-flag'
+ by `tramp-compat-set-process-query-on-exit-flag'.
+
+ * net/tramp-imap.el (tramp-imap-file-name-handler-alist): Use
+ `tramp-handle-directory-files-and-attributes',
+ `tramp-handle-file-exists-p' and
+ `tramp-handle-file-newer-than-file-p'.
+ (tramp-imap-handle-file-exists-p)
+ (tramp-imap-handle-file-executable-p)
+ (tramp-imap-handle-file-readable-p)
+ (tramp-imap-handle-directory-files-and-attributes)
+ (tramp-imap-handle-file-newer-than-file-p): Removed.
+
+ * net/tramp-sh.el: Replace `tramp-set-process-query-on-exit-flag'
+ by `tramp-compat-set-process-query-on-exit-flag' and
+ `tramp-coding-system-change-eol-conversion' by
+ `tramp-compat-coding-system-change-eol-conversion'.
+
+ * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use
+ `tramp-handle-directory-files-and-attributes',
+ `tramp-handle-file-exists-p' and
+ `tramp-handle-file-newer-than-file-p'.
+ (tramp-smb-handle-directory-files-and-attributes)
+ (tramp-smb-handle-file-exists-p)
+ (tramp-smb-handle-file-newer-than-file-p): Removed.
+ (tramp-smb-maybe-open-connection): Replace
+ `tramp-set-process-query-on-exit-flag' by
+ `tramp-compat-set-process-query-on-exit-flag'.
+
+2010-10-05 Glenn Morris <rgm@gnu.org>
+
+ * obsolete/rnews.el, obsolete/rnewspost.el: Remove files.
+
+2010-10-04 Michael Albinus <michael.albinus@gmx.de>
+
+ Continue reorganization of load dependencies. (Bug#7156)
+
+ * net/tramp.el (tramp-handle-file-local-copy-hook)
+ (tramp-delete-temp-file-function): Move down.
+ (tramp-exists-file-name-handler): Move up.
+ (tramp-register-file-name-handlers): Simplify autoload.
+ (tramp-handle-write-region-hook, tramp-handle-directory-file-name)
+ (tramp-handle-directory-files, tramp-handle-dired-uncache)
+ (tramp-handle-file-modes, tramp-handle-file-name-as-directory)
+ (tramp-handle-file-name-completion)
+ (tramp-handle-file-name-directory)
+ (tramp-handle-file-name-nondirectory, tramp-handle-file-regular-p)
+ (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
+ (tramp-handle-find-backup-file-name)
+ (tramp-handle-insert-file-contents, tramp-handle-load)
+ (tramp-handle-substitute-in-file-name)
+ (tramp-handle-unhandled-file-name-directory)
+ (tramp-mode-string-to-int, tramp-local-host-p)
+ (tramp-make-tramp-temp-file): Moved from tramp-sh.el.
+
+ * net/tramp-gvfs.el (top):
+ * net/tramp-smb.el (top): Do not require 'tramp-sh.
+
+ * net/tramp-sh.el (all): Move several objects to tramp.el, see
+ there. Rename `tramp-handle-*' to `tramp-sh-handle-*'.
+
+2010-10-04 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-add): Ensure reminders are enabled.
+ (appt-activate): Give status messages.
+
+2010-10-03 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * net/gnutls.el: Improve docs. Remove starttls and ssl emulation.
+ Provide only `open-gnutls-stream' (formerly `open-ssl-stream') and
+ `gnutls-negotiate' (formerly `starttls-negotiate'). Remove
+ trivial wrapper `starttls-open-stream'.
+
+2010-10-03 Dan Nicolaescu <dann@ics.uci.edu>
+
+ Make 'g' (AKA revert-buffer) rerun the VC log, log-incoming and
+ log-outgoing commands.
+ * vc/vc.el (vc-log-internal-common): Add a new argument and use it
+ to create a buffer local revert-buffer-function variable.
+ (vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a
+ revert-buffer-function lambda.
+
+2010-10-03 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * net/gnutls.el (starttls-negotiate): Use the plist interface to
+ `gnutls-boot'. Make TYPE the only required parameter. Allow
+ TRUSTFILES and KEYFILES to be lists.
+ (open-ssl-stream): Use it.
+
+2010-10-03 Glenn Morris <rgm@gnu.org>
+
+ * subr.el (directory-sep-char): Remove obsolete variable.
+ * net/tramp-compat.el: Don't mess about with the byte-compiler unless
+ it is "necessary".
+
+ * vc/vc-hooks.el (vc-header-alist): Remove obsolete variable.
+ * vc/vc.el (vc-static-header-alist): Doc fix.
+ * vc/vc-cvs.el (vc-cvs-header):
+ * vc/vc-rcs.el (vc-rcs-header):
+ * vc/vc-sccs.el (vc-sccs-header):
+ * vc/vc-svn.el (vc-svn-header): Do not consult vc-header-alist.
+ * obsolete/vc-mcvs.el (vc-mcvs-header):
+ * progmodes/cperl-mode.el (cperl-mode): Only set vc-header-alist
+ on XEmacs.
+
+2010-10-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/bytecomp.el (byte-compile-from-buffer): Remove
+ obsolete use of binary-overwrite-mode (Bug#7001).
+
+2010-10-03 Glenn Morris <rgm@gnu.org>
+
+ * obsolete/x-menu.el: Remove file, obsolete since 21.1
+
+ * textmodes/rst.el (rst-font-lock-keywords-function):
+ Drop Emacs 20 code.
+
+ * textmodes/artist.el (artist-replace-char): Drop Emacs 20 code.
+
+ * printing.el: Drop Emacs 20 code.
+
+ * calendar/appt.el (appt-delete): Don't autoload it (you can't use it
+ without having used appt.el already).
+
+ * subr.el (make-local-hook): Remove function obsolete since 21.1.
+ * progmodes/cc-mode.el (make-local-hook): Don't do cc-bytecomp stuff.
+ (c-basic-common-init, c-font-lock-init): Only call make-local-hook on
+ XEmacs.
+ * progmodes/cc-styles.el (make-local-hook): Don't do cc-bytecomp stuff.
+ (c-make-styles-buffer-local): Only call make-local-hook on XEmacs.
+
+ * ps-def.el (leading-code-private-22, charset-bytes, charset-id)
+ (charset-width, find-charset-region, chars-in-region, forward-point)
+ (encode-coding-string, coding-system-p, ccl-execute-on-string)
+ (define-ccl-program, multibyte-string-p, string-make-multibyte):
+ Remove compatibility cruft (none of these are used by ps*.el).
+
+2010-10-03 Kevin Rodgers <kevin.d.rodgers@gmail.com>
+
+ * subr.el (booleanp): Return t instead of a list (Bug#7086).
+
+2010-10-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * server.el (server-process-filter, server-return-error): Give
+ emacsclient time to shut down after receiving an error string.
+
+2010-10-02 Michael Albinus <michael.albinus@gmx.de>
+
+ * files.el (remote-file-name-inhibit-cache): New defcustom.
+
+ * time.el (display-time-file-nonempty-p): Use
+ `remote-file-name-inhibit-cache'.
+
+ * net/tramp.el (tramp-completion-reread-directory-timeout): Fix
+ docstring.
+
+ * net/tramp-cache.el (tramp-cache-inhibit-cache): Remove.
+ (tramp-get-file-property): Replace `tramp-cache-inhibit-cache' by
+ `remote-file-name-inhibit-cache'. Check also for an integer
+ value. Add/increase counter when `tramp-verbose' >= 10.
+ (tramp-set-file-property): Add/increase counter when
+ `tramp-verbose' >= 10.
+
+ * net/tramp-cmds.el (tramp-cleanup-all-connections)
+ (tramp-cleanup-all-buffers): Set tramp-autoload cookie.
+ (tramp-bug): Set tramp-autoload cookie. Report all interned
+ tramp-* variables. Report also `remote-file-name-inhibit-cache'.
+ (tramp-reporter-dump-variable): Fix docstring. Mask non-7bit
+ characters only in strings.
+
+ * net/tramp-compat.el (remote-file-name-inhibit-cache): Define due
+ to backward compatibility.
+
+ * net/tramp-sh.el (tramp-handle-verify-visited-file-modtime)
+ (tramp-handle-file-name-all-completions)
+ (tramp-handle-vc-registered): Use
+ `remote-file-name-inhibit-cache'.
+ (tramp-open-connection-setup-interactive-shell): Call
+ `tramp-cleanup-connection' directly.
+
+2010-10-02 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/checkdoc.el (checkdoc-minor-keymap): Remove obsolete alias.
+
+ * subr.el (char-bytes): Remove obsolete function.
+
+ * isearch.el (isearch-return-char): Remove obsolete function.
+
+ * mouse.el: No longer provide mldrag.
+ (mldrag-drag-mode-line, mldrag-drag-vertical-line):
+ Remove obsolete aliases.
+
+ * comint.el (comint-kill-output): Remove obsolete alias.
+
+ * composite.el (decompose-composite-char): Remove obsolete function.
+ * ps-def.el (decompose-composite-char): Remove unused function.
+
+ * iswitchb.el (iswitchb-default-keybindings): Remove obsolete function.
+
+ * outline.el (outline-visible): Remove obsolete function.
+
+ * term/pc-win.el (x-frob-font-slant, x-frob-font-weight):
+ * faces.el (internal-find-face, internal-get-face)
+ (frame-update-faces, frame-update-face-colors)
+ (x-frob-font-weight, x-frob-font-slant)
+ (internal-frob-font-weight, internal-frob-font-slant)
+ (x-make-font-bold, x-make-font-demibold, x-make-font-unbold)
+ (x-make-font-italic, x-make-font-oblique, x-make-font-unitalic)
+ (x-make-font-bold-italic): Remove functions and aliases, obsolete
+ since Emacs 21.1.
+ * emulation/viper-util.el (viper-get-face):
+ * obsolete/lucid.el (find-face, get-face): Use facep.
+ * vc/ediff-init.el (ediff-valid-color-p, ediff-get-face):
+ Remove unused functions.
+ * vc/ediff-util.el (ediff-submit-report): Doc fix.
+
+ * emacs-lisp/bytecomp.el (byte-compile-file): Use kill-emacs-hook to
+ delete tempfile if interrupted during compilation.
+
+2010-10-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/tls.el (tls-starttls-switches): Give up on using starttls with
+ gnutls-cli.
+ (tls-program): Add --insecure to be consistent with the defaults from
+ openssl s_client. Now all three commands are insecure.
+
+2010-10-01 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (DEST, TAGS, TAGS-LISP, TAGS-nmake)
+ (TAGS-LISP-nmake, TAGS-gmake, TAGS-LISP-gmake, TAGS-SH)
+ (TAGS-LISP-SH, TAGS-CMD, TAGS-LISP-CMD): New targets.
+
+2010-10-01 Glenn Morris <rgm@gnu.org>
+
+ * obsolete/sc.el: Remove file.
+
+ * files.el (temporary-file-directory): On darwin, also try
+ DARWIN_USER_TEMP_DIR (see discussion in bug#7135).
+
+2010-10-01 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-start): Revert part of 2010-09-30T02:53:26Z!lekktu@gmail.com.
+ Let's not break compatibility gratuitously, shall we?
+
+2010-09-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/tls.el (tls-starttls-switches): New variable.
+ (tls-find-starttls-argument): Use it.
+ (open-tls-stream): Ditto.
+
+ * net/netrc.el (netrc-credentials): Return the value of the "default"
+ entry.
+ (netrc-machine): Ditto.
+
+2010-09-30 Eli Zaretskii <eliz@gnu.org>
+
+ * vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.
+
+2010-09-30 Juanma Barranquero <lekktu@gmail.com>
+
+ * server.el (server-start): Don't write pid to the authentication file.
+ (server-create-tty-frame): Don't send pid.
+ (server-process-filter): Send pid at the start of every connection.
+
+2010-09-30 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (view-diary-entries, list-diary-entries)
+ (show-all-diary-entries): Remove obsolete function aliases.
+
+ * calendar/appt.el (appt-issue-message, appt-visible, appt-msg-window):
+ Remove options, obsolete since 22.1.
+ (appt-display-format, appt-display-message): Remove
+ backwards-compatibility code.
+ (appt-check): No longer check appt-issue-message.
+ (appt-make-list): No longer autoload it. Doc fix. No longer
+ activate the package.
+
+2010-09-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * net/gnutls.el (starttls-negotiate): Loop a lot longer.
+ (starttls-negotiate): Just call boot, and let the handshake be
+ triggered from the read loop.
+
+2010-09-29 Glenn Morris <rgm@gnu.org>
+
+ * calendar/diary-lib.el (diary-list-entries): Use temp buffers when
+ not displaying the diary.
+ (diary-add-to-list): If no buffer-file-name, fall back to diary-file.
+ * calendar/appt.el (appt-check): No longer need to kill diary.
+
+ * calendar/diary-lib.el (diary-list-entries): Move the
+ "Preparing..." message entirely here.
+ (diary-simple-display, diary-fancy-display): Move "Preparing..."
+ messages to diary-list-entries.
+ (diary-include-other-diary-files): Use LIST-ONLY rather than setting
+ diary-display-function.
+
+ * calendar/diary-lib.el (diary-include-other-diary-files):
+ Trap some recursive includes.
+
+ * calendar/appt.el (appt-activate): Check diary file.
+
+2010-09-29 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * pgg.el (pgg-run-at-time-1): Define it for XEmacs only; fix if/else
+ construction.
+
+ * calendar/time-date.el: No need to require cl for Emacs 21.
+
+2010-09-28 Glenn Morris <rgm@gnu.org>
+
+ * calendar/appt.el (appt-check): Minor simplification.
+
+2010-09-28 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mail/sendmail.el (mail-citation-prefix-regexp): Remove "}" from
+ citation prefix.
+
+2010-09-27 Andreas Schwab <schwab@linux-m68k.org>
+
* emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Avoid infinite recursion on erroneous lambda form. (Bug#7114)
* ede/cpp-root.el (ede-set-project-variables): Fix feature name
(bug#6231).
-2010-04-18 Chong Yidong <cyd@stupidchicken.com>
+2010-05-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Use a mode-line spec rather than a static string in Semantic.
+ * semantic/util-modes.el:
+ (semantic-minor-modes-format): New var to replace...
+ (semantic-minor-modes-status): Remove.
+ (semantic-mode-line-update): Construct a mode-line spec rather than
+ a static string so that mouse buttons can be used on individual minor
+ modes and so that semantic-mode-line-update only needs to be called
+ when global settings are changed.
+ (semantic-add-minor-mode, semantic-toggle-minor-mode-globally):
+ Call semantic-mode-line-update.
+ (semantic-toggle-minor-mode-globally): Don't assume mode is on
+ minor-mode-alist, check semantic-minor-mode-alist as well.
+ (semantic-stickyfunc-mode, semantic-show-parser-state-auto-marker)
+ (semantic-show-parser-state-marker, semantic-show-parser-state-mode)
+ (semantic-show-unmatched-syntax-mode, semantic-highlight-edits-mode):
+ * semantic/mru-bookmark.el (semantic-mru-bookmark-mode):
+ * semantic/idle.el (semantic-idle-scheduler-mode)
+ (define-semantic-idle-service, semantic-idle-summary-mode):
+ * semantic/decorate/mode.el (semantic-decoration-mode):
+ Don't call semantic-mode-line-update any more.
+
+2010-05-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ Use define-minor-mode in CEDET where applicable.
+
+ * srecode/mode.el (srecode-minor-mode,global-srecode-minor-mode):
+ Use define-minor-mode.
+
+ * semantic/util-modes.el (semantic-add-minor-mode):
+ Remove unused arg `keymap' and code redundant with define-minor-mode.
+ (semantic-toggle-minor-mode-globally): Only handle arg -1 and 1.
+ (semantic-stickyfunc-mode, global-semantic-show-unmatched-syntax-mode)
+ (semantic-highlight-func-mode, global-semantic-show-parser-state-mode)
+ (global-semantic-highlight-edits-mode, semantic-highlight-edits-mode)
+ (semantic-show-unmatched-syntax-mode, semantic-show-parser-state-mode)
+ (global-semantic-stickyfunc-mode, global-semantic-highlight-func-mode):
+ Use define-minor-mode.
+ (semantic-stickyfunc-mode-setup, semantic-highlight-edits-mode-setup)
+ (semantic-show-unmatched-syntax-mode-setup)
+ (semantic-show-parser-state-mode-setup)
+ (semantic-highlight-func-mode-setup): Inline into sole caller.
+
+ * semantic/mru-bookmark.el (global-semantic-mru-bookmark-mode)
+ (semantic-mru-bookmark-mode): Use define-minor-mode.
+ (semantic-mru-bookmark-mode-setup): Inline into sole caller.
+
+ * semantic/idle.el (define-semantic-idle-service):
+ Use define-minor-mode and inline setup function into its sole caller.
+ (semantic-idle-scheduler-mode-setup)
+ (semantic-idle-summary-mode-setup): Inline into sole caller.
+ (global-semantic-idle-scheduler-mode, semantic-idle-scheduler-mode):
+ Use define-minor-mode.
+
+ * semantic/decorate/mode.el (global-semantic-decoration-mode)
+ (semantic-decoration-mode): Use define-minor-mode.
+ (semantic-decoration-mode-setup): Inline into sole caller.
+
+ * ede/dired.el (ede-dired-minor-mode): Initialize in declaration.
+ (ede-dired-minor-mode): Use define-minor-mode and derived-mode-p.
+ (ede-dired-add-to-target): Use dolist.
+
- 2010-04-18 Chong Yidong <cyd@stupidchicken.com>
-
- * ede/pmake.el (ede-proj-makefile-insert-variables):
- Don't destroy list before using it.
-
+2010-04-29 Chong Yidong <cyd@stupidchicken.com>
+
+ * semantic.el (semantic-completion-at-point-function):
+ New function.
+ (semantic-mode): Use semantic-completion-at-point-function for
+ completion-at-point-functions instead.
+
+2010-04-28 Chong Yidong <cyd@stupidchicken.com>
+
+ * semantic.el (semantic-mode): When enabled, add
+ semantic-ia-complete-symbol to completion-at-point-functions.
+
+ * semantic/ia.el (semantic-ia-complete-symbol): Return nil
+ if Semantic is not active.
+
+2010-04-19 Chong Yidong <cyd@stupidchicken.com>
* ede/pmake.el (ede-proj-makefile-insert-variables):
Don't destroy list before using it.
;;
;; Tracking minor mode.
+ (defcustom global-semantic-mru-bookmark-mode nil
+ "If non-nil, enable `semantic-mru-bookmark-mode' globally.
+ When this mode is enabled, Emacs keeps track of which tags have
+ been edited, and you can re-visit them with \\[semantic-mrub-switch-tags]."
+ :group 'semantic
+ :group 'semantic-modes
+ :type 'boolean
+ :require 'semantic/util-modes
+ :initialize 'custom-initialize-default
+ :set (lambda (sym val)
+ (global-semantic-mru-bookmark-mode (if val 1 -1))))
+
;;;###autoload
-(defun global-semantic-mru-bookmark-mode (&optional arg)
+(define-minor-mode global-semantic-mru-bookmark-mode
"Toggle global use of option `semantic-mru-bookmark-mode'.
-If ARG is positive, enable, if it is negative, disable.
-If ARG is nil, then toggle."
- (interactive "P")
- (setq global-semantic-mru-bookmark-mode
- (semantic-toggle-minor-mode-globally
- 'semantic-mru-bookmark-mode arg)))
+If ARG is positive or nil, enable, if it is negative, disable."
+ :global t :group 'semantic :group 'semantic-modes
+ ;; Not needed because it's autoloaded instead.
+ ;; :require 'semantic-util-modes
+ (semantic-toggle-minor-mode-globally
+ 'semantic-mru-bookmark-mode (if global-semantic-mru-bookmark-mode 1 -1)))
(defcustom semantic-mru-bookmark-mode-hook nil
"*Hook run at the end of function `semantic-mru-bookmark-mode'."
;; Nothing to merge.
suffix))
+(defun completion-basic--pattern (beforepoint afterpoint bounds)
+ (delete
+ "" (list (substring beforepoint (car bounds))
+ 'point
+ (substring afterpoint 0 (cdr bounds)))))
+
(defun completion-basic-try-completion (string table pred point)
- (let* ((beforepoint (substring string 0 point))
- (afterpoint (substring string point))
- (bounds (completion-boundaries beforepoint table pred afterpoint)))
+ (lexical-let*
+ ((beforepoint (substring string 0 point))
+ (afterpoint (substring string point))
+ (bounds (completion-boundaries beforepoint table pred afterpoint)))
(if (zerop (cdr bounds))
;; `try-completion' may return a subtly different result
;; than `all+merge', so try to use it whenever possible.
--- /dev/null
-(put 'Multiple-value-bind 'lisp-indent-function 2)
-(put 'Multiple-value-setq 'lisp-indent-function 2)
-(put 'Multiple-value-call 'lisp-indent-function 1)
-(put 'Multiple-value-prog1 'lisp-indent-function 1)
-
+ ;;; cl-compat.el --- Common Lisp extensions for GNU Emacs Lisp (compatibility)
+
+ ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+ ;; 2009, 2010 Free Software Foundation, Inc.
+
+ ;; Author: Dave Gillespie <daveg@synaptics.com>
+ ;; Version: 2.02
+ ;; Keywords: extensions
+ ;; Obsolete-since: 23.3
+
+ ;; This file is part of GNU Emacs.
+
+ ;; GNU Emacs is free software: you can redistribute it and/or modify
+ ;; it under the terms of the GNU General Public License as published by
+ ;; the Free Software Foundation, either version 3 of the License, or
+ ;; (at your option) any later version.
+
+ ;; GNU Emacs is distributed in the hope that it will be useful,
+ ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ ;; GNU General Public License for more details.
+
+ ;; You should have received a copy of the GNU General Public License
+ ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+ ;;; Commentary:
+
+ ;; This file has been obsolete since Emacs 23.3.
+
+ ;; These are extensions to Emacs Lisp that provide a degree of
+ ;; Common Lisp compatibility, beyond what is already built-in
+ ;; in Emacs Lisp.
+ ;;
+ ;; This package was written by Dave Gillespie; it is a complete
+ ;; rewrite of Cesar Quiroz's original cl.el package of December 1986.
+ ;;
+ ;; This package works with Emacs 18, Emacs 19, and Lucid Emacs 19.
+ ;;
+ ;; Bug reports, comments, and suggestions are welcome!
+
+ ;; This file contains emulations of internal routines of the older
+ ;; CL package which users may have called directly from their code.
+ ;; Use (require 'cl-compat) to get these routines.
+
+ ;; See cl.el for Change Log.
+
+
+ ;;; Code:
+
+ ;; This used to be:
+ ;; (or (featurep 'cl) (require 'cl))
+ ;; which just has the effect of fooling the byte-compiler into not
+ ;; loading cl when compiling. However, that leads to some bogus
+ ;; compiler warnings. Loading cl when compiling cannot do any harm,
+ ;; because for a long time bootstrap-emacs contained 'cl, due to being
+ ;; dumped from uncompiled files that eval-when-compile'd cl. So every
+ ;; file was compiled with 'cl loaded.
+ (require 'cl)
+
+
+ ;;; Keyword routines not supported by new package.
+
+ (defmacro defkeyword (x &optional doc)
+ (list* 'defconst x (list 'quote x) (and doc (list doc))))
+
+ (defun keyword-of (sym)
+ (or (keywordp sym) (keywordp (intern (format ":%s" sym)))))
+
+
+ ;;; Multiple values. Note that the new package uses a different
+ ;;; convention for multiple values. The following definitions
+ ;;; emulate the old convention; all function names have been changed
+ ;;; by capitalizing the first letter: Values, Multiple-value-*,
+ ;;; to avoid conflict with the new-style definitions in cl-macs.
+
+ (defvar *mvalues-values* nil)
+
+ (defun Values (&rest val-forms)
+ (setq *mvalues-values* val-forms)
+ (car val-forms))
+
+ (defun Values-list (val-forms)
+ (apply 'values val-forms))
+
+ (defmacro Multiple-value-list (form)
+ (list 'let* (list '(*mvalues-values* nil) (list '*mvalues-temp* form))
+ '(or (and (eq *mvalues-temp* (car *mvalues-values*)) *mvalues-values*)
+ (list *mvalues-temp*))))
+
+ (defmacro Multiple-value-call (function &rest args)
++ (declare (indent 1))
+ (list 'apply function
+ (cons 'append
+ (mapcar (function (lambda (x) (list 'Multiple-value-list x)))
+ args))))
+
+ (defmacro Multiple-value-bind (vars form &rest body)
++ (declare (indent 2))
+ (list* 'multiple-value-bind vars (list 'Multiple-value-list form) body))
+
+ (defmacro Multiple-value-setq (vars form)
++ (declare (indent 2))
+ (list 'multiple-value-setq vars (list 'Multiple-value-list form)))
+
+ (defmacro Multiple-value-prog1 (form &rest body)
++ (declare (indent 1))
+ (list 'prog1 form (list* 'let '((*mvalues-values* nil)) body)))
+
+
+ ;;; Routines for parsing keyword arguments.
+
+ (defun build-klist (arglist keys &optional allow-others)
+ (let ((res (Multiple-value-call 'mapcar* 'cons (unzip-lists arglist))))
+ (or allow-others
+ (let ((bad (set-difference (mapcar 'car res) keys)))
+ (if bad (error "Bad keywords: %s not in %s" bad keys))))
+ res))
+
+ (defun extract-from-klist (klist key &optional def)
+ (let ((res (assq key klist))) (if res (cdr res) def)))
+
+ (defun keyword-argument-supplied-p (klist key)
+ (assq key klist))
+
+ (defun elt-satisfies-test-p (item elt klist)
+ (let ((test-not (cdr (assq ':test-not klist)))
+ (test (cdr (assq ':test klist)))
+ (key (cdr (assq ':key klist))))
+ (if key (setq elt (funcall key elt)))
+ (if test-not (not (funcall test-not item elt))
+ (funcall (or test 'eql) item elt))))
+
+
+ ;;; Rounding functions with old-style multiple value returns.
+
+ (defun cl-floor (a &optional b) (Values-list (floor* a b)))
+ (defun cl-ceiling (a &optional b) (Values-list (ceiling* a b)))
+ (defun cl-round (a &optional b) (Values-list (round* a b)))
+ (defun cl-truncate (a &optional b) (Values-list (truncate* a b)))
+
+ (defun safe-idiv (a b)
+ (let* ((q (/ (abs a) (abs b)))
+ (s (* (signum a) (signum b))))
+ (Values q (- a (* s q b)) s)))
+
+
+ ;; Internal routines.
+
+ (defun pair-with-newsyms (oldforms)
+ (let ((newsyms (mapcar (lambda (x) (make-symbol "--cl-var--")) oldforms)))
+ (Values (mapcar* 'list newsyms oldforms) newsyms)))
+
+ (defun zip-lists (evens odds)
+ (mapcan 'list evens odds))
+
+ (defun unzip-lists (list)
+ (let ((e nil) (o nil))
+ (while list
+ (setq e (cons (car list) e) o (cons (cadr list) o) list (cddr list)))
+ (Values (nreverse e) (nreverse o))))
+
+ (defun reassemble-argslists (list)
+ (let ((n (apply 'min (mapcar 'length list))) (res nil))
+ (while (>= (setq n (1- n)) 0)
+ (setq res (cons (mapcar (function (lambda (x) (elt x n))) list) res)))
+ res))
+
+ (defun duplicate-symbols-p (list)
+ (let ((res nil))
+ (while list
+ (if (memq (car list) (cdr list)) (setq res (cons (car list) res)))
+ (setq list (cdr list)))
+ res))
+
+
+ ;;; Setf internals.
+
+ (defun setnth (n list x)
+ (setcar (nthcdr n list) x))
+
+ (defun setnthcdr (n list x)
+ (setcdr (nthcdr (1- n) list) x))
+
+ (defun setelt (seq n x)
+ (if (consp seq) (setcar (nthcdr n seq) x) (aset seq n x)))
+
+
+ ;;; Functions omitted: case-clausify, check-do-stepforms, check-do-endforms,
+ ;;; extract-do-inits, extract-do[*]-steps, select-stepping-forms,
+ ;;; elt-satisfies-if[-not]-p, with-keyword-args, mv-bind-clausify,
+ ;;; all names with embedded `$'.
+
+
+ (provide 'cl-compat)
+
+ ;; Local variables:
+ ;; byte-compile-warnings: (not cl-functions)
+ ;; End:
+
+ ;;; cl-compat.el ends here
--- /dev/null
- (vc-svn-command nil 0 file "update")
+;;; vc-svn.el --- non-resident support for Subversion version-control
+
+;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+;; Free Software Foundation, Inc.
+
+;; Author: FSF (see vc.el for full credits)
+;; Maintainer: Stefan Monnier <monnier@gnu.org>
+;; Package: vc
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Sync'd with Subversion's vc-svn.el as of revision 5801. but this version
+;; has been extensively modified since to handle filesets.
+
+;;; Code:
+
+(eval-when-compile
+ (require 'vc))
+
+;; Clear up the cache to force vc-call to check again and discover
+;; new functions when we reload this file.
+(put 'SVN 'vc-functions nil)
+
+;;;
+;;; Customization options
+;;;
+
+;; FIXME there is also svnadmin.
+(defcustom vc-svn-program "svn"
+ "Name of the SVN executable."
+ :type 'string
+ :group 'vc)
+
+(defcustom vc-svn-global-switches nil
+ "Global switches to pass to any SVN command."
+ :type '(choice (const :tag "None" nil)
+ (string :tag "Argument String")
+ (repeat :tag "Argument List"
+ :value ("")
+ string))
+ :version "22.1"
+ :group 'vc)
+
+(defcustom vc-svn-register-switches nil
+ "Switches for registering a file into SVN.
+A string or list of strings passed to the checkin program by
+\\[vc-register]. If nil, use the value of `vc-register-switches'.
+If t, use no switches."
+ :type '(choice (const :tag "Unspecified" nil)
+ (const :tag "None" t)
+ (string :tag "Argument String")
+ (repeat :tag "Argument List" :value ("") string))
+ :version "22.1"
+ :group 'vc)
+
+(defcustom vc-svn-diff-switches
+ t ;`svn' doesn't support common args like -c or -b.
+ "String or list of strings specifying extra switches for svn diff under VC.
+If nil, use the value of `vc-diff-switches' (or `diff-switches'),
+together with \"-x --diff-cmd=diff\" (since svn diff does not
+support the default \"-c\" value of `diff-switches'). If you
+want to force an empty list of arguments, use t."
+ :type '(choice (const :tag "Unspecified" nil)
+ (const :tag "None" t)
+ (string :tag "Argument String")
+ (repeat :tag "Argument List"
+ :value ("")
+ string))
+ :version "22.1"
+ :group 'vc)
+
+(defcustom vc-svn-header '("\$Id\$")
+ "Header keywords to be inserted by `vc-insert-headers'."
+ :version "24.1" ; no longer consult the obsolete vc-header-alist
+ :type '(repeat string)
+ :group 'vc)
+
+;; We want to autoload it for use by the autoloaded version of
+;; vc-svn-registered, but we want the value to be compiled at startup, not
+;; at dump time.
+;; ;;;###autoload
+(defconst vc-svn-admin-directory
+ (cond ((and (memq system-type '(cygwin windows-nt ms-dos))
+ (getenv "SVN_ASP_DOT_NET_HACK"))
+ "_svn")
+ (t ".svn"))
+ "The name of the \".svn\" subdirectory or its equivalent.")
+
+;;; Properties of the backend
+
+(defun vc-svn-revision-granularity () 'repository)
+(defun vc-svn-checkout-model (files) 'implicit)
+
+;;;
+;;; State-querying functions
+;;;
+
+;;; vc-svn-admin-directory is generally not defined when the
+;;; autoloaded function is called.
+
+;;;###autoload (defun vc-svn-registered (f)
+;;;###autoload (let ((admin-dir (cond ((and (eq system-type 'windows-nt)
+;;;###autoload (getenv "SVN_ASP_DOT_NET_HACK"))
+;;;###autoload "_svn")
+;;;###autoload (t ".svn"))))
+;;;###autoload (when (file-readable-p (expand-file-name
+;;;###autoload (concat admin-dir "/entries")
+;;;###autoload (file-name-directory f)))
+;;;###autoload (load "vc-svn")
+;;;###autoload (vc-svn-registered f))))
+
+(defun vc-svn-registered (file)
+ "Check if FILE is SVN registered."
+ (when (file-readable-p (expand-file-name (concat vc-svn-admin-directory
+ "/entries")
+ (file-name-directory file)))
+ (with-temp-buffer
+ (cd (file-name-directory file))
+ (let* (process-file-side-effects
+ (status
+ (condition-case nil
+ ;; Ignore all errors.
+ (vc-svn-command t t file "status" "-v")
+ ;; Some problem happened. E.g. We can't find an `svn'
+ ;; executable. We used to only catch `file-error' but when
+ ;; the process is run on a remote host via Tramp, the error
+ ;; is only reported via the exit status which is turned into
+ ;; an `error' by vc-do-command.
+ (error nil))))
+ (when (eq 0 status)
+ (let ((parsed (vc-svn-parse-status file)))
+ (and parsed (not (memq parsed '(ignored unregistered))))))))))
+
+(defun vc-svn-state (file &optional localp)
+ "SVN-specific version of `vc-state'."
+ (let (process-file-side-effects)
+ (setq localp (or localp (vc-stay-local-p file 'SVN)))
+ (with-temp-buffer
+ (cd (file-name-directory file))
+ (vc-svn-command t 0 file "status" (if localp "-v" "-u"))
+ (vc-svn-parse-status file))))
+
+(defun vc-svn-state-heuristic (file)
+ "SVN-specific state heuristic."
+ (vc-svn-state file 'local))
+
+;; FIXME it would be better not to have the "remote" argument,
+;; but to distinguish the two output formats based on content.
+(defun vc-svn-after-dir-status (callback &optional remote)
+ (let ((state-map '((?A . added)
+ (?C . conflict)
+ (?I . ignored)
+ (?M . edited)
+ (?D . removed)
+ (?R . removed)
+ (?? . unregistered)
+ ;; This is what vc-svn-parse-status does.
+ (?~ . edited)))
+ (re (if remote "^\\(.\\)......? \\([ *]\\) +\\(?:[-0-9]+\\)? \\(.*\\)$"
+ ;; Subexp 2 is a dummy in this case, so the numbers match.
+ "^\\(.\\)....\\(.\\) \\(.*\\)$"))
+ result)
+ (goto-char (point-min))
+ (while (re-search-forward re nil t)
+ (let ((state (cdr (assq (aref (match-string 1) 0) state-map)))
+ (filename (match-string 3)))
+ (and remote (string-equal (match-string 2) "*")
+ ;; FIXME are there other possible combinations?
+ (cond ((eq state 'edited) (setq state 'needs-merge))
+ ((not state) (setq state 'needs-update))))
+ (when (and state (not (string= "." filename)))
+ (setq result (cons (list filename state) result)))))
+ (funcall callback result)))
+
+(defun vc-svn-dir-status (dir callback)
+ "Run 'svn status' for DIR and update BUFFER via CALLBACK.
+CALLBACK is called as (CALLBACK RESULT BUFFER), where
+RESULT is a list of conses (FILE . STATE) for directory DIR."
+ ;; FIXME should this rather be all the files in dir?
+ ;; FIXME: the vc-stay-local-p logic below is disabled, it ends up
+ ;; calling synchronously (vc-svn-registered DIR) => calling svn status -v DIR
+ ;; which is VERY SLOW for big trees and it makes emacs
+ ;; completely unresponsive during that time.
+ (let* ((local (and nil (vc-stay-local-p dir 'SVN)))
+ (remote (or t (not local) (eq local 'only-file))))
+ (vc-svn-command (current-buffer) 'async nil "status"
+ (if remote "-u"))
+ (vc-exec-after
+ `(vc-svn-after-dir-status (quote ,callback) ,remote))))
+
+(defun vc-svn-dir-status-files (dir files default-state callback)
+ (apply 'vc-svn-command (current-buffer) 'async nil "status" files)
+ (vc-exec-after
+ `(vc-svn-after-dir-status (quote ,callback))))
+
+(defun vc-svn-dir-extra-headers (dir)
+ "Generate extra status headers for a Subversion working copy."
+ (let (process-file-side-effects)
+ (vc-svn-command "*vc*" 0 nil "info"))
+ (let ((repo
+ (save-excursion
+ (and (progn
+ (set-buffer "*vc*")
+ (goto-char (point-min))
+ (re-search-forward "Repository Root: *\\(.*\\)" nil t))
+ (match-string 1)))))
+ (concat
+ (cond (repo
+ (concat
+ (propertize "Repository : " 'face 'font-lock-type-face)
+ (propertize repo 'face 'font-lock-variable-name-face)))
+ (t "")))))
+
+(defun vc-svn-working-revision (file)
+ "SVN-specific version of `vc-working-revision'."
+ ;; There is no need to consult RCS headers under SVN, because we
+ ;; get the workfile version for free when we recognize that a file
+ ;; is registered in SVN.
+ (vc-svn-registered file)
+ (vc-file-getprop file 'vc-working-revision))
+
+;; vc-svn-mode-line-string doesn't exist because the default implementation
+;; works just fine.
+
+(defun vc-svn-previous-revision (file rev)
+ (let ((newrev (1- (string-to-number rev))))
+ (when (< 0 newrev)
+ (number-to-string newrev))))
+
+(defun vc-svn-next-revision (file rev)
+ (let ((newrev (1+ (string-to-number rev))))
+ ;; The "working revision" is an uneasy conceptual fit under Subversion;
+ ;; we use it as the upper bound until a better idea comes along. If the
+ ;; workfile version W coincides with the tree's latest revision R, then
+ ;; this check prevents a "no such revision: R+1" error. Otherwise, it
+ ;; inhibits showing of W+1 through R, which could be considered anywhere
+ ;; from gracious to impolite.
+ (unless (< (string-to-number (vc-file-getprop file 'vc-working-revision))
+ newrev)
+ (number-to-string newrev))))
+
+
+;;;
+;;; State-changing functions
+;;;
+
+(defun vc-svn-create-repo ()
+ "Create a new SVN repository."
+ (vc-do-command "*vc*" 0 "svnadmin" '("create" "SVN"))
+ (vc-do-command "*vc*" 0 vc-svn-program '(".")
+ "checkout" (concat "file://" default-directory "SVN")))
+
+(defun vc-svn-register (files &optional rev comment)
+ "Register FILES into the SVN version-control system.
+The COMMENT argument is ignored This does an add but not a commit.
+Passes either `vc-svn-register-switches' or `vc-register-switches'
+to the SVN command."
+ (apply 'vc-svn-command nil 0 files "add" (vc-switches 'SVN 'register)))
+
+(defun vc-svn-responsible-p (file)
+ "Return non-nil if SVN thinks it is responsible for FILE."
+ (file-directory-p (expand-file-name vc-svn-admin-directory
+ (if (file-directory-p file)
+ file
+ (file-name-directory file)))))
+
+(defalias 'vc-svn-could-register 'vc-svn-responsible-p
+ "Return non-nil if FILE could be registered in SVN.
+This is only possible if SVN is responsible for FILE's directory.")
+
+(defun vc-svn-checkin (files rev comment &optional extra-args-ignored)
+ "SVN-specific version of `vc-backend-checkin'."
+ (if rev (error "Committing to a specific revision is unsupported in SVN"))
+ (let ((status (apply
+ 'vc-svn-command nil 1 files "ci"
+ (nconc (list "-m" comment) (vc-switches 'SVN 'checkin)))))
+ (set-buffer "*vc*")
+ (goto-char (point-min))
+ (unless (equal status 0)
+ ;; Check checkin problem.
+ (cond
+ ((search-forward "Transaction is out of date" nil t)
+ (mapc (lambda (file) (vc-file-setprop file 'vc-state 'needs-merge))
+ files)
+ (error (substitute-command-keys
+ (concat "Up-to-date check failed: "
+ "type \\[vc-next-action] to merge in changes"))))
+ (t
+ (pop-to-buffer (current-buffer))
+ (goto-char (point-min))
+ (shrink-window-if-larger-than-buffer)
+ (error "Check-in failed"))))
+ ;; Update file properties
+ ;; (vc-file-setprop
+ ;; file 'vc-working-revision
+ ;; (vc-parse-buffer "^\\(new\\|initial\\) revision: \\([0-9.]+\\)" 2))
+ ))
+
+(defun vc-svn-find-revision (file rev buffer)
+ "SVN-specific retrieval of a specified version into a buffer."
+ (let (process-file-side-effects)
+ (apply 'vc-svn-command
+ buffer 0 file
+ "cat"
+ (and rev (not (string= rev ""))
+ (concat "-r" rev))
+ (vc-switches 'SVN 'checkout))))
+
+(defun vc-svn-checkout (file &optional editable rev)
+ (message "Checking out %s..." file)
+ (with-current-buffer (or (get-file-buffer file) (current-buffer))
+ (vc-svn-update file editable rev (vc-switches 'SVN 'checkout)))
+ (vc-mode-line file 'SVN)
+ (message "Checking out %s...done" file))
+
+(defun vc-svn-update (file editable rev switches)
+ (if (and (file-exists-p file) (not rev))
+ ;; If no revision was specified, there's nothing to do.
+ nil
+ ;; Check out a particular version (or recreate the file).
+ (vc-file-setprop file 'vc-working-revision nil)
+ (apply 'vc-svn-command nil 0 file
+ "--non-interactive" ; bug#4280
+ "update"
+ (cond
+ ((null rev) "-rBASE")
+ ((or (eq rev t) (equal rev "")) nil)
+ (t (concat "-r" rev)))
+ switches)))
+
+(defun vc-svn-delete-file (file)
+ (vc-svn-command nil 0 file "remove"))
+
+(defun vc-svn-rename-file (old new)
+ (vc-svn-command nil 0 new "move" (file-relative-name old)))
+
+(defun vc-svn-revert (file &optional contents-done)
+ "Revert FILE to the version it was based on."
+ (unless contents-done
+ (vc-svn-command nil 0 file "revert")))
+
+(defun vc-svn-merge (file first-version &optional second-version)
+ "Merge changes into current working copy of FILE.
+The changes are between FIRST-VERSION and SECOND-VERSION."
+ (vc-svn-command nil 0 file
+ "merge"
+ "-r" (if second-version
+ (concat first-version ":" second-version)
+ first-version))
+ (vc-file-setprop file 'vc-state 'edited)
+ (with-current-buffer (get-buffer "*vc*")
+ (goto-char (point-min))
+ (if (looking-at "C ")
+ 1 ; signal conflict
+ 0))) ; signal success
+
+(defun vc-svn-merge-news (file)
+ "Merge in any new changes made to FILE."
+ (message "Merging changes into %s..." file)
+ ;; (vc-file-setprop file 'vc-working-revision nil)
+ (vc-file-setprop file 'vc-checkout-time 0)
++ (vc-svn-command nil 0 file "--non-interactive" "update") ; see bug#7152
+ ;; Analyze the merge result reported by SVN, and set
+ ;; file properties accordingly.
+ (with-current-buffer (get-buffer "*vc*")
+ (goto-char (point-min))
+ ;; get new working revision
+ (if (re-search-forward
+ "^\\(Updated to\\|At\\) revision \\([0-9]+\\)" nil t)
+ (vc-file-setprop file 'vc-working-revision (match-string 2))
+ (vc-file-setprop file 'vc-working-revision nil))
+ ;; get file status
+ (goto-char (point-min))
+ (prog1
+ (if (looking-at "At revision")
+ 0 ;; there were no news; indicate success
+ (if (re-search-forward
+ ;; Newer SVN clients have 3 columns of chars (one for the
+ ;; file's contents, then second for its properties, and the
+ ;; third for lock-grabbing info), before the 2 spaces.
+ ;; We also used to match the filename in column 0 without any
+ ;; meta-info before it, but I believe this can never happen.
+ (concat "^\\(\\([ACGDU]\\)\\(.[B ]\\)? \\)"
+ (regexp-quote (file-name-nondirectory file)))
+ nil t)
+ (cond
+ ;; Merge successful, we are in sync with repository now
+ ((string= (match-string 2) "U")
+ (vc-file-setprop file 'vc-state 'up-to-date)
+ (vc-file-setprop file 'vc-checkout-time
+ (nth 5 (file-attributes file)))
+ 0);; indicate success to the caller
+ ;; Merge successful, but our own changes are still in the file
+ ((string= (match-string 2) "G")
+ (vc-file-setprop file 'vc-state 'edited)
+ 0);; indicate success to the caller
+ ;; Conflicts detected!
+ (t
+ (vc-file-setprop file 'vc-state 'edited)
+ 1);; signal the error to the caller
+ )
+ (pop-to-buffer "*vc*")
+ (error "Couldn't analyze svn update result")))
+ (message "Merging changes into %s...done" file))))
+
+(defun vc-svn-modify-change-comment (files rev comment)
+ "Modify the change comments for a specified REV.
+You must have ssh access to the repository host, and the directory Emacs
+uses locally for temp files must also be writable by you on that host.
+This is only supported if the repository access method is either file://
+or svn+ssh://."
+ (let (tempfile host remotefile directory fileurl-p)
+ (with-temp-buffer
+ (vc-do-command (current-buffer) 0 vc-svn-program nil "info")
+ (goto-char (point-min))
+ (unless (re-search-forward "Repository Root: \\(file://\\(/.*\\)\\)\\|\\(svn\\+ssh://\\([^/]+\\)\\(/.*\\)\\)" nil t)
+ (error "Repository information is unavailable"))
+ (if (match-string 1)
+ (progn
+ (setq fileurl-p t)
+ (setq directory (match-string 2)))
+ (setq host (match-string 4))
+ (setq directory (match-string 5))
+ (setq remotefile (concat host ":" tempfile))))
+ (with-temp-file (setq tempfile (make-temp-file user-mail-address))
+ (insert comment))
+ (if fileurl-p
+ ;; Repository Root is a local file.
+ (progn
+ (unless (vc-do-command
+ "*vc*" 0 "svnadmin" nil
+ "setlog" "--bypass-hooks" directory
+ "-r" rev (format "%s" tempfile))
+ (error "Log edit failed"))
+ (delete-file tempfile))
+
+ ;; Remote repository, using svn+ssh.
+ (unless (vc-do-command "*vc*" 0 "scp" nil "-q" tempfile remotefile)
+ (error "Copy of comment to %s failed" remotefile))
+ (unless (vc-do-command
+ "*vc*" 0 "ssh" nil "-q" host
+ (format "svnadmin setlog --bypass-hooks %s -r %s %s; rm %s"
+ directory rev tempfile tempfile))
+ (error "Log edit failed")))))
+
+;;;
+;;; History functions
+;;;
+
+(defvar log-view-per-file-logs)
+
+(define-derived-mode vc-svn-log-view-mode log-view-mode "SVN-Log-View"
+ (require 'add-log)
+ (set (make-local-variable 'log-view-per-file-logs) nil))
+
+(defun vc-svn-print-log (files buffer &optional shortlog start-revision limit)
+ "Get change log(s) associated with FILES."
+ (save-current-buffer
+ (vc-setup-buffer buffer)
+ (let ((inhibit-read-only t))
+ (goto-char (point-min))
+ (if files
+ (dolist (file files)
+ (insert "Working file: " file "\n")
+ (apply
+ 'vc-svn-command
+ buffer
+ 'async
+ ;; (if (and (= (length files) 1) (vc-stay-local-p file 'SVN)) 'async 0)
+ (list file)
+ "log"
+ (append
+ (list
+ (if start-revision
+ (format "-r%s" start-revision)
+ ;; By default Subversion only shows the log up to the
+ ;; working revision, whereas we also want the log of the
+ ;; subsequent commits. At least that's what the
+ ;; vc-cvs.el code does.
+ "-rHEAD:0"))
+ (when limit (list "--limit" (format "%s" limit))))))
+ ;; Dump log for the entire directory.
+ (apply 'vc-svn-command buffer 0 nil "log"
+ (append
+ (list
+ (if start-revision (format "-r%s" start-revision) "-rHEAD:0"))
+ (when limit (list "--limit" (format "%s" limit)))))))))
+
+(defun vc-svn-diff (files &optional oldvers newvers buffer)
+ "Get a difference report using SVN between two revisions of fileset FILES."
+ (and oldvers
+ (not newvers)
+ files
+ (catch 'no
+ (dolist (f files)
+ (or (equal oldvers (vc-working-revision f))
+ (throw 'no nil)))
+ t)
+ ;; Use nil rather than the current revision because svn handles
+ ;; it better (i.e. locally). Note that if _any_ of the files
+ ;; has a different revision, we fetch the lot, which is
+ ;; obviously sub-optimal.
+ (setq oldvers nil))
+ (let* ((switches
+ (if vc-svn-diff-switches
+ (vc-switches 'SVN 'diff)
+ (list "--diff-cmd=diff" "-x"
+ (mapconcat 'identity (vc-switches nil 'diff) " "))))
+ (async (and (not vc-disable-async-diff)
+ (vc-stay-local-p files 'SVN)
+ (or oldvers newvers)))) ; Svn diffs those locally.
+ (apply 'vc-svn-command buffer
+ (if async 'async 0)
+ files "diff"
+ (append
+ switches
+ (when oldvers
+ (list "-r" (if newvers (concat oldvers ":" newvers)
+ oldvers)))))
+ (if async 1 ; async diff => pessimistic assumption
+ ;; For some reason `svn diff' does not return a useful
+ ;; status w.r.t whether the diff was empty or not.
+ (buffer-size (get-buffer buffer)))))
+
+;;;
+;;; Tag system
+;;;
+
+(defun vc-svn-create-tag (dir name branchp)
+ "Assign to DIR's current revision a given NAME.
+If BRANCHP is non-nil, the name is created as a branch (and the current
+workspace is immediately moved to that new branch).
+NAME is assumed to be a URL."
+ (vc-svn-command nil 0 dir "copy" name)
+ (when branchp (vc-svn-retrieve-tag dir name nil)))
+
+(defun vc-svn-retrieve-tag (dir name update)
+ "Retrieve a tag at and below DIR.
+NAME is the name of the tag; if it is empty, do a `svn update'.
+If UPDATE is non-nil, then update (resynch) any affected buffers.
+NAME is assumed to be a URL."
+ (vc-svn-command nil 0 dir "switch" name)
+ ;; FIXME: parse the output and obey `update'.
+ )
+
+;;;
+;;; Miscellaneous
+;;;
+
+;; Subversion makes backups for us, so don't bother.
+;; (defun vc-svn-make-version-backups-p (file)
+;; "Return non-nil if version backups should be made for FILE."
+;; (vc-stay-local-p file 'SVN))
+
+(defun vc-svn-check-headers ()
+ "Check if the current file has any headers in it."
+ (save-excursion
+ (goto-char (point-min))
+ (re-search-forward "\\$[A-Za-z\300-\326\330-\366\370-\377]+\
+\\(: [\t -#%-\176\240-\377]*\\)?\\$" nil t)))
+
+
+;;;
+;;; Internal functions
+;;;
+
+(defun vc-svn-command (buffer okstatus file-or-list &rest flags)
+ "A wrapper around `vc-do-command' for use in vc-svn.el.
+The difference to vc-do-command is that this function always invokes `svn',
+and that it passes `vc-svn-global-switches' to it before FLAGS."
+ (apply 'vc-do-command (or buffer "*vc*") okstatus vc-svn-program file-or-list
+ (if (stringp vc-svn-global-switches)
+ (cons vc-svn-global-switches flags)
+ (append vc-svn-global-switches
+ flags))))
+
+(defun vc-svn-repository-hostname (dirname)
+ (with-temp-buffer
+ (let ((coding-system-for-read
+ (or file-name-coding-system
+ default-file-name-coding-system)))
+ (vc-insert-file (expand-file-name (concat vc-svn-admin-directory
+ "/entries")
+ dirname)))
+ (goto-char (point-min))
+ (when (re-search-forward
+ ;; Old `svn' used name="svn:this_dir", newer use just name="".
+ (concat "name=\"\\(?:svn:this_dir\\)?\"[\n\t ]*"
+ "\\(?:[-a-z]+=\"[^\"]*\"[\n\t ]*\\)*?"
+ "url=\"\\(?1:[^\"]+\\)\""
+ ;; Yet newer ones don't use XML any more.
+ "\\|^\ndir\n[0-9]+\n\\(?1:.*\\)") nil t)
+ ;; This is not a hostname but a URL. This may actually be considered
+ ;; as a feature since it allows vc-svn-stay-local to specify different
+ ;; behavior for different modules on the same server.
+ (match-string 1))))
+
+(defun vc-svn-resolve-when-done ()
+ "Call \"svn resolved\" if the conflict markers have been removed."
+ (save-excursion
+ (goto-char (point-min))
+ (unless (re-search-forward "^<<<<<<< " nil t)
+ (vc-svn-command nil 0 buffer-file-name "resolved")
+ ;; Remove the hook so that it is not called multiple times.
+ (remove-hook 'after-save-hook 'vc-svn-resolve-when-done t))))
+
+;; Inspired by vc-arch-find-file-hook.
+(defun vc-svn-find-file-hook ()
+ (when (eq ?C (vc-file-getprop buffer-file-name 'vc-svn-status))
+ ;; If the file is marked as "conflicted", then we should try and call
+ ;; "svn resolved" when applicable.
+ (if (save-excursion
+ (goto-char (point-min))
+ (re-search-forward "^<<<<<<< " nil t))
+ ;; There are conflict markers.
+ (progn
+ (smerge-start-session)
+ (add-hook 'after-save-hook 'vc-svn-resolve-when-done nil t))
+ ;; There are no conflict markers. This is problematic: maybe it means
+ ;; the conflict has been resolved and we should immediately call "svn
+ ;; resolved", or it means that the file's type does not allow Svn to
+ ;; use conflict markers in which case we don't really know what to do.
+ ;; So let's just punt for now.
+ nil)
+ (message "There are unresolved conflicts in this file")))
+
+(defun vc-svn-parse-status (&optional filename)
+ "Parse output of \"svn status\" command in the current buffer.
+Set file properties accordingly. Unless FILENAME is non-nil, parse only
+information about FILENAME and return its status."
+ (let (file status)
+ (goto-char (point-min))
+ (while (re-search-forward
+ ;; Ignore the files with status X.
+ "^\\(?:\\?\\|[ ACDGIMR!~][ MC][ L][ +][ S]..\\([ *]\\) +\\([-0-9]+\\) +\\([0-9?]+\\) +\\([^ ]+\\)\\) +" nil t)
+ ;; If the username contains spaces, the output format is ambiguous,
+ ;; so don't trust the output's filename unless we have to.
+ (setq file (or filename
+ (expand-file-name
+ (buffer-substring (point) (line-end-position)))))
+ (setq status (char-after (line-beginning-position)))
+ (if (eq status ??)
+ (vc-file-setprop file 'vc-state 'unregistered)
+ ;; Use the last-modified revision, so that searching in vc-print-log
+ ;; output works.
+ (vc-file-setprop file 'vc-working-revision (match-string 3))
+ ;; Remember Svn's own status.
+ (vc-file-setprop file 'vc-svn-status status)
+ (vc-file-setprop
+ file 'vc-state
+ (cond
+ ((eq status ?\ )
+ (if (eq (char-after (match-beginning 1)) ?*)
+ 'needs-update
+ (vc-file-setprop file 'vc-checkout-time
+ (nth 5 (file-attributes file)))
+ 'up-to-date))
+ ((eq status ?A)
+ ;; If the file was actually copied, (match-string 2) is "-".
+ (vc-file-setprop file 'vc-working-revision "0")
+ (vc-file-setprop file 'vc-checkout-time 0)
+ 'added)
+ ((eq status ?C)
+ (vc-file-setprop file 'vc-state 'conflict))
+ ((eq status '?M)
+ (if (eq (char-after (match-beginning 1)) ?*)
+ 'needs-merge
+ 'edited))
+ ((eq status ?I)
+ (vc-file-setprop file 'vc-state 'ignored))
+ ((memq status '(?D ?R))
+ (vc-file-setprop file 'vc-state 'removed))
+ (t 'edited)))))
+ (when filename (vc-file-getprop filename 'vc-state))))
+
+(defun vc-svn-valid-symbolic-tag-name-p (tag)
+ "Return non-nil if TAG is a valid symbolic tag name."
+ ;; According to the SVN manual, a valid symbolic tag must start with
+ ;; an uppercase or lowercase letter and can contain uppercase and
+ ;; lowercase letters, digits, `-', and `_'.
+ (and (string-match "^[a-zA-Z]" tag)
+ (not (string-match "[^a-z0-9A-Z-_]" tag))))
+
+(defun vc-svn-valid-revision-number-p (tag)
+ "Return non-nil if TAG is a valid revision number."
+ (and (string-match "^[0-9]" tag)
+ (not (string-match "[^0-9]" tag))))
+
+;; Support for `svn annotate'
+
+(defun vc-svn-annotate-command (file buf &optional rev)
+ (vc-svn-command buf 'async file "annotate" (if rev (concat "-r" rev))))
+
+(defun vc-svn-annotate-time-of-rev (rev)
+ ;; Arbitrarily assume 10 commmits per day.
+ (/ (string-to-number rev) 10.0))
+
+(defvar vc-annotate-parent-rev)
+
+(defun vc-svn-annotate-current-time ()
+ (vc-svn-annotate-time-of-rev vc-annotate-parent-rev))
+
+(defconst vc-svn-annotate-re "[ \t]*\\([0-9]+\\)[ \t]+[^\t ]+ ")
+
+(defun vc-svn-annotate-time ()
+ (when (looking-at vc-svn-annotate-re)
+ (goto-char (match-end 0))
+ (vc-svn-annotate-time-of-rev (match-string 1))))
+
+(defun vc-svn-annotate-extract-revision-at-line ()
+ (save-excursion
+ (beginning-of-line)
+ (if (looking-at vc-svn-annotate-re) (match-string 1))))
+
+(defun vc-svn-revision-table (files)
+ (let ((vc-svn-revisions '()))
+ (with-current-buffer "*vc*"
+ (vc-svn-command nil 0 files "log" "-q")
+ (goto-char (point-min))
+ (forward-line)
+ (let ((start (point-min))
+ (loglines (buffer-substring-no-properties (point-min)
+ (point-max))))
+ (while (string-match "^r\\([0-9]+\\) " loglines)
+ (push (match-string 1 loglines) vc-svn-revisions)
+ (setq start (+ start (match-end 0)))
+ (setq loglines (buffer-substring-no-properties start (point-max)))))
+ vc-svn-revisions)))
+
+(provide 'vc-svn)
+
+;; arch-tag: 02f10c68-2b4d-453a-90fc-1eee6cfb268d
+;;; vc-svn.el ends here
-2010-10-03 Michael Albinus <michael.albinus@gmx.de>
+ 2010-10-08 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (complement_process_encoding_system): Fix previous change.
+
-2010-10-03 Glenn Morris <rgm@gnu.org>
++2010-10-08 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbusbind.c (syms_of_dbusbind): Move putenv call ...
+ (Fdbus_init_bus): ... here. (Bug#7113)
+
-2010-10-02 Kenichi Handa <handa@m17n.org>
++2010-10-08 Glenn Morris <rgm@gnu.org>
+
+ * buffer.c (before-change-functions, after-change-functions):
+ Three-year overdue doc fix following 2007-08-13 change.
+
-2010-09-30 Kenichi Handa <handa@m17n.org>
++2010-10-08 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (coding_inherit_eol_type): If parent doesn't specify
+ eol-format, inherit from the system's default.
+ (complement_process_encoding_system): Make a new coding system
+ inherit the original eol-format.
+
-2010-09-29 Kenichi Handa <handa@m17n.org>
++2010-10-08 Kenichi Handa <handa@m17n.org>
+
+ * coding.c (complement_process_encoding_system): New function.
+
+ * coding.h (complement_process_encoding_system): Extern it.
+
+ * callproc.c (Fcall_process): Complement the coding system for
+ encoding arguments.
+ (Fcall_process_region): Complement the coding system for encoding
+ the input to the process.
+
+ * process.c (Fstart_process): Complement the coding system for
+ encoding arguments.
+ (send_process): Complement the coding system for encoding what
+ sent to the process.
+
-2010-09-28 Michael Albinus <michael.albinus@gmx.de>
++2010-10-08 Kenichi Handa <handa@m17n.org>
+
+ * xfont.c (xfont_open): Fix setting of font->average_width from
+ :avgwidth property (Bug#7123).
+
++2010-10-08 Michael Albinus <michael.albinus@gmx.de>
+
+ * dbusbind.c (syms_of_dbusbind): Use putenv instead of setenv, it
+ is more portable.
+
+ * keyboard.c (gobble_input): Move call of xd_read_queued_messages ...
+ (kbd_buffer_get_event): ... here. This is needed for cygwin, which
+ has not defined SIGIO.
+
+2010-10-08 Chong Yidong <cyd@stupidchicken.com>
+
+ * xterm.c (x_draw_relief_rect): If box width is larger than 1,
+ draw the outermost line using the black relief, for legibility.
+ Omit drawing the four corner pixels.
+
+2010-10-04 Chong Yidong <cyd@stupidchicken.com>
+
+ * keyboard.c (echo_prompt): Function moved into read_key_sequence.
+ (read_key_sequence): Inline echo_prompt.
+ (echo_dash): Add a dash only if key is continued (Bug#7137).
+
+2010-10-04 Dan Nicolaescu <dann@ics.uci.edu>
+
+ Remove O_RDONLY, O_WRONLY definitions, not needed.
+ * unexcoff.c:
+ * lread.c:
+ * fileio.c:
+ * doc.c:
+ * callproc.c:
+ * alloc.c:
+ * termcap.c: Remove O_RDONLY O_WRONLY definitions.
+
+2010-10-03 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * gnutls.h (GNUTLS_LOG2): Convenience macro.
+
+ * gnutls.c: Add property list symbol holders.
+ (emacs_gnutls_handshake): Clarify how sockets are passed to
+ GnuTLS.
+ (gnutls_log_function2): Convenience function using GNUTLS_LOG2.
+ (Fgnutls_boot): Get all parameters from a plist. Require trustfiles
+ and keyfiles to be a list of file names. Default to "NORMAL" for
+ the priority string. Improve logging.
+
+2010-10-03 Glenn Morris <rgm@gnu.org>
+
+ * fileio.c (Vdirectory_sep_char): Remove.
+
+2010-10-03 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * termhooks.h: Remove #ifdef CONSP.
+
+ * xterm.c (NO_INLINE, noinline): Move definitions to ../configure.in.
+
+ Include <fcntl.h> unconditionally.
+ * termcap.c:
+ * sysdep.c:
+ * lread.c:
+ * keyboard.c:
+ * filelock.c:
+ * fileio.c:
+ * doc.c:
+ * callproc.c:
+ * alloc.c: Remove include guards for <fcntl.h>, process.c already
+ does it.
+
+ * process.c: Do not include <sys/wait.h>, syswait.h does it.
+
+ * sysdep.c (flush_pending_output): Remove code, does not do
+ anything on any platform.
+
+ Remove unused code.
+ * sysdep.c (select_alarm, sys_select, read_input_waiting): Remove
+ select emulation, all systems support select.
+ (set_exclusive_use): Remove, the only user is in an #if 0 block.
+ * process.c (create_process): Remove #if 0 code.
+
+ Remove unused arguments for unexec.
+ The third one is never used, and the last two are always passed as zero.
+ * emacs.c (unexec): Add declaration.
+ (Fdump_emacs): Only pass the first two arguments to unexec.
+ Simplify #ifdef.
+ * unexw32.c (unexec):
+ * unexsol.c (unexec):
+ * unexhp9k800.c (unexec):
+ * unexcw.c (unexec): Remove the last 3 arguments, unused.
+ * unexelf.c (unexec): Remove the last 3 arguments, unused.
+ (find_section): Use const.
+ * unexmacosx.c (unexec): Remove the last 3 arguments, unused.
+ (unexec_error): Declare it NO_RETURN.
+ * unexcoff.c (make_hdr): Assume bss_start is always zero, remove
+ it as an argument, remove data_start and entry_address arguments, unused.
+ (unexec): Remove bss_start, data_start and
+ entry_address arguments.
+ * unexaix.c (make_hdr): Assume bss_start is always zero, remove
+ it as an argument, remove data_start and entry_address arguments, unused.
+ (unexec): Remove bss_start, data_start and
+ entry_address arguments.
+
+2010-10-03 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (TAGS, TAGS-LISP, TAGS-gmake): Add $(FONTOBJ).
+
+ * gnutls.c (emacs_gnutls_handshake, gnutls_make_error)
+ (gnutls_emacs_global_init, gnutls_emacs_global_deinit): Make static.
+ (Fgnutls_get_initstage, Fgnutls_deinit, Fgnutls_boot, Fgnutls_bye):
+ Fix typos in docstrings.
+ (Fgnutls_error_fatalp, Fgnutls_error_string): Doc fixes.
+ (Fgnutls_errorp): Doc fix; use ERR for the argument name.
+
+2010-10-03 Chong Yidong <cyd@stupidchicken.com>
+
+ * keyboard.c (command_loop_1): Make sure the mark is really alive
+ before using it (Bug#7044).
+
+2010-10-02 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (tags): Rename target to full-tags.
+
+2010-10-02 Eli Zaretskii <eliz@gnu.org>
+
+ * emacs.c (main): Remove !WINDOWSNT conditional.
+ (Fkill_emacs): Don't mention exemption on MS-Windows.
+
+2010-10-02 Glenn Morris <rgm@gnu.org>
+
+ * character.c (Fchar_bytes): Remove obsolete function.
+ (syms_of_character): Remove Schar_bytes.
+
+ * emacs.c (fatal_error_signal): Also run Fkill_emacs on SIGINT.
+ (main) [!WINDOWSNT]: Handle SIGINT with fatal_error_signal
+ in batch-mode.
+ (Fkill_emacs): Doc fix. Also run the hook in batch mode.
+ (kill-emacs-hook): Doc fix.
+
+2010-10-02 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * xml.c (Flibxml_parse_xml_region, Flibxml_parse_html_region)
+ (parse_region): Reworked to take regions instead of strings, and
+ renamed to reflect that these are the libxml functions.
+
+2010-10-01 Eli Zaretskii <eliz@gnu.org>
+
+ * term.c (init_tty) [DOS_NT]: Don't call Wcm_clear after setting
+ screen dimensions in tty->Wcm.
+
+ * xdisp.c (set_cursor_from_row): When the row is truncated and
+ point is outside the range of displayed characters, position the
+ cursor inside the scroll margin. (Bug#6349)
+
+2010-10-01 Dan Nicolaescu <dann@ics.uci.edu>
+
+ Do not include stdlib.h and string.h, config.h does it.
+ * xfont.c:
+ * w32term.c:
+ * w32reg.c:
+ * w32inevt.c:
+ * w32heap.c:
+ * w32console.c:
+ * w16select.c:
+ * unexsol.c:
+ * term.c:
+ * sound.c:
+ * scroll.c (m):
+ * gtkutil.c:
+ * font.c:
+ * filelock.c:
+ * fileio.c:
+ * dosfns.c:
+ * dbusbind.c:
+ * bidi.c:
+ * callproc.c:
+ * process.c:
+ * msdos.c:
+ * charset.c: Do not include stdlib.h and string.h, config.h does it.
+
+ * callproc.c (SIGCHLD): Remove conditional definition, syssignal.h defines it.
+
+ * process.c: Move #include <pty.h> earlier.
+ (SIGCHLD): Remove conditional definition, syssignal.h defines it.
+ (pty_name): Move definition later.
+
+ * nsselect.m (syms_of_nsselect):
+ * nsmenu.m (syms_of_nsmenu):
+ * nsfns.m (syms_of_nsfns):
+ * msdos.c (syms_of_msdos):
+
+ * image.c (syms_of_image):
+ * charset.c (syms_of_charset): Use intern_c_string instead of intern.
+
+ * point.h: Remove, unused.
+
+2010-10-01 Eli Zaretskii <eliz@gnu.org>
+
+ * makefile.w32-in (TAGS, frc, TAGS-LISP, ../nt/TAGS, tags)
+ (TAGS-gmake, TAGS-nmake, TAGS-LISP-gmake, TAGS-LISP-nmake)
+ (nt-TAGS-gmake, nt-TAGS-nmake): New targets.
+
+2010-09-30 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * xml.c (parse_string): Use const.
+
+2010-09-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * eval.c (Fbacktrace): Don't overwrite print-level on exit. Also
+ only override Vprint_level if it isn't already bound, and increase
+ the level to 8 to produce more useful backtraces for bug reports.
+
+2010-09-30 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * Makefile.in: ecrt0.c does not exist anymore, do not mention it.
+
+2010-09-30 Juanma Barranquero <lekktu@gmail.com>
+
+ * w32console.c (vga_stdcolor_name): Remove unused function;
+ presumed dead after 2007-11-30T13:57:21Z!jasonr@gnu.org.
+
+2010-09-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnutls.c (emacs_gnutls_handshake): Made into internal function.
+ (Fgnutls_boot): Start the handshake.
+ (emacs_gnutls_read): Perform the handshake from the reader loop.
+ (Fgnutls_boot): Remove some debugging messages.
+ Change indentation throughout to use the Emacs style.
+ (emacs_gnutls_handshake): Cast the fds to something that's
+ possibly the expected length.
+ (emacs_gnutls_write): Return -1 if we try to write before handshake.
+
+ * process.h (Lisp_Process): Add a gnutls_p field to Lisp_Process.
+
+ * process.c (make_process): Set the gnutls_p field to zero by
+ default.
+ (read_process_output): Always call the gnutls_read function if the
+ stream is a gnutls stream.
+ (send_process): Ditto for writes.
+
+ * gnutls.c (emacs_gnutls_write, emacs_gnutls_read): Refuse to read
+ or write anything until the state is GNUTLS_STAGE_READY.
+ (Fgnutls_boot): Mark the stream as being a gnutls stream.
+
+2010-09-29 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (reseat_1): Initialize bidi_it.paragraph_dir to
+ NEUTRAL_DIR.
+ (handle_invisible_prop, iterate_out_of_display_property)
+ (next_element_from_buffer): If bidi_it.first_elt is set, call
+ bidi_paragraph_init with NO_DEFAULT_P argument non-zero.
+ (Bug#7128)
+
+ * print.c (print_object): Fix format string and argument types for
+ printing a Lisp_Misc_Marker.
+
+ * xdisp.c (pos_visible_p, c_string_pos, number_of_chars)
+ (load_overlay_strings, get_overlay_strings_1)
+ (get_overlay_strings, forward_to_next_line_start)
+ (back_to_previous_visible_line_start, reseat, reseat_to_string)
+ (get_next_display_element, next_element_from_string)
+ (next_element_from_c_string, next_element_from_buffer)
+ (move_it_vertically_backward, move_it_by_lines, add_to_log)
+ (message_dolog, message_log_check_duplicate, message2_nolog)
+ (message3, message3_nolog, vmessage, set_message, set_message_1)
+ (hscroll_window_tree, text_outside_line_unchanged_p)
+ (set_cursor_from_row, set_vertical_scroll_bar, redisplay_window)
+ (find_last_unchanged_at_beg_row)
+ (find_first_unchanged_at_end_row, row_containing_pos)
+ (trailing_whitespace_p, display_mode_element, decode_mode_spec)
+ (display_count_lines, x_produce_glyphs, note_mouse_highlight): Use
+ EMACS_INT for buffer and string positions.
+
+ * dispextern.h (struct it) <string_nchars>: Declare EMACS_INT.
+ (row_containing_pos): Adjust prototype.
+
+ * lisp.h (pos_visible_p, message2, message2_nolog, message3)
+ (message2_nolog, set_message): Adjust prototypes.
+
+2010-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * gnutls.c (Fgnutls_boot): Remove unused vars `data' and `srp_cred'.
+ (Fgnutls_boot): Use SDATA.
+ (Fgnutls_handshake): Remove unused var `max_log_level'.
+
2010-09-27 Michael Albinus <michael.albinus@gmx.de>
* dbusbind.c (syms_of_dbusbind): Set $DBUS_FATAL_WARNINGS to "0".
parent_spec = CODING_SYSTEM_SPEC (parent);
parent_eol_type = AREF (parent_spec, 2);
- parent_eol_type = system_eol_type;
+ if (VECTORP (parent_eol_type))
++ parent_eol_type = system_eol_type;
}
else
parent_eol_type = system_eol_type;
return coding_system;
}
-complement_process_encoding_system (coding_system)
- Lisp_Object coding_system;
+
+ /* Check if text-conversion and eol-conversion of CODING_SYSTEM are
+ decided for writing to a process. If not, complement them, and
+ return a new coding system. */
+
+ Lisp_Object
++complement_process_encoding_system (Lisp_Object coding_system)
+ {
+ Lisp_Object coding_base = Qnil, eol_base = Qnil;
+ Lisp_Object spec, attrs;
+ int i;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (i == 1)
+ coding_system = CDR_SAFE (Vdefault_process_coding_system);
+ else if (i == 2)
+ coding_system = preferred_coding_system ();
+ spec = CODING_SYSTEM_SPEC (coding_system);
+ if (NILP (spec))
+ continue;
+ attrs = AREF (spec, 0);
+ if (NILP (coding_base) && ! EQ (CODING_ATTR_TYPE (attrs), Qundecided))
+ coding_base = CODING_ATTR_BASE_NAME (attrs);
+ if (NILP (eol_base) && ! VECTORP (AREF (spec, 2)))
+ eol_base = coding_system;
+ if (! NILP (coding_base) && ! NILP (eol_base))
+ break;
+ }
+
+ if (i > 0)
+ /* The original CODING_SYSTEM didn't specify text-conversion or
+ eol-conversion. Be sure that we return a fully complemented
+ coding system. */
+ coding_system = coding_inherit_eol_type (coding_base, eol_base);
+ return coding_system;
+ }
+
+
/* Emacs has a mechanism to automatically detect a coding system if it
is one of Emacs' internal format, ISO2022, SJIS, and BIG5. But,
it's impossible to distinguish some coding systems accurately
#define ENCODE_UTF_8(str) code_convert_string_norecord (str, Qutf_8, 1)
/* Extern declarations. */
-extern Lisp_Object code_conversion_save P_ ((int, int));
-extern int decoding_buffer_size P_ ((struct coding_system *, int));
-extern int encoding_buffer_size P_ ((struct coding_system *, int));
-extern void setup_coding_system P_ ((Lisp_Object, struct coding_system *));
-extern Lisp_Object coding_charset_list P_ ((struct coding_system *));
-extern Lisp_Object coding_system_charset_list P_ ((Lisp_Object));
-extern void detect_coding P_ ((struct coding_system *));
-extern Lisp_Object code_convert_region P_ ((Lisp_Object, Lisp_Object,
- Lisp_Object, Lisp_Object,
- int, int));
-extern Lisp_Object code_convert_string P_ ((Lisp_Object, Lisp_Object,
- Lisp_Object, int, int, int));
-extern Lisp_Object code_convert_string_norecord P_ ((Lisp_Object, Lisp_Object,
- int));
-extern Lisp_Object raw_text_coding_system P_ ((Lisp_Object));
-extern Lisp_Object coding_inherit_eol_type P_ ((Lisp_Object, Lisp_Object));
-extern Lisp_Object complement_process_encoding_system P_ ((Lisp_Object));
-
-extern int decode_coding_gap P_ ((struct coding_system *,
- EMACS_INT, EMACS_INT));
-extern int encode_coding_gap P_ ((struct coding_system *,
- EMACS_INT, EMACS_INT));
-extern void decode_coding_object P_ ((struct coding_system *,
- Lisp_Object, EMACS_INT, EMACS_INT,
- EMACS_INT, EMACS_INT, Lisp_Object));
-extern void encode_coding_object P_ ((struct coding_system *,
- Lisp_Object, EMACS_INT, EMACS_INT,
- EMACS_INT, EMACS_INT, Lisp_Object));
+extern Lisp_Object code_conversion_save (int, int);
+extern int decoding_buffer_size (struct coding_system *, int);
+extern int encoding_buffer_size (struct coding_system *, int);
+extern void setup_coding_system (Lisp_Object, struct coding_system *);
+extern Lisp_Object coding_charset_list (struct coding_system *);
+extern Lisp_Object coding_system_charset_list (Lisp_Object);
+extern void detect_coding (struct coding_system *);
+extern Lisp_Object code_convert_region (Lisp_Object, Lisp_Object,
+ Lisp_Object, Lisp_Object,
+ int, int);
+extern Lisp_Object code_convert_string (Lisp_Object, Lisp_Object,
+ Lisp_Object, int, int, int);
+extern Lisp_Object code_convert_string_norecord (Lisp_Object, Lisp_Object,
+ int);
+extern Lisp_Object raw_text_coding_system (Lisp_Object);
+extern Lisp_Object coding_inherit_eol_type (Lisp_Object, Lisp_Object);
++extern Lisp_Object complement_process_encoding_system (Lisp_Object);
+
+extern int decode_coding_gap (struct coding_system *,
+ EMACS_INT, EMACS_INT);
+extern int encode_coding_gap (struct coding_system *,
+ EMACS_INT, EMACS_INT);
+extern void decode_coding_object (struct coding_system *,
+ Lisp_Object, EMACS_INT, EMACS_INT,
+ EMACS_INT, EMACS_INT, Lisp_Object);
+extern void encode_coding_object (struct coding_system *,
+ Lisp_Object, EMACS_INT, EMACS_INT,
+ EMACS_INT, EMACS_INT, Lisp_Object);
/* Macros for backward compatibility. */
if (!dbus_connection_set_watch_functions (connection,
xd_add_watch,
xd_remove_watch,
- NULL, (void*) XHASH (bus), NULL))
+ xd_toggle_watch,
+ (void*) XHASH (bus), NULL))
XD_SIGNAL1 (build_string ("Cannot add watch functions"));
+ /* Add bus to list of registered buses. */
+ Vdbus_registered_buses = Fcons (bus, Vdbus_registered_buses);
+
+ /* We do not want to abort. */
+ putenv ("DBUS_FATAL_WARNINGS=0");
+
/* Return. */
return Qnil;
}