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:
commit
00e18f33ad
@ -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):
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
98
configure
vendored
@ -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
|
||||
|
24
configure.in
24
configure.in
@ -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
|
||||
|
@ -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>
|
||||
|
||||
|
9
etc/NEWS
9
etc/NEWS
@ -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
|
||||
|
||||
|
2
etc/TODO
2
etc/TODO
@ -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
5
etc/images/README
Normal 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.
|
20
etc/images/ezimage/bits.xpm
Normal file
20
etc/images/ezimage/bits.xpm
Normal file
@ -0,0 +1,20 @@
|
||||
/* XPM */
|
||||
static char * sb_obj_xpm[] = {
|
||||
"15 15 2 1",
|
||||
" c None",
|
||||
". c #000CFF",
|
||||
" .. . .. . ",
|
||||
". . . . . . ",
|
||||
". . . . . . ",
|
||||
". . . . . . ",
|
||||
" .. . .. . ",
|
||||
" ",
|
||||
". .. . .. ",
|
||||
". . . . . . ",
|
||||
". . . . . . ",
|
||||
". . . . . . ",
|
||||
". .. . .. ",
|
||||
" ",
|
||||
" .. . .. . ",
|
||||
". . . . . . ",
|
||||
". . . . . . "};
|
21
etc/images/ezimage/bitsbang.xpm
Normal file
21
etc/images/ezimage/bitsbang.xpm
Normal file
@ -0,0 +1,21 @@
|
||||
/* XPM */
|
||||
static char * sb_objod_xpm[] = {
|
||||
"15 15 3 1",
|
||||
" c None",
|
||||
". c #000CFF",
|
||||
"+ c #FFFA00",
|
||||
" .. . .. . ",
|
||||
". .++ . . . ",
|
||||
". .++ . . . ",
|
||||
". . ++. . . ",
|
||||
" .. ++ .. . ",
|
||||
" ++ ",
|
||||
". ..++. .. ",
|
||||
". . .++ . . ",
|
||||
". . .++ . . ",
|
||||
". . .++ . . ",
|
||||
". .. . .. ",
|
||||
" ++ ",
|
||||
" .. . ++. . ",
|
||||
". . . . . . ",
|
||||
". . . . . . "};
|
22
etc/images/ezimage/box-minus.xpm
Normal file
22
etc/images/ezimage/box-minus.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_box_minus_xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #000000",
|
||||
"+ c #828282",
|
||||
"@ c #D19200",
|
||||
"...+ +..+ ",
|
||||
".@@.+ +.@.+",
|
||||
"+.@@.+ +.@@@.",
|
||||
"+.@@@.+++++++++.@@..",
|
||||
" +..@............@.+",
|
||||
" +.@..@@@@@@@@@@@..+",
|
||||
" +.@@..............+",
|
||||
" +.@@.@@@@@@@@@@@@.+",
|
||||
" +.@@.@@@@@@@@@@@@.+",
|
||||
" +.@@.@@@......@@@.+",
|
||||
" +.@@.@@@......@@@.+",
|
||||
" +.@.@@@@@@@@@@@@.+",
|
||||
" +..@@@@@@@@@@@@.+",
|
||||
" +..............+",
|
||||
" ++++++++++++++ "};
|
22
etc/images/ezimage/box-plus.xpm
Normal file
22
etc/images/ezimage/box-plus.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_box_plus_xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #D19200",
|
||||
" ",
|
||||
" .............. ",
|
||||
" .++++++++++++++. ",
|
||||
" .++@@@@@@+@@@@@+. ",
|
||||
" .+@+@@@@@@+@@@@@+. ",
|
||||
" .+@@++++++++++++++.",
|
||||
" .+@@+@@@@@@@@@@@@+.",
|
||||
" .+@@+@@@@@++@@@@@+.",
|
||||
" .+@@+@@@@@++@@@@@+.",
|
||||
" .+@@+@@@++++++@@@+.",
|
||||
" .+@@+@@@++++++@@@+.",
|
||||
" .+@+@@@@@++@@@@@+.",
|
||||
" .++@@@@@++@@@@@+.",
|
||||
" .++++++++++++++.",
|
||||
" .............. "};
|
22
etc/images/ezimage/box.xpm
Normal file
22
etc/images/ezimage/box.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_box_xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFF993",
|
||||
" ",
|
||||
" ............... ",
|
||||
" .++++++++++++++. ",
|
||||
" .++@@@@@@+@@@@@+. ",
|
||||
" .+@+@@@@@@+@@@@@+. ",
|
||||
" .+@@++++++++++++++.",
|
||||
" .+@@+@@@@@@@@@@@@+.",
|
||||
" .+@@+@@@@@@@@@@@@+.",
|
||||
" .+@@+@@@@@@@@@@@@+.",
|
||||
" .+@@+@@@@@@@@@@@@+.",
|
||||
" .+@@+@@@@@@@@@@@@+.",
|
||||
" .+@+@@@@@@@@@@@@+.",
|
||||
". .++@@@@@@@@@@@@+.",
|
||||
" .++++++++++++++.",
|
||||
" .............. "};
|
20
etc/images/ezimage/checkmark.xpm
Normal file
20
etc/images/ezimage/checkmark.xpm
Normal file
@ -0,0 +1,20 @@
|
||||
/* XPM */
|
||||
static char * sb_chk_xpm[] = {
|
||||
"15 15 2 1",
|
||||
" c None",
|
||||
". c #FF0000",
|
||||
" ",
|
||||
" . . .. ",
|
||||
" . . . ",
|
||||
" . . . . ",
|
||||
" . .. . ",
|
||||
" .. ",
|
||||
" .. ",
|
||||
" ... .. ",
|
||||
" ... .. ",
|
||||
" .... .. ",
|
||||
" ... .. ",
|
||||
" .... ",
|
||||
" ... ",
|
||||
" . ",
|
||||
" "};
|
23
etc/images/ezimage/dir-minus.xpm
Normal file
23
etc/images/ezimage/dir-minus.xpm
Normal 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",
|
||||
" ....... ",
|
||||
".+++++++. ",
|
||||
".+@@@@@@+......... ",
|
||||
".+@@@@@@@++++++++. ",
|
||||
".+@@@@@@@@@@@@@@+...",
|
||||
".+@@++++++++++++++++",
|
||||
".+@@+##############+",
|
||||
".+@+##############+.",
|
||||
".+@+####++++++####+.",
|
||||
".+@+####++++++####+.",
|
||||
".+@+##############+.",
|
||||
".++##############+..",
|
||||
".++##############+. ",
|
||||
".+++++++++++++++++. ",
|
||||
" ................. "};
|
23
etc/images/ezimage/dir-plus.xpm
Normal file
23
etc/images/ezimage/dir-plus.xpm
Normal 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",
|
||||
" ....... ",
|
||||
".+++++++. ",
|
||||
".+@@@@@@+.......... ",
|
||||
".+@@@@@@@++++++++++.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+#######++#####@@+.",
|
||||
".+#######++######@+.",
|
||||
".+#####++++++####@+.",
|
||||
".+#####++++++####@+.",
|
||||
".+#######++######@+.",
|
||||
".+#######++######@+.",
|
||||
".+###############@+.",
|
||||
".+###############@+.",
|
||||
".++++++++++++++++++.",
|
||||
" .................. "};
|
23
etc/images/ezimage/dir.xpm
Normal file
23
etc/images/ezimage/dir.xpm
Normal 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",
|
||||
" ....... ",
|
||||
".+++++++. ",
|
||||
".+@@@@@@+.......... ",
|
||||
".+@@@@@@@++++++++++.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+##############@@+.",
|
||||
".+###############@+.",
|
||||
".+###############@+.",
|
||||
".+###############@+.",
|
||||
".+###############@+.",
|
||||
".+###############@+.",
|
||||
".+###############@+.",
|
||||
".+###############@+.",
|
||||
".++++++++++++++++++.",
|
||||
" .................. "};
|
23
etc/images/ezimage/doc-minus.xpm
Normal file
23
etc/images/ezimage/doc-minus.xpm
Normal 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",
|
||||
" ....... ",
|
||||
" .+++++++. ",
|
||||
" .+@@@@@@+. ",
|
||||
" .+@@@@@@+#. ",
|
||||
" .+@@@@@@+#+.",
|
||||
" .+@####@+##+.",
|
||||
" .+@@@@@@@+#+. ",
|
||||
" .+@@@@@@+##+. ",
|
||||
".++++@@@@+#+. ",
|
||||
".+###++++##+. ",
|
||||
".+########+. ",
|
||||
".++#######+. ",
|
||||
" ..++++##+. ",
|
||||
" ....+++. ",
|
||||
" ... "};
|
23
etc/images/ezimage/doc-plus.xpm
Normal file
23
etc/images/ezimage/doc-plus.xpm
Normal 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",
|
||||
" ....... ",
|
||||
" .+++++++. ",
|
||||
" .+@@@@@@+. ",
|
||||
" .+@@#@@@+#. ",
|
||||
" .+@@#@@@+#+.",
|
||||
" .+@#####+##+.",
|
||||
" .+@@@@#@@+#+. ",
|
||||
" .+@@@@#@+##+. ",
|
||||
".++++@@@@+#+. ",
|
||||
".+###++++##+. ",
|
||||
".+########+. ",
|
||||
".++#######+. ",
|
||||
" ..++++##+. ",
|
||||
" ....+++. ",
|
||||
" ... "};
|
23
etc/images/ezimage/doc.xpm
Normal file
23
etc/images/ezimage/doc.xpm
Normal 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",
|
||||
" ....... ",
|
||||
" .+++++++. ",
|
||||
" .+@@@@@@+. ",
|
||||
" .+@@@@@@+#. ",
|
||||
" .+@@@@@@+#+.",
|
||||
" .+@@@@@@+##+.",
|
||||
" .+@@@@@@@+#+. ",
|
||||
" .+@@@@@@+##+. ",
|
||||
".++++@@@@+#+. ",
|
||||
".+###++++##+. ",
|
||||
".+########+. ",
|
||||
".+########+. ",
|
||||
".++++++##+. ",
|
||||
" ......+++. ",
|
||||
" ... "};
|
22
etc/images/ezimage/info.xpm
Normal file
22
etc/images/ezimage/info.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_info_xpm[] = {
|
||||
"10 15 4 1",
|
||||
" c None",
|
||||
". c #BEBEBE",
|
||||
"+ c #0000FF",
|
||||
"@ c #FFFFFF",
|
||||
" .. ",
|
||||
" ..+++. ",
|
||||
" .+++@++. ",
|
||||
" .+++++++ ",
|
||||
" .+++++++ ",
|
||||
".++@@@++++",
|
||||
".++++@++++",
|
||||
".++++@++++",
|
||||
".++++@++++",
|
||||
" .+++@++++",
|
||||
" .+++@+++ ",
|
||||
" .+@@@@@+ ",
|
||||
" .+++++++ ",
|
||||
" .+++++ ",
|
||||
" ++ "};
|
23
etc/images/ezimage/key.xpm
Normal file
23
etc/images/ezimage/key.xpm
Normal file
@ -0,0 +1,23 @@
|
||||
/* XPM */
|
||||
static char * key_xpm[] = {
|
||||
"16 16 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFF993",
|
||||
" ........ ",
|
||||
" ..++++++.. ",
|
||||
" .+@@@@@@+. ",
|
||||
" .+@@++@@+. ",
|
||||
" .+@@@@@@+. ",
|
||||
" .+@@@@@@+. ",
|
||||
" .+@@@@@@+. ",
|
||||
" .+@@@@+. ",
|
||||
" .+@@+. ",
|
||||
" .+@@@+. ",
|
||||
" .+@@+. ",
|
||||
" .+@@+. ",
|
||||
" .+@@@+. ",
|
||||
" .+@@+. ",
|
||||
" .++. ",
|
||||
" .. "};
|
22
etc/images/ezimage/label.xpm
Normal file
22
etc/images/ezimage/label.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_label_xpm[] = {
|
||||
"10 16 3 1",
|
||||
" c None",
|
||||
". c gray",
|
||||
"+ c blue",
|
||||
" .....",
|
||||
" ..+++++",
|
||||
" .+++++++",
|
||||
" .++++++++",
|
||||
" .++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++",
|
||||
".+++++++++"};
|
23
etc/images/ezimage/lock.xpm
Normal file
23
etc/images/ezimage/lock.xpm
Normal file
@ -0,0 +1,23 @@
|
||||
/* XPM */
|
||||
static char * lock_xpm[] = {
|
||||
"16 16 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFF993",
|
||||
" ........ ",
|
||||
" ..++++++.. ",
|
||||
" .++....++. ",
|
||||
" .+......+. ",
|
||||
" ..+......+.. ",
|
||||
" ..++++++++++..",
|
||||
" .++@@@@@@@@++.",
|
||||
" .+@@@@@@@@@@+.",
|
||||
" .+@@@@@@@@@@+.",
|
||||
" .+@@@++++@@@+.",
|
||||
" .+@@@@++@@@@+.",
|
||||
" .+@@@@@@@@@@+.",
|
||||
" .+@@@@++@@@@+.",
|
||||
" .+@@@@@@@@@@+.",
|
||||
" .++++++++++++.",
|
||||
" .............."};
|
22
etc/images/ezimage/mail.xpm
Normal file
22
etc/images/ezimage/mail.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_mail_xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFFFFF",
|
||||
"................... ",
|
||||
".++++++++++++++++++.",
|
||||
".++@@@@@@@@@@@@@@++.",
|
||||
".+@++@@@@@@@@@@++@+.",
|
||||
".+@@@++@@@@@@++@@@+.",
|
||||
".+@@@@@++@@++@@@@@+.",
|
||||
".+@@@@@@@++@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@+@@@@@@+@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@+@@@@@@@@@@+@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".++@@@@@@@@@@@@@@++.",
|
||||
".++++++++++++++++++.",
|
||||
" .................. "};
|
23
etc/images/ezimage/page-minus.xpm
Normal file
23
etc/images/ezimage/page-minus.xpm
Normal 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",
|
||||
" ............ ",
|
||||
" .++++++++++++.",
|
||||
" .++@@@@@@@@@@+.",
|
||||
" .+#+@@@@@@@@@@+.",
|
||||
" .+##+@@@@@@@@@@+.",
|
||||
" .+###+@@@@@@@@@@+.",
|
||||
" .+####+@@@@@@@@@@+.",
|
||||
".+++++++@++++++@@@+.",
|
||||
".+@@@@@@@++++++@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".++++++++++++++++++.",
|
||||
" .................. "};
|
23
etc/images/ezimage/page-plus.xpm
Normal file
23
etc/images/ezimage/page-plus.xpm
Normal 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",
|
||||
" ............ ",
|
||||
" .++++++++++++.",
|
||||
" .++@@@@@@@@@@+.",
|
||||
" .+#+@@@@@@@@@@+.",
|
||||
" .+##+@@@@@@@@@@+.",
|
||||
" .+###+@@@++@@@@@+.",
|
||||
" .+####+@@@++@@@@@+.",
|
||||
".+++++++@++++++@@@+.",
|
||||
".+@@@@@@@++++++@@@+.",
|
||||
".+@@@@@@@@@++@@@@@+.",
|
||||
".+@@@@@@@@@++@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".++++++++++++++++++.",
|
||||
" .................. "};
|
23
etc/images/ezimage/page.xpm
Normal file
23
etc/images/ezimage/page.xpm
Normal 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",
|
||||
" ............ ",
|
||||
" .++++++++++++.",
|
||||
" .++@@@@@@@@@@+.",
|
||||
" .+#+@@@@@@@@@@+.",
|
||||
" .+##+@@@@@@@@@@+.",
|
||||
" .+###+@@@@@@@@@@+.",
|
||||
" .+####+@@@@@@@@@@+.",
|
||||
".+++++++@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".++++++++++++++++++.",
|
||||
" .................. "};
|
22
etc/images/ezimage/tag-gt.xpm
Normal file
22
etc/images/ezimage/tag-gt.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_tag_gt_xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFF993",
|
||||
" ",
|
||||
" ",
|
||||
" ............... ",
|
||||
" .+++++++++++++++.",
|
||||
" .+@@@@@++@@@@@@@+.",
|
||||
" .+@@@@@@+++@@@@@@+.",
|
||||
".+@@@@@@@++++@@@@@+.",
|
||||
".+@++@@@@+++++@@@@+.",
|
||||
".+@++@@@@+++++.@@@+.",
|
||||
".+@@@@@@@++++.@@@@+.",
|
||||
" .+@@@@@@+++.@@@@@+.",
|
||||
" .+@@@@@++.@@@@@@+.",
|
||||
". .++++++.++++++++.",
|
||||
" ............... ",
|
||||
" "};
|
22
etc/images/ezimage/tag-minus.xpm
Normal file
22
etc/images/ezimage/tag-minus.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_tag__xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFF993",
|
||||
" ",
|
||||
" ",
|
||||
" ............... ",
|
||||
" .+++++++++++++++.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
" .+@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@++@@++++++@@@@@+.",
|
||||
".+@++@@++++++@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
" .+@@@@@@@@@@@@@@@+.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
". .+++++++++++++++.",
|
||||
" ............... ",
|
||||
" "};
|
22
etc/images/ezimage/tag-plus.xpm
Normal file
22
etc/images/ezimage/tag-plus.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_tag+_xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFF993",
|
||||
" ",
|
||||
" ",
|
||||
" ............... ",
|
||||
" .+++++++++++++++.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
" .+@@@@@@++@@@@@@@+.",
|
||||
".+@@@@@@@++@@@@@@@+.",
|
||||
".+@++@@++++++@@@@@+.",
|
||||
".+@++@@++++++@@@@@+.",
|
||||
".+@@@@@@@++@@@@@@@+.",
|
||||
" .+@@@@@@++@@@@@@@+.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
". .+++++++++++++++.",
|
||||
" ............... ",
|
||||
" "};
|
22
etc/images/ezimage/tag-type.xpm
Normal file
22
etc/images/ezimage/tag-type.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_tag_type_xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFF993",
|
||||
" ",
|
||||
" ",
|
||||
" ............... ",
|
||||
" .+++++++++++++++.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
" .+@@@@@@++++++@@@+.",
|
||||
".+@@@@@@@++++++@@@+.",
|
||||
".+@++@@@@@@++@@@@@+.",
|
||||
".+@++@@@@@@++@@@@@+.",
|
||||
".+@@@@@@@@@++@@@@@+.",
|
||||
" .+@@@@@@@@++@@@@@+.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
". .+++++++++++++++.",
|
||||
" ............... ",
|
||||
" "};
|
22
etc/images/ezimage/tag-v.xpm
Normal file
22
etc/images/ezimage/tag-v.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_tag_v_xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFF993",
|
||||
" ",
|
||||
" ",
|
||||
" ............... ",
|
||||
" .+++++++++++++++.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
" .+@@@++++++++++.@+.",
|
||||
".+@@@@@++++++++.@@+.",
|
||||
".+@++@@@++++++.@@@+.",
|
||||
".+@++@@@@++++.@@@@+.",
|
||||
".+@@@@@@@@++.@@@@@+.",
|
||||
" .+@@@@@@@@.@@@@@@+.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
". .+++++++++++++++.",
|
||||
" ............... ",
|
||||
" "};
|
22
etc/images/ezimage/tag.xpm
Normal file
22
etc/images/ezimage/tag.xpm
Normal file
@ -0,0 +1,22 @@
|
||||
/* XPM */
|
||||
static char * sb_tag_xpm[] = {
|
||||
"20 15 4 1",
|
||||
" c None",
|
||||
". c #828282",
|
||||
"+ c #000000",
|
||||
"@ c #FFF993",
|
||||
" ",
|
||||
" ",
|
||||
" ............... ",
|
||||
" .+++++++++++++++.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
" .+@@@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
".+@++@@@@@@@@@@@@@+.",
|
||||
".+@++@@@@@@@@@@@@@+.",
|
||||
".+@@@@@@@@@@@@@@@@+.",
|
||||
" .+@@@@@@@@@@@@@@@+.",
|
||||
" .+@@@@@@@@@@@@@@+.",
|
||||
". .+++++++++++++++.",
|
||||
" ............... ",
|
||||
" "};
|
23
etc/images/ezimage/unlock.xpm
Normal file
23
etc/images/ezimage/unlock.xpm
Normal 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
BIN
etc/images/refresh.pbm
Normal file
Binary file not shown.
113
etc/images/refresh.xpm
Normal file
113
etc/images/refresh.xpm
Normal 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. ",
|
||||
" .. ",
|
||||
" . ",
|
||||
" ",
|
||||
" "};
|
14759
lisp/ChangeLog
14759
lisp/ChangeLog
File diff suppressed because it is too large
Load Diff
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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 "
|
||||
|
@ -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'.")
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
1073
lisp/dframe.el
Normal file
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -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"))))
|
||||
|
@ -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)))
|
||||
|
@ -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))
|
||||
|
@ -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)
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
371
lisp/ezimage.el
Normal 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
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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...
|
||||
|
@ -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)
|
||||
|
69
lisp/info.el
69
lisp/info.el
@ -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$"
|
||||
|
@ -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)
|
||||
|
@ -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>
|
||||
|
@ -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):
|
||||
|
@ -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'")
|
||||
|
@ -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
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user