1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-16 17:19:41 +00:00

Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-88

Merge from emacs--cvs-trunk--0

Patches applied:

 * emacs--cvs-trunk--0  (patch 569-579)

   - Update from CVS
   - Merge from gnus--rel--5.10

 * gnus--rel--5.10  (patch 129-132)

   - Update from CVS
   - Merge from emacs--cvs-trunk--0
This commit is contained in:
Miles Bader 2005-10-07 07:15:40 +00:00
commit 00e18f33ad
171 changed files with 6118 additions and 17181 deletions

View File

@ -1,3 +1,9 @@
2005-10-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* configure.in: Prefer Carbon if --enable-carbon-app or
--with-carbon is explicitly specified even when X11 is detected.
* configure: Regenerate.
2005-09-15 Ulf Jasper <ulf.jasper@web.de>
* Makefile.in (install-arch-indep, uninstall):

View File

@ -1,3 +1,7 @@
2005-10-01 Jason Rumney <jasonr@gnu.org>
* admin.el (set-version): Set version numbers in nt/emacs.rc.
2005-08-31 Romain Francoise <romain@orebokech.com>
* FOR-RELEASE: (New features): Remove vhdl-mode.el update

View File

@ -27,8 +27,6 @@ face name prefixes should be in it for good results.
* NEW FEATURES
** Update Speedbar.
** Rework how the fringe "angle" bitmap at at bottom of buffer is
shown to include an indication of whether the last line has a NL or not.
[Assigned to KFS]
@ -67,6 +65,8 @@ back burner waiting for a legal comment or an alternate implementation
* BUGS
* Pierre Albarede's Aug 30 bug report about C-v and long lines.
** Make a new interface for specifying window configurations
so that we can fix bugs in balance-windows.

View File

@ -87,7 +87,36 @@ Root must be the root of an Emacs source tree."
(submatch (1+ (in "0-9."))))))
(set-version-in-file root "lispref/elisp.texi" version
(rx (and "EMACSVER" (1+ space)
(submatch (1+ (in "0-9.")))))))
(submatch (1+ (in "0-9."))))))
;; nt/emacs.rc also contains the version number, but in an awkward
;; format. It must contain four components, separated by commas, and
;; in two places those commas are followed by space, in two other
;; places they are not.
(let* ((version-components (append (split-string version "\\.")
'("0" "0")))
(comma-version
(concat (car version-components) ","
(cadr version-components) ","
(cadr (cdr version-components)) ","
(cadr (cdr (cdr version-components)))))
(comma-space-version
(concat (car version-components) ", "
(cadr version-components) ", "
(cadr (cdr version-components)) ", "
(cadr (cdr (cdr version-components))))))
(set-version-in-file root "nt/emacs.rc" comma-version
(rx (and "FILEVERSION" (1+ space)
(submatch (1+ (in "0-9,"))))))
(set-version-in-file root "nt/emacs.rc" comma-version
(rx (and "PRODUCTVERSION" (1+ space)
(submatch (1+ (in "0-9,"))))))
(set-version-in-file root "nt/emacs.rc" comma-space-version
(rx (and "\"FileVersion\"" (0+ space) ?, (0+ space)
?\" (submatch (1+ (in "0-9, "))) "\\0\"")))
(set-version-in-file root "nt/emacs.rc" comma-space-version
(rx (and "\"ProductVersion\"" (0+ space) ?,
(0+ space) ?\" (submatch (1+ (in "0-9, ")))
"\\0\"")))))
;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5
;; admin.el ends here.

98
configure vendored
View File

@ -8197,52 +8197,9 @@ else
fi
fi
case "${window_system}" in
x11 )
HAVE_X_WINDOWS=yes
HAVE_X11=yes
case "${with_x_toolkit}" in
athena | lucid ) USE_X_TOOLKIT=LUCID ;;
motif ) USE_X_TOOLKIT=MOTIF ;;
gtk ) with_gtk=yes
USE_X_TOOLKIT=none ;;
no ) USE_X_TOOLKIT=none ;;
* ) USE_X_TOOLKIT=maybe ;;
esac
;;
none )
HAVE_X_WINDOWS=no
HAVE_X11=no
USE_X_TOOLKIT=none
;;
esac
### If we're using X11, we should use the X menu package.
HAVE_MENUS=no
case ${HAVE_X11} in
yes ) HAVE_MENUS=yes ;;
esac
if test "${opsys}" = "hpux9"; then
case "${x_libraries}" in
*X11R4* )
opsysfile="s/hpux9-x11r4.h"
;;
esac
fi
if test "${opsys}" = "hpux9shr"; then
case "${x_libraries}" in
*X11R4* )
opsysfile="s/hpux9shxr4.h"
;;
esac
fi
HAVE_CARBON=no
if test "${HAVE_X11}" != "yes"; then
if test "${with_carbon}" != "no"; then
if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
if test "${with_carbon}" != no; then
if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6
if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
@ -8384,8 +8341,58 @@ if test $ac_cv_header_Carbon_Carbon_h = yes; then
fi
fi
if test "${window_system}" = x11 && test "${HAVE_CARBON}" = yes; then
if test "${with_carbon+set}" != set \
&& test "${carbon_appdir_x+set}" != set; then
HAVE_CARBON=no
fi
fi
if test "${HAVE_CARBON}" = yes; then
window_system=mac
fi
case "${window_system}" in
x11 )
HAVE_X_WINDOWS=yes
HAVE_X11=yes
case "${with_x_toolkit}" in
athena | lucid ) USE_X_TOOLKIT=LUCID ;;
motif ) USE_X_TOOLKIT=MOTIF ;;
gtk ) with_gtk=yes
USE_X_TOOLKIT=none ;;
no ) USE_X_TOOLKIT=none ;;
* ) USE_X_TOOLKIT=maybe ;;
esac
;;
mac | none )
HAVE_X_WINDOWS=no
HAVE_X11=no
USE_X_TOOLKIT=none
;;
esac
### If we're using X11, we should use the X menu package.
HAVE_MENUS=no
case ${HAVE_X11} in
yes ) HAVE_MENUS=yes ;;
esac
if test "${opsys}" = "hpux9"; then
case "${x_libraries}" in
*X11R4* )
opsysfile="s/hpux9-x11r4.h"
;;
esac
fi
if test "${opsys}" = "hpux9shr"; then
case "${x_libraries}" in
*X11R4* )
opsysfile="s/hpux9shxr4.h"
;;
esac
fi
### Compute the unexec source name from the object name.
UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
@ -12716,7 +12723,6 @@ cat >>confdefs.h <<\_ACEOF
#define HAVE_CARBON 1
_ACEOF
window_system=mac
## Specify the install directory
carbon_appdir=
if test "${carbon_appdir_x}" != ""; then

View File

@ -1668,6 +1668,20 @@ else
fi
fi
HAVE_CARBON=no
if test "${with_carbon}" != no; then
AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes)
fi
if test "${window_system}" = x11 && test "${HAVE_CARBON}" = yes; then
if test "${with_carbon+set}" != set \
&& test "${carbon_appdir_x+set}" != set; then
HAVE_CARBON=no
fi
fi
if test "${HAVE_CARBON}" = yes; then
window_system=mac
fi
case "${window_system}" in
x11 )
HAVE_X_WINDOWS=yes
@ -1686,7 +1700,7 @@ dnl make this decision later: use the toolkit if we have X11R5 or newer.
* ) USE_X_TOOLKIT=maybe ;;
esac
;;
none )
mac | none )
HAVE_X_WINDOWS=no
HAVE_X11=no
USE_X_TOOLKIT=none
@ -1715,13 +1729,6 @@ if test "${opsys}" = "hpux9shr"; then
esac
fi
HAVE_CARBON=no
if test "${HAVE_X11}" != "yes"; then
if test "${with_carbon}" != "no"; then
AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes)
fi
fi
### Compute the unexec source name from the object name.
UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
@ -2345,7 +2352,6 @@ AC_CHECK_HEADER(malloc/malloc.h, AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1
### Use Mac OS X Carbon API to implement GUI.
if test "${HAVE_CARBON}" = "yes"; then
AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.])
window_system=mac
## Specify the install directory
carbon_appdir=
if test "${carbon_appdir_x}" != ""; then

View File

@ -1,3 +1,39 @@
2005-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
* TODO: Clarify the local variables entry.
2005-09-30 Bill Wohler <wohler@newt.com>
Moved MH-E image files from toolbar and mail directories into
etc/images.
* images/mail: New directory.
* images/mail/reply.*: Moved here from lisp/mail/reply2*.
* images/mail/alias.*, images/mail/refile.*, images/mail/repack.*:
* images/mail/reply*: Moved here from lisp/toolbar.
* images/execute.*, images/highlight.*, images/mh-logo.xpm:
* images/page-down.*, images/show.*, images/widen.*: Moved here
from lisp/toolbar.
* images/refresh.*: Moved here from lisp/toolbar/rescan.*.
Use GNOME 2.10's refresh icon.
* images/README: New file that indicates which icons came from
GNOME (see lisp/toolbar/README).
2005-09-30 Romain Francoise <romain@orebokech.com>
* NEWS: Mention changes to `read-buffer'.
2005-09-30 Chong Yidong <cyd@stupidchicken.com>
* images/ezimage: New directory.
* images/ezimage/*.xpm: Add images used by speedbar.el.
2005-09-30 David Ponce <david@dponce.com>
* NEWS: Update recentf changes.
@ -9,8 +45,7 @@
2005-09-27 Jay Belanger <belanger@truman.edu>
* calccard.tex: Update `versionnumber', remove `versiondate'.
(Error Recovery): Refer to "initial state" rather than "default
state".
(Error Recovery): Refer to "initial state" rather than "default state".
(Algebra): Mention LaTeX language mode.
(Programming): Delete reference to "Z =".
@ -25,8 +60,7 @@
2005-09-15 Kenichi Handa <handa@m17n.org>
* PROBLEMS: Fix the paragraph describing the limitation of
UTF-8/16/7.
* PROBLEMS: Fix the paragraph describing the limitation of UTF-8/16/7.
2005-09-14 Romain Francoise <romain@orebokech.com>
@ -128,12 +162,11 @@
2005-07-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
* PROBLEMS (Fedora Core 4 GNU/Linux: Segfault during dumping):
Added it again.
Add it again.
2005-06-29 Carsten Dominik <dominik@science.uva.nl>
* NEWS: Added an entry for Org-mode, and a change entry for
reftex-mode.
* NEWS: Add an entry for Org-mode, and a change entry for reftex-mode.
2005-06-28 Richard M. Stallman <rms@gnu.org>

View File

@ -3774,6 +3774,12 @@ If the variable is itself nil, then `frame-or-buffer-changed-p' uses,
for compatibility, an internal variable which exists only for this
purpose.
+++
*** The function `read-buffer' follows the convention for reading from
the minibuffer with a default value: if DEF is non-nil, the minibuffer
prompt provided in PROMPT is edited to show the default value provided
in DEF before the terminal colon and space.
** Local variables lists:
+++
@ -4421,6 +4427,9 @@ buffer.
If non-nil, that says to preserve the window's current margin, fringe,
and scroll-bar settings.
+++
*** The new function `window-split-tree' returns a frame's window split tree.
+++
** Customizable fringe bitmaps

View File

@ -47,7 +47,7 @@ to the FSF.
** Implement something better than the current Refill mode. This
probably needs some primitive support.
** Add a command to make a local variables list in the current buffer
** Add a command to make a "Local Variables" section in the current buffer
and/or add a variable to the list.
** Implement primitive and higher-level functions to allow filling

5
etc/images/README Normal file
View File

@ -0,0 +1,5 @@
The following icons are from GNOME 2.10:
refresh.pbm, refresh.xpm
They are not part of Emacs, but distributed and used by Emacs.

View File

@ -0,0 +1,20 @@
/* XPM */
static char * sb_obj_xpm[] = {
"15 15 2 1",
" c None",
". c #000CFF",
" .. . .. . ",
". . . . . . ",
". . . . . . ",
". . . . . . ",
" .. . .. . ",
" ",
". .. . .. ",
". . . . . . ",
". . . . . . ",
". . . . . . ",
". .. . .. ",
" ",
" .. . .. . ",
". . . . . . ",
". . . . . . "};

View File

@ -0,0 +1,21 @@
/* XPM */
static char * sb_objod_xpm[] = {
"15 15 3 1",
" c None",
". c #000CFF",
"+ c #FFFA00",
" .. . .. . ",
". .++ . . . ",
". .++ . . . ",
". . ++. . . ",
" .. ++ .. . ",
" ++ ",
". ..++. .. ",
". . .++ . . ",
". . .++ . . ",
". . .++ . . ",
". .. . .. ",
" ++ ",
" .. . ++. . ",
". . . . . . ",
". . . . . . "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_box_minus_xpm[] = {
"20 15 4 1",
" c None",
". c #000000",
"+ c #828282",
"@ c #D19200",
"...+ +..+ ",
".@@.+ +.@.+",
"+.@@.+ +.@@@.",
"+.@@@.+++++++++.@@..",
" +..@............@.+",
" +.@..@@@@@@@@@@@..+",
" +.@@..............+",
" +.@@.@@@@@@@@@@@@.+",
" +.@@.@@@@@@@@@@@@.+",
" +.@@.@@@......@@@.+",
" +.@@.@@@......@@@.+",
" +.@.@@@@@@@@@@@@.+",
" +..@@@@@@@@@@@@.+",
" +..............+",
" ++++++++++++++ "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_box_plus_xpm[] = {
"20 15 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #D19200",
" ",
" .............. ",
" .++++++++++++++. ",
" .++@@@@@@+@@@@@+. ",
" .+@+@@@@@@+@@@@@+. ",
" .+@@++++++++++++++.",
" .+@@+@@@@@@@@@@@@+.",
" .+@@+@@@@@++@@@@@+.",
" .+@@+@@@@@++@@@@@+.",
" .+@@+@@@++++++@@@+.",
" .+@@+@@@++++++@@@+.",
" .+@+@@@@@++@@@@@+.",
" .++@@@@@++@@@@@+.",
" .++++++++++++++.",
" .............. "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_box_xpm[] = {
"20 15 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ",
" ............... ",
" .++++++++++++++. ",
" .++@@@@@@+@@@@@+. ",
" .+@+@@@@@@+@@@@@+. ",
" .+@@++++++++++++++.",
" .+@@+@@@@@@@@@@@@+.",
" .+@@+@@@@@@@@@@@@+.",
" .+@@+@@@@@@@@@@@@+.",
" .+@@+@@@@@@@@@@@@+.",
" .+@@+@@@@@@@@@@@@+.",
" .+@+@@@@@@@@@@@@+.",
". .++@@@@@@@@@@@@+.",
" .++++++++++++++.",
" .............. "};

View File

@ -0,0 +1,20 @@
/* XPM */
static char * sb_chk_xpm[] = {
"15 15 2 1",
" c None",
". c #FF0000",
" ",
" . . .. ",
" . . . ",
" . . . . ",
" . .. . ",
" .. ",
" .. ",
" ... .. ",
" ... .. ",
" .... .. ",
" ... .. ",
" .... ",
" ... ",
" . ",
" "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * sb_dir_minus_xpm[] = {
"20 15 5 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #DBDB00",
"# c #FFF993",
" ....... ",
".+++++++. ",
".+@@@@@@+......... ",
".+@@@@@@@++++++++. ",
".+@@@@@@@@@@@@@@+...",
".+@@++++++++++++++++",
".+@@+##############+",
".+@+##############+.",
".+@+####++++++####+.",
".+@+####++++++####+.",
".+@+##############+.",
".++##############+..",
".++##############+. ",
".+++++++++++++++++. ",
" ................. "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * sb_dir_plus_xpm[] = {
"20 15 5 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #DBDB00",
"# c #FFF993",
" ....... ",
".+++++++. ",
".+@@@@@@+.......... ",
".+@@@@@@@++++++++++.",
".+@@@@@@@@@@@@@@@@+.",
".+#######++#####@@+.",
".+#######++######@+.",
".+#####++++++####@+.",
".+#####++++++####@+.",
".+#######++######@+.",
".+#######++######@+.",
".+###############@+.",
".+###############@+.",
".++++++++++++++++++.",
" .................. "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * sb_dir_xpm[] = {
"20 15 5 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #DBDB00",
"# c #FFF993",
" ....... ",
".+++++++. ",
".+@@@@@@+.......... ",
".+@@@@@@@++++++++++.",
".+@@@@@@@@@@@@@@@@+.",
".+##############@@+.",
".+###############@+.",
".+###############@+.",
".+###############@+.",
".+###############@+.",
".+###############@+.",
".+###############@+.",
".+###############@+.",
".++++++++++++++++++.",
" .................. "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * sb_doc_minus_xpm[] = {
"15 15 5 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #5A818B",
"# c #FFFFFF",
" ....... ",
" .+++++++. ",
" .+@@@@@@+. ",
" .+@@@@@@+#. ",
" .+@@@@@@+#+.",
" .+@####@+##+.",
" .+@@@@@@@+#+. ",
" .+@@@@@@+##+. ",
".++++@@@@+#+. ",
".+###++++##+. ",
".+########+. ",
".++#######+. ",
" ..++++##+. ",
" ....+++. ",
" ... "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * sb_doc_plus_xpm[] = {
"15 15 5 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #5A818B",
"# c #FFFFFF",
" ....... ",
" .+++++++. ",
" .+@@@@@@+. ",
" .+@@#@@@+#. ",
" .+@@#@@@+#+.",
" .+@#####+##+.",
" .+@@@@#@@+#+. ",
" .+@@@@#@+##+. ",
".++++@@@@+#+. ",
".+###++++##+. ",
".+########+. ",
".++#######+. ",
" ..++++##+. ",
" ....+++. ",
" ... "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * sb_doc_xpm[] = {
"15 15 5 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #5A818B",
"# c #FFFFFF",
" ....... ",
" .+++++++. ",
" .+@@@@@@+. ",
" .+@@@@@@+#. ",
" .+@@@@@@+#+.",
" .+@@@@@@+##+.",
" .+@@@@@@@+#+. ",
" .+@@@@@@+##+. ",
".++++@@@@+#+. ",
".+###++++##+. ",
".+########+. ",
".+########+. ",
".++++++##+. ",
" ......+++. ",
" ... "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_info_xpm[] = {
"10 15 4 1",
" c None",
". c #BEBEBE",
"+ c #0000FF",
"@ c #FFFFFF",
" .. ",
" ..+++. ",
" .+++@++. ",
" .+++++++ ",
" .+++++++ ",
".++@@@++++",
".++++@++++",
".++++@++++",
".++++@++++",
" .+++@++++",
" .+++@+++ ",
" .+@@@@@+ ",
" .+++++++ ",
" .+++++ ",
" ++ "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * key_xpm[] = {
"16 16 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ........ ",
" ..++++++.. ",
" .+@@@@@@+. ",
" .+@@++@@+. ",
" .+@@@@@@+. ",
" .+@@@@@@+. ",
" .+@@@@@@+. ",
" .+@@@@+. ",
" .+@@+. ",
" .+@@@+. ",
" .+@@+. ",
" .+@@+. ",
" .+@@@+. ",
" .+@@+. ",
" .++. ",
" .. "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_label_xpm[] = {
"10 16 3 1",
" c None",
". c gray",
"+ c blue",
" .....",
" ..+++++",
" .+++++++",
" .++++++++",
" .++++++++",
".+++++++++",
".+++++++++",
".+++++++++",
".+++++++++",
".+++++++++",
".+++++++++",
".+++++++++",
".+++++++++",
".+++++++++",
".+++++++++",
".+++++++++"};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * lock_xpm[] = {
"16 16 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ........ ",
" ..++++++.. ",
" .++....++. ",
" .+......+. ",
" ..+......+.. ",
" ..++++++++++..",
" .++@@@@@@@@++.",
" .+@@@@@@@@@@+.",
" .+@@@@@@@@@@+.",
" .+@@@++++@@@+.",
" .+@@@@++@@@@+.",
" .+@@@@@@@@@@+.",
" .+@@@@++@@@@+.",
" .+@@@@@@@@@@+.",
" .++++++++++++.",
" .............."};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_mail_xpm[] = {
"20 15 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFFFFF",
"................... ",
".++++++++++++++++++.",
".++@@@@@@@@@@@@@@++.",
".+@++@@@@@@@@@@++@+.",
".+@@@++@@@@@@++@@@+.",
".+@@@@@++@@++@@@@@+.",
".+@@@@@@@++@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@@@+@@@@@@+@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@+@@@@@@@@@@+@@+.",
".+@@@@@@@@@@@@@@@@+.",
".++@@@@@@@@@@@@@@++.",
".++++++++++++++++++.",
" .................. "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * sb_pg_minus_xpm[] = {
"20 15 5 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFFFFF",
"# c #ADADAD",
" ............ ",
" .++++++++++++.",
" .++@@@@@@@@@@+.",
" .+#+@@@@@@@@@@+.",
" .+##+@@@@@@@@@@+.",
" .+###+@@@@@@@@@@+.",
" .+####+@@@@@@@@@@+.",
".+++++++@++++++@@@+.",
".+@@@@@@@++++++@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".++++++++++++++++++.",
" .................. "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * sb_pg_plus_xpm[] = {
"20 15 5 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFFFFF",
"# c #ADADAD",
" ............ ",
" .++++++++++++.",
" .++@@@@@@@@@@+.",
" .+#+@@@@@@@@@@+.",
" .+##+@@@@@@@@@@+.",
" .+###+@@@++@@@@@+.",
" .+####+@@@++@@@@@+.",
".+++++++@++++++@@@+.",
".+@@@@@@@++++++@@@+.",
".+@@@@@@@@@++@@@@@+.",
".+@@@@@@@@@++@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".++++++++++++++++++.",
" .................. "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * sb_pg_xpm[] = {
"20 15 5 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFFFFF",
"# c #ADADAD",
" ............ ",
" .++++++++++++.",
" .++@@@@@@@@@@+.",
" .+#+@@@@@@@@@@+.",
" .+##+@@@@@@@@@@+.",
" .+###+@@@@@@@@@@+.",
" .+####+@@@@@@@@@@+.",
".+++++++@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".++++++++++++++++++.",
" .................. "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_tag_gt_xpm[] = {
"20 15 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ",
" ",
" ............... ",
" .+++++++++++++++.",
" .+@@@@@++@@@@@@@+.",
" .+@@@@@@+++@@@@@@+.",
".+@@@@@@@++++@@@@@+.",
".+@++@@@@+++++@@@@+.",
".+@++@@@@+++++.@@@+.",
".+@@@@@@@++++.@@@@+.",
" .+@@@@@@+++.@@@@@+.",
" .+@@@@@++.@@@@@@+.",
". .++++++.++++++++.",
" ............... ",
" "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_tag__xpm[] = {
"20 15 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ",
" ",
" ............... ",
" .+++++++++++++++.",
" .+@@@@@@@@@@@@@@+.",
" .+@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@++@@++++++@@@@@+.",
".+@++@@++++++@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
" .+@@@@@@@@@@@@@@@+.",
" .+@@@@@@@@@@@@@@+.",
". .+++++++++++++++.",
" ............... ",
" "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_tag+_xpm[] = {
"20 15 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ",
" ",
" ............... ",
" .+++++++++++++++.",
" .+@@@@@@@@@@@@@@+.",
" .+@@@@@@++@@@@@@@+.",
".+@@@@@@@++@@@@@@@+.",
".+@++@@++++++@@@@@+.",
".+@++@@++++++@@@@@+.",
".+@@@@@@@++@@@@@@@+.",
" .+@@@@@@++@@@@@@@+.",
" .+@@@@@@@@@@@@@@+.",
". .+++++++++++++++.",
" ............... ",
" "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_tag_type_xpm[] = {
"20 15 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ",
" ",
" ............... ",
" .+++++++++++++++.",
" .+@@@@@@@@@@@@@@+.",
" .+@@@@@@++++++@@@+.",
".+@@@@@@@++++++@@@+.",
".+@++@@@@@@++@@@@@+.",
".+@++@@@@@@++@@@@@+.",
".+@@@@@@@@@++@@@@@+.",
" .+@@@@@@@@++@@@@@+.",
" .+@@@@@@@@@@@@@@+.",
". .+++++++++++++++.",
" ............... ",
" "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_tag_v_xpm[] = {
"20 15 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ",
" ",
" ............... ",
" .+++++++++++++++.",
" .+@@@@@@@@@@@@@@+.",
" .+@@@++++++++++.@+.",
".+@@@@@++++++++.@@+.",
".+@++@@@++++++.@@@+.",
".+@++@@@@++++.@@@@+.",
".+@@@@@@@@++.@@@@@+.",
" .+@@@@@@@@.@@@@@@+.",
" .+@@@@@@@@@@@@@@+.",
". .+++++++++++++++.",
" ............... ",
" "};

View File

@ -0,0 +1,22 @@
/* XPM */
static char * sb_tag_xpm[] = {
"20 15 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ",
" ",
" ............... ",
" .+++++++++++++++.",
" .+@@@@@@@@@@@@@@+.",
" .+@@@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
".+@++@@@@@@@@@@@@@+.",
".+@++@@@@@@@@@@@@@+.",
".+@@@@@@@@@@@@@@@@+.",
" .+@@@@@@@@@@@@@@@+.",
" .+@@@@@@@@@@@@@@+.",
". .+++++++++++++++.",
" ............... ",
" "};

View File

@ -0,0 +1,23 @@
/* XPM */
static char * unlock_xpm[] = {
"16 16 4 1",
" c None",
". c #828282",
"+ c #000000",
"@ c #FFF993",
" ....... ",
"..+++++.. ",
".++...++. ",
".+.....+. ",
".+.....+........",
"....++++++++++..",
" .++@@@@@@@@++.",
" .+@@@@@@@@@@+.",
" .+@@@@@@@@@@+.",
" .+@@@++++@@@+.",
" .+@@@@++@@@@+.",
" .+@@@@@@@@@@+.",
" .+@@@@++@@@@+.",
" .+@@@@@@@@@@+.",
" .++++++++++++.",
" .............."};

BIN
etc/images/refresh.pbm Normal file

Binary file not shown.

113
etc/images/refresh.xpm Normal file
View File

@ -0,0 +1,113 @@
/* XPM */
static char * refresh_xpm[] = {
"24 24 86 1",
" c None",
". c #000000",
"+ c #F3F6F8",
"@ c #C8D4DF",
"# c #F7F9FA",
"$ c #0D110C",
"% c #6286A5",
"& c #A0B6C9",
"* c #C9D5E0",
"= c #F2F5F7",
"- c #172116",
"; c #819EB6",
"> c #CAD6E1",
", c #CCD7E1",
"' c #CED9E3",
") c #F6F8F9",
"! c #7192AE",
"~ c #587B99",
"{ c #CDD8E2",
"] c #CFDAE4",
"^ c #D3DDE6",
"/ c #D5DEE6",
"( c #ADC0D0",
"_ c #90A9BF",
": c #537490",
"< c #23323E",
"[ c #85A1B8",
"} c #5E83A3",
"| c #6084A3",
"1 c #6689A7",
"2 c #678AA8",
"3 c #48657D",
"4 c #A8BCCD",
"5 c #7393AE",
"6 c #6B8DAA",
"7 c #5C81A1",
"8 c #5D82A2",
"9 c #6588A6",
"0 c #435F76",
"a c #B1C3D2",
"b c #50718D",
"c c #9FB5C8",
"d c #94ACC1",
"e c #425D73",
"f c #435E74",
"g c #B4C5D3",
"h c #6C8EAB",
"i c #C4D2DD",
"j c #5B80A0",
"k c #456178",
"l c #7595B0",
"m c #BFCEDA",
"n c #597D9C",
"o c #A3B8CA",
"p c #B0C2D1",
"q c #86A2B9",
"r c #6E8FAB",
"s c #E1E8EE",
"t c #B9C9D6",
"u c #6387A6",
"v c #4C6B85",
"w c #7F9DB6",
"x c #BCCCD9",
"y c #DDE5EC",
"z c #E4EAEF",
"A c #D8E1E9",
"B c #D1DBE4",
"C c #C7D3DE",
"D c #B7C8D6",
"E c #7091AD",
"F c #537592",
"G c #9DB3C6",
"H c #8CA7BD",
"I c #304353",
"J c #4E6E89",
"K c #829FB7",
"L c #92ABC0",
"M c #C5D3DE",
"N c #7C9AB3",
"O c #5A7E9D",
"P c #47647C",
"Q c #6185A4",
"R c #5B7F9E",
"S c #4F6F8A",
"T c #405A71",
"U c #283926",
" . ",
" .. ",
" .+. ",
" ....@#. ",
" $%&@@**=. .. ",
" -;@@**>,'). .!~. ",
" .%@**>,{]^/(. ._:. ",
" <&@[}}|%123. .4. ",
".5@678|%920. .ab. ",
".cd7e...1f. . .gh. ",
".ijb. .k. .. .al. ",
".mn. .. .'. .op5. ",
".qr. . .*s...at4u. ",
".vw. .xyzyABCDEF. ",
" .G. .p'B,@ixaH2I. ",
" .JK. .LM@,>>MmNOP. ",
" .F9. .9|%Q|}7RS.. ",
" .. .|R~~nJT.. ",
" .j~.... ",
" UO. ",
" .. ",
" . ",
" ",
" "};

File diff suppressed because it is too large Load Diff

View File

@ -742,7 +742,7 @@ language you are using."
;; natural bindings for terminal keycaps --- defined in X keysym order
(define-key global-map [C-S-backspace] 'kill-whole-line)
(define-key global-map [home] 'beginning-of-line)
(define-key global-map [home] 'move-beginning-of-line)
(define-key global-map [C-home] 'beginning-of-buffer)
(define-key global-map [M-home] 'beginning-of-buffer-other-window)
(define-key esc-map [home] 'beginning-of-buffer-other-window)
@ -762,7 +762,7 @@ language you are using."
(define-key global-map [M-prior] 'scroll-other-window-down)
(define-key esc-map [prior] 'scroll-other-window-down)
(define-key esc-map [?\C-\S-v] 'scroll-other-window-down)
(define-key global-map [end] 'end-of-line)
(define-key global-map [end] 'move-end-of-line)
(define-key global-map [C-end] 'end-of-buffer)
(define-key global-map [M-end] 'end-of-buffer-other-window)
(define-key esc-map [end] 'end-of-buffer-other-window)

View File

@ -195,7 +195,7 @@ STRING is the description of the appointment.
FLAG, if non-nil, says that the element was made with `appt-add'
so calling `appt-make-list' again should preserve it.")
(defconst appt-max-time 1439
(defconst appt-max-time (1- (* 24 60))
"11:59pm in minutes - number of minutes in a day minus 1.")
(defvar appt-mode-string nil
@ -484,13 +484,15 @@ Usually just deletes the appointment buffer."
lowest-window w)))))
(select-window lowest-window)))
(defconst appt-time-regexp
"[0-9]?[0-9]\\(h\\([0-9][0-9]\\)?\\|[:.][0-9][0-9]\\)\\(am\\|pm\\)?")
;;;###autoload
(defun appt-add (new-appt-time new-appt-msg)
"Add an appointment for today at NEW-APPT-TIME with message NEW-APPT-MSG.
The time should be in either 24 hour format or am/pm format."
(interactive "sTime (hh:mm[am/pm]): \nsMessage: ")
(unless (string-match "[0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?"
new-appt-time)
(unless (string-match appt-time-regexp new-appt-time)
(error "Unacceptable time-string"))
(let* ((appt-time-string (concat new-appt-time " " new-appt-msg))
(appt-time (list (appt-convert-time new-appt-time)))
@ -577,16 +579,14 @@ appointment package (if it is not already active)."
(calendar-date-equal
(calendar-current-date) (car (car entry-list))))
(let ((time-string (cadr (car entry-list))))
(while (string-match
"\\([0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?\\).*"
time-string)
(while (string-match appt-time-regexp time-string)
(let* ((beg (match-beginning 0))
;; Get just the time for this appointment.
(only-time (match-string 1 time-string))
(only-time (match-string 0 time-string))
;; Find the end of this appointment
;; (the start of the next).
(end (string-match
"^[ \t]*[0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?"
(concat "\n[ \t]*" appt-time-regexp)
time-string
(match-end 0)))
;; Get the whole string for this appointment.
@ -633,31 +633,23 @@ APPT-LIST is a list of the same format as `appt-time-msg-list'."
"Convert hour:min[am/pm] format to minutes from midnight.
A period (.) can be used instead of a colon (:) to separate the
hour and minute parts."
(let ((conv-time 0)
(hr 0)
(min 0))
(string-match "[:.]\\([0-9][0-9]\\)" time2conv)
(setq min (string-to-number
(match-string 1 time2conv)))
(string-match "[0-9]?[0-9][:.]" time2conv)
(setq hr (string-to-number
(match-string 0 time2conv)))
;; Formats that should be accepted:
;; 10:00 10.00 10h00 10h 10am 10:00am 10.00am
(let ((min (if (string-match "[h:.]\\([0-9][0-9]\\)" time2conv)
(string-to-number (match-string 1 time2conv))
0))
(hr (if (string-match "[0-9]*[0-9]" time2conv)
(string-to-number (match-string 0 time2conv))
0)))
;; convert the time appointment time into 24 hour time
(cond ((and (string-match "pm" time2conv) (< hr 12))
(setq hr (+ 12 hr)))
((and (string-match "am" time2conv) (= hr 12))
(setq hr 0)))
;; convert the actual time
;; into minutes for comparison
;; against the actual time.
(setq conv-time (+ (* hr 60) min))
conv-time))
;; convert the actual time into minutes.
(+ (* hr 60) min)))
(defun appt-update-list ()
@ -719,5 +711,5 @@ ARG is positive, otherwise off."
(provide 'appt)
;;; arch-tag: bf5791c4-8921-499e-a26f-772b1788d347
;; arch-tag: bf5791c4-8921-499e-a26f-772b1788d347
;;; appt.el ends here

View File

@ -352,7 +352,7 @@ Any holidays are shown if `holidays-in-diary-buffer' is t."
(diary-display-hook 'ignore)
(diary-entries
(mapcar (lambda (x) (split-string (car (cdr x)) "\^M\\|\n"))
(diary-list-entries date 1)))
(diary-list-entries date 1 'list-only)))
(holidays (if holidays-in-diary-buffer
(check-calendar-holidays date)))
(title (concat "Diary entries "

View File

@ -271,20 +271,22 @@ search."
;; This can be removed once the kill/yank treatment of invisible text
;; (see etc/TODO) is fixed. -- gm
(defcustom diary-header-line-flag t
"*If non-nil, `simple-diary-display' will show a header line.
"If non-nil, `diary-simple-display' will show a header line.
The format of the header is specified by `diary-header-line-format'."
:group 'diary
:type 'boolean
:version "22.1")
(defvar diary-selective-display nil)
(defcustom diary-header-line-format
'(:eval (calendar-string-spread
(list (if selective-display
(list (if diary-selective-display
"Selective display active - press \"s\" in calendar \
before edit/copy"
"Diary"))
?\s (frame-width)))
"*Format of the header line displayed by `simple-diary-display'.
"Format of the header line displayed by `diary-simple-display'.
Only used if `diary-header-line-flag' is non-nil."
:group 'diary
:type 'sexp
@ -322,17 +324,17 @@ number of days of diary entries displayed."
:group 'diary)
(define-obsolete-function-alias 'list-diary-entries 'diary-list-entries)
(defun diary-list-entries (date number)
(defun diary-list-entries (date number &optional list-only)
"Create and display a buffer containing the relevant lines in `diary-file'.
The arguments are DATE and NUMBER; the entries selected are those
for NUMBER days starting with date DATE. The other entries are hidden
using selective display. If NUMBER is less than 1, this function does nothing.
Returns a list of all relevant diary entries found, if any, in order by date.
The list entries have the form ((month day year) string specifier) where
\(month day year) is the date of the entry, string is the entry text, and
specifier is the applicability. If the variable `diary-list-include-blanks'
is t, this list includes a dummy diary entry consisting of the empty string)
The list entries have the form ((MONTH DAY YEAR) STRING SPECIFIER) where
\(MONTH DAY YEAR) is the date of the entry, STRING is the entry text, and
SPECIFIER is the applicability. If the variable `diary-list-include-blanks'
is t, this list includes a dummy diary entry consisting of the empty string
for a date with no diary entries.
After the list is prepared, the hooks `nongregorian-diary-listing-hook',
@ -354,7 +356,9 @@ These hooks have the following distinct roles:
add-hook to set this to ignore.
`diary-hook' is run last. This can be used for an appointment
notification function."
notification function.
If LIST-ONLY is non-nil don't modify or display the buffer, only return a list."
(unless number
(setq number (if (vectorp number-of-diary-entries)
(aref number-of-diary-entries (calendar-day-of-week date))
@ -373,29 +377,20 @@ These hooks have the following distinct roles:
(set-buffer diary-buffer)
(or (verify-visited-file-modtime diary-buffer)
(revert-buffer t t))))
;; Setup things like the header-line-format and invisibility-spec.
(when (eq major-mode 'fundamental-mode) (diary-mode))
;; d-s-p is passed to the diary display function.
(let ((diary-saved-point (point)))
(save-excursion
(setq file-glob-attrs (nth 1 (diary-pull-attrs nil "")))
(setq selective-display t)
(setq selective-display-ellipses nil)
(if diary-header-line-flag
(setq header-line-format diary-header-line-format))
(with-syntax-table diary-syntax-table
(let ((buffer-read-only nil)
(diary-modified (buffer-modified-p))
(mark (regexp-quote diary-nonmarking-symbol)))
;; First and last characters must be ^M or \n for
;; selective display to work properly
(goto-char (1- (point-max)))
(if (not (looking-at "\^M\\|\n"))
(progn
(goto-char (point-max))
(insert "\^M")))
(let ((mark (regexp-quote diary-nonmarking-symbol)))
(goto-char (point-min))
(if (not (looking-at "\^M\\|\n"))
(insert "\^M"))
(subst-char-in-region (point-min) (point-max) ?\n ?\^M t)
(unless list-only
(let ((ol (make-overlay (point-min) (point-max) nil t nil)))
(set (make-local-variable 'diary-selective-display) t)
(overlay-put ol 'invisible 'diary)
(overlay-put ol 'evaporate t)))
(calendar-for-loop
i from 1 to number do
(let ((month (extract-calendar-month date))
@ -426,7 +421,7 @@ These hooks have the following distinct roles:
(regexp
(concat
"\\(\\`\\|\^M\\|\n\\)" mark "?\\("
(mapconcat 'eval date-form "\\)\\(")
(mapconcat 'eval date-form "\\)\\(?:")
"\\)"))
(case-fold-search t))
(goto-char (point-min))
@ -448,8 +443,9 @@ These hooks have the following distinct roles:
(while (looking-at " \\|\^I")
(re-search-forward "\^M\\|\n" nil t))
(backward-char 1)
(subst-char-in-region date-start
(point) ?\^M ?\n t)
(unless list-only
(remove-overlays date-start (point)
'invisible 'diary))
(setq entry (buffer-substring entry-start (point))
temp (diary-pull-attrs entry file-glob-attrs)
entry (nth 0 temp))
@ -467,23 +463,20 @@ These hooks have the following distinct roles:
(setq date
(calendar-gregorian-from-absolute
(1+ (calendar-absolute-from-gregorian date))))
(setq entry-found nil)))
(set-buffer-modified-p diary-modified)))
(setq entry-found nil)))))
(goto-char (point-min))
(run-hooks 'nongregorian-diary-listing-hook
'list-diary-entries-hook)
(if diary-display-hook
(run-hooks 'diary-display-hook)
(simple-diary-display))
(unless list-only
(if diary-display-hook
(run-hooks 'diary-display-hook)
(simple-diary-display)))
(run-hooks 'diary-hook)
diary-entries-list))))))
(defun diary-unhide-everything ()
(setq selective-display nil)
(let ((inhibit-read-only t)
(modified (buffer-modified-p)))
(subst-char-in-region (point-min) (point-max) ?\^M ?\n t)
(set-buffer-modified-p modified))
(kill-local-variable 'diary-selective-display)
(remove-overlays (point-min) (point-max) 'invisible 'diary)
(kill-local-variable 'mode-line-format))
(defun include-other-diary-files ()
@ -603,8 +596,8 @@ This function is provided for optional use as the `diary-display-hook'."
(setq buffer-read-only t)
(display-buffer holiday-buffer)
(message "No diary entries for %s" date-string)))
(save-excursion;; Prepare the fancy diary buffer.
(set-buffer (make-fancy-diary-buffer))
(with-current-buffer;; Prepare the fancy diary buffer.
(make-fancy-diary-buffer)
(setq buffer-read-only nil)
(let ((entry-list diary-entries-list)
(holiday-list)
@ -673,10 +666,10 @@ This function is provided for optional use as the `diary-display-hook'."
(temp-face (make-symbol
(apply
'concat "temp-face-"
(mapcar '(lambda (sym)
(if (stringp sym)
sym
(symbol-name sym)))
(mapcar (lambda (sym)
(if (stringp sym)
sym
(symbol-name sym)))
marks))))
(faceinfo marks))
(make-face temp-face)
@ -687,7 +680,7 @@ This function is provided for optional use as the `diary-display-hook'."
(setcar faceinfo nil)
(setcar (cdr faceinfo) nil))
(setq marks (delq nil marks))
;; Apply the font aspects
;; Apply the font aspects.
(apply 'set-face-attribute temp-face nil marks)
(search-backward entry)
(overlay-put
@ -704,8 +697,7 @@ This function is provided for optional use as the `diary-display-hook'."
(defun make-fancy-diary-buffer ()
"Create and return the initial fancy diary buffer."
(save-excursion
(set-buffer (get-buffer-create fancy-diary-buffer))
(with-current-buffer (get-buffer-create fancy-diary-buffer)
(setq buffer-read-only nil)
(calendar-set-mode-line "Diary Entries")
(erase-buffer)
@ -726,26 +718,33 @@ The hooks given by the variable `print-diary-entries-hook' are called to do
the actual printing."
(interactive)
(if (bufferp (get-buffer fancy-diary-buffer))
(save-excursion
(set-buffer (get-buffer fancy-diary-buffer))
(with-current-buffer (get-buffer fancy-diary-buffer)
(run-hooks 'print-diary-entries-hook))
(let ((diary-buffer
(find-buffer-visiting (substitute-in-file-name diary-file))))
(if diary-buffer
(let ((temp-buffer (get-buffer-create "*Printable Diary Entries*"))
(let ((temp-buffer (get-buffer-create " *Printable Diary Entries*"))
(heading))
(save-excursion
(set-buffer diary-buffer)
(with-current-buffer diary-buffer
(setq heading
(if (not (stringp mode-line-format))
"All Diary Entries"
(string-match "^-*\\([^-].*[^-]\\)-*$" mode-line-format)
(substring mode-line-format
(match-beginning 1) (match-end 1))))
(copy-to-buffer temp-buffer (point-min) (point-max))
(match-string 1 mode-line-format)))
(let ((start (point-min))
end)
(while
(progn
(setq end (next-single-char-property-change
start 'invisible))
(if (get-char-property start 'invisible)
nil
(with-current-buffer temp-buffer
(insert-buffer-substring diary-buffer
start (or end (point-max)))))
(setq start end)
(and end (< end (point-max))))))
(set-buffer temp-buffer)
(while (re-search-forward "\^M.*$" nil t)
(replace-match ""))
(goto-char (point-min))
(insert heading "\n"
(make-string (length heading) ?=) "\n")
@ -764,18 +763,19 @@ is created."
(pop-up-frames (window-dedicated-p (selected-window))))
(with-current-buffer (or (find-buffer-visiting d-file)
(find-file-noselect d-file t))
(when (eq major-mode 'fundamental-mode) (diary-mode))
(diary-unhide-everything)
(display-buffer (current-buffer)))))
(defcustom diary-mail-addr
(if (boundp 'user-mail-address) user-mail-address "")
"*Email address that `diary-mail-entries' will send email to."
"Email address that `diary-mail-entries' will send email to."
:group 'diary
:type 'string
:version "20.3")
(defcustom diary-mail-days 7
"*Default number of days for `diary-mail-entries' to check."
"Default number of days for `diary-mail-entries' to check."
:group 'diary
:type 'integer
:version "20.3")
@ -866,6 +866,7 @@ diary entries."
file-glob-attrs marks)
(with-current-buffer (find-file-noselect (diary-check-diary-file) t)
(save-excursion
(when (eq major-mode 'fundamental-mode) (diary-mode))
(setq mark-diary-entries-in-calendar t)
(message "Marking diary entries...")
(setq file-glob-attrs (nth 1 (diary-pull-attrs nil '())))
@ -1118,7 +1119,7 @@ A value of 0 in any position of the pattern is a wildcard."
(defcustom diary-unknown-time
-9999
"*Value returned by diary-entry-time when no time is found.
"Value returned by diary-entry-time when no time is found.
The default value -9999 causes entries with no recognizable time to be placed
before those with times; 9999 would place entries with no recognizable time
after those with times."
@ -1361,7 +1362,7 @@ best if they are nonmarking."
diary-entry))
(if diary-entry
(progn
(subst-char-in-region line-start (point) ?\^M ?\n t)
(remove-overlays line-start (point) 'invisible 'diary)
(if (< 0 (length entry))
(setq temp (diary-pull-attrs entry file-glob-attrs)
entry (nth 0 temp)
@ -1511,7 +1512,7 @@ highlighting the day in the calendar."
(cons mark entry)))))
(defun diary-anniversary (month day year &optional mark)
(defun diary-anniversary (month day &optional year mark)
"Anniversary diary entry.
Entry applies if date is the anniversary of MONTH, DAY, YEAR if
`european-calendar-style' is nil, and DAY, MONTH, YEAR if
@ -1530,7 +1531,7 @@ use when highlighting the day in the calendar."
day
month))
(y (extract-calendar-year date))
(diff (- y year)))
(diff (if year (- y year) 100)))
(if (and (= m 2) (= d 29) (not (calendar-leap-year-p y)))
(setq m 3
d 1))
@ -1578,7 +1579,7 @@ use when highlighting the day in the calendar."
(concat (int-to-string days) (if (= 1 days) " day" " days")))
" until "
diary-entry)
"*Pseudo-pattern giving form of reminder messages in the fancy diary
"Pseudo-pattern giving form of reminder messages in the fancy diary
display.
Used by the function `diary-remind', a pseudo-pattern is a list of
@ -1657,12 +1658,10 @@ Do nothing if DATE or STRING is nil."
(defun make-diary-entry (string &optional nonmarking file)
"Insert a diary entry STRING which may be NONMARKING in FILE.
If omitted, NONMARKING defaults to nil and FILE defaults to
`diary-file'. Adds `diary-redraw-calendar' to
`write-contents-functions' for FILE, so that the calendar will be
redrawn with the new entry marked, if necessary."
`diary-file'."
(let ((pop-up-frames (window-dedicated-p (selected-window))))
(find-file-other-window (substitute-in-file-name (or file diary-file))))
(add-hook 'after-save-hook 'diary-redraw-calendar nil t)
(when (eq major-mode 'fundamental-mode) (diary-mode))
(widen)
(diary-unhide-everything)
(goto-char (point-max))
@ -1867,6 +1866,13 @@ names."
(eval-when-compile (require 'cal-hebrew)
(require 'cal-islam))
(defconst diary-time-regexp
;; Formats that should be accepted:
;; 10:00 10.00 10h00 10h 10am 10:00am 10.00am
(concat "[0-9]?[0-9]\\([AaPp][mM]\\|\\("
"[Hh]\\([0-9][0-9]\\)?\\|[:.][0-9][0-9]"
"\\)\\([AaPp][Mm]\\)?\\)"))
(defvar diary-font-lock-keywords
(append
(diary-font-lock-date-forms calendar-month-name-array
@ -1907,8 +1913,10 @@ names."
"?\\(" (regexp-quote islamic-diary-entry-symbol) "\\)")
'(1 font-lock-reference-face))
'(diary-font-lock-sexps . font-lock-keyword-face)
'("[0-9]?[0-9]\\([:.]?[0-9][0-9]\\)?\\(am\\|pm\\|AM\\|PM\\)\\(-[0-9]?[0-9]\\([:.]?[0-9][0-9]\\)?\\(am\\|pm\\|AM\\|PM\\)\\)?"
. font-lock-function-name-face)))
(cons
(concat ;; "^[ \t]+"
diary-time-regexp "\\(-" diary-time-regexp "\\)?")
'font-lock-function-name-face)))
"Forms to highlight in `diary-mode'.")

View File

@ -91,6 +91,7 @@ and type 3 is the list (HIGH LOW MICRO)."
((eq type 1) (list high low))
((eq type 2) (list high low micro))))
(autoload 'parse-time-string "parse-time")
(autoload 'timezone-make-date-arpa-standard "timezone")
;;;###autoload

View File

@ -3109,8 +3109,8 @@ When redirection is completed, the process filter is restored to
this value.")
(defvar comint-redirect-subvert-readonly nil
"Non-nil means comint-redirect can insert into otherwise-readonly buffers.
The readonly status is toggled around insertion.
"Non-nil means `comint-redirect' can insert into read-only buffers.
This works by binding `inhibit-read-only' around the insertion.
This is useful, for instance, for insertion into Help mode buffers.
You probably want to set it locally to the output buffer.")

1073
lisp/dframe.el Normal file

File diff suppressed because it is too large Load Diff

View File

@ -103,11 +103,15 @@ Buffer B."
)
(make-variable-buffer-local 'ediff-skip-merge-regions-that-differ-from-default)
;; check if there is no clash between the ancestor and one of the variants.
(defsubst ediff-merge-region-is-non-clash (n)
(string-match "prefer" (or (ediff-get-state-of-merge n) "")))
;; If ediff-show-clashes-only, check if there is no clash between the ancestor
;; and one of the variants.
(defsubst ediff-merge-region-is-non-clash (n)
(defsubst ediff-merge-region-is-non-clash-to-skip (n)
(and ediff-show-clashes-only
(string-match "prefer" (or (ediff-get-state-of-merge n) ""))))
(ediff-merge-region-is-non-clash n)))
;; If ediff-skip-changed-regions, check if the merge region differs from
;; the current default. If a region is different from the default, it means

View File

@ -1624,7 +1624,7 @@ Useful commands:
(save-excursion
(set-buffer meta-diff-buff)
(goto-char (point-max))
(insert-buffer custom-diff-buf)
(insert-buffer-substring custom-diff-buf)
(insert "\n")))
;; if ediff session is not live, run diff directly on the files
((memq metajob '(ediff-directories
@ -1643,7 +1643,7 @@ Useful commands:
(save-excursion
(set-buffer meta-diff-buff)
(goto-char (point-max))
(insert-buffer tmp-buf)
(insert-buffer-substring tmp-buf)
(insert "\n")))
(t
(ediff-kill-buffer-carefully meta-diff-buff)
@ -1691,7 +1691,8 @@ all marked sessions must be active."
(ediff-get-session-objC-name info)))
(set-buffer (get-buffer-create ediff-tmp-buffer))
(erase-buffer)
(insert-buffer patchbuffer)
(insert-buffer-substring patchbuffer)
(goto-char (point-min))
(display-buffer ediff-tmp-buffer 'not-this-window)
))
(error "The patch buffer wasn't found"))))

View File

@ -297,16 +297,23 @@ program."
;; (file1 . file2). Get it using ediff-get-session-objA.
(ediff-get-session-objA-name session-info))
;; base-dir1 is the dir part of the 1st file in the patch
(base-dir1 (file-name-directory (car proposed-file-names)))
(base-dir1
(or (file-name-directory (car proposed-file-names))
""))
;; directory part of the 2nd file in the patch
(base-dir2 (file-name-directory (cdr proposed-file-names)))
(base-dir2
(or (file-name-directory (cdr proposed-file-names))
""))
)
;; If both base-dir1 and base-dir2 are relative, assume that
;; If both base-dir1 and base-dir2 are relative and exist,
;; assume that
;; these dirs lead to the actual files starting at the present
;; directory. So, we don't strip these relative dirs from the
;; file names. This is a heuristic intended to improve guessing
(unless (or (file-name-absolute-p base-dir1)
(file-name-absolute-p base-dir2))
(file-name-absolute-p base-dir2)
(not (file-exists-p base-dir1))
(not (file-exists-p base-dir2)))
(setq base-dir1 ""
base-dir2 ""))
(or (string= (car proposed-file-names) "/dev/null")
@ -377,8 +384,8 @@ other files, enter /dev/null
(concat actual-dir (cdr proposed-file-names)))))
))
ediff-patch-map)
;; check for the shorter existing file in each pair and discard the other
;; one
;; Check for the existing files in each pair and discard the nonexisting
;; ones. If both exist, ask the user.
(mapcar (lambda (session-info)
(let* ((file1 (car (ediff-get-session-objA-name session-info)))
(file2 (cdr (ediff-get-session-objA-name session-info)))

View File

@ -329,7 +329,7 @@ to invocation.")
ediff-word-mode-job (ediff-word-mode-job))
;; Don't delete variants in case of ediff-buffer-* jobs without asking.
;; This is because u may loose work---dangerous.
;; This is because one may loose work---dangerous.
(if (string-match "buffer" (symbol-name ediff-job-name))
(setq ediff-keep-variants t))
@ -368,6 +368,7 @@ to invocation.")
(save-excursion
(set-buffer buffer-C)
(insert-buffer-substring buf)
(goto-char (point-min))
(funcall (ediff-with-current-buffer buf major-mode))
(widen) ; merge buffer is always widened
(add-hook 'local-write-file-hooks 'ediff-set-merge-mode nil t)
@ -1729,7 +1730,7 @@ With a prefix argument, go forward that many differences."
(or (>= n ediff-number-of-differences)
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
;; this won't exec if regexp-skip is t
(setq non-clash-skip (ediff-merge-region-is-non-clash n)
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
skip-changed
(ediff-skip-merge-region-if-changed-from-default-p n))
(ediff-install-fine-diff-if-necessary n))
@ -1744,6 +1745,7 @@ With a prefix argument, go forward that many differences."
skip-changed
;; skip difference regions that differ in white space
(and ediff-ignore-similar-regions
(ediff-merge-region-is-non-clash n)
(or (eq (ediff-no-fine-diffs-p n) t)
(and (ediff-merge-job)
(eq (ediff-no-fine-diffs-p n) 'C)))
@ -1754,7 +1756,7 @@ With a prefix argument, go forward that many differences."
(or (>= n ediff-number-of-differences)
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
;; this won't exec if regexp-skip is t
(setq non-clash-skip (ediff-merge-region-is-non-clash n)
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
skip-changed
(ediff-skip-merge-region-if-changed-from-default-p n))
(ediff-install-fine-diff-if-necessary n))
@ -1778,7 +1780,7 @@ With a prefix argument, go back that many differences."
(or (< n 0)
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
;; this won't exec if regexp-skip is t
(setq non-clash-skip (ediff-merge-region-is-non-clash n)
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
skip-changed
(ediff-skip-merge-region-if-changed-from-default-p n))
(ediff-install-fine-diff-if-necessary n))
@ -1802,7 +1804,7 @@ With a prefix argument, go back that many differences."
(or (< n 0)
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
;; this won't exec if regexp-skip is t
(setq non-clash-skip (ediff-merge-region-is-non-clash n)
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
skip-changed
(ediff-skip-merge-region-if-changed-from-default-p n))
(ediff-install-fine-diff-if-necessary n))

View File

@ -900,7 +900,7 @@ into icons, regardless of the window manager."
(ediff-with-current-buffer ctl-buffer
(ediff-cond-compile-for-xemacs-or-emacs
(set-buffer-menubar nil) ; xemacs
(when (featurep 'menubar) (set-buffer-menubar nil)) ; xemacs
nil ; emacs
)
;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse))
@ -1054,7 +1054,8 @@ into icons, regardless of the window manager."
(if (and (ediff-window-display-p) (frame-live-p ediff-control-frame))
(let ((ctl-frame ediff-control-frame))
(ediff-cond-compile-for-xemacs-or-emacs
(set-buffer-menubar default-menubar) ; xemacs
(when (featurep 'menubar)
(set-buffer-menubar default-menubar)) ; xemacs
nil ; emacs
)
(setq ediff-control-frame nil)

View File

@ -8,7 +8,7 @@
;; Keywords: comparing, merging, patching, tools, unix
(defconst ediff-version "2.80.1" "The current version of Ediff")
(defconst ediff-date "September 19, 2005" "Date of last update")
(defconst ediff-date "October 5, 2005" "Date of last update")
;; This file is part of GNU Emacs.

View File

@ -103,37 +103,37 @@ truncated to make more of the arglist or documentation string visible."
;;; No user options below here.
;; Commands after which it is appropriate to print in the echo area.
;; Eldoc does not try to print function arglists, etc. after just any command,
;; because some commands print their own messages in the echo area and these
;; functions would instantly overwrite them. But self-insert-command as well
;; as most motion commands are good candidates.
;; This variable contains an obarray of symbols; do not manipulate it
;; directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'.
(defvar eldoc-message-commands nil)
(defvar eldoc-message-commands-table-size 31
"This is used by eldoc-add-command to initialize eldoc-message-commands
as an obarray.
It should probably never be necessary to do so, but if you
choose to increase the number of buckets, you must do so before loading
this file since the obarray is initialized at load time.
Remember to keep it a prime number to improve hash performance.")
;; This is used by eldoc-add-command to initialize eldoc-message-commands
;; as an obarray.
;; It should probably never be necessary to do so, but if you
;; choose to increase the number of buckets, you must do so before loading
;; this file since the obarray is initialized at load time.
;; Remember to keep it a prime number to improve hash performance.
(defvar eldoc-message-commands-table-size 31)
(defconst eldoc-message-commands
(make-vector eldoc-message-commands-table-size 0)
"Commands after which it is appropriate to print in the echo area.
Eldoc does not try to print function arglists, etc. after just any command,
because some commands print their own messages in the echo area and these
functions would instantly overwrite them. But self-insert-command as well
as most motion commands are good candidates.
This variable contains an obarray of symbols; do not manipulate it
directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'.")
;; Bookkeeping; elements are as follows:
;; 0 - contains the last symbol read from the buffer.
;; 1 - contains the string last displayed in the echo area for that
;; symbol, so it can be printed again if necessary without reconsing.
;; 2 - 'function if function args, 'variable if variable documentation.
(defvar eldoc-last-data (make-vector 3 nil))
(defconst eldoc-last-data (make-vector 3 nil)
"Bookkeeping; elements are as follows:
0 - contains the last symbol read from the buffer.
1 - contains the string last displayed in the echo area for that
symbol, so it can be printed again if necessary without reconsing.
2 - 'function if function args, 'variable if variable documentation.")
(defvar eldoc-last-message nil)
;; eldoc's timer object.
(defvar eldoc-timer nil)
(defvar eldoc-timer nil "eldoc's timer object.")
;; idle time delay currently in use by timer.
;; This is used to determine if eldoc-idle-delay is changed by the user.
(defvar eldoc-current-idle-delay eldoc-idle-delay)
(defvar eldoc-current-idle-delay eldoc-idle-delay
"idle time delay currently in use by timer.
This is used to determine if `eldoc-idle-delay' is changed by the user.")
;;;###autoload
@ -408,53 +408,32 @@ Emacs Lisp mode) that support Eldoc.")
;; These functions do display-command table management.
(defun eldoc-add-command (&rest cmds)
(or eldoc-message-commands
(setq eldoc-message-commands
(make-vector eldoc-message-commands-table-size 0)))
(let (name sym)
(while cmds
(setq name (car cmds))
(setq cmds (cdr cmds))
(cond ((symbolp name)
(setq sym name)
(setq name (symbol-name sym)))
((stringp name)
(setq sym (intern-soft name))))
(and (symbolp sym)
(fboundp sym)
(set (intern name eldoc-message-commands) t)))))
(dolist (name cmds)
(and (symbolp name)
(setq name (symbol-name name)))
(set (intern name eldoc-message-commands) t)))
(defun eldoc-add-command-completions (&rest names)
(while names
(apply 'eldoc-add-command
(all-completions (car names) obarray 'fboundp))
(setq names (cdr names))))
(dolist (name names)
(apply 'eldoc-add-command (all-completions name obarray 'commandp))))
(defun eldoc-remove-command (&rest cmds)
(let (name)
(while cmds
(setq name (car cmds))
(setq cmds (cdr cmds))
(and (symbolp name)
(setq name (symbol-name name)))
(unintern name eldoc-message-commands))))
(dolist (name cmds)
(and (symbolp name)
(setq name (symbol-name name)))
(unintern name eldoc-message-commands)))
(defun eldoc-remove-command-completions (&rest names)
(while names
(dolist (name names)
(apply 'eldoc-remove-command
(all-completions (car names) eldoc-message-commands))
(setq names (cdr names))))
(all-completions name eldoc-message-commands))))
;; Prime the command list.
(eldoc-add-command-completions
"backward-" "beginning-of-" "delete-other-windows" "delete-window"
"end-of-" "exchange-point-and-mark" "forward-"
"backward-" "beginning-of-" "move-beginning-of-" "delete-other-windows"
"delete-window"
"end-of-" "move-end-of-" "exchange-point-and-mark" "forward-"
"indent-for-tab-command" "goto-" "mark-page" "mark-paragraph"
"mouse-set-point" "move-" "pop-global-mark" "next-" "other-window"
"previous-" "recenter" "scroll-" "self-insert-command"
@ -462,5 +441,5 @@ Emacs Lisp mode) that support Eldoc.")
(provide 'eldoc)
;;; arch-tag: c9a58f9d-2055-46c1-9b82-7248b71a8375
;; arch-tag: c9a58f9d-2055-46c1-9b82-7248b71a8375
;;; eldoc.el ends here

View File

@ -59,9 +59,9 @@
(modify-syntax-entry ?\t " " table)
(modify-syntax-entry ?\f " " table)
(modify-syntax-entry ?\n "> " table)
;;; This is probably obsolete since nowadays such features use overlays.
;;; ;; Give CR the same syntax as newline, for selective-display.
;;; (modify-syntax-entry ?\^m "> " table)
;; This is probably obsolete since nowadays such features use overlays.
;; ;; Give CR the same syntax as newline, for selective-display.
;; (modify-syntax-entry ?\^m "> " table)
(modify-syntax-entry ?\; "< " table)
(modify-syntax-entry ?` "' " table)
(modify-syntax-entry ?' "' " table)
@ -82,8 +82,8 @@
(let ((table (copy-syntax-table emacs-lisp-mode-syntax-table)))
(modify-syntax-entry ?\[ "_ " table)
(modify-syntax-entry ?\] "_ " table)
(modify-syntax-entry ?# "' 14bn" table)
(modify-syntax-entry ?| "\" 23b" table)
(modify-syntax-entry ?# "' 14b" table)
(modify-syntax-entry ?| "\" 23bn" table)
table))
(define-abbrev-table 'lisp-mode-abbrev-table ())
@ -147,25 +147,45 @@
(put 'define-ibuffer-filter 'doc-string-elt 2)
(put 'define-ibuffer-op 'doc-string-elt 3)
(put 'define-ibuffer-sorter 'doc-string-elt 2)
(put 'lambda 'doc-string-elt 2)
(defvar lisp-doc-string-elt-property 'doc-string-elt
"The symbol property that holds the docstring position info.")
(defun lisp-font-lock-syntactic-face-function (state)
(if (nth 3 state)
(if (and (eq (nth 0 state) 1)
;; This might be a docstring.
(save-excursion
(let ((n 0))
(goto-char (nth 8 state))
(condition-case nil
(while (and (not (bobp))
(progn (backward-sexp 1) (setq n (1+ n)))))
(scan-error nil))
(when (> n 0)
(let ((sym (intern-soft
(buffer-substring
(point) (progn (forward-sexp 1) (point))))))
(eq n (or (get sym 'doc-string-elt) 3)))))))
font-lock-doc-face
font-lock-string-face)
;; This might be a (doc)string or a |...| symbol.
(let ((startpos (nth 8 state)))
(if (eq (char-after startpos) ?|)
;; This is not a string, but a |...| symbol.
nil
(let* ((listbeg (nth 1 state))
(firstsym (and listbeg
(save-excursion
(goto-char listbeg)
(and (looking-at "([ \t\n]*\\(\\(\\sw\\|\\s_\\)+\\)")
(match-string 1)))))
(docelt (and firstsym (get (intern-soft firstsym)
lisp-doc-string-elt-property))))
(if (and docelt
;; It's a string in a form that can have a docstring.
;; Check whether it's in docstring position.
(save-excursion
(when (functionp docelt)
(goto-char (match-end 1))
(setq docelt (funcall docelt)))
(goto-char listbeg)
(forward-char 1)
(condition-case nil
(while (and (> docelt 0) (< (point) startpos)
(progn (forward-sexp 1) t))
(setq docelt (1- docelt)))
(error nil))
(and (zerop docelt) (<= (point) startpos)
(progn (forward-comment (point-max)) t)
(= (point) (nth 8 state)))))
font-lock-doc-face
font-lock-string-face))))
font-lock-comment-face))
;; The LISP-SYNTAX argument is used by code in inf-lisp.el and is

View File

@ -494,13 +494,20 @@
viper-empty-keymap))
))
;; in emacs with emulation-mode-map-alists, nothing needs to be done
;; This var is not local in Emacs, so we make it local. It must be local
;; because although the stack of minor modes can be the same for all buffers,
;; the associated *keymaps* can be different. In Viper,
;; viper-vi-local-user-map, viper-insert-local-user-map, and others can have
;; different keymaps for different buffers. Also, the keymaps associated
;; with viper-vi/insert-state-modifier-minor-mode can be different.
;; ***This is needed only in case emulation-mode-map-alists is not defined.
;; In emacs with emulation-mode-map-alists, nothing needs to be done
(unless
(and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists))
(setq minor-mode-map-alist
(viper-append-filter-alist
(append viper--intercept-key-maps viper--key-maps)
minor-mode-map-alist)))
(set (make-local-variable 'minor-mode-map-alist)
(viper-append-filter-alist
(append viper--intercept-key-maps viper--key-maps)
minor-mode-map-alist)))
)
@ -509,7 +516,7 @@
;; Modifies mode-line-buffer-identification.
(defun viper-refresh-mode-line ()
(setq viper-mode-string
(set (make-local-variable 'viper-mode-string)
(cond ((eq viper-current-state 'emacs-state) viper-emacs-state-id)
((eq viper-current-state 'vi-state) viper-vi-state-id)
((eq viper-current-state 'replace-state) viper-replace-state-id)
@ -4781,7 +4788,7 @@ sensitive for VI-style look-and-feel."
level-changed t)
(insert "
Please specify your level of familiarity with the venomous VI PERil
(and the VI Plan for Emacs Rescue).
\(and the VI Plan for Emacs Rescue).
You can change it at any time by typing `M-x viper-set-expert-level RET'
1 -- BEGINNER: Almost all Emacs features are suppressed.
@ -5000,5 +5007,5 @@ Mail anyway (y or n)? ")
;;; arch-tag: 739a6450-5fda-44d0-88b0-325053d888c2
;; arch-tag: 739a6450-5fda-44d0-88b0-325053d888c2
;;; viper-cmd.el ends here

View File

@ -115,11 +115,6 @@ In all likelihood, you don't need to bother with this setting."
;;; Macros
;; Fool the compiler to avoid warnings.
;; Viper calls make-variable-buffer-local from within other functions, which
;; triggers compiler warnings.
(defalias 'viper-make-variable-buffer-local 'make-variable-buffer-local)
(defmacro viper-deflocalvar (var default-value &optional documentation)
`(progn
(defvar ,var ,default-value
@ -1019,19 +1014,19 @@ Should be set in `~/.viper' file."
(defun viper-restore-cursor-type ()
(condition-case nil
(if viper-xemacs-p
(setq bar-cursor nil)
(set (make-local-variable 'bar-cursor) nil)
(setq cursor-type default-cursor-type))
(error nil)))
(defun viper-set-insert-cursor-type ()
(if viper-xemacs-p
(setq bar-cursor 2)
(set (make-local-variable 'bar-cursor) 2)
(setq cursor-type '(bar . 2))))
;;; Local Variables:
;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;;; End:
;; Local Variables:
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;; End:
;;; arch-tag: 4efa2416-1fcb-4690-be10-1a2a0248d250
;; arch-tag: 4efa2416-1fcb-4690-be10-1a2a0248d250
;;; viper-init.el ends here

View File

@ -9,7 +9,7 @@
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
;; Keywords: emulations
(defconst viper-version "3.11.5 of September 19, 2005"
(defconst viper-version "3.11.5 of October 5, 2005"
"The current version of Viper")
;; This file is part of GNU Emacs.
@ -605,8 +605,6 @@ This startup message appears whenever you load Viper, unless you type `y' now."
))
(viper-set-expert-level 'dont-change-unless)))
(if viper-xemacs-p
(viper-make-variable-buffer-local 'bar-cursor))
(if (eq major-mode 'viper-mode)
(setq major-mode 'fundamental-mode))
@ -627,8 +625,8 @@ This startup message appears whenever you load Viper, unless you type `y' now."
;; This hook designed to enable Vi-style editing in comint-based modes."
(defun viper-comint-mode-hook ()
(setq require-final-newline nil
viper-ex-style-editing nil
(set (make-local-variable 'require-final-newline) nil)
(setq viper-ex-style-editing nil
viper-ex-style-motion nil)
(viper-change-state-to-insert))
@ -1000,17 +998,6 @@ It also can't undo some Viper settings."
;; these are primarily advices and Vi-ish variable settings
(defun viper-non-hook-settings ()
;; This var is not local in Emacs, so we make it local. It must be local
;; because although the stack of minor modes can be the same for all buffers,
;; the associated *keymaps* can be different. In Viper,
;; viper-vi-local-user-map, viper-insert-local-user-map, and others can have
;; different keymaps for different buffers. Also, the keymaps associated
;; with viper-vi/insert-state-modifier-minor-mode can be different.
;; ***This is needed only in case emulation-mode-map-alists is not defined
(unless
(and (fboundp 'add-to-ordered-list) (boundp 'emulation-mode-map-alists))
(viper-make-variable-buffer-local 'minor-mode-map-alist))
;; Viper changes the default mode-line-buffer-identification
(setq-default mode-line-buffer-identification '(" %b"))
@ -1018,8 +1005,6 @@ It also can't undo some Viper settings."
(setq next-line-add-newlines nil
require-final-newline t)
(viper-make-variable-buffer-local 'require-final-newline)
;; don't bark when mark is inactive
(if viper-emacs-p
(setq mark-even-if-inactive t))
@ -1027,7 +1012,6 @@ It also can't undo some Viper settings."
(setq scroll-step 1)
;; Variable displaying the current Viper state in the mode line.
(viper-deflocalvar viper-mode-string viper-emacs-state-id)
(or (memq 'viper-mode-string global-mode-string)
(setq global-mode-string
(append '("" viper-mode-string) (cdr global-mode-string))))
@ -1336,9 +1320,9 @@ These two lines must come in the order given.
(provide 'viper)
;;; Local Variables:
;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;;; End:
;; Local Variables:
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
;; End:
;;; arch-tag: 5f3e844c-c4e6-4bbd-9b73-63bdc14e7d79
;; arch-tag: 5f3e844c-c4e6-4bbd-9b73-63bdc14e7d79
;;; viper.el ends here

371
lisp/ezimage.el Normal file
View File

@ -0,0 +1,371 @@
;;; ezimage --- Generalized Image management
;;; Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: file, tags, tools
;; 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 2, 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; see the file COPYING. If not, write to the
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary:
;;
;; A few routines for placing an image over text that will work for any
;; Emacs implementation without error. When images are not supported, then
;; they are justnot displayed.
;;
;; The idea is that gui buffers (trees, buttons, etc) will have text
;; representations of the GUI elements. These routines will replace the text
;; with an image when images are available.
;;
;; This file requires the `image' package if it is available.
(condition-case nil
(require 'image)
(error nil))
;;; Code:
(defcustom ezimage-use-images
(and (or (fboundp 'defimage) ; emacs 21
(fboundp 'make-image-specifier)) ; xemacs
(if (fboundp 'display-graphic-p) ; emacs 21
(display-graphic-p)
window-system) ; old emacs & xemacs
(or (not (fboundp 'image-type-available-p)) ; xemacs?
(image-type-available-p 'xpm))) ; emacs 21
"*Non-nil if ezimage should display icons."
:group 'ezimage
:version "21.1"
:type 'boolean)
;;; Create our own version of defimage
(eval-and-compile
(if (fboundp 'defimage)
(progn
(defmacro defezimage (variable imagespec docstring)
"Define VARIABLE as an image if `defimage' is not available.
IMAGESPEC is the image data, and DOCSTRING is documentation for the image."
`(progn
(defimage ,variable ,imagespec ,docstring)
(put (quote ,variable) 'ezimage t)))
; (defalias 'defezimage 'defimage)
;; This hack is for the ezimage install which has an icons direcory for
;; the default icons to be used.
;; (add-to-list 'load-path
;; (concat (file-name-directory
;; (locate-library "ezimage.el"))
;; "icons"))
)
(if (not (fboundp 'make-glyph))
(defmacro defezimage (variable imagespec docstring)
"Don't bother loading up an image...
Argument VARIABLE is the variable to define.
Argument IMAGESPEC is the list defining the image to create.
Argument DOCSTRING is the documentation for VARIABLE."
`(defvar ,variable nil ,docstring))
;; ELSE
(with-no-warnings
(defun ezimage-find-image-on-load-path (image)
"Find the image file IMAGE on the load path."
(let ((l (cons
;; In XEmacs, try the data directory first (for an
;; install in XEmacs proper.) Search the load
;; path next (for user installs)
(locate-data-directory "ezimage")
load-path))
(r nil))
(while (and l (not r))
(if (file-exists-p (concat (car l) "/" image))
(setq r (concat (car l) "/" image))
(if (file-exists-p (concat (car l) "/icons/" image))
(setq r (concat (car l) "/icons/" image))
))
(setq l (cdr l)))
r))
);with-no-warnings
(with-no-warnings
(defun ezimage-convert-emacs21-imagespec-to-xemacs (spec)
"Convert the Emacs21 image SPEC into an XEmacs image spec.
The Emacs 21 spec is what I first learned, and is easy to convert."
(let* ((sl (car spec))
(itype (nth 1 sl))
(ifile (nth 3 sl)))
(vector itype ':file (ezimage-find-image-on-load-path ifile))))
);with-no-warnings
(defmacro defezimage (variable imagespec docstring)
"Define VARIABLE as an image if `defimage' is not available.
IMAGESPEC is the image data, and DOCSTRING is documentation for the image."
`(progn
(defvar ,variable
;; The Emacs21 version of defimage looks just like the XEmacs image
;; specifier, except that it needs a :type keyword. If we line
;; stuff up right, we can use this cheat to support XEmacs specifiers.
(condition-case nil
(make-glyph
(make-image-specifier
(ezimage-convert-emacs21-imagespec-to-xemacs (quote ,imagespec)))
'buffer)
(error nil))
,docstring)
(put ',variable 'ezimage t)))
)))
(defezimage ezimage-directory
((:type xpm :file "ezimage/dir.xpm" :ascent center))
"Image used for empty directories.")
(defezimage ezimage-directory-plus
((:type xpm :file "ezimage/dir-plus.xpm" :ascent center))
"Image used for closed directories with stuff in them.")
(defezimage ezimage-directory-minus
((:type xpm :file "ezimage/dir-minus.xpm" :ascent center))
"Image used for open directories with stuff in them.")
(defezimage ezimage-page-plus
((:type xpm :file "ezimage/page-plus.xpm" :ascent center))
"Image used for closed files with stuff in them.")
(defezimage ezimage-page-minus
((:type xpm :file "ezimage/page-minus.xpm" :ascent center))
"Image used for open files with stuff in them.")
(defezimage ezimage-page
((:type xpm :file "ezimage/page.xpm" :ascent center))
"Image used for files with nothing interesting in it.")
(defezimage ezimage-tag
((:type xpm :file "ezimage/tag.xpm" :ascent center))
"Image used for tags.")
(defezimage ezimage-tag-plus
((:type xpm :file "ezimage/tag-plus.xpm" :ascent center))
"Image used for closed tag groups.")
(defezimage ezimage-tag-minus
((:type xpm :file "ezimage/tag-minus.xpm" :ascent center))
"Image used for open tags.")
(defezimage ezimage-tag-gt
((:type xpm :file "ezimage/tag-gt.xpm" :ascent center))
"Image used for closed tags (with twist arrow).")
(defezimage ezimage-tag-v
((:type xpm :file "ezimage/tag-v.xpm" :ascent center))
"Image used for open tags (with twist arrow).")
(defezimage ezimage-tag-type
((:type xpm :file "ezimage/tag-type.xpm" :ascent center))
"Image used for tags that represent a data type.")
(defezimage ezimage-box-plus
((:type xpm :file "ezimage/box-plus.xpm" :ascent center))
"Image of a closed box.")
(defezimage ezimage-box-minus
((:type xpm :file "ezimage/box-minus.xpm" :ascent center))
"Image of an open box.")
(defezimage ezimage-mail
((:type xpm :file "ezimage/mail.xpm" :ascent center))
"Image if an envelope.")
(defezimage ezimage-checkout
((:type xpm :file "ezimage/checkmark.xpm" :ascent center))
"Image representing a checkmark. For files checked out of a VC.")
(defezimage ezimage-object
((:type xpm :file "ezimage/bits.xpm" :ascent center))
"Image representing bits (an object file.)")
(defezimage ezimage-object-out-of-date
((:type xpm :file "ezimage/bitsbang.xpm" :ascent center))
"Image representing bits with a ! in it. (an out of data object file.)")
(defezimage ezimage-label
((:type xpm :file "ezimage/label.xpm" :ascent center))
"Image used for label prefix.")
(defezimage ezimage-lock
((:type xpm :file "ezimage/lock.xpm" :ascent center))
"Image of a lock. Used for Read Only, or private.")
(defezimage ezimage-unlock
((:type xpm :file "ezimage/unlock.xpm" :ascent center))
"Image of an unlocked lock.")
(defezimage ezimage-key
((:type xpm :file "ezimage/key.xpm" :ascent center))
"Image of a key.")
(defezimage ezimage-document-tag
((:type xpm :file "ezimage/doc.xpm" :ascent center))
"Image used to indicate documentation available.")
(defezimage ezimage-document-plus
((:type xpm :file "ezimage/doc-plus.xpm" :ascent center))
"Image used to indicate closed documentation.")
(defezimage ezimage-document-minus
((:type xpm :file "ezimage/doc-minus.xpm" :ascent center))
"Image used to indicate open documentation.")
(defezimage ezimage-info-tag
((:type xpm :file "ezimage/info.xpm" :ascent center))
"Image used to indicate more information available.")
(defvar ezimage-expand-image-button-alist
'(
;; here are some standard representations
("<+>" . ezimage-directory-plus)
("<->" . ezimage-directory-minus)
("< >" . ezimage-directory)
("[+]" . ezimage-page-plus)
("[-]" . ezimage-page-minus)
("[?]" . ezimage-page)
("[ ]" . ezimage-page)
("{+}" . ezimage-box-plus)
("{-}" . ezimage-box-minus)
;; Some vaguely representitive entries
("*" . ezimage-checkout)
("#" . ezimage-object)
("!" . ezimage-object-out-of-date)
("%" . ezimage-lock)
)
"List of text and image associations.")
(defun ezimage-insert-image-button-maybe (start length &optional string)
"Insert an image button based on text starting at START for LENGTH chars.
If buttontext is unknown, just insert that text.
If we have an image associated with it, use that image.
Optional argument STRING is a st ring upon which to add text properties."
(when ezimage-use-images
(let* ((bt (buffer-substring start (+ length start)))
(a (assoc bt ezimage-expand-image-button-alist)))
;; Regular images (created with `insert-image' are intangible
;; which (I suppose) make them more compatible with XEmacs 21.
;; Unfortunatly, there is a giant pile o code dependent on the
;; underlying text. This means if we leave it tangible, then I
;; don't have to change said giant piles o code.
(if (and a (symbol-value (cdr a)))
(ezimage-insert-over-text (symbol-value (cdr a))
start
(+ start (length bt))))))
string)
(defun ezimage-image-over-string (string &optional alist)
"Insert over the text in STRING an image found in ALIST.
Return STRING with properties applied."
(if ezimage-use-images
(let ((a (assoc string alist)))
(if (and a (symbol-value (cdr a)))
(ezimage-insert-over-text (symbol-value (cdr a))
0 (length string)
string)
string))
string))
(defun ezimage-insert-over-text (image start end &optional string)
"Place IMAGE over the text between START and END.
Assumes the image is part of a gui and can be clicked on.
Optional argument STRING is a string upon which to add text properties."
(when ezimage-use-images
(if (featurep 'xemacs)
(add-text-properties start end
(list 'end-glyph image
'rear-nonsticky (list 'display)
'invisible t
'detachable t)
string)
(add-text-properties start end
(list 'display image
'rear-nonsticky (list 'display))
string)))
string)
(defun ezimage-image-association-dump ()
"Dump out the current state of the Ezimage image alist.
See `ezimage-expand-image-button-alist' for details."
(interactive)
(with-output-to-temp-buffer "*Ezimage Images*"
(save-excursion
(set-buffer "*Ezimage Images*")
(goto-char (point-max))
(insert "Ezimage image cache.\n\n")
(let ((start (point)) (end nil))
(insert "Image\tText\tImage Name")
(setq end (point))
(insert "\n")
(put-text-property start end 'face 'underline))
(let ((ia ezimage-expand-image-button-alist))
(while ia
(let ((start (point)))
(insert (car (car ia)))
(insert "\t")
(ezimage-insert-image-button-maybe start
(length (car (car ia))))
(insert (car (car ia)) "\t" (format "%s" (cdr (car ia))) "\n"))
(setq ia (cdr ia)))))))
(defun ezimage-image-dump ()
"Dump out the current state of the Ezimage image alist.
See `ezimage-expand-image-button-alist' for details."
(interactive)
(with-output-to-temp-buffer "*Ezimage Images*"
(save-excursion
(set-buffer "*Ezimage Images*")
(goto-char (point-max))
(insert "Ezimage image cache.\n\n")
(let ((start (point)) (end nil))
(insert "Image\tImage Name")
(setq end (point))
(insert "\n")
(put-text-property start end 'face 'underline))
(let ((ia (ezimage-all-images)))
(while ia
(let ((start (point)))
(insert "cm")
(ezimage-insert-over-text (symbol-value (car ia)) start (point))
(insert "\t" (format "%s" (car ia)) "\n"))
(setq ia (cdr ia)))))))
(defun ezimage-all-images ()
"Return a list of all variables containing ez images."
(let ((ans nil))
(mapatoms (lambda (sym)
(if (get sym 'ezimage) (setq ans (cons sym ans))))
)
(setq ans (sort ans (lambda (a b)
(string< (symbol-name a) (symbol-name b)))))
ans)
)
(provide 'ezimage)
;; arch-tag: d4ea2d93-3c7a-4cb3-b5a6-c1b9178183aa
;;; sb-image.el ends here

View File

@ -1,3 +1,31 @@
2005-10-04 Reiner Steib <Reiner.Steib@gmx.de>
* mm-url.el (mm-url-predefined-programs): Add switches for curl.
* gnus-util.el (gnus-remove-duplicates): Remove.
* nnmail.el (nnmail-article-group): Use mm-delete-duplicates
instead of gnus-remove-duplicates.
* message.el (message-remove-duplicates): Remove.
(message-idna-to-ascii-rhs-1): Use mm-delete-duplicates instead of
message-remove-duplicates.
* mm-util.el (mm-delete-duplicates): Use `delete-dups' if
available, else use implementation from `delete-dups'.
2005-10-02 Katsumi Yamaoka <yamaoka@jpl.org>
* time-date.el: Autoload parse-time-string, XEmacs needs it.
2005-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
* mm-decode.el (mm-inline-media-tests): Check presence of the diff-mode
function rather than the diff-mode.el package.
(mm-display-external): Use with-current-buffer.
(mm-viewer-completion-map, mm-viewer-completion-map):
Move initialization inside declaration.
2005-09-28 Reiner Steib <Reiner.Steib@gmx.de>
* message.el: Remove useless autoloads.
@ -16,10 +44,9 @@
* mm-uu.el (mm-uu-emacs-sources-regexp): Make variable
customizable. Change default value.
(mm-uu-diff-groups-regexp): Change default value.
(mm-uu-type-alist): Added doc string.
(mm-uu-configure): Added doc string. Make it interactive.
(mm-uu-diff-groups-regexp): Fix missing quotes from previous
commit.
(mm-uu-type-alist): Add doc string.
(mm-uu-configure): Add doc string. Make it interactive.
(mm-uu-diff-groups-regexp): Fix missing quotes from previous commit.
2005-09-27 Simon Josefsson <jas@extundo.com>
@ -75,8 +102,8 @@
2005-09-22 Reiner Steib <Reiner.Steib@gmx.de>
* spam-report.el (spam-report-url-ping-plain): Use
gnus-extended-version as User-Agent.
* spam-report.el (spam-report-url-ping-plain):
Use gnus-extended-version as User-Agent.
* gnus-agent.el (gnus-agent-synchronize-flags): Explain why the
default value is nil.
@ -92,7 +119,7 @@
* mm-url.el (mm-url-decode-entities): Fix regexp.
2005-09-18 D Goel <deego@gnufans.org>
2005-09-18 Deepak Goel <deego@gnufans.org>
* sieve.el (sieve-help): Fix `message' call: first arg should be a
format spec.
@ -125,9 +152,9 @@
2005-09-07 Reiner Steib <Reiner.Steib@gmx.de>
* spam-report.el (spam-report-gmane): Make it work without
X-Report-Spam header. Gmane now only provides Archived-At. This
is only used if `spam-report-gmane-use-article-number' is nil.
(spam-report-gmane-spam-header): Removed. Not used anymore.
X-Report-Spam header. Gmane now only provides Archived-At.
This is only used if `spam-report-gmane-use-article-number' is nil.
(spam-report-gmane-spam-header): Remove. Not used anymore.
* nnweb.el (nnweb-google-wash-article): Print a message if article
is not available.

View File

@ -7390,7 +7390,7 @@
instead of mm-auto-save-coding-system for the draft or delayed
group.
2002-10-28 Josh <huber@alum.wpi.edu>
2002-10-28 Josh Huber <huber@alum.wpi.edu>
* mml.el (mml-mode-map): Fixed keybindings for mml-secure-*
functions.

View File

@ -1037,14 +1037,6 @@ This function saves the current buffer."
(set-buffer gnus-group-buffer)
(eq major-mode 'gnus-group-mode))))
(defun gnus-remove-duplicates (list)
(let (new)
(while list
(or (member (car list) new)
(setq new (cons (car list) new)))
(setq list (cdr list)))
(nreverse new)))
(defun gnus-remove-if (predicate list)
"Return a copy of LIST with all items satisfying PREDICATE removed."
(let (out)

View File

@ -2027,14 +2027,6 @@ With prefix-argument just set Follow-Up, don't cross-post."
;;; End of functions adopted from `message-utils.el'.
(defun message-remove-duplicates (list)
(let (new)
(while list
(or (member (car list) new)
(setq new (cons (car list) new)))
(setq list (cdr list)))
(nreverse new)))
(defun message-remove-header (header &optional is-regexp first reverse)
"Remove HEADER in the narrowed buffer.
If IS-REGEXP, HEADER is a regular expression.
@ -4963,7 +4955,7 @@ subscribed address (and not the additional To and Cc header contents)."
rhs ace address)
(when field
(dolist (rhs
(message-remove-duplicates
(mm-delete-duplicates
(mapcar (lambda (rhs) (or (cadr (split-string rhs "@")) ""))
(mapcar 'downcase
(mapcar

View File

@ -222,7 +222,12 @@ before the external MIME handler is invoked."
("text/richtext" mm-inline-text identity)
("text/x-patch" mm-display-patch-inline
(lambda (handle)
(locate-library "diff-mode")))
;; If the diff-mode.el package is installed, the function is
;; autoloaded. Checking (locate-library "diff-mode") would be trying
;; to cater to broken installations. OTOH checking the function
;; makes it possible to install another package which provides an
;; alternative implementation of diff-mode. --Stef
(fboundp 'diff-mode)))
("application/emacs-lisp" mm-display-elisp-inline identity)
("application/x-emacs-lisp" mm-display-elisp-inline identity)
("text/html"
@ -451,21 +456,19 @@ If not set, `default-directory' will be used."
(defvar mm-viewer-completion-map
(let ((map (make-sparse-keymap 'mm-viewer-completion-map)))
(set-keymap-parent map minibuffer-local-completion-map)
;; Should we bind other key to minibuffer-complete-word?
(define-key map " " 'self-insert-command)
map)
"Keymap for input viewer with completion.")
;; Should we bind other key to minibuffer-complete-word?
(define-key mm-viewer-completion-map " " 'self-insert-command)
(defvar mm-viewer-completion-map
(let ((map (make-sparse-keymap 'mm-viewer-completion-map)))
(set-keymap-parent map minibuffer-local-completion-map)
;; Should we bind other key to minibuffer-complete-word?
(define-key map " " 'self-insert-command)
map)
"Keymap for input viewer with completion.")
;; Should we bind other key to minibuffer-complete-word?
(define-key mm-viewer-completion-map " " 'self-insert-command)
;;; The functions.
(defun mm-alist-to-plist (alist)
@ -564,7 +567,7 @@ Postpone undisplaying of viewers for types in
;; what really needs to be done here is a way to link a
;; MIME handle back to it's parent MIME handle (in a multilevel
;; MIME article). That would probably require changing
;; the mm-handle API so we simply store the multipart buffert
;; the mm-handle API so we simply store the multipart buffer
;; name as a text property of the "multipart/whatever" string.
(add-text-properties 0 (length (car ctl))
(list 'buffer (mm-copy-to-buffer)
@ -807,8 +810,7 @@ external if displayed external."
(mm-mailcap-command
method file (mm-handle-type handle)))
(if (buffer-live-p buffer)
(save-excursion
(set-buffer buffer)
(with-current-buffer buffer
(buffer-string))))
(progn
(ignore-errors (delete-file file))

View File

@ -64,7 +64,7 @@
'((wget "wget" "--user-agent=mm-url" "-q" "-O" "-")
(w3m "w3m" "-dump_source")
(lynx "lynx" "-source")
(curl "curl" "--silent")))
(curl "curl" "--silent" "--user-agent mm-url" "--location")))
(defcustom mm-url-program
(cond

View File

@ -538,14 +538,21 @@ If the charset is `composition', return the actual one."
;; This is for XEmacs.
(mm-mule-charset-to-mime-charset charset)))
(defun mm-delete-duplicates (list)
"Simple substitute for CL `delete-duplicates', testing with `equal'."
(let (result head)
(while list
(setq head (car list))
(setq list (delete head list))
(setq result (cons head result)))
(nreverse result)))
(if (fboundp 'delete-dups)
(defalias 'mm-delete-duplicates 'delete-dups)
(defun mm-delete-duplicates (list)
"Destructively remove `equal' duplicates from LIST.
Store the result in LIST and return it. LIST must be a proper list.
Of several `equal' occurrences of an element in LIST, the first
one is kept.
This is a compatibility function for Emacsen without `delete-dups'."
;; Code from `subr.el' in Emacs 22:
(let ((tail list))
(while tail
(setcdr tail (delete (car tail) (cdr tail)))
(setq tail (cdr tail))))
list))
;; Fixme: This is used in places when it should be testing the
;; default multibyteness. See mm-default-multibyte-p.

View File

@ -1142,7 +1142,7 @@ FUNC will be called with the group name to determine the article number."
5 "Error in `nnmail-split-methods'; using `bogus' mail group")
(sit-for 1)
'("bogus")))))
(setq split (gnus-remove-duplicates split))
(setq split (mm-delete-duplicates split))
;; The article may be "cross-posted" to `junk'. What
;; to do? Just remove the `junk' spec. Don't really
;; see anything else to do...

View File

@ -354,7 +354,7 @@ Setting this variable directly does not take effect;
use either \\[customize] or the function `ido-mode'."
:set #'(lambda (symbol value)
(ido-mode value))
:initialize 'custom-initialize-default
:initialize 'custom-initialize-set
:require 'ido
:link '(emacs-commentary-link "ido.el")
:set-after '(ido-save-directory-list-file)

View File

@ -1845,36 +1845,45 @@ End of submatch 0, 1, and 3 are the same, so you can safely concat."
(defun Info-next ()
"Go to the next node of this node."
(interactive)
(Info-goto-node (Info-extract-pointer "next")))
;; In case another window is currently selected
(save-window-excursion
(or (eq major-mode 'Info-mode) (pop-to-buffer "*info*"))
(Info-goto-node (Info-extract-pointer "next"))))
(defun Info-prev ()
"Go to the previous node of this node."
(interactive)
(Info-goto-node (Info-extract-pointer "prev[ious]*" "previous")))
;; In case another window is currently selected
(save-window-excursion
(or (eq major-mode 'Info-mode) (pop-to-buffer "*info*"))
(Info-goto-node (Info-extract-pointer "prev[ious]*" "previous"))))
(defun Info-up (&optional same-file)
"Go to the superior node of this node.
If SAME-FILE is non-nil, do not move to a different Info file."
(interactive)
(let ((old-node Info-current-node)
(old-file Info-current-file)
(node (Info-extract-pointer "up")) p)
(and (or same-file (not (stringp Info-current-file)))
(string-match "^(" node)
(error "Up node is in another Info file"))
(Info-goto-node node)
(setq p (point))
(goto-char (point-min))
(if (and (search-forward "\n* Menu:" nil t)
(re-search-forward
(if (string-equal old-node "Top")
(concat "\n\\*[^:]+: +(" (file-name-nondirectory old-file) ")")
(concat "\n\\* +\\(" (regexp-quote old-node)
":\\|[^:]+: +" (regexp-quote old-node) "\\)"))
nil t))
(progn (beginning-of-line) (if (looking-at "^\\* ") (forward-char 2)))
(goto-char p)
(Info-restore-point Info-history))))
;; In case another window is currently selected
(save-window-excursion
(or (eq major-mode 'Info-mode) (pop-to-buffer "*info*"))
(let ((old-node Info-current-node)
(old-file Info-current-file)
(node (Info-extract-pointer "up")) p)
(and (or same-file (not (stringp Info-current-file)))
(string-match "^(" node)
(error "Up node is in another Info file"))
(Info-goto-node node)
(setq p (point))
(goto-char (point-min))
(if (and (search-forward "\n* Menu:" nil t)
(re-search-forward
(if (string-equal old-node "Top")
(concat "\n\\*[^:]+: +(" (file-name-nondirectory old-file) ")")
(concat "\n\\* +\\(" (regexp-quote old-node)
":\\|[^:]+: +" (regexp-quote old-node) "\\)"))
nil t))
(progn (beginning-of-line) (if (looking-at "^\\* ") (forward-char 2)))
(goto-char p)
(Info-restore-point Info-history)))))
(defun Info-history-back ()
"Go back in the history to the last node visited."
@ -4012,8 +4021,6 @@ This will add a speedbar major display mode."
(speedbar-change-initial-expansion-list "Info")
)
(eval-when-compile (defvar speedbar-attached-frame))
(defun Info-speedbar-hierarchy-buttons (directory depth &optional node)
"Display an Info directory hierarchy in speedbar.
DIRECTORY is the current directory in the attached frame.
@ -4030,13 +4037,12 @@ specific node to expand."
;; being known at creation time.
(if (not node)
(speedbar-with-writable (insert "Info Nodes:\n")))
(let ((completions nil)
(cf (selected-frame)))
(select-frame speedbar-attached-frame)
(let ((completions nil))
(speedbar-select-attached-frame)
(save-window-excursion
(setq completions
(Info-speedbar-fetch-file-nodes (or node '"(dir)top"))))
(select-frame cf)
(select-frame (speedbar-current-frame))
(if completions
(speedbar-with-writable
(dolist (completion completions)
@ -4052,7 +4058,7 @@ specific node to expand."
(defun Info-speedbar-goto-node (text node indent)
"When user clicks on TEXT, go to an info NODE.
The INDENT level is ignored."
(select-frame speedbar-attached-frame)
(speedbar-select-attached-frame)
(let* ((buff (or (get-buffer "*info*")
(progn (info) (get-buffer "*info*"))))
(bwin (get-buffer-window buff 0)))
@ -4062,7 +4068,7 @@ The INDENT level is ignored."
(raise-frame (window-frame bwin)))
(if speedbar-power-click
(let ((pop-up-frames t)) (select-window (display-buffer buff)))
(select-frame speedbar-attached-frame)
(speedbar-select-attached-frame)
(switch-to-buffer buff)))
(if (not (string-match "^(\\([^)]+\\))\\([^.]+\\)$" node))
(error "Invalid node %s" node)
@ -4128,7 +4134,7 @@ NODESPEC is a string of the form: (file)node."
(nreverse completions))))
;;; Info mode node listing
;; FIXME: Seems not to be used. -stef
;; This is called by `speedbar-add-localized-speedbar-support'
(defun Info-speedbar-buttons (buffer)
"Create a speedbar display to help navigation in an Info file.
BUFFER is the buffer speedbar is requesting buttons for."
@ -4136,8 +4142,7 @@ BUFFER is the buffer speedbar is requesting buttons for."
(let ((case-fold-search t))
(not (looking-at "Info Nodes:"))))
(erase-buffer))
(Info-speedbar-hierarchy-buttons nil 0)
)
(Info-speedbar-hierarchy-buttons nil 0))
(dolist (mess '("^First node in file$"
"^No `.*' in index$"

View File

@ -293,6 +293,7 @@ with a space, for which the regexp is `^ '. See the source file for
example functions that filter buffernames."
:type '(repeat (choice regexp function))
:group 'iswitchb)
(put 'iswitchb-buffer-ignore 'risky-local-variable t)
(defcustom iswitchb-max-to-show nil
"*If non-nil, limit the number of names shown in the minibuffer.
@ -942,7 +943,7 @@ BUFFER-LIST can be list of buffers or list of strings."
(progn
(setq ignorep t)
(setq re-list nil))))
((fboundp nextstr)
((functionp nextstr)
(if (funcall nextstr bufname)
(progn
(setq ignorep t)

View File

@ -3,7 +3,7 @@
;; This file is part of GNU Emacs.
;; Author: Bill Carpenter <bill@bubblegum.net>, <bill@carpenter.ORG>
;; Author: Bill Carpenter <bill@carpenter.ORG>
;; Version: 8
;; Keywords: email, queue, mail, sendmail, message, spray, smtp, draft
;; X-URL: <URL:http://www.carpenter.org/feedmail/feedmail.html>

View File

@ -1,3 +1,14 @@
2005-09-30 Bill Wohler <wohler@newt.com>
* mh-customize.el (mh-refile-msg, mh-tool-bar-reply-from)
(mh-tool-bar-reply-to, mh-tool-bar-reply-all)
(mh-alias-grab-from-field, mh-pack-folder): Image files moved to
etc/images/mail so added "mail/" prefix.
(mh-reply): Ditto. Also renamed reply2.* to reply.*.
(mh-rescan-folder): Ditto. Renamed image file to refresh.* since
it can be used in the general sense. Does not have "mail/"
prefix.
2005-09-24 Emilio C. Lopes <eclig@gmx.net>
* mh-mime.el (mh-compose-forward, mh-mhn-compose-forw):

View File

@ -1922,7 +1922,7 @@ This button runs `mh-previous-undeleted-msg'")
"Go to the next undeleted message\nThe button runs `mh-next-undeleted-msg'")
(mh-delete-msg (folder) "close"
"Mark this message for deletion\nThis button runs `mh-delete-msg'")
(mh-refile-msg (folder) "refile"
(mh-refile-msg (folder) "mail/refile"
"Refile this message\nThis button runs `mh-refile-msg'")
(mh-undo (folder) "undo" "Undo last operation\nThis button runs `undo'"
(mh-outstanding-commands-p))
@ -1933,19 +1933,19 @@ This button runs `mh-previous-undeleted-msg'")
"Toggle tick mark\nThis button runs `mh-toggle-tick'")
(mh-toggle-showing (folder) "show"
"Toggle showing message\nThis button runs `mh-toggle-showing'")
(mh-tool-bar-reply-from (folder) "reply-from" "Reply to \"from\"")
(mh-tool-bar-reply-to (folder) "reply-to" "Reply to \"to\"")
(mh-tool-bar-reply-all (folder) "reply-all" "Reply to \"all\"")
(mh-reply (folder) "mail/reply2"
(mh-tool-bar-reply-from (folder) "mail/reply-from" "Reply to \"from\"")
(mh-tool-bar-reply-to (folder) "mail/reply-to" "Reply to \"to\"")
(mh-tool-bar-reply-all (folder) "mail/reply-all" "Reply to \"all\"")
(mh-reply (folder) "mail/reply"
"Reply to this message\nThis button runs `mh-reply'")
(mh-alias-grab-from-field (folder) "alias"
(mh-alias-grab-from-field (folder) "mail/alias"
"Grab From alias\nThis button runs `mh-alias-grab-from-field'"
(and (mh-extract-from-header-value) (not (mh-alias-for-from-p))))
(mh-send (folder) "mail_compose"
"Compose new message\nThis button runs `mh-send'")
(mh-rescan-folder (folder) "rescan"
(mh-rescan-folder (folder) "refresh"
"Rescan this folder\nThis button runs `mh-rescan-folder'")
(mh-pack-folder (folder) "repack"
(mh-pack-folder (folder) "mail/repack"
"Repack this folder\nThis button runs `mh-pack-folder'")
(mh-tool-bar-search (folder) "search"
"Search\nThis button runs `mh-tool-bar-search-function'")

View File

@ -1298,6 +1298,8 @@ only return the directory part of FILE."
(setq file
(if (file-name-absolute-p temp)
temp
;; Wouldn't `expand-file-name' be better than `concat' ?
;; It would fail when `a/b/..' != `a', tho. --Stef
(concat (file-name-directory file) temp)))))
file)
@ -1385,12 +1387,12 @@ only return the directory part of FILE."
(if (or ange-ftp-disable-netrc-security-check
(and (eq (nth 2 attr) (user-uid)) ; Same uids.
(string-match ".r..------" (nth 8 attr))))
(save-excursion
(with-current-buffer
;; we are cheating a bit here. I'm trying to do the equivalent
;; of find-file on the .netrc file, but then nuke it afterwards.
;; with the bit of logic below we should be able to have
;; encrypted .netrc files.
(set-buffer (generate-new-buffer "*ftp-.netrc*"))
(generate-new-buffer "*ftp-.netrc*")
(ange-ftp-real-insert-file-contents file)
(setq buffer-file-name file)
(setq default-directory (file-name-directory file))
@ -1511,7 +1513,7 @@ then kill the related ftp process."
(setq buffer (current-buffer))
(setq buffer (get-buffer buffer)))
(let ((file (or (buffer-file-name buffer)
(save-excursion (set-buffer buffer) default-directory))))
(with-current-buffer buffer default-directory))))
(if file
(let ((parsed (ange-ftp-ftp-name (expand-file-name file))))
(if parsed
@ -1592,8 +1594,7 @@ good, skip, fatal, or unknown."
(if proc
(let ((buf (process-buffer proc)))
(if buf
(save-excursion
(set-buffer buf)
(with-current-buffer buf
(setq ange-ftp-xfer-size
;; For very large files, BYTES can be a float.
(if (integerp bytes)
@ -1763,8 +1764,7 @@ good, skip, fatal, or unknown."
(defun ange-ftp-gwp-filter (proc str)
(comint-output-filter proc str)
(save-excursion
(set-buffer (process-buffer proc))
(with-current-buffer (process-buffer proc)
;; Replace STR by the result of the comint processing.
(setq str (buffer-substring comint-last-output-start (process-mark proc))))
(cond ((string-match "login: *$" str)
@ -1800,8 +1800,7 @@ good, skip, fatal, or unknown."
(set-process-query-on-exit-flag proc nil)
(set-process-sentinel proc 'ange-ftp-gwp-sentinel)
(set-process-filter proc 'ange-ftp-gwp-filter)
(save-excursion
(set-buffer (process-buffer proc))
(with-current-buffer (process-buffer proc)
(goto-char (point-max))
(set-marker (process-mark proc) (point)))
(setq ange-ftp-gwp-running t
@ -1907,8 +1906,7 @@ been queued with no result. CONT will still be called, however."
ange-ftp-nslookup-program host)))
(res host))
(set-process-query-on-exit-flag proc nil)
(save-excursion
(set-buffer (process-buffer proc))
(with-current-buffer (process-buffer proc)
(while (memq (process-status proc) '(run open))
(accept-process-output proc))
(goto-char (point-min))
@ -1947,8 +1945,7 @@ on the gateway machine to do the ftp instead."
;; Copy this so we don't alter it permanently.
(process-environment (copy-tree process-environment))
(buffer (get-buffer-create name)))
(save-excursion
(set-buffer buffer)
(with-current-buffer buffer
(internal-ange-ftp-mode))
;; This tells GNU ftp not to output any fancy escape sequences.
(setenv "TERM" "dumb")
@ -1960,8 +1957,7 @@ on the gateway machine to do the ftp instead."
ange-ftp-gateway-host)
args))))
(setq proc (apply 'start-process name name args))))
(save-excursion
(set-buffer (process-buffer proc))
(with-current-buffer (process-buffer proc)
(goto-char (point-max))
(set-marker (process-mark proc) (point)))
(set-process-query-on-exit-flag proc nil)
@ -2127,8 +2123,7 @@ suffix of the form #PORT to specify a non-default port"
(defun ange-ftp-guess-hash-mark-size (proc)
(if ange-ftp-send-hash
(save-excursion
(set-buffer (process-buffer proc))
(with-current-buffer (process-buffer proc)
(let* ((status (ange-ftp-raw-send-cmd proc "hash"))
(line (cdr status)))
(save-match-data
@ -2308,6 +2303,14 @@ and NOWAIT."
(not (string-match "R" cmd3))
(setq cmd1 (concat cmd1 ".")))
;; Using "ls -flags foo" has several problems:
;; - if foo is a symlink, we may get a single line showing the symlink
;; rather than the listing of the directory it points to.
;; - if "foo" has spaces, the parsing of the command may be done wrong.
;; - some version of netbsd's ftpd only accept a single argument after
;; `ls', which can either be the directory or the flags.
;; So to work around those problems, we use "cd foo; ls -flags".
;; If the dir name contains a space, some ftp servers will
;; refuse to list it. We instead change directory to the
;; directory in question and ls ".".
@ -2324,14 +2327,14 @@ and NOWAIT."
;; This works around a misfeature of some versions of netbsd ftpd
;; where `ls' can only take one argument: either one set of flags
;; or a file/directory name.
;; FIXME: if we're trying to `ls' a single file, this fails since we
;; If we're trying to `ls' a single file, this fails since we
;; can't cd to a file. We can't fix this problem here, tho, because
;; at this point we don't know whether the argument is a file or
;; a directory. Such an `ls' is only every used (apparently) from
;; a directory. Such an `ls' is only ever used (apparently) from
;; `insert-directory' when the `full-directory-p' argument is nil
;; (which seems to only be used by dired when updating its display
;; after operating on a set of files). We should change
;; ange-ftp-insert-directory so that this case is handled by getting
;; after operating on a set of files). So we've changed
;; `ange-ftp-insert-directory' such that in this case it gets
;; a full listing of the directory and extracting the line
;; corresponding to the requested file.
(unless (equal cmd1 ".")
@ -2606,9 +2609,8 @@ away in the internal cache."
(format "Listing %s"
(ange-ftp-abbreviate-filename
ange-ftp-this-file)))))
(save-excursion
(set-buffer (get-buffer-create
ange-ftp-data-buffer-name))
(with-current-buffer (get-buffer-create
ange-ftp-data-buffer-name)
(erase-buffer)
(if (ange-ftp-real-file-readable-p temp)
(ange-ftp-real-insert-file-contents temp)
@ -3022,8 +3024,7 @@ this also returns nil."
(let ((result (ange-ftp-send-cmd host user '(type "binary"))))
(if (not (car result))
(ange-ftp-error host user (concat "BINARY failed: " (cdr result)))
(save-excursion
(set-buffer (process-buffer (ange-ftp-get-process host user)))
(with-current-buffer (process-buffer (ange-ftp-get-process host user))
(and ange-ftp-binary-hash-mark-size
(setq ange-ftp-hash-mark-unit
(ash ange-ftp-binary-hash-mark-size -4)))))))
@ -3033,8 +3034,7 @@ this also returns nil."
(let ((result (ange-ftp-send-cmd host user '(type "ascii"))))
(if (not (car result))
(ange-ftp-error host user (concat "ASCII failed: " (cdr result)))
(save-excursion
(set-buffer (process-buffer (ange-ftp-get-process host user)))
(with-current-buffer (process-buffer (ange-ftp-get-process host user))
(and ange-ftp-ascii-hash-mark-size
(setq ange-ftp-hash-mark-unit
(ash ange-ftp-ascii-hash-mark-size -4)))))))
@ -3174,7 +3174,7 @@ logged in as user USER and cd'd to directory DIR."
(ange-ftp-real-file-name-directory n))))))
(defun ange-ftp-expand-file-name (name &optional default)
"Documented as original."
"Documented as `expand-file-name'."
(save-match-data
(setq default (or default default-directory))
(cond ((eq (string-to-char name) ?~)
@ -3289,7 +3289,7 @@ system TYPE.")
;; cleanup forms
(setq coding-system-used last-coding-system-used)
(setq buffer-file-name filename)
(set-buffer-modified-p mod-p)))
(restore-buffer-modified-p mod-p)))
(if binary
(ange-ftp-set-binary-mode host user))
@ -3448,7 +3448,9 @@ system TYPE.")
(let ((file-ent (ange-ftp-get-file-entry
(ange-ftp-file-name-as-directory name))))
(if (stringp file-ent)
(file-directory-p
;; Calling file-directory-p doesn't work because ange-ftp
;; is temporarily disabled for this operation.
(ange-ftp-file-directory-p
(ange-ftp-expand-symlink file-ent
(file-name-directory
(directory-file-name name))))
@ -3640,8 +3642,7 @@ Value is (0 0) if the modification time cannot be determined."
;; (set (make-local-variable 'copy-cont) cont))))
;;
;; (defun ange-ftp-copy-file-locally-sentinel (proc status)
;; (save-excursion
;; (set-buffer (process-buffer proc))
;; (with-current-buffer (process-buffer proc)
;; (let ((cont copy-cont)
;; (result (buffer-string)))
;; (unwind-protect
@ -4476,21 +4477,38 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
;; `ange-ftp-ls' handles this.
(defun ange-ftp-insert-directory (file switches &optional wildcard full)
(let ((parsed (ange-ftp-ftp-name (expand-file-name file)))
tem)
(if parsed
(if (and (not wildcard)
(setq tem (file-symlink-p (directory-file-name file))))
(ange-ftp-insert-directory
(ange-ftp-expand-symlink
tem (file-name-directory (directory-file-name file)))
switches wildcard full)
(insert
(if wildcard
(let ((default-directory (file-name-directory file)))
(ange-ftp-ls (file-name-nondirectory file) switches nil nil t))
(ange-ftp-ls file switches full))))
(ange-ftp-real-insert-directory file switches wildcard full))))
(if (not (ange-ftp-ftp-name (expand-file-name file)))
(ange-ftp-real-insert-directory file switches wildcard full)
;; We used to follow symlinks on `file' here. Apparently it was done
;; because some FTP servers react to "ls foo" by listing the symlink foo
;; rather than the directory it points to. Now that ange-ftp-ls uses
;; "cd foo; ls" instead, this is not necesssary any more.
(insert
(cond
(wildcard
(let ((default-directory (file-name-directory file)))
(ange-ftp-ls (file-name-nondirectory file) switches nil nil t)))
(full
(ange-ftp-ls file switches 'parse))
(t
;; If `full' is nil we're going to do `ls' for a single file.
;; Problem is that for various reasons, ange-ftp-ls needs to cd and
;; then do an ls of current dir, which obviously won't work if we
;; want to ls a file. So instead, we get a full listing of the
;; parent directory and extract the line corresponding to `file'.
(when (string-match "d\\'" switches)
;; Remove "d" which dired added to `switches'.
(setq switches (substring switches 0 (match-beginning 0))))
(let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".")
switches nil))
(filename (file-name-nondirectory (directory-file-name file)))
(case-fold-search nil))
;; FIXME: This presumes a particular output format, which is
;; basically Unix.
(if (string-match (concat "^.+[^ ] " (regexp-quote filename)
"\\( -> .*\\)?[@/*=]?\n") dirlist)
(match-string 0 dirlist)
"")))))))
(defun ange-ftp-dired-uncache (dir)
(if (ange-ftp-ftp-name (expand-file-name dir))
@ -4502,10 +4520,8 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
(defun ange-ftp-file-name-sans-versions (file keep-backup-version)
(let* ((short (ange-ftp-abbreviate-filename file))
(parsed (ange-ftp-ftp-name short))
func)
(if parsed
(setq func (cdr (assq (ange-ftp-host-type (car parsed))
ange-ftp-sans-version-alist))))
(func (if parsed (cdr (assq (ange-ftp-host-type (car parsed))
ange-ftp-sans-version-alist)))))
(if func (funcall func file keep-backup-version)
(ange-ftp-real-file-name-sans-versions file keep-backup-version))))
@ -4649,10 +4665,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
;; target marker-char buffer overwrite-query
;; overwrite-backup-query failures skipped
;; success-count total)
;; (let ((old-buf (current-buffer)))
;; (unwind-protect
;; (progn
;; (set-buffer buffer)
;; (with-current-buffer buffer
;; (if (null fn-list)
;; (ange-ftp-dcf-3 failures operation total skipped
;; success-count buffer)
@ -4724,8 +4737,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
;; overwrite-query
;; overwrite-backup-query
;; failures skipped success-count
;; total))))))))
;; (set-buffer old-buf))))
;; total)))))))))
;;(defun ange-ftp-dcf-2 (result line err
;; file-creator operation fn-list
@ -4739,10 +4751,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
;; overwrite-backup-query
;; failures skipped success-count
;; total)
;; (let ((old-buf (current-buffer)))
;; (unwind-protect
;; (progn
;; (set-buffer buffer)
;; (with-current-buffer buffer
;; (if (or err (not result))
;; (progn
;; (setq failures (cons (dired-make-relative from) failures))
@ -4765,15 +4774,11 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
;; overwrite-query
;; overwrite-backup-query
;; failures skipped success-count
;; total))
;; (set-buffer old-buf))))
;; total)))
;;(defun ange-ftp-dcf-3 (failures operation total skipped success-count
;; buffer)
;; (let ((old-buf (current-buffer)))
;; (unwind-protect
;; (progn
;; (set-buffer buffer)
;; (with-current-buffer buffer
;; (cond
;; (failures
;; (dired-log-summary
@ -4788,8 +4793,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
;; (t
;; (message "%s: %s file%s."
;; operation success-count (dired-plural-s success-count))))
;; (dired-move-to-filename))
;; (set-buffer old-buf))))
;; (dired-move-to-filename)))
;;;; -----------------------------------------------
;;;; Unix Descriptive Listing (dl) Support

View File

@ -136,7 +136,7 @@ Nil means to use a separate filename syntax for Tramp.")
;; Avoid byte-compiler warnings if the byte-compiler supports this.
;; Currently, XEmacs supports this.
(eval-when-compile
(when (fboundp 'byte-compiler-options)
(when (featurep 'xemacs)
(let (unused-vars) ; Pacify Emacs byte-compiler
(defalias 'warnings 'identity) ; Pacify Emacs byte-compiler
(byte-compiler-options (warnings (- unused-vars))))))
@ -3681,7 +3681,7 @@ This will break if COMMAND prints a newline, followed by the value of
(let ((tmpbuf (get-buffer-create " *tramp tmp*")))
(set-buffer tmpbuf)
(erase-buffer)
(insert-buffer tramp-buf)
(insert-buffer-substring tramp-buf)
(tramp-message-for-buffer
multi-method method user host
6 "Decoding remote file %s with function %s..."

Some files were not shown because too many files have changed in this diff Show More