Commit e3e955fe authored by Miles Bader's avatar Miles Bader
Browse files

Merge from gnus--devo--0

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1513
parent 2188975f
2009-01-09 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus.texi (Group Parameters): Add note for local variables.
2009-01-09 Reiner Steib <Reiner.Steib@gmx.de>
* gnus.texi (Converting Kill Files): Fix URL. Include
gnus-kill-to-score.el in contrib directory.
2009-01-09 Reiner Steib <Reiner.Steib@gmx.de>
* gnus.texi (Startup Variables): Fix gnus-before-startup-hook.
Reported by Leo <sdl.web@gmail.com>. (Bug#1660)
(Paging the Article): Add index entry.
2009-01-03 Stephen Leake <stephen_leake@member.fsf.org>
* ada-mode.texi (Examples): Delete redundant text.
......
......@@ -9,8 +9,8 @@
@documentencoding ISO-8859-1
 
@copying
Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
@quotation
Permission is granted to copy, distribute and/or modify this document
......@@ -1623,7 +1623,7 @@ times you start Gnus.
 
@item gnus-before-startup-hook
@vindex gnus-before-startup-hook
A hook run after starting up Gnus successfully.
A hook called as the first thing when Gnus is started.
 
@item gnus-startup-hook
@vindex gnus-startup-hook
......@@ -3156,7 +3156,12 @@ that group. @code{gnus-show-threads} will be made into a local variable
in the summary buffer you enter, and the form @code{nil} will be
@code{eval}ed there.
 
Note that this feature sets the variable locally to the summary buffer.
Note that this feature sets the variable locally to the summary buffer
if and only if @var{variable} has been bound as a variable. Otherwise,
only evaluating the form will take place. So, you may want to bind the
variable in advance using @code{defvar} or other if the result of the
form needs to be set to it.
But some variables are evaluated in the article buffer, or in the
message buffer (of a reply or followup or otherwise newly created
message). As a workaround, it might help to add the variable in
......@@ -3184,9 +3189,9 @@ into the group parameters for the group.
 
This can also be used as a group-specific hook function. If you want to
hear a beep when you enter a group, you could put something like
@code{(dummy-variable (ding))} in the parameters of that group.
@code{dummy-variable} will be set to the (meaningless) result of the
@code{(ding)} form.
@code{(dummy-variable (ding))} in the parameters of that group. If
@code{dummy-variable} has been bound (see above), it will be set to the
(meaningless) result of the @code{(ding)} form.
 
Alternatively, since the VARIABLE becomes local to the group, this
pattern can be used to temporarily change a hook. For example, if the
......@@ -6233,6 +6238,7 @@ given a prefix, fetch the current article, but don't run any of the
article treatment functions. This will give you a ``raw'' article, just
the way it came from the server.
 
@cindex charset, view article with different charset
If given a numerical prefix, you can do semi-manual charset stuff.
@kbd{C-u 0 g cn-gb-2312 RET} will decode the message as if it were
encoded in the @code{cn-gb-2312} charset. If you have
......@@ -22464,9 +22470,10 @@ score files. If they are ``regular'', you can use
the @file{gnus-kill-to-score.el} package; if not, you'll have to do it
by hand.
 
The kill to score conversion package isn't included in Gnus by default.
You can fetch it from
@uref{http://www.stud.ifi.uio.no/~larsi/ding-various/gnus-kill-to-score.el}.
The kill to score conversion package isn't included in Emacs by default.
You can fetch it from the contrib directory of the Gnus distribution or
from
@uref{http://heim.ifi.uio.no/~larsi/ding-various/gnus-kill-to-score.el}.
 
If your old kill files are very complex---if they contain more
non-@code{gnus-kill} forms than not, you'll have to convert them by
2009-01-09 Dave Love <fx@gnu.org>
* calendar/time-date.el: Require cl for `declare'.
2009-01-09 Reiner Steib <Reiner.Steib@gmx.de>
* calendar/time-date.el (format-seconds): Explain `assoc-string'.
Suggested by Dave Love.
2009-01-09 Dave Love <fx@gnu.org>
* net/imap.el (imap-string-to-integer): Fix typo.
(imap-fetch-safe): New function.
(imap-message-copyuid-1, imap-message-appenduid-1): Use it.
* net/imap.el (imap-process-connection-type, imap-debug, imap-open):
(imap-parse-greeting): Fix doc strings.
(imap-tls-open, imap-search, imap-message-appenduid-1): Add FIXMEs.
(imap-parse-flag-list): Make messages unique.
(imap-parse-body): Fix comments. Add comment on Exchange 2007.
* net/imap.el (imap-message-appenduid-1): Fix typo in imap-fetch-safe
call.
* net/imap.el: Fix author email. Doc fixes.
(imap-parse-body): Work around assertion failure in bogus Exchange 2007
reply.
2009-01-09 Reiner Steib <Reiner.Steib@gmx.de>
* net/dns.el (dns-set-servers): Check "Address". Fix typo.
2009-01-09 Reiner Steib <Reiner.Steib@gmx.de>
* net/dns.el (dns-set-servers): Renamed from dns-parse-resolv-conf.
Call nslookup if resolv.conf isn't available.
(dns-query): Rename from query-dns.
(dns-query-cached): Rename from query-dns-cached.
2009-01-09 Reiner Steib <Reiner.Steib@gmx.de>
* net/imap.el (imap-enable-exchange-bug-workaround): Explain
auto-detection in the doc string.
2009-01-09 Juanma Barranquero <lekktu@gmail.com>
 
* textmodes/ispell.el (ispell-check-minver, ispell-last-program-name)
......
......@@ -39,6 +39,9 @@
;;; Code:
;; Only necessary for `declare' when compiling Gnus with Emacs 21.
(eval-when-compile (require 'cl))
(defmacro with-decoded-time-value (varlist &rest body)
"Decode a time value and bind it according to VARLIST, then eval BODY.
......@@ -290,6 +293,10 @@ This function does not work for SECONDS greater than `most-positive-fixnum'."
(setq start (match-end 0)
spec (match-string 1 string))
(unless (string-equal spec "%")
;; `assoc-string' is not available in Emacs 21. So when compiling
;; Gnus (`time-date.el' is part of Gnus) with Emacs 21, we get a
;; warning here. But `format-seconds' is not used anywhere in Gnus so
;; it's not a real problem. --rsteib
(or (setq match (assoc-string spec units t))
(error "Bad format specifier: `%s'" spec))
(if (assoc-string spec usedunits t)
......
2009-01-08 Reiner Steib <Reiner.Steib@gmx.de>
* message.el (message-fix-before-sending): Amend comment.
2009-01-07 David Engster <dengste@eml.cc>
* gnus-msg.el (gnus-inews-do-gcc): Fix last patch to deal with
simplified server definitions by converting it via
gnus-server-to-method.
2009-01-06 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-sum.el (gnus-summary-set-local-parameters): Always evaluate
parameter's operands.
2009-01-06 David Engster <dengste@eml.cc>
* gnus-msg.el (gnus-inews-do-gcc): Reduce to short group name when on
primary select method (for gnus-group-mark-article-as-read).
2009-01-06 Tassilo Horn <tassilo@member.fsf.org>
* gnus-art.el (gnus-treat-display-face): Fix docstring link to point to
`(gnus)Face', not `(gnus)X-Face'.
2009-01-05 Katsumi Yamaoka <yamaoka@jpl.org>
* mm-util.el (mm-ucs-to-char): New function.
* mm-url.el (mm-url-decode-entities): Use it.
2009-01-03 Reiner Steib <Reiner.Steib@gmx.de>
* message.el (message-fix-before-sending): Add `eight-bit' to
illegible-text check.
2009-01-03 Michael Olson <mwolson@gnu.org>
* nnimap.el (nnimap-retrieve-headers-progress): Handle edge case where
......@@ -11,6 +42,68 @@
to the folder.
(nnimap-request-article-part): Do not insert `data' if it is nil.
2009-01-01 Dave Love <fx@gnu.org>
* nnimap.el (nnimap-find-minmax-uid): Use imap-fetch-safe.
* nnimap.el: Fix author email.
(nnimap-split-rule): Add FIXME comment.
(nnimap-debug): Fix doc string.
2008-12-25 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-sum.el (gnus-summary-set-article-display-arrow): Make
overlay-arrow-position and overlay-arrow-string buffer-local; no need
to check if those variables exist (first appeared in Emacs 18.50).
2008-12-24 Katsumi Yamaoka <yamaoka@jpl.org>
* mm-util.el (mm-line-number-at-pos): New function.
* spam-report.el (spam-report-process-queue): Use it.
2008-12-24 David Engster <dengste@eml.cc>
* gnus-sum.el (gnus-summary-set-local-parameters): Don't bind
parameters that haven't existed as variables as buffer-local variables.
2008-12-23 Dave Love <fx@gnu.org>
* legacy-gnus-agent.el (gnus-agent-unlist-expire-days): Don't use
cadar.
* sieve-manage.el (sieve-manage-starttls-p): Renamed from
imap-starttls-p.
(sieve-manage-starttls-open): Renamed from imap-starttls-open.
2008-12-22 Reiner Steib <Reiner.Steib@gmx.de>
* spam-report.el (spam-report-gmane-max-requests): New constant.
(spam-report-gmane-wait): New variable.
(spam-report-gmane-ham, spam-report-gmane-spam)
(spam-report-url-ping-plain, spam-report-process-queue): Wait only if
spam-report-gmane-wait is non-nil should be sufficient to avoid DOS-ing
the server.
* nnheader.el (nnheader-read-timeout, nnheader-accept-process-output):
Add explanations.
* pop3.el (pop3-accept-process-output, pop3-read-timeout): Use
nnheader-accept-process-output and nnheader-read-timeout if available.
(pop3-movemail): Use it.
* message.el (message-check-news-body-syntax): Fix signature check if
there's an attachment.
2008-12-21 Katsumi Yamaoka <yamaoka@jpl.org>
* mm-util.el: Add comments to the mm- emulating functions.
2008-12-21 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-start.el (gnus-before-startup-hook): Fix doc string. Reported
by Stephen Berman <stephen.berman@gmx.net>.
2008-12-18 Katsumi Yamaoka <yamaoka@jpl.org>
* mm-util.el (mm-substring-no-properties): New function.
......@@ -23,6 +116,11 @@
2008-12-18 Reiner Steib <Reiner.Steib@gmx.de>
* mml.el (mml-attach-file): Strip text properties from file name.
(Bug#1574)
2008-12-16 Glenn Morris <rgm@gnu.org>
* mm-util.el (mm-charset-override-alist): Declare for compiler.
2008-12-16 Glenn Morris <rgm@gnu.org>
......@@ -13136,11 +13234,10 @@
2004-01-04 Mario Lang <lang@zid.tugraz.at>
* dns.el: Add support for AAAA records (see RFC 3596)
* Fix typo PRT -> PTR
* Parse MX, PTR and SOA replies (see RFC 1035)
* dns.el (dns-query-types): Fix typo.
(dns-query-types): New function
(dns-read-type): Add support for AAAA records, see RFC 3596. Parse MX,
PTR and SOA replies, see RFC 1035.
2004-01-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
......
......@@ -8763,8 +8763,7 @@
* sieve-manage.el (sieve-manage-cram-md5-auth): Just send the SASL
name (makes it work with recent Cyrus timsieved).
 
2002-05-20 Jason Baker <jbaker@cs.utah.edu>
Trivial patch.
2002-05-20 Jason Baker <jbaker@cs.utah.edu> (tiny change)
 
* gnus-art.el (gnus-request-article-this-buffer): Try
reconnecting if you don't get the message.
......@@ -9189,8 +9188,7 @@
 
* nnmaildir.el: Fixed some buggy invocations of nnmaildir--pgname.
 
2002-03-31 Andrew Cohen <cohen@andy.bu.edu>
Trivial patch.
2002-03-31 Andrew Cohen <cohen@andy.bu.edu> (tiny change)
 
* dns.el: open-network-stream under XEmacs does udp.
 
......@@ -10451,8 +10449,7 @@
 
* nnweb.el (nnweb-type-definition): Clean up.
 
2002-01-21 Alastair Burt <burt@dfki.de>
Trivial patch.
2002-01-21 Alastair Burt <burt@dfki.de> (tiny change)
 
* gnus-art.el (gnus-mm-display-part): Make sure that the summary
buffer exists before jumping to it.
......@@ -11088,8 +11085,7 @@
 
* gnus.el (gnus-logo-color-alist): Added more colors from Luis.
 
2002-01-05 Keiichi Suzuki <keiichi@nanap.org>
Trivial patch.
2002-01-05 Keiichi Suzuki <keiichi@nanap.org> (tiny change)
 
* nntp.el (nntp-possibly-change-group): Erase contents of nntp
buffer to get rid of junk line.
......@@ -13307,8 +13303,7 @@
* gnus-spec.el (gnus-correct-pad-form): Re-revert.
(gnus-parse-simple-format): Re-revert.
 
2001-09-16 Katsuhiro Hermit Endo <hermit@koka-in.org>
Trivial patch.
2001-09-16 Katsuhiro Hermit Endo <hermit@koka-in.org> (tiny change)
 
* gnus-spec.el (gnus-parse-complex-format): Don't fold search
case. (Thanks to Daiki Ueno <ueno@unixuser.org>.)
......@@ -14156,8 +14151,7 @@
* message.el (message-indent-citation): Quote only lines starting
with ">" using `message-yank-cited-prefix'.
 
2001-08-05 Nuutti Kotivuori <nuutti.kotivuori@smarttrust.com>
Trivial patch.
2001-08-05 Nuutti Kotivuori <nuutti.kotivuori@smarttrust.com> (tiny change)
 
* gnus-cache.el (gnus-cache-possibly-enter-article): Use
gnus-cache-fully-p.
......@@ -14926,8 +14920,7 @@
* nntp.el (nntp-send-command-nodelete): Ditto.
* nntp.el (nntp-send-command-and-decode): Ditto.
 
2001-06-30 YAGI Tatsuya <yagi@is.titech.ac.jp>
Trivial patch.
2001-06-30 YAGI Tatsuya <yagi@is.titech.ac.jp> (tiny change)
 
* gnus-start.el (gnus-check-first-time-used): Use `if' instead of
`when'.
......@@ -15646,8 +15639,7 @@
 
* message.el (message-generate-headers-first): Update doc.
 
2001-03-10 Matthias Wiehl <mwiehl@gmx.de>
Trivial patch.
2001-03-10 Matthias Wiehl <mwiehl@gmx.de> (tiny change)
 
* gnus.el (gnus-summary-line-format): Typo.
 
......@@ -16021,8 +16013,7 @@
* message.el (message-cancel-news): Allow to shoot foot.
(message-supersede): Ditto.
 
2001-02-08 Tommi Vainikainen <thv@iki.fi>
Trivial patch.
2001-02-08 Tommi Vainikainen <thv@iki.fi> (tiny change)
 
* gnus-sum.el (gnus-simplify-subject-re): Use
message-subject-re-regexp.
......@@ -16487,8 +16478,7 @@
 
* time-date.el (time-to-number-of-days): New function.
 
2001-01-04 11:06:14 Gregory Chernov <greg@visiontech-dml.com>
Trivial patch.
2001-01-04 11:06:14 Gregory Chernov <greg@visiontech-dml.com> (tiny change)
 
* nnslashdot.el (nnslashdot-request-list): Always get the right
sid.
......@@ -16645,8 +16635,7 @@
(gnus-uu-mark-by-regexp): Use it.
(gnus-new-processable): New function.
 
2000-12-28 19:21:57 Inge Frick <inge@nada.kth.se>
Trivial patch.
2000-12-28 19:21:57 Inge Frick <inge@nada.kth.se> (tiny change)
 
* gnus-sum.el (gnus-no-mark): New variable.
 
......@@ -16665,8 +16654,7 @@
* qp.el (quoted-printable-encode-region): Don't check multibyte in
XEmacs.
 
2000-12-25 Lloyd Zusman <ljz@asfast.com>
Trivial patch.
2000-12-25 Lloyd Zusman <ljz@asfast.com> (tiny change)
 
* mml.el (mml-read-tag): Save tag location.
 
......@@ -18370,8 +18358,7 @@
(nnultimate-table-regexp): New variable.
(nnultimate-forum-table-p): Use it.
 
2000-10-30 Ed L Cashin <ecashin@coe.uga.edu>
Trivial patch.
2000-10-30 Ed L Cashin <ecashin@coe.uga.edu> (tiny change)
 
* gnus-sum.el (gnus-summary-expire-articles): Save point.
 
......
......@@ -1677,6 +1677,11 @@ this is a reply."
group method t t))))
(gnus-message 1 "Couldn't store article in group %s: %s"
group (gnus-status-message method)))
(when (stringp method)
(setq method (gnus-server-to-method method)))
(when (and (listp method)
(gnus-native-method-p method))
(setq group (gnus-group-short-name group)))
(when (and group-art
;; FIXME: Should gcc-mark-as-read work when
;; Gnus is not running?
......
......@@ -392,7 +392,7 @@ This hook is called after Gnus is connected to the NNTP server."
:type 'hook)
(defcustom gnus-before-startup-hook nil
"A hook called at before startup.
"A hook called before startup.
This hook is called as the first thing when Gnus is started."
:group 'gnus-start
:type 'hook)
......
......@@ -3455,9 +3455,9 @@ display only a single character."
(defun gnus-summary-set-article-display-arrow (pos)
"Update the overlay arrow to point to line at position POS."
(when (and gnus-summary-display-arrow
(boundp 'overlay-arrow-position)
(boundp 'overlay-arrow-string))
(when gnus-summary-display-arrow
(make-local-variable 'overlay-arrow-position)
(make-local-variable 'overlay-arrow-string)
(save-excursion
(goto-char pos)
(beginning-of-line)
......@@ -3832,10 +3832,15 @@ This function is intended to be used in
(consp (cdr elem)) ; The cdr has to be a list.
(symbolp (car elem)) ; Has to be a symbol in there.
(not (memq (car elem) vars))
(ignore-errors ; So we set it.
(ignore-errors
(push (car elem) vars)
(make-local-variable (car elem))
(set (car elem) (eval (nth 1 elem))))))))
;; Variables like `gnus-show-threads' that are globally
;; bound, if used as group parameters, need to get to be
;; buffer-local, whereas just parameters like `gcc-self',
;; `timestamp', etc. should not be bound as variables.
(if (boundp (car elem))
(set (make-local-variable (car elem)) (eval (nth 1 elem)))
(eval (nth 1 elem))))))))
(defun gnus-summary-read-group (group &optional show-all no-article
kill-buffer no-display backward
......
......@@ -186,7 +186,7 @@ converted to the compressed format."
(when (eq 0 (string-match
(caar days)
group))
(throw 'found (cadar days)))
(throw 'found (cadr (car days))))
(setq days (cdr days)))
nil)))
(when day
......
......@@ -2395,6 +2395,8 @@ Return the number of headers removed."
(point-max)))
(goto-char (point-min)))
;; FIXME: clarify diffference: message-narrow-to-head,
;; message-narrow-to-headers-or-head, message-narrow-to-headers
(defun message-narrow-to-head ()
"Narrow the buffer to the head of the message.
Point is left at the beginning of the narrowed-to region."
......@@ -4140,6 +4142,8 @@ conformance."
(and (mm-multibyte-p)
(memq (char-charset char)
'(eight-bit-control eight-bit-graphic
;; Emacs 23, Bug#1770:
eight-bit
control-1))
(not (get-text-property
(point) 'untranslated-utf-8))))
......@@ -4166,10 +4170,13 @@ conformance."
(or (< (mm-char-int char) 128)
(and (mm-multibyte-p)
;; FIXME: Wrong for Emacs 23 (unicode) and for
;; things like undecable utf-8. Should at least
;; use find-coding-systems-region.
;; things like undecodable utf-8 (in Emacs 21?).
;; Should at least use find-coding-systems-region.
;; -- fx
(memq (char-charset char)
'(eight-bit-control eight-bit-graphic
;; Emacs 23, Bug#1770:
eight-bit
control-1))
(not (get-text-property
(point) 'untranslated-utf-8)))))
......@@ -5119,17 +5126,24 @@ Otherwise, generate and save a value for `canlock-password' first."
nil)))
;; Check the length of the signature.
(message-check 'signature
(goto-char (point-max))
(if (not (re-search-backward message-signature-separator nil t))
t
(if (>= (count-lines (1+ (point-at-eol)) (point-max)) 5)
(if (message-gnksa-enable-p 'signature)
(y-or-n-p
(format "Signature is excessively long (%d lines). Really post? "
(count-lines (1+ (point-at-eol)) (point-max))))
(message "Denied posting -- Excessive signature.")
nil)
t)))
(let (sig-start sig-end)
(goto-char (point-max))
(if (not (re-search-backward message-signature-separator nil t))
t
(setq sig-start (1+ (point-at-eol)))
(setq sig-end
(if (re-search-forward
"<#/?\\(multipart\\|part\\|external\\|mml\\)" nil t)
(- (point-at-bol) 1)
(point-max)))
(if (>= (count-lines sig-start sig-end) 5)
(if (message-gnksa-enable-p 'signature)
(y-or-n-p
(format "Signature is excessively long (%d lines). Really post? "
(count-lines sig-start sig-end)))
(message "Denied posting -- Excessive signature.")
nil)
t))))
;; Ensure that text follows last quoted portion.
(message-check 'quoting-style
(goto-char (point-max))
......
;;; mm-url.el --- a wrapper of url functions/commands for Gnus
;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
;; Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
......@@ -366,10 +367,10 @@ If FOLLOW-REFRESH is non-nil, redirect refresh url in META."
(goto-char (point-min))
(while (re-search-forward "&\\(#[0-9]+\\|[a-z]+[0-9]*\\);" nil t)
(let ((elem (if (eq (aref (match-string 1) 0) ?\#)
(let ((c
(string-to-number (substring
(match-string 1) 1))))
(if (mm-char-or-char-int-p c) c 32))
(let ((c (mm-ucs-to-char
(string-to-number
(substring (match-string 1) 1)))))
(if (mm-char-or-char-int-p c) c ?#))
(or (cdr (assq (intern (match-string 1))
mm-url-html-entities))
?#))))
......
......@@ -40,6 +40,10 @@
(defvar mm-mime-mule-charset-alist )
;; Emulate functions that are not available in every (X)Emacs version.
;; The name of a function is prefixed with mm-, like `mm-char-int' for
;; `char-int' that is a native XEmacs function, not available in Emacs.
;; Gnus programs all should use mm- functions, not the original ones.
(eval-and-compile
(mapc
(lambda (elem)
......@@ -47,11 +51,19 @@
(if (fboundp (car elem))
(defalias nfunc (car elem))
(defalias nfunc (cdr elem)))))
`((coding-system-list . ignore)
`(;; `coding-system-list' is not available in XEmacs 21.4 built
;; without the `file-coding' feature.
(coding-system-list . ignore)
;; `char-int' is an XEmacs function, not available in Emacs.
(char-int . identity)
;; `coding-system-equal' is an Emacs function, not available in XEmacs.
(coding-system-equal . equal)
;; `annotationp' is an XEmacs function, not available in Emacs.
(annotationp . ignore)
;; `set-buffer-file-coding-system' is not available in XEmacs 21.4
;; built without the `file-coding' feature.
(set-buffer-file-coding-system . ignore)
;; `read-charset' is an Emacs function, not available in XEmacs.
(read-charset
. ,(lambda (prompt)
"Return a charset."
......@@ -61,6 +73,7 @@
(mapcar (lambda (e) (list (symbol-name (car e))))
mm-mime-mule-charset-alist)
nil t))))
;; `subst-char-in-string' is not available in XEmacs 21.4.
(subst-char-in-string
. ,(lambda (from to string &optional inplace)
;; stolen (and renamed) from nnheader.el
......@@ -75,11 +88,14 @@
(aset string idx to))
(setq idx (1+ idx)))
string)))
;; `replace-in-string' is an XEmacs function, not available in Emacs.
(replace-in-string
. ,(lambda (string regexp rep &optional literal)
"See `replace-regexp-in-string', only the order of args differs."
(replace-regexp-in-string regexp rep string nil literal)))
;; `string-as-unibyte' is an Emacs function, not available in XEmacs.
(string-as-unibyte . identity)
;; `string-make-unibyte' is an Emacs function, not available in XEmacs.
(string-make-unibyte . identity)
;; string-as-multibyte often doesn't really do what you think it does.
;; Example:
......@@ -99,11 +115,18 @@
;; (string-as-multibyte s) ~= (decode-coding-string s 'emacs-mule)
;; (string-to-multibyte s) ~= (decode-coding-string s 'binary)
;; (string-make-multibyte s) ~= (decode-coding-string s locale-coding-system)
;; `string-as-multibyte' is an Emacs function, not available in XEmacs.
(string-as-multibyte . identity)
;; `multibyte-string-p' is an Emacs function, not available in XEmacs.
(multibyte-string-p . ignore)
;; `insert-byte' is available only in Emacs 23.1 or greater.
(insert-byte . insert-char)
;; `multibyte-char-to-unibyte' is an Emacs function, not available
;; in XEmacs.
(multibyte-char-to-unibyte . identity)
;; `set-buffer-multibyte' is an Emacs function, not available in XEmacs.
(set-buffer-multibyte . ignore)
;; `special-display-p' is an Emacs function, not available in XEmacs.
(special-display-p
. ,(lambda (buffer-name)
"Returns non-nil if a buffer named BUFFER-NAME gets a special frame."
......@@ -119,6 +142,7 @@
(stringp (car elem))
(string-match (car elem) buffer-name)