Glenn Morris [Fri, 19 Mar 2010 02:55:37 +0000 (19:55 -0700)]
Stop message.el from loading about 40 libraries it doesn't always need.
The general approach is to autoload rather than require, and to
require in the specific functions rather than the file. (Bug#5642)
* url/url.el: Move mailcap require earlier in the file.
* gnus/gnus-util.el: Don't require time-date, netrc.
(message-fetch-field, gnus-group-name-decode): Declare rather than
autoloading.
(gnus-fetch-field): Require message.
(gnus-decode-newsgroups): Require gnus-group.
* gnus/ietf-drums.el: Don't require time-date.
* gnus/message.el: Don't require hashcash, canlock, ecomplete.
Do require mail-utils. Require nnheader only when compiling.
(smtpmail-default-smtp-server): Remove declaration.
(message-send-mail-function): Check smtpmail-default-smtp-server
is bound rather than requiring smtpmail.
(message-auto-save-directory, message-insert-signature): Use
expand-file-name rather than nnheader-concat.
(nnheader-insert-file-contents): Autoload.
(hashcash-wait-async): Declare.
(message-send-mail): Only call gnus-setup-posting-charset if
gnus-group-posting-charset-alist is bound. Require hashcash if needed.
(message-send-mail-with-sendmail): Require sendmail.
(canlock-password, canlock-password-for-verify): Declare.
(message-canlock-password): Require canlock.
(nnheader-get-report): Autoload.
(gnus-setup-posting-charset): Declare.
(message-send-news): Require gnus-msg.
(message-make-references, message-make-in-reply-to): Use mail-header-id
rather than the alias mail-header-message-id.
(ecomplete-add-item, ecomplete-save): Declare.
(message-put-addresses-in-ecomplete): Require ecomplete.
(ecomplete-display-matches): Autoload.
Glenn Morris [Thu, 18 Mar 2010 06:44:36 +0000 (23:44 -0700)]
Use query-replace-{from,to}-history-variable in more places.
* replace.el (query-replace-history): Give it a doc string.
(map-query-replace-regexp): Use query-replace-from-history-variable
and query-replace-to-history-variable.
Glenn Morris [Thu, 18 Mar 2010 06:18:47 +0000 (23:18 -0700)]
Minor simplifications for emacsbug.el.
* mail/emacsbug.el (report-emacs-bug-pretest-address):
Make it an obsolete alias for report-emacs-bug-address.
(message-strip-special-text-properties): Declare.
(report-emacs-bug): Remove test for a pretest bug address.
Combine message-mode-specific code.
Glenn Morris [Thu, 18 Mar 2010 06:13:45 +0000 (23:13 -0700)]
Remove supercite.el's need for sendmail.el.
* mail/supercite.el: Don't require sendmail.
(mh-in-header-p): Declare rather than using with-no-warnings.
(sc-no-blank-line-or-header): Use rfc822-goto-eoh rather than
mail-header-end. Don't bind mysterious variable `kill-lines-magic'.
Glenn Morris [Thu, 18 Mar 2010 05:49:31 +0000 (22:49 -0700)]
Replace some cpp with autoconf.
* configure.in (--with-mmdf, --with-mail-unlink):
New options, off by default.
(--with-mailhost): New option to set default POP host.
(LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF, LIBGPM, LIBS_MAIL)
(LIBHESIOD, LIBRESOLV, COM_ERRLIB, CRYPTOLIB, KRB5LIB, DESLIB, KRB4LIB):
New variables, substituted in Makefiles.
(try_libungif, ac_gif_lib_name): Replace with HAVE_GIF=maybe, LIBGIF.
(LIBGIF): Use AC_SUBST rather than AC_DEFINE.
(HAVE_LIBMAIL, HAVE_LIBLOCKFILE, HAVE_LIBCOM_ERR, HAVE_LIBCRYPTO)
(HAVE_LIBK5CRYPTO, HAVE_LIBKRB5, HAVE_LIBDES425, HAVE_LIBDES)
(HAVE_LIBKRB4, HAVE_LIBKRB): New AC_DEFINEs.
* lib-src/Makefile.in (KRB4LIB, DESLIB, KRB5LIB, CRYPTOLIB, COM_ERRLIB)
(HESIODLIB, LIBS_MAIL): Set using autoconf rather than cpp.
(BASE_CFLAGS): Remove (identical to CPP_CFLAGS).
* src/Makefile.in (XFT_LIBS, LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF)
(LIBGPM, LIBRESOLV): Set using autoconf rather than cpp.
Katsumi Yamaoka [Wed, 17 Mar 2010 02:51:21 +0000 (02:51 +0000)]
(mml-read-tag): Unquote values with `read' to reverse prin1 in mml-insert-tag
(just stripping the quotes gave wrong value if any backslash escapes).
From Kevin Ryde <user42@zip.com.au>.
Juri Linkov [Sun, 14 Mar 2010 21:15:02 +0000 (23:15 +0200)]
Fix keywords.
* finder.el (finder-compile-keywords): Replace `princ' with
`prin1' on a list of symbols interned from keyword strings.
* emacs-lisp/lisp-mnt.el (lm-keywords-list): If `keywords' contains
a comma, then split keywords using a comma and optional whitespace.
Otherwise, split by whitespace.
Chong Yidong [Fri, 12 Mar 2010 23:08:30 +0000 (18:08 -0500)]
Allow using list-colors-display to set colors in the Color widget.
* facemenu.el (list-colors-display, list-colors-print): New arg
callback. Use it to allow selecting colors.
* wid-edit.el (widget-image-insert): Insert image prop even if the
current display is non-graphic.
(widget-field-value-set): New fun.
(editable-field): Use it.
(widget-field-value-get): Clean up unused var.
(widget-color-value-create, widget-color--choose-action): New
funs. Allow using list-colors-display to choose color.
Chong Yidong [Fri, 12 Mar 2010 22:56:30 +0000 (17:56 -0500)]
Improvements to the Custom interface.
* cus-edit.el: Resort topmost custom groups.
(custom-buffer-sort-alphabetically): Default to t.
(customize-apropos): Use apropos-parse-pattern.
(custom-search-field): New var.
(custom-buffer-create-internal): Add custom-apropos search field.
(custom-add-parent-links): Don't display parent doc.
(custom-group-value-create): Don't sort top-level custom group.
(custom-magic-value-create): Show visibility button before option
name.
(custom-variable-state): New fun, from custom-variable-state-set.
(custom-variable-state-set): Use it.
(custom-group-value-create): Hide options with standard values
using the :hidden-states property. Use progress reporter.
(custom-show): Simplify.
(custom-visibility): Disable images by default.
(custom-variable): New property :hidden-states.
(custom-variable-value-create): Enable images for
custom-visibility widgets. Use :hidden-states property to
determine initial visibility.
* wid-edit.el (widget-image-find): Give images center ascent.
(visibility): Add :on-image and :off-image properties.
(widget-visibility-value-create): Use them.
Eli Zaretskii [Fri, 12 Mar 2010 16:34:27 +0000 (11:34 -0500)]
Don't use termcap.c on Posix platforms, only on MS-DOS.
configure.in <AC_CHECK_HEADERS>: Remove termcap.h.
configure: Regenerated.
src/Makefilie.in (termcapobj): Move termcap.o from here...
(MSDOS_OBJ): ...to here.
(termcapobj) [!LIBS_TERMCAP]: Remove specialized value, as it is
now identical to when LIBS_TERMCAP is defined.
src/term.c: Remove (ifdef'ed away) inclusion of termcap.h.
src/cm.c: Remove (ifdef'ed away) inclusion of termcap.h.
src/config.in: Regenerated.
Dan Nicolaescu [Fri, 12 Mar 2010 08:04:54 +0000 (00:04 -0800)]
Add .dir-locals.el support for file-less buffers.
* files.el (hack-local-variables): Split out code to apply local
variable settings ...
(hack-local-variables-apply): ... here. New function.
(hack-dir-local-variables): Use the default directory for when the
buffer does not have an associated file.
(hack-dir-local-variables-non-file-buffer): New function.
* diff-mode.el (diff-mode):
* vc-annotate.el (vc-annotate-mode):
* vc-dir.el (vc-dir-mode):
* log-edit.el (log-edit-mode):
* log-view.el (log-view-mode): Call hack-dir-local-variables-non-file-buffer.
Dan Nicolaescu [Fri, 12 Mar 2010 01:29:30 +0000 (17:29 -0800)]
Add support for shelving snapshots and for showing shelves.
* vc-bzr.el (vc-bzr-shelve-show, vc-bzr-shelve-show-at-point)
(vc-bzr-shelve-apply-and-keep-at-point, vc-bzr-shelve-snapshot):
New functions.
(vc-bzr-shelve-map, vc-bzr-shelve-menu-map)
(vc-bzr-extra-menu-map): Map them.
Stefan Monnier [Wed, 10 Mar 2010 14:45:21 +0000 (09:45 -0500)]
Cleanup setup of gl_state in various parts of the code.
* syntax.h (SETUP_BUFFER_SYNTAX_TABLE): New macro.
(SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT):
* syntax.c (find_defun_start, Fchar_syntax, Fmatching_paren, skip_chars):
* regex.c (regex_compile): Use it.
(re_compile_pattern): Don't set gl_state.current_syntax_table since
it's now set in regex_compile when/if we need it.
Stefan Monnier [Sat, 6 Mar 2010 04:05:47 +0000 (23:05 -0500)]
* vc-git.el: Re-flow to fit into 80 columns.
(vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage):
Remove spurious `quote' element in each case alternative.
(vc-git-show-log-entry): Use prog1.
(vc-git-after-dir-status-stage): Remove unused var `remaining'.
Stefan Monnier [Fri, 5 Mar 2010 23:08:18 +0000 (18:08 -0500)]
Make it possible to C-g in a tight bytecode loop again (bug#5680).
* lisp.h (ELSE_PENDING_SIGNALS): New macro.
(QUIT): Use it to consolidate code and remove redundancy.
* bytecode.c (BYTE_CODE_QUIT): Use it as well.
Eli Zaretskii [Tue, 2 Mar 2010 20:35:44 +0000 (22:35 +0200)]
Fix bug in decoding emacs-mule encoding.
coding.c (decode_coding_emacs_mule): Fixup pointers to buffer
text that could be relocated inside the call to emacs_mule_char.
(emacs_mule_char): Use CODING_DECODE_CHAR instead of DECODE_CHAR.
(CODING_DECODE_CHAR): Add a comment describing its purpose.
Glenn Morris [Tue, 2 Mar 2010 03:47:19 +0000 (19:47 -0800)]
Small tweaks to etc/refcards/Makefile rules for PDFs.
* refcards/Makefile: For cs- and sk-, use pdfcsplain if available.
(pl-refcard.pdf): Let presence of pdfmex be another test for the
required TeX files. Pass explicit output-format to tex command.
(orgcard.pdf): Use ps2pdf, since pdftex tends to produce a
portrait layout rather than the desired landscape.