Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-413 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-414 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-415 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-416 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-417 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-418 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-419 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-420 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-421 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-422 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-423 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-424 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-425 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-426 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-427 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-428 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-429 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-430 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-431 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-432 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-433 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-434 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-435 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-436 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-437 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-438 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-439 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-440 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-441 lisp/url/url-methods.el: Fix format error when http_proxy is empty string * emacs@sv.gnu.org/emacs--devo--0--patch-442 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-443 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-444 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-445 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-446 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-447 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-448 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-449 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-450 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-451 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-452 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-453 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-454 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-455 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-456 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-457 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-458 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-459 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-460 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-461 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-462 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-463 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-464 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-465 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-466 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-467 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-468 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-469 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-470 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-471 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-472 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-473 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-128 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-129 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-130 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-131 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-132 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-133 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-134 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-135 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-136 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-137 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-138 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-139 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-140 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-141 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-142 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-143 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-144 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-145 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-146 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-147 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-148 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-149 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-582
This commit is contained in:
commit
12b6af5c7e
312 changed files with 18192 additions and 8333 deletions
317
AUTHORS
317
AUTHORS
|
@ -12,7 +12,7 @@ Abraham Nahum: changed configure.in dgux4.h sysdep.c
|
|||
Abramo Bagnara: changed term.c
|
||||
|
||||
Adrian Aichner: changed erc-log.el erc.el erc-autojoin.el erc-backend.el
|
||||
erc-dcc.el erc-members.el erc-nets.el erc-sound.el
|
||||
erc-dcc.el erc-members.el erc-nets.el erc-sound.el etags.c
|
||||
|
||||
Adrian Colley: changed aix3-2.h
|
||||
|
||||
|
@ -46,7 +46,7 @@ Albert L. Ting: changed gnus-group.el mail-hist.el
|
|||
|
||||
Alex Coventry: changed files.el
|
||||
|
||||
Alex Ott: changed TUTORIAL.ru ispell.el ru-refcard.ps ru-refcard.tex
|
||||
Alex Ott: changed TUTORIAL.ru ru-refcard.tex ispell.el ru-refcard.ps
|
||||
|
||||
Alex Rezinsky: wrote which-func.el
|
||||
|
||||
|
@ -56,8 +56,8 @@ Alex Schroeder: wrote ansi-color.el cus-theme.el erc-compat.el
|
|||
and changed erc.el erc-track.el erc-button.el erc-stamp.el erc-match.el
|
||||
erc-autoaway.el erc-nickserv.el Makefile erc-autojoin.el erc-fill.el
|
||||
erc-pcomplete.el erc-complete.el erc-ibuffer.el erc-members.el
|
||||
comint.el custom.el erc-bbdb.el erc-chess.el erc-ezbounce.el
|
||||
erc-imenu.el erc-page.el and 24 other files
|
||||
rcirc.texi comint.el custom.el erc-bbdb.el erc-chess.el erc-ezbounce.el
|
||||
erc-imenu.el and 24 other files
|
||||
|
||||
Alexander Klimov: changed man.el
|
||||
|
||||
|
@ -80,6 +80,8 @@ Alfred Correira: changed generic-x.el
|
|||
|
||||
Alfred M. Szmidt: changed compile.el html2text.el
|
||||
|
||||
Alfredo Finelli: changed TUTORIAL.it
|
||||
|
||||
Ami Fischman: changed calendar.el diary-lib.el
|
||||
|
||||
Anders Holst: wrote hippie-exp.el
|
||||
|
@ -110,11 +112,12 @@ Andreas Leue: changed artist.el
|
|||
Andreas Luik: changed xfns.c xterm.c
|
||||
|
||||
Andreas Schwab: changed Makefile.in files.el lisp.h xdisp.c alloc.c
|
||||
configure.in fns.c coding.c dired.el editfns.c info.el eval.c fileio.c
|
||||
print.c simple.el buffer.c minibuf.c xterm.c emacs.c keyboard.c
|
||||
process.c and 443 other files
|
||||
configure.in fns.c print.c coding.c dired.el editfns.c info.el eval.c
|
||||
fileio.c simple.el buffer.c minibuf.c xterm.c emacs.c keyboard.c
|
||||
process.c and 444 other files
|
||||
|
||||
Andreas Seltenreich: changed nnweb.el gnus-art.el gnus-ml.el gnus.texi
|
||||
Andreas Seltenreich: changed nnweb.el gnus-art.el gnus-ml.el gnus-srvr.el
|
||||
gnus-start.el gnus-util.el gnus.el gnus.texi mm-url.el nnslashdot.el
|
||||
url-cookie.el url-http.el
|
||||
|
||||
Andrew Choi: wrote mac-win.el
|
||||
|
@ -189,6 +192,8 @@ Benjamin Riefenstahl: changed emacs.c mac-win.el macterm.c ms-w32.h
|
|||
Benjamin Rutt: changed vc.el diff-mode.el ffap.el nnmbox.el simple.el
|
||||
vc-cvs.el
|
||||
|
||||
Bill Atkins: changed wdired.el
|
||||
|
||||
Bill Burton: changed ptx.h sequent-ptx.h
|
||||
|
||||
Bill Carpenter: wrote feedmail.el (public domain)
|
||||
|
@ -231,6 +236,8 @@ and changed isearch.el sendmail.el
|
|||
|
||||
Bob Halley: changed esh-io.el
|
||||
|
||||
Bob Rogers: changed ffap.el
|
||||
|
||||
Bob Weiner: changed info.el quail.el
|
||||
|
||||
Boris Goldowsky: wrote avoid.el descr-text.el enriched.el facemenu.el
|
||||
|
@ -304,17 +311,18 @@ Charlie Martin: wrote autoinsert.el
|
|||
Cheng Gao: changed MORE.STUFF flymake.el tips.texi url-dired.el
|
||||
url-file.el url-handlers.el url-http.el url-nfs.el
|
||||
|
||||
Chong Yidong: changed custom.el cus-edit.el longlines.el display.texi
|
||||
files.el files.texi simple.el text.texi custom.texi cus-theme.el
|
||||
wid-edit.el xterm.c frames.texi info.el misc.texi mouse.el xfns.c
|
||||
anti.texi dired.texi image.c keymaps.texi and 131 other files
|
||||
Chong Yidong: changed cus-edit.el custom.el simple.el display.texi
|
||||
longlines.el files.el text.texi custom.texi files.texi wid-edit.el
|
||||
cus-theme.el info.el keyboard.c xterm.c compile.el frames.texi
|
||||
image-mode.el keymaps.texi misc.texi mouse.el sendmail.el
|
||||
and 156 other files
|
||||
|
||||
Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c
|
||||
hp9000s300.h keyboard.c process.c texinfmt.el emacsclient.c sort.el
|
||||
syntax.c texnfo-upd.el x11fns.c xfns.c dired.el fileio.c hp9000s800.h
|
||||
indent.c info.el man.el and 17 other files
|
||||
|
||||
Chris Moore: changed wdired.el
|
||||
Chris Moore: changed dired.el wdired.el
|
||||
|
||||
Chris Prince: changed w32term.c
|
||||
|
||||
|
@ -378,10 +386,10 @@ Dan Christensen: changed gnus-sum.el nnfolder.el gnus-art.el
|
|||
gnus-group.el gnus-score.el nnmail.el
|
||||
|
||||
Dan Nicolaescu: wrote iris-ansi.el romanian.el
|
||||
and changed term.el hideshow.el xterm.el isearch.el icon.el cus-edit.el
|
||||
font-lock.el lisp.h sh-script.el eterm-color.ti faces.el rxvt.el
|
||||
vhdl-mode.el bindings.el compile.el dabbrev.el grep.el ibuffer.el
|
||||
imenu.el outline.el replace.el and 153 other files
|
||||
and changed term.el xterm.el hideshow.el isearch.el icon.el lisp.h
|
||||
cus-edit.el font-lock.el sh-script.el eterm-color.ti faces.el
|
||||
ibuffer.el rxvt.el vhdl-mode.el xterm.c bindings.el compile.el
|
||||
dabbrev.el grep.el imenu.el outline.el and 159 other files
|
||||
|
||||
Daniel Brockman: changed cus-start.el format-spec.el ibuffer.el rcirc.el
|
||||
|
||||
|
@ -425,7 +433,7 @@ Dave Love: wrote autoarg.el autoconf.el benchmark.el cfengine.el
|
|||
welsh.el
|
||||
and changed configure.in Makefile.in help.el fortran.el browse-url.el
|
||||
mule-cmds.el simple.el xterm.c cus-edit.el files.el info.el mule.el
|
||||
wid-edit.el vc.el fns.c rfc2047.el bindings.el cus-start.el buffer.c
|
||||
wid-edit.el fns.c vc.el rfc2047.el bindings.el cus-start.el buffer.c
|
||||
byte-opt.el bytecomp.el and 729 other files
|
||||
|
||||
Dave Pearson: wrote 5x5.el quickurl.el
|
||||
|
@ -470,10 +478,9 @@ David J. Mackenzie: changed configure.in etags.c fakemail.c movemail.c
|
|||
etags-vmslib.c fortran.el hexl.c isearch.el and 12 other files
|
||||
|
||||
David Kastrup: changed greek.el replace.el search.c ange-ftp.el faq.texi
|
||||
calc.el meta-mode.el process.c search.texi DEBUG MAILINGLISTS
|
||||
Makefile.in autoload.el browse-url.el buffer.c building.texi
|
||||
calc-alg.el configure.in cus-theme.el desktop.el dispnew.c
|
||||
and 21 other files
|
||||
help.el mouse.el Makefile.in calc.el desktop.el keymaps.texi
|
||||
meta-mode.el process.c search.texi DEBUG MAILINGLISTS autoload.el
|
||||
browse-url.el buffer.c building.texi calc-alg.el and 30 other files
|
||||
|
||||
David K,Ae(Bgedal: wrote tempo.el
|
||||
and changed sendmail.el xmenu.c
|
||||
|
@ -530,6 +537,8 @@ Deepak Goel: changed README ada-mode.el ada-xref.el appt.el apropos.el
|
|||
|
||||
Denis Howe: wrote browse-url.el
|
||||
|
||||
Denis St,A|(Bnkel: changed ibuf-ext.el
|
||||
|
||||
Derek Atkins: changed pgg-pgp.el
|
||||
|
||||
Derek L. Davies: changed gud.el
|
||||
|
@ -542,7 +551,7 @@ Diane Murray: changed erc.el erc-button.el erc-menu.el erc-match.el
|
|||
erc-track.el erc-nets.el erc-backend.el erc-list.el erc-nickserv.el
|
||||
erc-autoaway.el erc-stamp.el erc-compat.el erc-goodies.el erc-log.el
|
||||
Makefile erc-fill.el erc-ibuffer.el erc-notify.el erc-ring.el
|
||||
erc-speak.el erc-speedbar.el and 22 other files
|
||||
erc-speak.el erc-speedbar.el and 25 other files
|
||||
|
||||
Dick King: wrote uniquify.el
|
||||
|
||||
|
@ -584,8 +593,8 @@ and changed diary.el tex-mode.el cal-tex.el cal-mayan.el holiday.el
|
|||
|
||||
Edward O'connor: changed erc.el erc-viper.el erc-log.el erc-track.el
|
||||
viper.el erc-backend.el erc-chess.el erc-dcc.el erc-ezbounce.el
|
||||
erc-list.el erc-macs.el erc-match.el erc-ring.el erc-stamp.el
|
||||
goto-addr.el
|
||||
erc-goodies.el erc-list.el erc-macs.el erc-match.el erc-ring.el
|
||||
erc-stamp.el goto-addr.el
|
||||
|
||||
Edwin Steiner: changed gnus-nocem.el
|
||||
|
||||
|
@ -601,8 +610,8 @@ Eli Tziperman: wrote rmail-spam-filter.el
|
|||
Eli Zaretskii: wrote codepage.el rxvt.el tty-colors.el
|
||||
and changed msdos.c Makefile.in files.el makefile.w32-in info.el fileio.c
|
||||
startup.el mainmake.v2 config.bat menu-bar.el pc-win.el simple.el
|
||||
internal.el msdos.h xfaces.c rmail.el dosfns.c frame.c faces.el emacs.c
|
||||
frame.el and 512 other files
|
||||
internal.el msdos.h xfaces.c frame.c rmail.el dosfns.c faces.el
|
||||
frame.el emacs.c and 517 other files
|
||||
|
||||
Emanuele Giaquinta: changed rxvt.el configure.in etags.c frame.el
|
||||
sh-script.el text.texi
|
||||
|
@ -628,8 +637,8 @@ Eric Decker: changed hp9000s800.h hpux.h sysdep.c
|
|||
Eric Ding: wrote goto-addr.el
|
||||
and changed mh-utils.el mh-e.el mh-comp.el mh-mime.el
|
||||
|
||||
Eric Hanchrow: changed TUTORIAL.es abbrev.el autorevert.el dired.el
|
||||
emacsclient.c ispell.el make-dist
|
||||
Eric Hanchrow: changed TUTORIAL.es abbrev.el autorevert.el delphi.el
|
||||
dired.el emacsclient.c ispell.el make-dist
|
||||
|
||||
Eric M. Ludlam: wrote checkdoc.el dframe.el ezimage.el sb-image.el
|
||||
speedbar.el
|
||||
|
@ -686,6 +695,8 @@ Flemming Hoejstrup Hansen: changed forms.el
|
|||
Florian Weimer: changed message.el coding.c gnus-art.el gnus.el gnus.texi
|
||||
mm-util.el
|
||||
|
||||
Francesc Rocher: changed cus-start.el macterm.c w32term.c xdisp.c xterm.c
|
||||
|
||||
Francesco Potort,Al(B: wrote cmacexp.el
|
||||
and changed etags.c man.el delta.h undigest.el comint.el configure.in
|
||||
uniquify.el etags.1 latin-post.el rmail.el etags.el latin-alt.el
|
||||
|
@ -699,7 +710,7 @@ Francis Litterio: changed erc.el erc-list.el erc-dcc.el erc-notify.el
|
|||
erc-button.el erc-goodies.el erc-nets.el erc-ring.el Makefile
|
||||
erc-pcomplete.el erc-backend.el erc-ibuffer.el erc-match.el
|
||||
erc-nickserv.el erc-page.el erc-speedbar.el keymaps.texi message.el
|
||||
os.texi saveplace.el xterm.c xterm.h
|
||||
os.texi saveplace.el w32term.c and 3 other files
|
||||
|
||||
Francois Felix Ingrand: changed gnus-salt.el
|
||||
|
||||
|
@ -795,7 +806,7 @@ Glenn Morris: changed f90.el diary-lib.el calendar.el fortran.el
|
|||
calendar.texi appt.el sh-script.el timeclock.el cal-menu.el
|
||||
cal-hebrew.el cal-islam.el files.el holidays.el programs.texi
|
||||
scroll-all.el startup.el cal-coptic.el cal-julian.el cal-move.el
|
||||
cal-tex.el cal-x.el and 36 other files
|
||||
cal-tex.el cal-x.el and 37 other files
|
||||
|
||||
Glynn Clements: wrote gamegrid.el snake.el tetris.el
|
||||
|
||||
|
@ -824,7 +835,7 @@ Guillermo J. Rozas: wrote fakemail.c
|
|||
|
||||
Gunnar Horrigmo: changed gnus-sum.el
|
||||
|
||||
Gustav H,Ae(Bllberg: changed compile.el
|
||||
Gustav H,Ae(Bllberg: changed compile.el rect.el
|
||||
|
||||
Guy Geens: changed gnus-score.el
|
||||
|
||||
|
@ -959,9 +970,9 @@ and changed bytecode.c mail-extr.el subr.el
|
|||
|
||||
Jan Dj,Ad(Brv: wrote dnd.el x-dnd.el
|
||||
and changed gtkutil.c xterm.c xfns.c xmenu.c xterm.h gtkutil.h
|
||||
configure.in Makefile.in config.in configure frames.texi keyboard.c
|
||||
emacs.c x-win.el xselect.c xlwmenu.c alloc.c startup.el xdisp.c
|
||||
xresources.texi fileio.c and 168 other files
|
||||
configure.in keyboard.c Makefile.in config.in frames.texi configure
|
||||
x-win.el emacs.c xselect.c alloc.c xlwmenu.c startup.el xdisp.c
|
||||
xresources.texi cus-start.el and 172 other files
|
||||
|
||||
Jan Nieuwenhuizen: changed info.el TUTORIAL.nl emacs.c emacsclient.c
|
||||
gnus-start.el gud.el nnmh.el server.el startup.el
|
||||
|
@ -983,13 +994,13 @@ Jason Rumney: wrote w32-vars.el
|
|||
and changed w32fns.c w32term.c w32menu.c w32-win.el w32term.h
|
||||
makefile.w32-in w32.c w32bdf.c w32-fns.el w32select.c w32console.c
|
||||
w32gui.h w32proc.c keyboard.c mule-cmds.el emacs.c fileio.c w32bdf.h
|
||||
w32inevt.c config.nt configure.bat and 77 other files
|
||||
w32inevt.c config.nt configure.bat and 79 other files
|
||||
|
||||
Jay Belanger: changed calc.texi calc.el calc-ext.el calc-embed.el
|
||||
calc-aent.el calc-prog.el calc-arith.el calc-help.el calc-lang.el
|
||||
calcalg2.el calc-graph.el calc-store.el calc-units.el calc-misc.el
|
||||
calc-yank.el calc-alg.el calc-poly.el calccomp.el calc-mode.el
|
||||
calc-vec.el calc-forms.el and 26 other files
|
||||
calcalg2.el COPYING calc-graph.el calc-store.el calc-units.el
|
||||
calc-misc.el calc-yank.el calc-alg.el calc-poly.el calccomp.el
|
||||
calc-mode.el calc-rewr.el and 34 other files
|
||||
|
||||
Jay K. Adams: wrote jka-cmpr-hook.el jka-compr.el
|
||||
|
||||
|
@ -999,6 +1010,8 @@ Jean-Philippe Theberge: wrote thumbs.el
|
|||
|
||||
Jeff Dwork: changed ehelp.el facemenu.el
|
||||
|
||||
Jeff Miller: changed appt.el
|
||||
|
||||
Jeff Morgenthaler: changed flow-ctrl.el vt200.el vt201.el vt220.el
|
||||
vt240.el
|
||||
|
||||
|
@ -1056,6 +1069,8 @@ Jim Thompson: wrote ps-print.el
|
|||
|
||||
Jim Wilson: changed Makefile.in alloca.c
|
||||
|
||||
Jindrich Makovicka: changed eval.c fns.c
|
||||
|
||||
Jirka Kosek: changed mule.el
|
||||
|
||||
Joakim Hove: wrote html2text.el
|
||||
|
@ -1092,10 +1107,10 @@ Joel Ray Holveck: changed gnus-sum.el info.el
|
|||
Joev Dubach: changed nntp.el
|
||||
|
||||
Johan Bockg,Ae(Brd: changed erc.el erc-backend.el cl-macs.el erc-match.el
|
||||
erc-nickserv.el erc-ring.el erc-speak.el erc-track.el align.el
|
||||
calendar.el cl.texi custom.el dired-aux.el display.texi erc-bbdb.el
|
||||
erc-button.el erc-compat.el erc-dcc.el erc-list.el erc-log.el
|
||||
erc-nicklist.el and 9 other files
|
||||
erc-nickserv.el erc-ring.el erc-speak.el erc-track.el simple.el
|
||||
align.el calendar.el cl.texi custom.el dired-aux.el display.texi
|
||||
erc-bbdb.el erc-button.el erc-compat.el erc-dcc.el erc-list.el
|
||||
erc-log.el and 10 other files
|
||||
|
||||
Johan Vromans: wrote forms-d2.el forms.el iso-acc.el
|
||||
and changed complete.el
|
||||
|
@ -1110,7 +1125,7 @@ John Grabowski: changed xfaces.c xfns.c
|
|||
|
||||
John H. Palmieri: changed gnus-fun.el
|
||||
|
||||
John Heidemann: wrote mouse-copy.el mouse-drag.el zone-mode.el
|
||||
John Heidemann: wrote mouse-copy.el mouse-drag.el
|
||||
|
||||
John Hughes: changed term.c
|
||||
|
||||
|
@ -1118,8 +1133,8 @@ John Mongan: changed f90.el
|
|||
|
||||
John Paul Wallington: changed ibuffer.el ibuf-ext.el subr.el files.el
|
||||
help-fns.el thumbs.el fns.c rmail.el bindings.el bytecomp.el
|
||||
cus-theme.el info.el re-builder.el startup.el xfns.c apropos.el
|
||||
arc-mode.el browse-url.el comint.el cus-start.el display.texi
|
||||
cus-theme.el info.el re-builder.el simple.el startup.el xfns.c
|
||||
apropos.el arc-mode.el browse-url.el comint.el cus-start.el
|
||||
and 115 other files
|
||||
|
||||
John Robinson: wrote bg-mouse.el
|
||||
|
@ -1166,7 +1181,7 @@ and changed erc.el erc-track.el erc-backend.el erc-match.el erc-stamp.el
|
|||
erc-button.el erc-fill.el erc-truncate.el erc-compat.el erc-members.el
|
||||
Makefile erc-dcc.el erc-ibuffer.el erc-page.el erc-pcomplete.el
|
||||
erc-sound.el erc-bbdb.el erc-imenu.el erc-lang.el erc-list.el
|
||||
erc-macs.el and 8 other files
|
||||
erc-macs.el and 9 other files
|
||||
|
||||
Jose E. Marchesi: changed smtpmail.el
|
||||
|
||||
|
@ -1194,7 +1209,7 @@ and changed files.el perl-mode.el
|
|||
Juanma Barranquero: changed makefile.w32-in help-fns.el subr.el faces.el
|
||||
files.el w32fns.c cperl-mode.el replace.el simple.el eval.c
|
||||
sh-script.el vhdl-mode.el comint.el org.el xdisp.c allout.el bs.el
|
||||
desktop.el idlwave.el keyboard.c process.c and 549 other files
|
||||
desktop.el idlwave.el keyboard.c process.c and 550 other files
|
||||
|
||||
Juergen Hoetzel: changed url-handlers.el
|
||||
|
||||
|
@ -1208,8 +1223,8 @@ Jure Cuhalev: changed ispell.el
|
|||
|
||||
Juri Linkov: changed info.el simple.el isearch.el replace.el compile.el
|
||||
faces.el display.texi grep.el descr-text.el cus-edit.el dired.el
|
||||
dired-aux.el edebug.el files.el lisp-mode.el lisp.el mule.el
|
||||
compare-w.el desktop.el files.texi font-lock.el and 218 other files
|
||||
dired-aux.el edebug.el files.el lisp-mode.el lisp.el modes.texi mule.el
|
||||
compare-w.el desktop.el files.texi and 220 other files
|
||||
|
||||
Justin Sheehy: changed gnus-sum.el nntp.el
|
||||
|
||||
|
@ -1236,10 +1251,10 @@ Kailash C. Chowksey: changed HELLO Makefile.in ind-util.el kannada.el
|
|||
knd-util.el loadup.el makefile.w32-in
|
||||
|
||||
Karl Berry: changed info.texi emacs.texi elisp.texi emacs-xtra.texi
|
||||
filelock.c building.texi cmdargs.texi copyright.el dired.c faq.texi
|
||||
gnu.texi help.texi macos.texi msdog.texi mule.texi sending.texi
|
||||
texinfo.el texinfo.tex abbrevs.texi ada-mode.texi anti.texi
|
||||
and 54 other files
|
||||
filelock.c anti.texi building.texi cmdargs.texi copyright.el
|
||||
custom.texi customize.texi dired.c display.texi faq.texi frames.texi
|
||||
gnu.texi help.texi macos.texi minibuf.texi msdog.texi mule.texi
|
||||
and 65 other files
|
||||
|
||||
Karl Chen: changed files.el align.el cc-vars.el gnus-art.el help-mode.el
|
||||
jka-cmpr-hook.el make-mode.el perl-mode.el python.el tex-mode.el
|
||||
|
@ -1249,8 +1264,8 @@ Karl Eichwalder: changed Makefile.in add-log.el bookmark.el dired-aux.el
|
|||
dired.el info.el menu-bar.el midnight.el po.el
|
||||
|
||||
Karl Fogel: wrote bookmark.el mail-hist.el saveplace.el
|
||||
and changed isearch.el menu-bar.el autogen.sh editfns.c vc-svn.el
|
||||
window.c
|
||||
and changed isearch.el menu-bar.el autogen.sh editfns.c nnmail.el
|
||||
vc-svn.el window.c
|
||||
|
||||
Karl Heuer: changed keyboard.c lisp.h xdisp.c buffer.c xfns.c xterm.c
|
||||
alloc.c files.el frame.c configure.in window.c data.c minibuf.c
|
||||
|
@ -1269,8 +1284,8 @@ Katsuhiro Hermit Endo: changed gnus-spec.el
|
|||
Katsumi Yamaoka: wrote canlock.el
|
||||
and changed gnus-art.el message.el gnus-sum.el gnus.texi mm-decode.el
|
||||
mm-view.el gnus-util.el gnus-msg.el gnus.el mm-util.el lpath.el
|
||||
gnus-start.el gnus-group.el mm-uu.el dgnushack.el gnus-agent.el nntp.el
|
||||
mml.el nnrss.el rfc2047.el rfc2231.el and 69 other files
|
||||
gnus-start.el rfc2047.el gnus-group.el mm-uu.el dgnushack.el
|
||||
gnus-agent.el nntp.el mml.el nnrss.el nnheader.el and 71 other files
|
||||
|
||||
Kaveh R. Ghazi: changed delta88k.h xterm.c
|
||||
|
||||
|
@ -1307,9 +1322,9 @@ Ken Stevens: wrote ispell.el
|
|||
Kenichi Handa: wrote cyrillic.el isearch-x.el py-punct.el pypunct-b5.el
|
||||
quail.el thai-word.el
|
||||
and changed coding.c mule-cmds.el mule.el charset.c fileio.c xterm.c
|
||||
fns.c ccl.c mule-conf.el Makefile.in fontset.c charset.h coding.h
|
||||
fns.c ccl.c Makefile.in mule-conf.el fontset.c charset.h coding.h
|
||||
fontset.el mule-diag.el xdisp.c editfns.c process.c insdel.c
|
||||
japanese.el characters.el and 276 other files
|
||||
japanese.el characters.el and 277 other files
|
||||
|
||||
Kenneth Stailey: changed alpha.h configure.in ns32000.h openbsd.h pmax.h
|
||||
sparc.h unexalpha.c unexelf.c
|
||||
|
@ -1345,17 +1360,17 @@ Kevin Rodgers: changed compile.el mailabbrev.el dired-x.el simple.el
|
|||
|
||||
Kevin Ryde: wrote info-xref.el
|
||||
and changed info-look.el info.el gnus-art.el gnus-sum.el mailcap.el
|
||||
text.texi MORE.STUFF cc-align.el cmdargs.texi compile.texi display.texi
|
||||
em-alias.el em-dirs.el em-hist.el em-unix.el emacs-lisp-intro.texi
|
||||
ffap.el frames.texi glossary.texi gnus.texi makeinfo.el
|
||||
os.texi text.texi MORE.STUFF cc-align.el cmdargs.texi compile.texi
|
||||
display.texi em-alias.el em-dirs.el em-hist.el em-unix.el
|
||||
emacs-lisp-intro.texi ffap.el frames.texi glossary.texi gnus.texi
|
||||
and 12 other files
|
||||
|
||||
Kim F. Storm: wrote animage.el bindat.el cua-base.el cua-gmrk.el
|
||||
cua-rect.el ido.el keypad.el kmacro.el
|
||||
and changed xdisp.c dispextern.h simple.el xterm.c process.c window.c
|
||||
keyboard.c w32term.c subr.el dispnew.c fringe.c lisp.h macterm.c
|
||||
display.texi fns.c xfaces.c alloc.c xterm.h info.el xfns.c .gdbinit
|
||||
and 226 other files
|
||||
Kim F. Storm: wrote bindat.el cua-base.el cua-gmrk.el cua-rect.el
|
||||
ido.el keypad.el kmacro.el
|
||||
and changed xdisp.c dispextern.h simple.el window.c xterm.c keyboard.c
|
||||
process.c w32term.c dispnew.c subr.el lisp.h fringe.c macterm.c
|
||||
display.texi fns.c alloc.c xfaces.c xfns.c xterm.h keymap.c .gdbinit
|
||||
and 238 other files
|
||||
|
||||
Kim-Minh Kaplan: changed gnus-picon.el gnus-sum.el gnus-start.el
|
||||
gnus-win.el gnus-xmas.el gnus.texi message.el nndraft.el nnml.el
|
||||
|
@ -1389,7 +1404,9 @@ and changed saveconf.el buffer.c mail-utils.el sendmail.el
|
|||
|
||||
Kyotaro Horiguchi: changed coding.c indent.c
|
||||
|
||||
K,Aa(Broly L$,1 q(Brentey: changed keyboard.c coding.c xfns.c xterm.c xterm.h
|
||||
K,Aa(Broly L$,1 q(Brentey: changed xfns.c bindings.el keyboard.c HELLO authors.el
|
||||
buff-menu.el buffer.c buffers.texi cmds.c coding.c editfns.c frame.el
|
||||
menu-bar.el print.c simple.el xdisp.c xterm.c xterm.h
|
||||
|
||||
Larry Kolodney: wrote cvtmail.c
|
||||
|
||||
|
@ -1440,8 +1457,8 @@ and changed fortran.el ispell.el sendmail.el cmuscheme.el comint.el
|
|||
|
||||
Leigh Stoller: changed emacsclient.c emacsserver.c server.el
|
||||
|
||||
Lennart Borgman: changed mouse.el recentf.el texinfmt.el w32term.c
|
||||
w32term.h window.el
|
||||
Lennart Borgman: changed window.el mouse.el recentf.el texinfmt.el
|
||||
w32term.c w32term.h
|
||||
|
||||
Lennart Staflin: changed dired.el diary-ins.el diary-lib.el tq.el xdisp.c
|
||||
|
||||
|
@ -1461,17 +1478,13 @@ Lucid, Inc.: changed byte-opt.el byte-run.el bytecode.c bytecomp.el
|
|||
mailabbrev.el select.el xfaces.c xselect.c
|
||||
|
||||
Lute Kamstra: changed modes.texi generic.el debug.el generic-x.el
|
||||
font-lock.el subr.el debugging.texi easy-mmode.el elisp.texi hl-line.el
|
||||
simple.el Makefile.in battery.el bindings.el calc.el cmdargs.texi
|
||||
edebug.texi emacs.texi info.el make-tarball.txt octave-inf.el
|
||||
and 217 other files
|
||||
font-lock.el subr.el Makefile.in debugging.texi easy-mmode.el
|
||||
elisp.texi hl-line.el simple.el battery.el bindings.el calc.el
|
||||
cmdargs.texi edebug.texi emacs.texi info.el make-tarball.txt
|
||||
octave-inf.el and 217 other files
|
||||
|
||||
Lynn Slater: wrote help-macro.el
|
||||
|
||||
L$,1 q(Brentey K,Aa(Broly: changed bindings.el xfns.c buff-menu.el buffer.c
|
||||
buffers.texi cmds.c editfns.c frame.el menu-bar.el print.c simple.el
|
||||
xdisp.c
|
||||
|
||||
MCC: wrote xmenu.c
|
||||
and changed emacsclient.c emacsserver.c etags.c lisp.h movemail.c
|
||||
rmail.el rmailedit.el rmailkwd.el rmailmsc.el rmailout.el rmailsum.el
|
||||
|
@ -1479,7 +1492,7 @@ and changed emacsclient.c emacsserver.c etags.c lisp.h movemail.c
|
|||
|
||||
Maciek Pasternacki: changed nnrss.el
|
||||
|
||||
Magnus Henoch: changed ispell.el
|
||||
Magnus Henoch: changed ispell.el rcirc.el
|
||||
|
||||
Manuel Serrano: wrote flyspell.el
|
||||
|
||||
|
@ -1577,9 +1590,10 @@ Martin Lorentzon: changed vc.el vc-cvs.el vc-hooks.el vc-rcs.el
|
|||
|
||||
Martin Neitzel: changed sc.el
|
||||
|
||||
Martin Rudalics: changed cus-edit.el wid-edit.el font-lock.el syntax.c
|
||||
custom.el fileio.c files.el find-func.el hideif.el info.el insdel.c
|
||||
lisp-mode.el midnight.el mouse.el mwheel.el re-builder.el widget.el
|
||||
Martin Rudalics: changed cus-edit.el wid-edit.el cus-start.el files.el
|
||||
font-lock.el insdel.c syntax.c buffer.c buffer.h casefiddle.c custom.el
|
||||
dispextern.h editfns.c eldoc.el fileio.c find-func.el hideif.el info.el
|
||||
jit-lock.el lisp-mode.el lisp.h and 13 other files
|
||||
|
||||
Martin Stjernholm: wrote cc-bytecomp.el
|
||||
and changed cc-engine.el cc-cmds.el cc-langs.el cc-defs.el cc-mode.el
|
||||
|
@ -1596,9 +1610,9 @@ and changed gnuspost.el
|
|||
|
||||
Masatake Yamato: wrote cc-subword.el ld-script.el
|
||||
and changed etags.el asm-mode.el xdisp.c bindings.el hexl.el man.el
|
||||
simple.el wid-edit.el compile.el faces.el pcvs.el register.el
|
||||
ruler-mode.el add-log.el buffer.c cus-face.el dired-x.el display.texi
|
||||
font-lock.el gdb-ui.el gud.el and 56 other files
|
||||
simple.el wid-edit.el add-log.el compile.el faces.el pcvs.el
|
||||
register.el ruler-mode.el buffer.c cus-face.el dired-x.el display.texi
|
||||
etags.c font-lock.el gdb-ui.el and 57 other files
|
||||
|
||||
Masayuki Ataka: changed texinfmt.el texinfo.el characters.el make-mode.el
|
||||
|
||||
|
@ -1679,18 +1693,18 @@ and changed ediff-merge.el ediff*.el viper*.el ediff-hooks.el menu-bar.el
|
|||
viper-utils.el appt.el desktop.el ediff-meta.el ediff-nult.el
|
||||
ediff.texi viper-mouse.el viper.texi
|
||||
|
||||
Michael Olson: changed erc.el erc-backend.el Makefile erc-stamp.el
|
||||
erc-track.el erc-dcc.el erc-identd.el erc-match.el erc-notify.el
|
||||
erc.texi erc-ibuffer.el erc-list.el erc-autoaway.el erc-bbdb.el
|
||||
erc-compat.el erc-goodies.el erc-log.el erc-nicklist.el
|
||||
erc-pcomplete.el erc-spelling.el erc-*.el and 39 other files
|
||||
Michael Olson: changed erc.el erc-backend.el Makefile erc.texi
|
||||
erc-stamp.el erc-log.el erc-autoaway.el erc-identd.el erc-track.el
|
||||
erc-match.el erc-dcc.el erc-notify.el erc-goodies.el erc-ibuffer.el
|
||||
erc-list.el erc-pcomplete.el erc-spelling.el erc-bbdb.el erc-compat.el
|
||||
erc-nicklist.el and 42 other files
|
||||
|
||||
Michael Piotrowski: changed ps-print.el
|
||||
|
||||
Michael R. Cook: changed gnus-topic.el gnus-art.el gnus-sum.el
|
||||
|
||||
Michael R. Mauger: changed sql.el cua-base.el facemenu.el recentf.el
|
||||
replace.el tramp.el w32fns.c
|
||||
Michael R. Mauger: changed sql.el cua-base.el custom.el facemenu.el
|
||||
recentf.el replace.el tramp.el w32fns.c
|
||||
|
||||
Michael R. Wolf: changed ange-ftp.el
|
||||
|
||||
|
@ -1705,14 +1719,17 @@ Michael Sperber [Mr. Preprocessor]: changed aix3-1.h aix4-2.h
|
|||
|
||||
Michael Staats: wrote pc-select.el
|
||||
|
||||
Michael Welsh Duggan: changed lisp.h w32term.c buffer.c gnus-spec.el
|
||||
keyboard.c nnmail.el termhooks.h url-http.el w32-win.el w32fns.c
|
||||
w32menu.c w32term.h xdisp.c xterm.c
|
||||
Michael Welsh Duggan: changed lisp.h sh-script.el w32term.c buffer.c
|
||||
gnus-spec.el keyboard.c nnmail.el termhooks.h url-http.el w32-win.el
|
||||
w32fns.c w32menu.c w32term.h xdisp.c xterm.c
|
||||
|
||||
Michal Jankowski: changed insdel.c keyboard.c
|
||||
|
||||
Micha,Ak(Bl Cadilhac: changed ispell.el dispnew.c make-mode.el pong.el
|
||||
print.c process.c
|
||||
Michal Nazarewicz: changed ispell.el
|
||||
|
||||
Micha,Ak(Bl Cadilhac: changed ispell.el cus-edit.el dispnew.c ido.el info.el
|
||||
life.el lpr.el make-mode.el pong.el print.c process.c startup.el
|
||||
uni-input.el
|
||||
|
||||
Michelangelo Grigni: wrote ffap.el
|
||||
and changed gnus-score.el
|
||||
|
@ -1742,8 +1759,8 @@ Mikio Nakajima: changed ring.el viper-util.el
|
|||
Milan Zamazal: wrote czech.el glasses.el tildify.el
|
||||
and changed slovak.el abbrev.el compile.el filecache.el files.el
|
||||
|
||||
Miles Bader: wrote button.el image-file.el macroexp.el mb-depth.el
|
||||
minibuf-eldef.el rfn-eshadow.el
|
||||
Miles Bader: wrote button.el image-file.el macroexp.el minibuf-eldef.el
|
||||
rfn-eshadow.el
|
||||
and changed comint.el faces.el simple.el editfns.c xfaces.c info.el
|
||||
xdisp.c minibuf.c wid-edit.el xterm.c subr.el window.el cus-edit.el
|
||||
diff-mode.el dispextern.h xfns.c help.el lisp.h quick-install-emacs
|
||||
|
@ -1752,7 +1769,7 @@ and changed comint.el faces.el simple.el editfns.c xfaces.c info.el
|
|||
Miyashita Hisashi: changed ccl.c coding.c coding.h mule-cmds.el
|
||||
mule-conf.el mule.el pop3.el
|
||||
|
||||
Miyoshi Masanori: changed mouse.el xdisp.c
|
||||
Miyoshi Masanori: changed mouse.el smtpmail.el xdisp.c
|
||||
|
||||
Morioka Tomohiko: changed rmail.el rmailout.el rmailsum.el fns.c
|
||||
message.el nnheader.el nnmail.el rmailkwd.el smiley.el
|
||||
|
@ -1779,6 +1796,8 @@ Nachum Dershowitz: wrote cal-hebrew.el
|
|||
Nagy Andras: wrote gnus-sieve.el
|
||||
and changed imap.el
|
||||
|
||||
Nakaji Hiroyuki: changed mm-util.el
|
||||
|
||||
Nakamura Toshikazu: changed w32fns.c
|
||||
|
||||
NeXT, Inc.: wrote unexnext.c
|
||||
|
@ -1799,10 +1818,10 @@ Nevin Kapur: changed nnmail.el gnus-group.el gnus-sum.el gnus.el
|
|||
Niall Mansfield: changed etags.c
|
||||
|
||||
Nick Roberts: wrote gdb-ui.el
|
||||
and changed gud.el building.texi tooltip.el speedbar.el thumbs.el
|
||||
cc-mode.el DEBUG subr.el xt-mouse.el .gdbinit comint.el frames.texi
|
||||
bindings.el descr-text.el display.texi gud-display.pbm help-mode.el
|
||||
speedbar.texi tumme.el xdisp.c byte-run.el and 105 other files
|
||||
and changed gud.el building.texi tooltip.el speedbar.el thumbs.el DEBUG
|
||||
cc-mode.el frames.texi subr.el xt-mouse.el .gdbinit bindings.el
|
||||
comint.el display.texi help-mode.el descr-text.el gud-display.pbm
|
||||
speedbar.texi tumme.el xdisp.c byte-run.el and 112 other files
|
||||
|
||||
Nico Francois: changed w32fns.c w32inevt.c w32menu.c
|
||||
|
||||
|
@ -1848,6 +1867,8 @@ Olivier Lecarme: changed make-mode.el ange-ftp.el apropos.el bibtex.el
|
|||
|
||||
Olli Savia: changed etags.c syssignal.h
|
||||
|
||||
Osamu Yamane: changed smtpmail.el
|
||||
|
||||
Oscar Figueiredo: wrote eudc-bob.el eudc-export.el eudc-hotlist.el
|
||||
eudc-vars.el eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el ldap.el
|
||||
and changed ph.el
|
||||
|
@ -1869,7 +1890,7 @@ Paul Eggert: wrote cal-dst.el rcs2log vcdiff
|
|||
and changed editfns.c vc.el Makefile.in configure.in vc-hooks.el data.c
|
||||
emacs.c gnus.el calendar.el config.in floatfns.c process.c sysdep.c
|
||||
dired.el xterm.c callproc.c fileio.c filelock.c lread.c print.c
|
||||
rmail.el and 287 other files
|
||||
rmail.el and 290 other files
|
||||
|
||||
Paul Fisher: changed fns.c
|
||||
|
||||
|
@ -1976,6 +1997,8 @@ Pinku Surana: changed sql.el
|
|||
|
||||
Pmr-Sav: changed mail-utils.el rmail.el
|
||||
|
||||
Primoz Peterlin: changed TUTORIAL.sl
|
||||
|
||||
R. Bernstein: changed gud.el
|
||||
|
||||
Rafael Sep,Az(Blveda: changed TUTORIAL.es
|
||||
|
@ -1993,8 +2016,9 @@ Rajesh Vaidheeswarran: wrote whitespace.el
|
|||
and changed ffap.el
|
||||
|
||||
Ralf Angeli: wrote scroll-lock.el
|
||||
and changed tex-mode.el comint.el flow-fill.el gnus-art.el killing.texi
|
||||
mm-view.el pcl-cvs.texi smtpmail.el w32fns.c w32term.c window.c
|
||||
and changed w32fns.c tex-mode.el comint.el flow-fill.el frame.el
|
||||
gnus-art.el killing.texi mm-view.el pcl-cvs.texi smtpmail.el w32term.c
|
||||
window.c
|
||||
|
||||
Ralf Fassel: changed dabbrev.el files.el fill.el iso-acc.el tar-mode.el
|
||||
|
||||
|
@ -2015,11 +2039,11 @@ Raymond Scholz: wrote deuglify.el
|
|||
and changed gnus-art.el gnus-msg.el gnus.texi message.el nnmail.el
|
||||
|
||||
Reiner Steib: wrote gmm-utils.el
|
||||
and changed message.el gnus-art.el gnus.texi gnus-sum.el gnus.el
|
||||
and changed gnus-art.el message.el gnus.texi gnus-sum.el gnus.el
|
||||
gnus-group.el mml.el gnus-faq.texi gnus-score.el gnus-start.el
|
||||
gnus-util.el gnus-msg.el message.texi gnus-agent.el files.el mm-util.el
|
||||
gnus-util.el gnus-msg.el message.texi gnus-agent.el mm-util.el files.el
|
||||
spam-report.el nnweb.el spam.el deuglify.el mm-decode.el
|
||||
and 155 other files
|
||||
and 161 other files
|
||||
|
||||
Remek Trzaska: changed gnus-ems.el
|
||||
|
||||
|
@ -2029,6 +2053,8 @@ Ren,Ai(B Kyllingstad: changed pcomplete.el
|
|||
|
||||
Reto Zimmermann: changed vhdl-mode.el
|
||||
|
||||
Richard Bielawski: changed modes.texi
|
||||
|
||||
Richard Dawe: changed Makefile.in config.in
|
||||
|
||||
Richard G Bielawski: changed paren.el
|
||||
|
@ -2045,8 +2071,8 @@ Richard M. Stallman: wrote [The original GNU emacs and numerous files]
|
|||
easymenu.el font-lock.el image-mode.el menu-bar.el paren.el
|
||||
and changed keyboard.c files.el simple.el xterm.c xdisp.c rmail.el
|
||||
fileio.c process.c sysdep.c xfns.c buffer.c Makefile.in window.c
|
||||
configure.in subr.el emacs.c sendmail.el startup.el editfns.c info.el
|
||||
dispnew.c and 1322 other files
|
||||
configure.in subr.el startup.el emacs.c editfns.c sendmail.el info.el
|
||||
dispnew.c and 1334 other files
|
||||
|
||||
Richard Mlynarik: wrote cl-indent.el ebuff-menu.el ehelp.el env.c
|
||||
rfc822.el terminal.el yow.el
|
||||
|
@ -2075,11 +2101,12 @@ Robert Bihlmeyer: changed gnus-score.el gnus-util.el message.el
|
|||
Robert Fenk: changed desktop.el
|
||||
|
||||
Robert J. Chassell: wrote makeinfo.el texinfo.el texnfo-upd.el
|
||||
and changed texinfmt.el page-ext.el emacs.tex info.el loaddefs.el
|
||||
texinfo-update.el INSTALL case-table.el cl.texinfo
|
||||
emacs-lisp-intro.texi history.el informat.el latin-1.el latin-2.el
|
||||
latin-3.el latin-4.el page.el tex-mode.el texinfo.tex texinfo.texinfo
|
||||
vip.texinfo
|
||||
and changed texinfmt.el page-ext.el emacs.tex emacs-lisp-intro.texi
|
||||
info.el loaddefs.el texinfo-update.el texinfo.tex INSTALL case-table.el
|
||||
cl.texinfo history.el informat.el latin-1.el latin-2.el latin-3.el
|
||||
latin-4.el page.el tex-mode.el texinfo.texinfo vip.texinfo
|
||||
|
||||
Robert Thorpe: changed cus-start.el
|
||||
|
||||
Roderick Schertler: changed dgux.h dgux4.h gud.el sysdep.c
|
||||
|
||||
|
@ -2106,11 +2133,11 @@ Roland Winkler: changed bibtex.el appt.el artist.el conf-mode.el
|
|||
Rolf Ebert: wrote ada-mode.el
|
||||
and changed files.el find-file.el
|
||||
|
||||
Romain Francoise: changed faq.texi ibuf-ext.el compile.el dired-x.el
|
||||
Romain Francoise: changed faq.texi dired-x.el ibuf-ext.el compile.el
|
||||
message.el puresize.h replace.el files.texi gnus-fun.el gnus.texi
|
||||
help-fns.el make-dist rcirc.el subr.el Makefile.in antlr-mode.el
|
||||
bookmark.el buffer.c comint.el diary-lib.el dired.el
|
||||
and 109 other files
|
||||
and 121 other files
|
||||
|
||||
Roman Belenov: changed which-func.el
|
||||
|
||||
|
@ -2158,8 +2185,8 @@ Satyaki Das: wrote mh-acros.el mh-gnus.el mh-junk.el mh-search.el
|
|||
and changed mh-e.el mh-utils.el mh-seq.el mh-index.el mh-comp.el
|
||||
mh-mime.el mh-customize.el mh-loaddefs.el mh-funcs.el Makefile
|
||||
mh-alias.el mh-pick.el mh-unit.el mh-init.el mh-identity.el mh-make.el
|
||||
mh-xemacs-toolbar.el mh-xemacs-compat.el mh-inc.el highlight.xpm
|
||||
mh-func.el and 7 other files
|
||||
mh-xemacs-toolbar.el mh-xemacs-compat.el pgg-gpg.el mh-inc.el
|
||||
highlight.xpm and 7 other files
|
||||
|
||||
Schlumberger Technology Corporation: changed gud.el
|
||||
|
||||
|
@ -2208,8 +2235,8 @@ Simon Josefsson: wrote dig.el dns-mode.el flow-fill.el fringe.el imap.el
|
|||
mml-sec.el mml-smime.el nnfolder.el nnimap.el nnml.el rfc2104.el
|
||||
sieve-manage.el sieve-mode.el sieve.el smime.el starttls.el tls.el
|
||||
url-imap.el
|
||||
and changed message.el gnus-sum.el gnus-art.el smtpmail.el pgg-gpg.el
|
||||
pgg.el gnus-agent.el mml2015.el mml.el mm-decode.el mml1991.el
|
||||
and changed message.el gnus-sum.el gnus-art.el smtpmail.el pgg.el
|
||||
pgg-gpg.el gnus-agent.el mml2015.el mml.el mm-decode.el mml1991.el
|
||||
gnus-group.el gnus-msg.el gnus.el pgg-pgp5.el gnus-cache.el
|
||||
gnus-sieve.el browse-url.el gnus-int.el mail-source.el pgg-parse.el
|
||||
and 91 other files
|
||||
|
@ -2226,7 +2253,8 @@ and changed comint.el font-lock.el shell.el rmail.el fortran.el
|
|||
|
||||
Skip Collins: changed w32fns.c w32term.c w32term.h
|
||||
|
||||
Slawomir Nowaczyk: changed TUTORIAL.pl flyspell.el ls-lisp.el
|
||||
Slawomir Nowaczyk: changed python.el TUTORIAL.pl emacs.py flyspell.el
|
||||
ls-lisp.el
|
||||
|
||||
Spencer Thomas: changed dabbrev.el emacsclient.c emacsserver.c gnus.texi
|
||||
server.el tcp.c unexec.c
|
||||
|
@ -2237,15 +2265,17 @@ Stefan Monnier: wrote bibtex.el cvs-status.el diff-mode.el log-edit.el
|
|||
log-view.el pcvs-defs.el pcvs-info.el pcvs-parse.el pcvs-util.el
|
||||
reveal.el smerge-mode.el
|
||||
and changed vc.el font-lock.el pcvs.el newcomment.el subr.el lisp.h
|
||||
keyboard.c tex-mode.el fill.el keymap.c alloc.c compile.el
|
||||
easy-mmode.el simple.el info.el regex.c syntax.c files.el vc-hooks.el
|
||||
xdisp.c bytecomp.el and 505 other files
|
||||
keyboard.c keymap.c tex-mode.el fill.el alloc.c compile.el files.el
|
||||
regex.c easy-mmode.el simple.el info.el syntax.c xdisp.c vc-hooks.el
|
||||
sh-script.el and 511 other files
|
||||
|
||||
Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi
|
||||
ediff-mult.el
|
||||
|
||||
Stephen A. Wood: changed fortran.el
|
||||
|
||||
Stephen Berman: changed allout.el
|
||||
|
||||
Stephen Eglen: wrote iswitchb.el mspools.el
|
||||
and changed diary-lib.el locate.el octave-inf.el replace.el hexl.el
|
||||
info-look.el sendmail.el spell.el uce.el MORE.STUFF add-log.el
|
||||
|
@ -2253,8 +2283,9 @@ and changed diary-lib.el locate.el octave-inf.el replace.el hexl.el
|
|||
bib-mode.el bruce.el c-mode.el ccl.el and 71 other files
|
||||
|
||||
Stephen Gildea: wrote mh-funcs.el mh-pick.el refcard.tex
|
||||
and changed time-stamp.el mh-e.el mh-utils.el mh-comp.el mh-customize.el
|
||||
fileio.c files.el fortran.el mh-e.texi mh-mime.el mwheel.el tex-mode.el
|
||||
and changed time-stamp.el mh-e.el mh-comp.el mh-utils.el mh-customize.el
|
||||
fileio.c files.el fortran.el mh-e.texi mh-junk.el mh-mime.el mwheel.el
|
||||
tex-mode.el
|
||||
|
||||
Stephen J. Turnbull: changed ediff-init.el strings.texi subr.el
|
||||
|
||||
|
@ -2286,6 +2317,8 @@ Steven Tamm: changed macterm.c make-package mac.c macfns.c configure.in
|
|||
|
||||
Stewart M. Clamen: wrote cal-mayan.el
|
||||
|
||||
Stuart D. Herring: changed minibuf.c
|
||||
|
||||
Stuart Herring: changed isearch.el align.el allout.el comint.el edebug.el
|
||||
files.el
|
||||
|
||||
|
@ -2300,7 +2333,7 @@ Sun Yijiang: changed TUTORIAL.cn
|
|||
Sundar Narasimhan: changed rnews.el rnewspost.el
|
||||
|
||||
Sven Joachim: changed arc-mode.el de-refcard.tex files.el files.texi
|
||||
help.el sed3v2.inp sh-script.el
|
||||
help.el mule.texi sed3v2.inp sh-script.el
|
||||
|
||||
Svend Tollak Munkejord: changed deuglify.el
|
||||
|
||||
|
@ -2342,9 +2375,9 @@ Theodore Jump: changed w32-win.el w32faces.c
|
|||
|
||||
Thien-Thi Nguyen: wrote hideshow.el make-mms-derivative.el
|
||||
and changed ewoc.el info.el processes.texi zone.el Makefile.in vc.el
|
||||
fileio.c lisp-mode.el scheme.el dcl-mode.el display.texi files.el
|
||||
pcvs.el sysdep.c MORE.STUFF TUTORIAL.it TUTORIAL.ja bindat.el
|
||||
diary-lib.el diff-mode.el dired.el and 121 other files
|
||||
fileio.c lisp-mode.el scheme.el text.texi bindat.el dcl-mode.el
|
||||
display.texi files.el pcvs.el sysdep.c MORE.STUFF TUTORIAL.it
|
||||
TUTORIAL.ja diary-lib.el diff-mode.el and 125 other files
|
||||
|
||||
Thierry Emery: changed kinsoku.el timezone.el url-http.el wid-edit.el
|
||||
|
||||
|
@ -2378,7 +2411,7 @@ Tim Van Holder: changed Makefile.in compile.el configure.in which-func.el
|
|||
|
||||
Tobias C. Rittweiler: changed font-lock.el
|
||||
|
||||
Toby Allsopp: changed eudc.el
|
||||
Toby Allsopp: changed ldap.el eudc.el
|
||||
|
||||
Toby Speight: changed window.el
|
||||
|
||||
|
@ -2476,7 +2509,7 @@ Wayne Mesard: wrote hscroll.el
|
|||
Werner Benger: changed keyboard.c
|
||||
|
||||
Werner Lemberg: wrote sisheng.el vntelex.el
|
||||
and changed Makefile.in TUTORIAL.de calc.texi chinese.el czech.el
|
||||
and changed TUTORIAL.de Makefile.in calc.texi chinese.el czech.el
|
||||
european.el idlwave.el reftex-vars.el reftex.el reftex.texi slovak.el
|
||||
supercite.el .cvsignore advice.el calc-forms.el calc-sel.el calendar.el
|
||||
china-util.el cl-macs.el cl.texi complete.el and 43 other files
|
||||
|
@ -2509,7 +2542,7 @@ and changed latin-pre.el pl-refcard.ps pl-refcard.tex refcard-pl.ps
|
|||
|
||||
Wolfgang Glas: changed unexsgi.c
|
||||
|
||||
Wolfgang Jenkner: changed pcvs.el
|
||||
Wolfgang Jenkner: changed conf-mode.el pcvs.el
|
||||
|
||||
Wolfgang Rupprecht: wrote float-sup.el floatfns.c sup-mouse.el
|
||||
and changed process.c alloc.c callint.c config.h.in config.in
|
||||
|
@ -2527,14 +2560,16 @@ Xavier Maillard: changed gnus-faq.texi gnus-score.el
|
|||
Yagi Tatsuya: changed gnus-art.el gnus-start.el
|
||||
|
||||
Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h
|
||||
macgui.h image.c macmenu.c macselect.c keyboard.c xdisp.c makefile.MPW
|
||||
emacs.c macos.texi xfaces.c Makefile.in config.h darwin.h dispextern.h
|
||||
w32term.c Info.plist and 58 other files
|
||||
macgui.h image.c macmenu.c macselect.c keyboard.c makefile.MPW xdisp.c
|
||||
emacs.c config.h macos.texi xfaces.c Makefile.in darwin.h dispextern.h
|
||||
w32term.c INSTALL and 66 other files
|
||||
|
||||
Yann Dirson: changed imenu.el
|
||||
|
||||
Yoichi Nakayama: changed browse-url.el finder.el man.el rfc2368.el
|
||||
|
||||
Yoni Rabkin Katzenell: changed whitespace.el
|
||||
|
||||
Yoshiki Hayashi: changed texinfmt.el nnheader.el
|
||||
|
||||
Yoshinori Koseki: changed fontset.el
|
||||
|
|
|
@ -147,13 +147,13 @@ giving you write access to the CVS repository.
|
|||
|
||||
Discussion about Emacs development takes place on emacs-devel@gnu.org.
|
||||
|
||||
Bug reports for released versions are sent to emacs-bugs@gnu.org.
|
||||
Bug reports for released versions are sent to bug-gnu-emacs@gnu.org.
|
||||
|
||||
Bug reports for development versions are sent to emacs-pretest-bug@gnu.org.
|
||||
|
||||
You can subscribe to the mailing lists at savannah.gnu.org/projects/emacs.
|
||||
|
||||
You can find the mailing lists archives at mail.gnu.org or gmane.org.
|
||||
You can find the mailing lists archives at lists.gnu.org or gmane.org.
|
||||
|
||||
|
||||
** Document your changes.
|
||||
|
@ -189,7 +189,7 @@ need to check whether *that file* was changed in those years.
|
|||
It's sufficient that *Emacs* was changed in those years (and it was!).
|
||||
|
||||
** For those files that have been added since then, we should add
|
||||
the year it was added to Emacs, and all subsequent years."
|
||||
the year it was added to Emacs, and all subsequent years.
|
||||
|
||||
** For the refcards under etc/, it's ok to simply use the latest year
|
||||
(typically in a `\def\year{YEAR}' expression) for the rendered copyright
|
||||
|
|
25
COPYING
25
COPYING
|
@ -1,8 +1,8 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
|||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
|
@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
|
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
|
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
|
@ -225,7 +225,7 @@ impose that choice.
|
|||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
|
@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
|
@ -303,10 +303,9 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||
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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
|
@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
|
|||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
|
27
ChangeLog
27
ChangeLog
|
@ -1,3 +1,30 @@
|
|||
2006-10-03 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* AUTHORS: Regenerate.
|
||||
|
||||
2006-09-30 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2006-09-28 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* configure.in (locallisppath): Don't include leim dir.
|
||||
(lisppath): Include leim dir.
|
||||
|
||||
2006-09-15 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* COPYING: Replace "Library Public License" by "Lesser Public
|
||||
License" throughout.
|
||||
|
||||
2006-09-11 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* make-dist (EMACS): Exit and fail if the EMACS environment
|
||||
variable is set to something other than an absolute file name.
|
||||
|
||||
2006-09-07 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* AUTHORS: Regenerate.
|
||||
|
||||
2006-08-16 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* configure.in (PKG_CHECK_MODULES): Use AS_MESSAGE_LOG_FD instead
|
||||
|
|
|
@ -60,8 +60,8 @@ Write access to the CVS repository requires using SSH v2.
|
|||
|
||||
If you execute cvs commands inside Emacs, specifically if you use
|
||||
pcl-cvs, output from CVS may be lost due to a problem in the
|
||||
interface between ssh, cvs, and libc. Corrupted checkins have
|
||||
also been rumored to have happened.
|
||||
interface between ssh, cvs, and libc. Corrupted checkins are
|
||||
also known to have happened.
|
||||
|
||||
To fix the problem, save the following script into a file, make it
|
||||
executable, and set CVS_RSH to the file name of the script:
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2006-10-03 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* FOR-RELEASE (BUGS): "An iso-8859-6 cannot be saved" fixed.
|
||||
|
||||
2006-08-13 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* FOR-RELEASE: Elisp manual checking completed.
|
||||
|
|
|
@ -2,12 +2,13 @@ Tasks needed before the next release.
|
|||
|
||||
* TO BE DONE SHORTLY BEFORE RELEASE
|
||||
|
||||
** Update release dates of manuals.
|
||||
|
||||
** Check for widow and orphan lines in manuals;
|
||||
make sure all the pages really look ok in the manual as formatted.
|
||||
|
||||
** Check for text in manuals that assumes current version is 21.
|
||||
|
||||
** Update AUTHORS.
|
||||
[Done 2006-10-03]
|
||||
|
||||
** Regenerate the postscript files of the reference cards in etc.
|
||||
|
||||
|
@ -33,38 +34,26 @@ and KDE projects, to use the new Emacs icons in etc/images/icons.
|
|||
These don't need to be fixed to start pretest, but we call the
|
||||
attention of Windows users to fixing them.
|
||||
|
||||
** Markus Gritsch's report about Emacs looping on Windoze with the following
|
||||
.emacs file, and then reduce Emacs frame width to "something quite narrow":
|
||||
(setq-default truncate-lines t)
|
||||
(custom-set-variables
|
||||
'(hscroll-margin 20)
|
||||
'(hscroll-step 1)
|
||||
)
|
||||
|
||||
** Drew Adams 12 Aug bug rpt: overlay display artifact: trace left behind
|
||||
Windows only bug.
|
||||
Windows only bug. Bug appears only when Cleartype enabled, probably related
|
||||
to the hack introduced on 2005-07-01 to fix some other Cleartype problem.
|
||||
|
||||
** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem on Cygwin.
|
||||
(Did we decide that is unreproducible?)
|
||||
|
||||
* BUGS
|
||||
|
||||
** Milan Zamazal's Aug 23 bug report about crashes with certain fonts.
|
||||
|
||||
** C-g fails to interrupt accept-process-output in Gnus.
|
||||
|
||||
** Implement buffer-chars-modified-tick.
|
||||
|
||||
** henman@it.to-be.co.jp 09 Aug 2006: ispell.el problem.
|
||||
|
||||
** Make key-binding use the maps specified by positions given in the events.
|
||||
|
||||
** hashiz@tomba.meridiani.jp, Oct 6: bootstrap failure on FreeBSD 6.2
|
||||
Can't be reproduced on GNU/Linux.
|
||||
|
||||
* DOCUMENTATION
|
||||
|
||||
** Check the Emacs Tutorial.
|
||||
|
||||
The first line of every tutorial must begin with text ending in a period
|
||||
(".", ASCII 0x2E) saying "Emacs Tutorial" in the respective language.
|
||||
This should be followed by "See end for copying conditions", likewise
|
||||
in the respective language.
|
||||
The first line of every tutorial must begin with text ending in a
|
||||
period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective
|
||||
language. This should be followed by "See end for copying
|
||||
conditions", likewise in the respective language.
|
||||
|
||||
After each file name, on the same line or the following line, come the
|
||||
names of the people who have checked it.
|
||||
|
|
|
@ -62,8 +62,11 @@ For each step, check for possible errors.
|
|||
echo directory: emacs/pretest > FILE.directive (for a pretest)
|
||||
echo directory: emacs > FILE.directive (for a release)
|
||||
gpg --clearsign FILE.directive
|
||||
Upload by anonymous ftp to ftp://ftp-upload.gnu.org/incoming/ftp/
|
||||
the files FILE, FILE.sig, FILE.directive.asc
|
||||
Upload by anonymous ftp to ftp://ftp-upload.gnu.org/ the files FILE,
|
||||
FILE.sig, FILE.directive.asc.
|
||||
For a release, place the files in the /incoming/ftp directory.
|
||||
For a pretest, place the files in /incoming/alpha instead, so that
|
||||
they appear on ftp://alpha.gnu.org/.
|
||||
|
||||
13. After five minutes, verify that the files are visible at
|
||||
ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at
|
||||
|
|
4
configure
vendored
4
configure
vendored
|
@ -1354,8 +1354,8 @@ rm conftest.sed
|
|||
|
||||
lispdir='${datadir}/emacs/${version}/lisp'
|
||||
locallisppath='${datadir}/emacs/${version}/site-lisp:'\
|
||||
'${datadir}/emacs/site-lisp:${datadir}/emacs/${version}/leim'
|
||||
lisppath='${locallisppath}:${lispdir}'
|
||||
'${datadir}/emacs/site-lisp'
|
||||
lisppath='${locallisppath}:${lispdir}:${datadir}/emacs/${version}/leim'
|
||||
etcdir='${datadir}/emacs/${version}/etc'
|
||||
archlibdir='${libexecdir}/emacs/${version}/${configuration}'
|
||||
docdir='${datadir}/emacs/${version}/etc'
|
||||
|
|
|
@ -33,8 +33,8 @@ AC_ARG_PROGRAM
|
|||
|
||||
lispdir='${datadir}/emacs/${version}/lisp'
|
||||
locallisppath='${datadir}/emacs/${version}/site-lisp:'\
|
||||
'${datadir}/emacs/site-lisp:${datadir}/emacs/${version}/leim'
|
||||
lisppath='${locallisppath}:${lispdir}'
|
||||
'${datadir}/emacs/site-lisp'
|
||||
lisppath='${locallisppath}:${lispdir}:${datadir}/emacs/${version}/leim'
|
||||
etcdir='${datadir}/emacs/${version}/etc'
|
||||
archlibdir='${libexecdir}/emacs/${version}/${configuration}'
|
||||
docdir='${datadir}/emacs/${version}/etc'
|
||||
|
|
25
etc/COPYING
25
etc/COPYING
|
@ -1,8 +1,8 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
|||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
|
@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
|
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
|
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
|
@ -225,7 +225,7 @@ impose that choice.
|
|||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
|
@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
|
@ -303,10 +303,9 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||
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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
|
@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
|
|||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
|
177
etc/ChangeLog
177
etc/ChangeLog
|
@ -1,3 +1,63 @@
|
|||
2006-10-09 David Kastrup <dak@gnu.org>
|
||||
|
||||
* DEVEL.HUMOR: Add the topic line for last entry since that was
|
||||
what the joke was about.
|
||||
|
||||
2006-10-07 Ognyan Kulev <ogi@fmi.uni-sofia.bg>
|
||||
|
||||
* TUTORIAL.bg: Synchronize with TUTORIAL.
|
||||
|
||||
2006-10-06 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* DEVEL.HUMOR: New file.
|
||||
|
||||
2006-09-30 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* PROBLEMS: Document Emacs/XIM/gnome-settings-terminal clash.
|
||||
|
||||
2006-09-26 Vinicius Jose Latorre <viniciusjl@ig.com.br>
|
||||
|
||||
* NEWS: ebnf2ps changes.
|
||||
|
||||
2006-09-26 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* refcard.ps: Regenerate.
|
||||
|
||||
2006-09-18 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* NEWS: Rename x-use-old-gtk-file-dialog to x-gtk-use-old-file-dialog.
|
||||
|
||||
2006-09-15 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* COPYING: Replace "Library Public License" by "Lesser Public
|
||||
License" throughout.
|
||||
|
||||
2006-09-15 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* THE-GNU-PROJECT: Update with the latest footnotes
|
||||
from www.gnu.org/gnu/the-gnu-project.html
|
||||
|
||||
2006-09-15 David Kastrup <dak@gnu.org>
|
||||
|
||||
* NEWS: Explain new behavior and arguments of `key-binding' and
|
||||
`command-remapping'.
|
||||
|
||||
2006-09-11 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* NEWS: In terminal-oriented subshells, the EMACS environment
|
||||
variable now defaults to Emacs's absolute file name, instead of
|
||||
to "t".
|
||||
* PROBLEMS: Adjust tcsh advice for this.
|
||||
|
||||
2006-09-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* PROBLEMS (are): Emacs compiled with Gtk+ crashes when closing a
|
||||
display (x-close-connection).
|
||||
|
||||
2006-09-02 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* HELLO: Regroup Europe Non-ASCII examples by similar scripts.
|
||||
|
||||
2006-08-25 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* TUTORIAL: Give priority to graphical terminals over text terminals
|
||||
|
@ -86,7 +146,7 @@
|
|||
|
||||
* PROBLEMS: Emacs now requires ws2_32.dll on Windows.
|
||||
|
||||
2006-07-14 K,Aa(Broly L,Bu(Brentey <lorentey@elte.hu>
|
||||
2006-07-14 K,Aa(Broly L$,1 q(Brentey <lorentey@elte.hu>
|
||||
|
||||
* HELLO: Update Hungarian sample.
|
||||
|
||||
|
@ -169,8 +229,7 @@
|
|||
|
||||
2006-06-19 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* orgcard.tex (section{Clocking Time}): Add new clocking
|
||||
commands.
|
||||
* orgcard.tex (section{Clocking Time}): Add new clocking commands.
|
||||
(section{Structure Editing}): Add global archiving command.
|
||||
|
||||
2006-06-14 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
@ -257,8 +316,7 @@
|
|||
|
||||
2006-05-24 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* orgcard.tex: (section{Motion}): Added the item navigation
|
||||
commands.
|
||||
* orgcard.tex (section{Motion}): Added the item navigation commands.
|
||||
(section{Publishing}): New section.
|
||||
(section{Links}): Documented elisp and shell links.
|
||||
|
||||
|
@ -270,8 +328,7 @@
|
|||
|
||||
* pl-refcard.tex (Local variables): Add compile-command.
|
||||
|
||||
* ru-refcard.tex (Local variables): Add compile-command and
|
||||
coding.
|
||||
* ru-refcard.tex (Local variables): Add compile-command and coding.
|
||||
|
||||
* pt-br-refcard.tex: Don't \input psfig.
|
||||
|
||||
|
@ -285,7 +342,7 @@
|
|||
* pl-refcard.tex (section{Info}): Ditto. Translation suggested by
|
||||
Slawomir Nowaczyk <slawomir.nowaczyk.847@student.lu.se>.
|
||||
|
||||
* cs-refcard.tex (section{Info}): Use `s' instead of `M-s'. Entry
|
||||
* cs-refcard.tex (section{Info}): Use `s' instead of `M-s'. Entry
|
||||
for `i' is not translated yet.
|
||||
|
||||
* pt-br-refcard.tex (section{Info}): Ditto.
|
||||
|
@ -366,7 +423,7 @@
|
|||
|
||||
2006-04-11 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* orgcard.tex: (section{Tables}): Document column narrowing.
|
||||
* orgcard.tex (section{Tables}): Document column narrowing.
|
||||
(section{Links}): Document bracket links.
|
||||
|
||||
2006-04-11 Kenichi Handa <handa@m17n.org>
|
||||
|
@ -395,11 +452,11 @@
|
|||
New bitmaps for new images.
|
||||
|
||||
* images/refresh.xpm, images/sort-ascending.xpm,
|
||||
* images/sort-descending.xpm: Update with GTK 2.x images. Note
|
||||
* images/sort-descending.xpm: Update with GTK 2.x images. Note
|
||||
that the default GTK icons are not overridden by the GNOME theme
|
||||
due to a bug which was fixed in GNOME 2.15. Once GNOME 2.16 is in
|
||||
due to a bug which was fixed in GNOME 2.15. Once GNOME 2.16 is in
|
||||
wide circulation, then the GTK icons should be replaced with the
|
||||
equivalent GNOME icons. Until then, we should be consistent with
|
||||
equivalent GNOME icons. Until then, we should be consistent with
|
||||
GTK first, then GNOME.
|
||||
|
||||
* images/mail/repack.xpm, images/mail/reply-from.xpm:
|
||||
|
@ -457,9 +514,9 @@
|
|||
|
||||
2006-03-11 Bill Wohler <wohler@newt.com>
|
||||
|
||||
* NEWS: Document `image-load-path-for-library'. Note that all
|
||||
* NEWS: Document `image-load-path-for-library'. Note that all
|
||||
images have been moved from lisp into etc/images in `find-image'
|
||||
item. Fix typo in `copy-tree'.
|
||||
item. Fix typo in `copy-tree'.
|
||||
|
||||
2006-03-09 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
|
@ -481,7 +538,7 @@
|
|||
|
||||
2006-02-22 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* orgcard.tex: (section{Links}): Rewritten to cover the modified
|
||||
* orgcard.tex (section{Links}): Rewritten to cover the modified
|
||||
link system.
|
||||
|
||||
2006-02-18 Bill Wohler <wohler@newt.com>
|
||||
|
@ -555,11 +612,11 @@
|
|||
|
||||
2006-01-23 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* NEWS: tramp can be removed by M-x tramp-unload-tramp.
|
||||
* NEWS: Tramp can be removed by M-x tramp-unload-tramp.
|
||||
|
||||
2006-01-15 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* e/eterm-color.ti: Re-enable the ri entry. Add kich1.
|
||||
* e/eterm-color.ti: Re-enable the ri entry. Add kich1.
|
||||
|
||||
2006-01-13 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
|
@ -664,7 +721,7 @@
|
|||
2005-10-27 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* e/eterm-color.ti (el1): Undo 2005-10-23 change.
|
||||
Add some comments on how to update this file. Add ri
|
||||
Add some comments on how to update this file. Add ri
|
||||
capability that has long been supported by term.el.
|
||||
|
||||
2005-10-25 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
@ -691,7 +748,7 @@
|
|||
|
||||
2005-10-17 Bill Wohler <wohler@newt.com>
|
||||
|
||||
Moved all remaining images from lisp/toolbar to etc/images. The
|
||||
Moved all remaining images from lisp/toolbar to etc/images. The
|
||||
low resolution images were placed in their own directory (low-color).
|
||||
|
||||
* images/attach.*, images/cancel.*, images/close.*:
|
||||
|
@ -838,7 +895,7 @@
|
|||
|
||||
* GNUS-NEWS: Fix IDNA notes.
|
||||
|
||||
2005-09-27 Jay Belanger <belanger@truman.edu>
|
||||
2005-09-27 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* calccard.tex: Update `versionnumber', remove `versiondate'.
|
||||
(Error Recovery): Refer to "initial state" rather than "default state".
|
||||
|
@ -1245,7 +1302,7 @@
|
|||
|
||||
2004-09-26 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* e/eterm.ti: Comment out smcup, rmcup. Add kbs, kdch1, rc, sc.
|
||||
* e/eterm.ti: Comment out smcup, rmcup. Add kbs, kdch1, rc, sc.
|
||||
Reformat.
|
||||
* e/eterm: Regenerate.
|
||||
|
||||
|
@ -1356,7 +1413,7 @@
|
|||
|
||||
2004-06-10 Lars Hansen <larsh@math.ku.dk>
|
||||
|
||||
* NEWS: Describe dired-omit-mode. Describe desktop package changes.
|
||||
* NEWS: Describe dired-omit-mode. Describe desktop package changes.
|
||||
|
||||
2004-05-29 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
|
@ -1379,7 +1436,7 @@
|
|||
|
||||
2004-04-13 Marcelo Toledo <marcelo@gnu.org>
|
||||
|
||||
* TUTORIAL.pt_BR: initial check-in.
|
||||
* TUTORIAL.pt_BR: Initial check-in.
|
||||
|
||||
2004-05-06 Dave Love <fx@gnu.org>
|
||||
|
||||
|
@ -1743,7 +1800,7 @@
|
|||
|
||||
2001-08-05 Pavel Jan,Am(Bk <Pavel@Janik.cz>
|
||||
|
||||
* TUTORIAL.cs, TUTORIAL.sk, cs-refcard.tex, sk-refcard.tex: e-mail
|
||||
* TUTORIAL.cs, TUTORIAL.sk, cs-refcard.tex, sk-refcard.tex: E-mail
|
||||
address of Milan Zamazal changed.
|
||||
|
||||
2001-08-04 Pavel Jan,Am(Bk <Pavel@Janik.cz>
|
||||
|
@ -1857,7 +1914,7 @@
|
|||
2001-01-08 Kevin Gallagher <kevingal@onramp.net>
|
||||
|
||||
* edt-user.doc: Updated to reflect EDT Emulation version 4.0
|
||||
enhancements.
|
||||
enhancements.
|
||||
|
||||
2000-12-29 Gerd Moellmann <gerd@gnu.org>
|
||||
|
||||
|
@ -2182,7 +2239,7 @@
|
|||
|
||||
1995-06-28 Eric S. Raymond <esr@spiff.gnu.ai.mit.edu>
|
||||
|
||||
* termcap.dat, termcap.ucb: deleted and replaced.
|
||||
* termcap.dat, termcap.ucb: Deleted and replaced.
|
||||
|
||||
* termcap: New termcap file from the ncurses project; bigger,
|
||||
better, brighter, does away with waxy yellow buildup. Email
|
||||
|
@ -2275,7 +2332,7 @@
|
|||
|
||||
1993-06-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
|
||||
|
||||
Bring mumbleclean targets into conformance with GNU coding standards.
|
||||
Bring mumbleclean targets into conformance with GNU coding standards.
|
||||
* Makefile (distclean): Don't remove backup and autosave files.
|
||||
These are easy to get rid of in other ways, and a pain to lose.
|
||||
(mostlyclean, realclean): New targets.
|
||||
|
@ -2298,7 +2355,7 @@
|
|||
|
||||
1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
|
||||
|
||||
* Version 19.7 released.
|
||||
* Version 19.7 released.
|
||||
|
||||
1993-05-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
|
||||
|
||||
|
@ -2319,7 +2376,7 @@
|
|||
out of date. This file referenced LNEWS when it should have
|
||||
said news.texi; fixed.
|
||||
|
||||
news.texi: invocation-name now exists.
|
||||
* news.texi: invocation-name now exists.
|
||||
|
||||
1993-03-27 Eric S. Raymond (eric@geech.gnu.ai.mit.edu)
|
||||
|
||||
|
@ -2339,7 +2396,7 @@
|
|||
|
||||
1993-03-19 Eric S. Raymond (eric@geech.gnu.ai.mit.edu)
|
||||
|
||||
* MACHINES: Deleted some VMS caveats. If the src and lisp
|
||||
* MACHINES: Deleted some VMS caveats. If the src and lisp
|
||||
ChangeLogs are correct, dired and mail and process control are now
|
||||
fully supported.
|
||||
|
||||
|
@ -2361,7 +2418,7 @@
|
|||
I nuked it. Let the file mod date serve. Merged in APOLLO and
|
||||
SUNBUG files. Changed references to 18.* to past tense.
|
||||
|
||||
* emacs.names: merged into JOKES. I faked a mail header from the
|
||||
* emacs.names: Merged into JOKES. I faked a mail header from the
|
||||
Unknown User to delimit the first (unheaded) bit.
|
||||
|
||||
* Makefile (relock, unlock): New productions.
|
||||
|
@ -2373,30 +2430,30 @@
|
|||
the Emacs distribution, I have the following changes in the etc
|
||||
directory:
|
||||
|
||||
* CHARACTERS: merged into TO-DO file under the heading "Long Range:"
|
||||
* CHARACTERS: Merged into TO-DO file under the heading "Long Range:"
|
||||
|
||||
* DIFF, CCADIFF and GOSDIFF: merged into a new outline file titled
|
||||
* DIFF, CCADIFF, GOSDIFF: Merged into a new outline file titled
|
||||
OTHER.EMACSES. The present names don't really convey anything.
|
||||
Various key bindings and feature descriptions have been updated.
|
||||
|
||||
* NICKLES.WORTH. Nuked. This is copyrighted material that could land
|
||||
* NICKLES.WORTH: Nuked. This is copyrighted material that could land
|
||||
FSF in hot water.
|
||||
|
||||
* INTERVAL.IDEAS: Nuked. RMS's thinking, and indeed the
|
||||
* INTERVAL.IDEAS: Nuked. RMS's thinking, and indeed the
|
||||
implementation of intervals, have progressed way beyond this.
|
||||
|
||||
* RCP: Nuked. It no longer said anything but "Ooops, sorry!"
|
||||
* RCP: Nuked. It no longer said anything but "Ooops, sorry!"
|
||||
|
||||
* ED.WORSHIP, GNU.JOKES: merged into a mailbox called JOKES.
|
||||
* ED.WORSHIP, GNU.JOKES: Merged into a mailbox called JOKES.
|
||||
Future jokes can accumulate there.
|
||||
|
||||
* DISTRIB: the actual domestic order form is now ORDERS.USA.
|
||||
* DISTRIB: The actual domestic order form is now ORDERS.USA.
|
||||
The DISTRIB text now mentions 19.
|
||||
|
||||
* ORDERS.USA: created. This is just the order form. DISTRIB
|
||||
* ORDERS.USA: Created. This is just the order form. DISTRIB
|
||||
has a pointer to it at the beginning.
|
||||
|
||||
* EUROPE: renamed to ORDERS.EUROPE. DISTRIB now has a pointer
|
||||
* EUROPE: Renamed to ORDERS.EUROPE. DISTRIB now has a pointer
|
||||
to it at the beginning.
|
||||
|
||||
* OOOONEWS, OOOONEWS: Nuked. It's version 19 --- nobody needs the
|
||||
|
@ -2408,7 +2465,7 @@
|
|||
|
||||
1993-03-17 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
|
||||
|
||||
* XENIX: nuked (moved to =XENIX). The hackery it describes is
|
||||
* XENIX: Nuked (moved to =XENIX). The hackery it describes is
|
||||
no longer necessary in the presence of 19's function-key-map
|
||||
feature; I've added an explanation to the beginning of the file.
|
||||
|
||||
|
@ -2513,7 +2570,7 @@
|
|||
|
||||
1992-03-31 Jim Blandy (jimb@pogo.cs.oberlin.edu)
|
||||
|
||||
* lib-src/Makefile, etc/MACHINES, etc/NEWS: Changed references to
|
||||
* lib-src/Makefile, etc/MACHINES, etc/NEWS: Changed references to
|
||||
`config.emacs' to `configure'.
|
||||
|
||||
* lib-src/Makefile: Adjusted for renaming of share-lib to etc.
|
||||
|
@ -2609,7 +2666,7 @@
|
|||
* etags.c (C_entries): Process token before handling end of line.
|
||||
When inner loops reach end of line, just back up.
|
||||
Let the real end of line processing happen in just one place.
|
||||
(consider_token): Likewise.
|
||||
(consider_token): Likewise.
|
||||
|
||||
1991-04-11 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
|
||||
|
||||
|
@ -2680,7 +2737,7 @@
|
|||
|
||||
1990-08-30 David Lawrence (tale@pogo.ai.mit.edu)
|
||||
|
||||
* emacs.1: Add break before -nw option.
|
||||
* emacs.1: Add break before -nw option.
|
||||
|
||||
1990-08-19 David J. MacKenzie (djm@apple-gunkies)
|
||||
|
||||
|
@ -2722,7 +2779,7 @@
|
|||
|
||||
1990-03-14 Joseph Arceneaux (jla@churchy.ai.mit.edu)
|
||||
|
||||
* etags.c (getit): Recognize '$' as beginning identifiers.
|
||||
* etags.c (getit): Recognize '$' as beginning identifiers.
|
||||
|
||||
1990-02-22 David Lawrence (tale@pogo.ai.mit.edu)
|
||||
|
||||
|
@ -2844,15 +2901,15 @@
|
|||
|
||||
1989-04-18 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
|
||||
|
||||
* loadst.c: on bsd4.3, use gettimeofday instead of CPUSTATES.
|
||||
* loadst.c: On bsd4.3, use gettimeofday instead of CPUSTATES.
|
||||
|
||||
1989-03-15 Jeff Peck (rms@sugar-bombs.ai.mit.edu)
|
||||
|
||||
* emacstool.c: setenv IN_EMACSTOOL=t, TERM=sun, TERMCAP=.
|
||||
|
||||
* emacsstool.1: update to document environment variables.
|
||||
* emacsstool.1: Update to document environment variables.
|
||||
|
||||
1989-02-21 Mosur Mohan (email@notavailable)
|
||||
1989-02-21 Mosur Mohan (email@notavailable)
|
||||
|
||||
* etags.c (PAS_funcs): New function.
|
||||
|
||||
|
@ -2866,7 +2923,7 @@
|
|||
|
||||
1989-02-15 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
|
||||
|
||||
* etags.c: Prolog support from Sunichirou Sugou
|
||||
* etags.c: Prolog support from Sunichirou Sugou.
|
||||
|
||||
1989-02-03 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
|
||||
|
||||
|
@ -2879,7 +2936,7 @@
|
|||
1989-01-19 Sam Kendall (email@notavailable)
|
||||
|
||||
* etags.c: Greatly rewritten for C++ support and for multiple tags
|
||||
per line.
|
||||
per line.
|
||||
|
||||
1989-01-03 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
|
||||
|
||||
|
@ -2889,8 +2946,8 @@
|
|||
|
||||
1988-12-31 Richard Mlynarik (mly@rice-chex.ai.mit.edu)
|
||||
|
||||
* env.c: Add decl for my-index
|
||||
* etags.c (file-entries): .oak => scheme
|
||||
* env.c: Add decl for my-index.
|
||||
* etags.c (file-entries): .oak => scheme
|
||||
|
||||
1988-12-30 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
|
||||
|
||||
|
@ -2934,8 +2991,8 @@
|
|||
|
||||
1988-11-29 Richard Mlynarik (mly@pickled-brain.ai.mit.edu)
|
||||
|
||||
* movemail.c: Better error message when can't create tempname.
|
||||
This file needs a great deal of extra error-checking and lucid reporting...
|
||||
* movemail.c: Better error message when can't create tempname.
|
||||
This file needs a great deal of extra error-checking and lucid reporting...
|
||||
|
||||
1988-11-16 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
|
||||
|
||||
|
@ -2953,7 +3010,7 @@
|
|||
|
||||
1988-09-24 Richard Stallman (rms@gluteus.ai.mit.edu)
|
||||
|
||||
* etags.c (main): default setting of eflag was backwards.
|
||||
* etags.c (main): Default setting of eflag was backwards.
|
||||
|
||||
1988-09-23 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
|
||||
|
||||
|
@ -3018,8 +3075,8 @@
|
|||
|
||||
1988-05-13 Chris Hanson (cph@kleph)
|
||||
|
||||
* emacsclient.c: Delete references to unused variable `out'. This
|
||||
caused a bus error when used under hp-ux.
|
||||
* emacsclient.c: Delete references to unused variable `out'.
|
||||
This caused a bus error when used under hp-ux.
|
||||
|
||||
1988-05-06 Richard Stallman (rms@frosted-flakes.ai.mit.edu)
|
||||
|
||||
|
@ -3036,7 +3093,7 @@
|
|||
1988-04-28 Richard Stallman (rms@frosted-flakes.ai.mit.edu)
|
||||
|
||||
* movemail.c: #undef close, since config can #define it on V.3.
|
||||
* emacsclient.c, fakemail.c, loadst.c, server.c: likewise.
|
||||
* emacsclient.c, fakemail.c, loadst.c, server.c: Likewise.
|
||||
|
||||
1988-04-26 Richard Stallman (rms@lucky-charms.ai.mit.edu)
|
||||
|
||||
|
@ -3047,9 +3104,9 @@
|
|||
|
||||
1988-03-20 Richard M. Stallman (rms@wilson)
|
||||
|
||||
* server.c [not BSD and not HAVE_SYSVIPC]: fix error message.
|
||||
* server.c [not BSD and not HAVE_SYSVIPC]: Fix error message.
|
||||
|
||||
* loadst.c (main) [XENIX]: use /usr/spool/mail, not /usr/mail.
|
||||
* loadst.c (main) [XENIX]: Use /usr/spool/mail, not /usr/mail.
|
||||
|
||||
;; Local Variables:
|
||||
;; coding: iso-2022-7bit
|
||||
|
|
138
etc/DEVEL.HUMOR
Normal file
138
etc/DEVEL.HUMOR
Normal file
|
@ -0,0 +1,138 @@
|
|||
---------------- -*- mode: text; coding: utf-8; fill-column: 70 -*- --
|
||||
-- --
|
||||
-- Humor (sometimes unintended) on the Emacs developer's list --
|
||||
-- --
|
||||
----------------------------------------------------------------------
|
||||
|
||||
"Is it legal for a `struct interval' to have a total_length field of
|
||||
zero?"
|
||||
"We can't be arrested for it as far as I know, but it is definitely
|
||||
invalid for an interval to have zero length."
|
||||
-- Miles Bader and RMS
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Re: lost argument and doc string
|
||||
|
||||
I remember when I lost an argument. Boy did that hurt! ;-).
|
||||
-- RMS
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
"'Cowardly' is not an adverb, although it looks like one. It is an
|
||||
adjective. It makes a statement about general temperament, rather
|
||||
than a specific occasion. I don't think Emacs has a general
|
||||
temperament."
|
||||
"Mine does."
|
||||
-- RMS and Eli Zaretskii
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
"In order to bring the user's attention to the minibuffer when an
|
||||
item such as 'Edit -> Search' is activated from the menu, I was just
|
||||
thinking that we could draw a big rectangle around the minibuffer,
|
||||
blinking (or zooming in-and-out) until some input is typed in."
|
||||
"How about dancing elephants?"
|
||||
"They don't fit in my office."
|
||||
"Well once the elephants are done, your office will be much...
|
||||
bigger."
|
||||
-- Stefan Monnier, Miles Bader and Kai Grossjohann
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
I remember these versions as yard-rocks (is that between inch-pebbles
|
||||
and mile-stones?).
|
||||
-- Kai Grossjohann
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
"I think it depends on video drivers. I cannot reproduce it on my
|
||||
home PC, but I can at work."
|
||||
"Can you try to find a workaround at work? (I guess you don't need
|
||||
a homearound at home. ;-)"
|
||||
-- Jason Rumney and RMS
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
By the way, I also really really hate this unibyte/multibyte problem.
|
||||
Sometimes I think I should have opposed to the introduction of such a
|
||||
concept more strongly.
|
||||
|
||||
imagine there's no unibyte
|
||||
it's easy if you try
|
||||
no bytes below us
|
||||
above us only chars
|
||||
imagine all the people living in multibyte
|
||||
|
||||
-- Kenichi Handa
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
I try to uphold the ideals that I was taught to value as an American,
|
||||
but every year I get less and less help from the United States.
|
||||
-- RMS
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
"If the terminfo entry is most likely wrong, and we know it, then it
|
||||
doesn't make sense to follow it."
|
||||
"Nevertheless, until now, we always did."
|
||||
"So.... should we not fix old bugs?"
|
||||
"Why fix an old bug if you can write three new ones in the same
|
||||
time?"
|
||||
-- Miles Bader, Eli Zaretskii and David Kastrup
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
[...] As is well known, people who speak American English tend to
|
||||
be more resource-conscious and try to avoid wasting precious bits
|
||||
transferring those redundant "u"s.
|
||||
Think of the number of occurrences of "color" and "behavior" in the
|
||||
Emacs tarball, multiply that by the number of times it'll be
|
||||
downloaded, stored on hard disks, archived, ...that's a substantial
|
||||
saving.
|
||||
-- Stefan Monnier
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Re: Parent of a derived mode's keymap.
|
||||
|
||||
"I can't decide whether the title of this thread is more fitting for
|
||||
a blues song or a pulp fiction booklet. It certainly projects drama."
|
||||
"Hey, it says derived, not deprived."
|
||||
"Actually, for some keymaps 'depraved' would fit better."
|
||||
"I knew it! You're one of them vi lovers! There is nothing wrong
|
||||
with Emacs using escape, meta, alt, control, and shift!"
|
||||
-- David Kastrup and Lute Kamstra
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
"Aren't user-defined constants useful in other languages?"
|
||||
"The only user-defined constant is ignorance. (With programmers,
|
||||
this is a variable concept ;-)"
|
||||
-- Juanma Barranquero and Thien-Thi Nguyen
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
"Uh, 'archaic' and 'alive' is not a contradiction."
|
||||
"Yes it is. 'Archaic' does not mean 'old' or 'early'. It means
|
||||
'obsolete'."
|
||||
"'He arche' in Greek means 'the beginning'. John 1 starts off with
|
||||
'En arche en ho Logos': in the beginning, there was the word. Now of
|
||||
course we all know that Emacs was there before Word, but this might
|
||||
have escaped John's notice."
|
||||
-- David Kastrup and RMS
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Re: patch for woman (woman-topic-at-point)
|
||||
|
||||
"Sorry for the long message. I wanted to make the problem clear
|
||||
also for people not familiar with `woman'."
|
||||
"Most hackers, I take?
|
||||
For a moment there I thought you had a patch that you could put on
|
||||
a woman, and it would make her come right to the topic at point
|
||||
without attempting any course of action that requires an advance
|
||||
course in divination.
|
||||
There'd be quite a sensational market for that, you know."
|
||||
-- Emilio Lopes and David Kastrup
|
|
@ -1,8 +1,8 @@
|
|||
This is a list of ways to say hello in various languages.
|
||||
|
||||
Non-ASCII examples:
|
||||
Europe: ,A!(BHola!, Hyv,Add(B p,Ad(Biv,Add(B, Gr,A|_(B Gott, Bon,Cu(Bu, Dobr,B}(B den, Tere p,Ad(Bevast
|
||||
Cze,B6f(B!, ,FCei\(B ,Fsar(B, ,L7T`PRabRcYbU(B!, $,1J2J0J;J0J@JOJ=J1J0(B
|
||||
Europe: ,A!(BHola!, Gr,A|_(B Gott, Hyv,Add(B p,Ad(Biv,Add(B, Tere ,Au(Bhtust, Bon,Cu(Bu
|
||||
Cze,B6f(B!, Dobr,B}(B den, ,L7T`PRabRcYbU(B!, ,FCei\(B ,Fsar(B, $,1J2J0J;J0J@JOJ=J1J0(B
|
||||
Africa: $(3!A!,!>(B
|
||||
Middle/Near East: ,Hylem(B, (38R(47d(3T!JSa(4W(3W(B
|
||||
South Asia: 4$,4!8v#")0$,15h14$,4!hv#")0$,15n14$,4!zv#!)v#")v#"D0$,15x6-5d6'1(B, 4$,44Kv#4z0$,1?(14$,44hv#4zv#40$,1?.14$,44qv#4{v#3Q0$,1?8?M>u?>14$,44av#4z0$,1?01(B, 4$,46<0$,1@H14$,46A0$,1@N14$,46Kv#6Vv#6)v#6M0$,1@X@m@5@^14$,46Cv#6W0$,1@P@"1(B, 4$,4*U0$,1<U14$,4*M0$,1<C14$,4*Hv#)b0$,1<5<m14$,4*H0$,1<514$,4*Qv#)b0$,1<N<m1(B, 4$(7"70"714$P0"!#C"Q1!;4"Er'"S0"E"S14"G0"G1!;4"70"714"2r'"[0"2"[1!;4"Dr'"[0"D"[14"#0"#14"G0"G1!>(B
|
||||
|
|
177
etc/NEWS
177
etc/NEWS
|
@ -336,6 +336,10 @@ by whitespace. This means you can now use them as shell wildcards
|
|||
too. If you want to use just plain `*' as a wildcard, type `*""'; the
|
||||
doublequotes make no difference in the shell, but they prevent
|
||||
special treatment in `dired-do-shell-command'.
|
||||
|
||||
** Adaptive filling misfeature removed.
|
||||
It no longer treats `NNN.' or `(NNN)' as a prefix.
|
||||
|
||||
|
||||
* Editing Changes in Emacs 22.1
|
||||
|
||||
|
@ -904,6 +908,12 @@ Such individual settings are now preserved when windows are split
|
|||
horizontally or vertically, a saved window configuration is restored,
|
||||
or when the frame is resized.
|
||||
|
||||
+++
|
||||
*** The %c and %l constructs are now ignored in frame-title-format.
|
||||
Due to technical limitations in how Emacs interacts with windowing
|
||||
systems, these constructs often failed to render properly, and could
|
||||
even cause Emacs to crash.
|
||||
|
||||
** Cursor display changes:
|
||||
|
||||
+++
|
||||
|
@ -953,6 +963,19 @@ so package-specific faces can inherit from it.
|
|||
+++
|
||||
*** `vertical-border' face is used for the vertical divider between windows.
|
||||
|
||||
** ebnf2ps changes:
|
||||
|
||||
+++
|
||||
*** New option `ebnf-arrow-extra-width' which specify extra width for arrow
|
||||
shape drawing.
|
||||
The extra width is used to avoid that the arrowhead and the terminal border
|
||||
overlap. It depens on `ebnf-arrow-shape' and `ebnf-line-width'.
|
||||
|
||||
+++
|
||||
*** New option `ebnf-arrow-scale' which specify the arrow scale.
|
||||
Values lower than 1.0, shrink the arrow.
|
||||
Values greater than 1.0, expand the arrow.
|
||||
|
||||
** Font-Lock changes:
|
||||
|
||||
+++
|
||||
|
@ -969,11 +992,12 @@ fontification in Info, remove `turn-on-font-lock' from
|
|||
`Info-mode-hook'.
|
||||
|
||||
+++
|
||||
*** font-lock: in modes like C and Lisp where the fontification assumes that
|
||||
an open-paren in column 0 is always outside of any string or comment,
|
||||
font-lock now highlights any such open-paren-in-column-zero in bold-red
|
||||
if it is inside a string or a comment, to indicate that it can cause
|
||||
trouble with fontification and/or indentation.
|
||||
*** Font-Lock mode: in major modes such as Lisp mode, where some Emacs
|
||||
features assume that an open-paren in column 0 is always outside of
|
||||
any string or comment, Font-Lock now highlights any such open-paren in
|
||||
bold-red if it is inside a string or a comment, to indicate that it
|
||||
can cause trouble. You should rewrite the string or comment so that
|
||||
the open-paren is not in column 0.
|
||||
|
||||
+++
|
||||
*** New standard font-lock face `font-lock-preprocessor-face'.
|
||||
|
@ -1054,7 +1078,7 @@ ESC, like they do for Gtk+, Mac and W32.
|
|||
|
||||
+++
|
||||
*** For the Gtk+ version, you can make Emacs use the old file dialog
|
||||
by setting the variable `x-use-old-gtk-file-dialog' to t. Default is to use
|
||||
by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use
|
||||
the new dialog.
|
||||
|
||||
** Mouse changes:
|
||||
|
@ -1429,6 +1453,10 @@ otherwise behaves quite similarly to the bash version.
|
|||
`comint-use-prompt-regexp'. The old name has been kept as an alias,
|
||||
but declared obsolete.
|
||||
|
||||
+++
|
||||
*** The EMACS environment variable now defaults to Emacs's absolute
|
||||
file name, instead of to "t".
|
||||
|
||||
** M-x Compile changes:
|
||||
|
||||
---
|
||||
|
@ -1485,6 +1513,10 @@ it doesn't scroll the compilation output window. If there is no left fringe,
|
|||
no arrow is displayed and a value of nil means display the message at the top
|
||||
of the window.
|
||||
|
||||
+++
|
||||
*** The EMACS environment variable now defaults to Emacs's absolute
|
||||
file name, instead of to "t".
|
||||
|
||||
** Occur mode changes:
|
||||
|
||||
+++
|
||||
|
@ -2003,6 +2035,34 @@ behavior in older versions of Emacs).
|
|||
---
|
||||
** Changes in Allout
|
||||
|
||||
*** Some previously rough topic-header format edge cases are reconciled.
|
||||
Level 1 topics use the mode's comment format, and lines starting with the
|
||||
asterisk - for instance, the comment close of some languages (eg, c's "*/"
|
||||
or mathematica's "*)") - at the beginning of line are no longer are
|
||||
interpreted as level 1 topics in those modes.
|
||||
|
||||
*** Many or most commonly occuring "accidental" topics are disqualified.
|
||||
Text in item bodies that looks like a low-depth topic is no longer mistaken
|
||||
for one unless its first offspring (or that of its next sibling with
|
||||
offspring) is only one level deeper.
|
||||
|
||||
For example, pasting some text with a bunch of leading asterisks into a
|
||||
topic that's followed by a level 3 or deeper topic will not cause the
|
||||
pasted text to be mistaken for outline structure.
|
||||
|
||||
The same constraint is applied to any level 2 or 3 topics.
|
||||
|
||||
This settles an old issue where typed or pasted text needed to be carefully
|
||||
reviewed, and sometimes doctored, to avoid accidentally disrupting the
|
||||
outline structure. Now that should be generally unnecessary, as the most
|
||||
prone-to-occur accidents are disqualified.
|
||||
|
||||
*** Allout now refuses to create "containment discontinuities", where a
|
||||
topic is shifted deeper than the offspring-depth of its container. On the
|
||||
other hand, allout now operates gracefully with existing containment
|
||||
discontinuities, revealing excessively contained topics rather than either
|
||||
leaving them hidden or raising an error.
|
||||
|
||||
*** Topic cryptography added, enabling easy gpg topic encryption and
|
||||
decryption. Per-topic basis enables interspersing encrypted-text and
|
||||
clear-text within a single file to your heart's content, using symmetric
|
||||
|
@ -2012,56 +2072,52 @@ pending topics on save, and more, make it easy to use encryption in
|
|||
powerful ways. Encryption behavior customization is collected in the
|
||||
allout-encryption customization group.
|
||||
|
||||
*** `allout-view-change-hook' marked as being deprecated - use
|
||||
`allout-exposure-change-hook' instead. Both are still invoked, but
|
||||
`allout-view-change-hook' will eventually be ignored. The new
|
||||
`allout-exposure-change-hook' is called with args that were passed to
|
||||
`allout-flag-region', making it easier to use.
|
||||
*** Navigation within an item is easier. Repeated beginning-of-line and
|
||||
end-of-line key commands (usually, ^A and ^E) cycle through the
|
||||
beginning/end-of-line and then beginning/end of topic, etc. See new
|
||||
customization vars `allout-beginning-of-line-cycles' and
|
||||
`allout-end-of-line-cycles'.
|
||||
|
||||
*** Other allout functions which change the outline structure also have
|
||||
hooks, enabling cooperative allout enhancements. See
|
||||
`allout-structure-added-hook', `allout-structure-deleted-hook', and
|
||||
`allout-structure-shifted-hook'.
|
||||
*** New or revised allout-mode activity hooks enable creation of
|
||||
cooperative enhancements to allout mode without changes to the mode,
|
||||
itself.
|
||||
|
||||
*** Default command prefix changed to "\C-c " (control-c space), to avoid
|
||||
intruding on user's keybinding space. Customize the
|
||||
See `allout-exposure-change-hook', `allout-structure-added-hook',
|
||||
`allout-structure-deleted-hook', and `allout-structure-shifted-hook'.
|
||||
|
||||
`allout-exposure-change-hook' replaces the existing
|
||||
`allout-view-change-hook', which is being deprecated. Both are still
|
||||
invoked, but `allout-view-change-hook' will eventually be ignored.
|
||||
`allout-exposure-change-hook' is called with explicit arguments detailing
|
||||
the specifics of each change (as are the other new hooks), making it easier
|
||||
to use than the old version.
|
||||
|
||||
There is a new mode deactivation hook, `allout-mode-deactivate-hook', for
|
||||
coordinating with deactivation of allout-mode. Both that and the mode
|
||||
activation hook, `allout-mode-hook' are now run after the `allout-mode'
|
||||
variable is changed, rather than before.
|
||||
|
||||
*** Default command prefix was changed to "\C-c " (control-c space), to
|
||||
avoid intruding on user's keybinding space. Customize the
|
||||
`allout-command-prefix' variable to your preference.
|
||||
|
||||
*** Allout now uses text overlay's `invisible' property (and others) for
|
||||
concealed text, instead of selective-display. This simplifies the code, in
|
||||
particular avoiding the need for kludges for isearch dynamic-display,
|
||||
discretionary handling of edits of concealed text, undo concerns, etc.
|
||||
*** Allout now uses text overlay's `invisible' property for concealed text,
|
||||
instead of selective-display. This simplifies the code, in particular
|
||||
avoiding the need for kludges for isearch dynamic-display, discretionary
|
||||
handling of edits of concealed text, undo concerns, etc.
|
||||
|
||||
*** Some previously rough topic-header format edge cases are reconciled.
|
||||
Level 1 topics use the mode's comment format, and lines starting with the
|
||||
asterisk - for instance, the comment close of some languages (eg, c's "*/"
|
||||
or mathematica's "*)") - at the beginning of line are no longer are
|
||||
interpreted as level 1 topics in those modes. (Yay!)
|
||||
*** There are many other fixes and refinements, including:
|
||||
|
||||
*** Many substantial fixes and refinements, including:
|
||||
|
||||
- repaired regexp-quoting of custom header prefixes, so any literals
|
||||
will now work (for instance, mathematica's "(*" is now properly
|
||||
accepted).
|
||||
- repaired inhibition of inadvertent edits to concealed text.
|
||||
- refuse to create "containment discontinuities", where a
|
||||
topic is shifted deeper than the offspring-depth of its' container
|
||||
- repaired inhibition of inadvertent edits to concealed text, without
|
||||
inhibiting undo; we now reveal undo changes within concealed text.
|
||||
- auto-fill-mode is now left inactive when allout-mode starts, if it
|
||||
already was inactive. also, `allout-inhibit-auto-fill' custom
|
||||
configuration variable makes it easy to disable auto fill in allout
|
||||
outlines in general or on a per-buffer basis.
|
||||
- mode hook changes: new hook `allout-mode-deactivate-hook', for
|
||||
coordinating with deactivation of allout-mode. `allout-mode-hook' is
|
||||
now run after the `allout-mode' variable is changed, as is the new
|
||||
`allout-mode-deactivate-hook'.
|
||||
- allout now tolerates fielded text in outlines without disruption.
|
||||
- hot-spot navigation now is modularized with a new function,
|
||||
`allout-hotspot-key-handler', enabling easier articulation and
|
||||
enhancement of the functionality by allout addons.
|
||||
- topic body navigation is easier, where repeated beginning of line and
|
||||
end of line key commands cycle through the actually beginning/end of
|
||||
line and then beginning/end of topic, etc. see new customization vars
|
||||
`allout-beginning-of-line-cycles' and `allout-end-of-line-cycles'.
|
||||
`allout-hotspot-key-handler', enabling easier use and enhancement of
|
||||
the functionality in allout addons.
|
||||
- repaired retention of topic body hanging indent upon topic depth shifts
|
||||
- bulleting variation is simpler and more accommodating, both in the
|
||||
default behavior and in ability to vary when creating new topics
|
||||
|
@ -2072,8 +2128,7 @@ interpreted as level 1 topics in those modes. (Yay!)
|
|||
- included a few unit-tests for interior functionality. developers can
|
||||
have them automatically run at the end of module load by customizing
|
||||
the option `allout-run-unit-tests-on-load'.
|
||||
- many, many minor tweaks and fixes. many internal fixes and
|
||||
refinements of docstrings.
|
||||
- many, many other, more minor tweaks, fixes, and refinements.
|
||||
- version number incremented to 2.2
|
||||
|
||||
** The variable `woman-topic-at-point' was renamed
|
||||
|
@ -3749,6 +3804,10 @@ negative, is now a float. For example: (expt 2 -2) => 0.25.
|
|||
+++
|
||||
*** The function `eql' is now available without requiring the CL package.
|
||||
|
||||
+++
|
||||
*** The new function `memql' is like `memq', but uses `eql' for comparison,
|
||||
that is, floats are compared by value and other elements with `eq'.
|
||||
|
||||
+++
|
||||
*** `makehash' is now obsolete. Use `make-hash-table' instead.
|
||||
|
||||
|
@ -4075,6 +4134,11 @@ give up and return LIMIT.
|
|||
and partial visibility state of the corresponding row, if the PARTIALLY
|
||||
arg is non-nil.
|
||||
|
||||
+++
|
||||
*** New function `window-line-height' is an efficient way to get
|
||||
information about a specific text line in a window provided that the
|
||||
window's display is up-to-date.
|
||||
|
||||
+++
|
||||
*** New functions `posn-at-point' and `posn-at-x-y' return
|
||||
click-event-style position information for a given visible buffer
|
||||
|
@ -4082,6 +4146,13 @@ position or for a given window pixel coordinate.
|
|||
|
||||
** Text modification:
|
||||
|
||||
+++
|
||||
*** The new function `buffer-chars-modified-tick' returns a buffer's
|
||||
tick counter for changes to characters. Each time text in that buffer
|
||||
is inserted or deleted, the character-change counter is updated to the
|
||||
tick counter (`buffer-modified-tick'). Text property changes leave it
|
||||
unchanged.
|
||||
|
||||
+++
|
||||
*** The new function `insert-for-yank' normally works like `insert', but
|
||||
removes the text properties in the `yank-excluded-properties' list
|
||||
|
@ -4646,6 +4717,12 @@ over minor mode keymaps.
|
|||
text properties, according to their stickiness. This also means that it
|
||||
works with empty overlays. The same hold for the `local-map' property.
|
||||
|
||||
*** `key-binding' will now look up mouse-specific bindings. The
|
||||
keymaps consulted by `key-binding' will get adapted if the key
|
||||
sequence is started with a mouse event. Instead of letting the click
|
||||
position be determined from the key sequence itself, it is also
|
||||
possible to specify it with an optional argument explicitly.
|
||||
|
||||
*** Dense keymaps now handle inheritance correctly.
|
||||
|
||||
Previously a dense keymap would hide all of the simple-char key
|
||||
|
@ -4899,9 +4976,6 @@ be used in different windows showing different buffers.
|
|||
*** New function `define-fringe-bitmap' can now be used to create new
|
||||
fringe bitmaps, as well as change the built-in fringe bitmaps.
|
||||
|
||||
To change a built-in bitmap, do (require 'fringe) and use the symbol
|
||||
identifying the bitmap such as `left-truncation' or `continued-line'.
|
||||
|
||||
*** New function `destroy-fringe-bitmap' deletes a fringe bitmap
|
||||
or restores a built-in one to its default value.
|
||||
|
||||
|
@ -5190,6 +5264,11 @@ external packages to save users from having to update
|
|||
*** The new variable `max-image-size' defines the maximum size of
|
||||
images that Emacs will load and display.
|
||||
|
||||
+++
|
||||
*** The new variable `display-mm-dimensions-alist' can be used to
|
||||
override incorrect graphical display dimensions returned by functions
|
||||
`display-mm-height' and `display-mm-width'.
|
||||
|
||||
** Mouse pointer features:
|
||||
|
||||
+++ (lispref)
|
||||
|
|
21
etc/PROBLEMS
21
etc/PROBLEMS
|
@ -202,6 +202,11 @@ necessary but missing, please report it via M-x report-emacs-bug.
|
|||
On platforms such as Solaris, you can also work around this problem by
|
||||
configuring your compiler to use the native linker instead of GNU ld.
|
||||
|
||||
** Emacs compiled with Gtk+ crashes when closing a display (x-close-connection).
|
||||
|
||||
This happens because of bugs in Gtk+. Gtk+ 2.10 seems to be OK. See bug
|
||||
http://bugzilla.gnome.org/show_bug.cgi?id=85715.
|
||||
|
||||
* General runtime problems
|
||||
|
||||
** Lisp problems
|
||||
|
@ -535,7 +540,7 @@ on the flag to output ^M at the end of each line. You can fix the
|
|||
problem by adding this to your .cshrc file:
|
||||
|
||||
if ($?EMACS) then
|
||||
if ($EMACS == "t") then
|
||||
if ("$EMACS" =~ /*) then
|
||||
unset edit
|
||||
stty -icrnl -onlcr -echo susp ^Z
|
||||
endif
|
||||
|
@ -828,6 +833,11 @@ feature (in the font part of the configuration window).
|
|||
|
||||
* Internationalization problems
|
||||
|
||||
** M-{ does not work on a Spanish PC keyboard.
|
||||
|
||||
Many Spanish keyboards seem to ignore that combination. Emacs can't
|
||||
do anything about it.
|
||||
|
||||
** Characters from the mule-unicode charsets aren't displayed under X.
|
||||
|
||||
XFree86 4 contains many fonts in iso10646-1 encoding which have
|
||||
|
@ -1081,6 +1091,15 @@ into Meta. This is because of the great importance of Meta in Emacs.
|
|||
|
||||
** Window-manager and toolkit-related problems
|
||||
|
||||
*** Gnome: Emacs receives input directly from the keyboard, bypassing XIM.
|
||||
|
||||
This seems to happen when gnome-settings-daemon version 2.12 or later
|
||||
is running. If gnome-settings-daemon is not running, Emacs receives
|
||||
input through XIM without any problem. Furthermore, this seems only
|
||||
to happen in *.UTF-8 locales; zh_CN.GB2312 and zh_CN.GBK locales, for
|
||||
example, work fine. A bug report has been filed in the Gnome
|
||||
bugzilla: http://bugzilla.gnome.org/show_bug.cgi?id=357032
|
||||
|
||||
*** Gnome: Emacs' xterm-mouse-mode doesn't work on the Gnome terminal.
|
||||
|
||||
A symptom of this bug is that double-clicks insert a control sequence
|
||||
|
|
File diff suppressed because it is too large
Load diff
3
etc/TODO
3
etc/TODO
|
@ -48,6 +48,9 @@ current buffer.
|
|||
It should not generate :require. Or :require in defcustom
|
||||
should not be recorded in the user's custom-set-variables call.
|
||||
|
||||
** Feature to change cursor shape when Emacs is idle (for more than
|
||||
a specified time).
|
||||
|
||||
** The buttons at the top of a custom buffer should not omit
|
||||
variables whose values are currently hidden.
|
||||
|
||||
|
|
298
etc/TUTORIAL.bg
298
etc/TUTORIAL.bg
|
@ -1,6 +1,6 @@
|
|||
Въведение в Emacs. Условията за копиране са в края на текста.
|
||||
Въведението на Емакс. Условията за копиране са в края на текста.
|
||||
|
||||
Командите на Emacs най-често включват клавишите CONTROL (понякога
|
||||
Командите на Емакс най-често включват клавишите CONTROL (понякога
|
||||
отбелязван с CTRL или CTL) и META (понякога отбелязван с EDIT или
|
||||
ALT). Вместо да се изписват с пълно име всеки път, ние ще използваме
|
||||
следните съкращения:
|
||||
|
@ -14,7 +14,7 @@ ALT).
|
|||
клавиша ESC и след това въведете <знак>. Ние
|
||||
записваме <ESC>, за да отбележим клавиша ESC.
|
||||
|
||||
Важна бележка: в края на Emacs сесията въведете двата знака C-x C-c.
|
||||
Важна бележка: в края на Емакс сесията въведете двата знака C-x C-c.
|
||||
Знаците ">>" отляво ви дават указание да изпълните команда. Например:
|
||||
<<Blank lines inserted here by startup of help-with-tutorial>>
|
||||
>> Сега въведете C-v (Покажи следващия екран), за да се придвижите към
|
||||
|
@ -92,7 +92,7 @@ Next (
|
|||
|
||||
Всеки ред от текст завършва със знак за нов ред, който служи за
|
||||
отделянето на реда от следващия ред. Последният ред във вашия файл
|
||||
трябва да има знак за нов ред в края (но Emacs не изисква такъв,
|
||||
трябва да има знак за нов ред в края (но Емакс не изисква такъв,
|
||||
когато прочита файла).
|
||||
|
||||
>> Опитайте C-b в началото на ред. Това трябва да ви придвижи в края
|
||||
|
@ -108,7 +108,7 @@ C-f
|
|||
|
||||
Когато се придвижвате след горния или долния край на екрана, текстът
|
||||
отвъд края се измества към екрана. Това се нарича "скролиране". То
|
||||
позволява на Emacs да придвижва курсора към зададеното място в текста,
|
||||
позволява на Емакс да придвижва курсора към зададеното място в текста,
|
||||
без да го изкарва извън екрана.
|
||||
|
||||
>> Опитайте се да придвижите курсора след долния край на екрана с C-n
|
||||
|
@ -191,7 +191,7 @@ Shift
|
|||
Вие можете също да се придвижвате с клавишите-стрелки, ако вашият
|
||||
терминал има такива. Ние препоръчваме да научите C-b, C-f, C-n и C-p
|
||||
по три причини. Първо, те работят на всички видове терминали. Второ,
|
||||
веднъж след като добиете практика в използването на Emacs, ще
|
||||
веднъж след като добиете практика в използването на Емакс, ще
|
||||
откриете, че въвеждането на тези Control-знаци е по-бързо от
|
||||
въвеждането на клавишите стрелки, защото не трябва да премествате
|
||||
ръката си далеч от областта на клавишите с букви. Трето, веднъж след
|
||||
|
@ -199,7 +199,7 @@ Shift
|
|||
можете също така лесно да научите по-напредналите команди за движение
|
||||
на курсора.
|
||||
|
||||
Повечето Emacs команди приемат числов аргумент; за повечето от тях той
|
||||
Повечето Емакс команди приемат числов аргумент; за повечето от тях той
|
||||
служи като брояч на повторения. Начинът, по който давате числов
|
||||
брояч, е с въвеждане на C-u, последвано от въвеждане на цифрите, и
|
||||
всичко това преди въвеждане на самата команда. Ако имате клавиш META
|
||||
|
@ -231,7 +231,7 @@ C-v
|
|||
|
||||
Ако използвате графичен интерфейс, като X11 или MS-Windows, би
|
||||
трябвало да има тънка правоъгълна област, наречена плъзгач (scroll
|
||||
bar), в лявата страна на прозореца на Emacs. Вие можете да скролирате
|
||||
bar), в лявата страна на прозореца на Емакс. Вие можете да скролирате
|
||||
текста, щракайки с мишката в плъзгача.
|
||||
|
||||
>> Опитайте да натиснете средния бутон на върха на осветената област
|
||||
|
@ -243,10 +243,10 @@ bar),
|
|||
нагоре и надолу, като движите мишката.
|
||||
|
||||
|
||||
* КОГАТО EMACS Е БЛОКИРАЛ
|
||||
* КОГАТО ЕМАКС Е БЛОКИРАЛ
|
||||
-------------------------
|
||||
|
||||
Ако Emacs спре да отговаря на вашите команди, вие можете да го спрете
|
||||
Ако Емакс спре да отговаря на вашите команди, вие можете да го спрете
|
||||
безопасно, като въведете C-g. Може да използвате C-g, за да спрете
|
||||
команда, която се изпълнява твърде дълго.
|
||||
|
||||
|
@ -263,15 +263,15 @@ bar),
|
|||
* ЗАБРАНЕНИ КОМАНДИ
|
||||
-------------------
|
||||
|
||||
Някои команди на Emacs са "забранени", така че начинаещите потребители
|
||||
Някои команди на Емакс са "забранени", така че начинаещите потребители
|
||||
да не могат да ги употребят по погрешка.
|
||||
|
||||
Ако въведете някоя от забранените команди, Emacs извежда съобщение,
|
||||
Ако въведете някоя от забранените команди, Емакс извежда съобщение,
|
||||
казвайки каква е била командата и питайки ви дали искате да продължите
|
||||
напред и да изпълните командата.
|
||||
|
||||
Ако наистина искате да изпробвате командата, въведете <SPC> (клавиша
|
||||
интервал) в отговор на въпроса. Обикновено ако не искате да изпълните
|
||||
Ако наистина искате да изпробвате командата, въведете клавиша интервал
|
||||
в отговор на въпроса. Обикновено ако не искате да изпълните
|
||||
забранената команда, отговаряте на въпроса с "n".
|
||||
|
||||
>> Въведете C-x C-l (която е забранена команда), и след това въведете
|
||||
|
@ -281,7 +281,7 @@ bar),
|
|||
* ПРОЗОРЦИ
|
||||
----------
|
||||
|
||||
Emacs може да управлява няколко прозореца, всеки извеждайки свой
|
||||
Емакс може да управлява няколко прозореца, всеки извеждайки свой
|
||||
собствен текст. Ние ще обясним по-късно как да използвате няколко
|
||||
прозореца. Точно сега ние искаме да обясним как да се отървете от
|
||||
допълнителни прозорци и да се върнете към основното редактиране с един
|
||||
|
@ -311,13 +311,13 @@ Emacs
|
|||
----------------------
|
||||
|
||||
Ако искате да вмъкнете текст, просто го въведете. Знаците, които
|
||||
могат да се виждат, като А, 7, * и т.н., се възприемат от Emacs като
|
||||
могат да се виждат, като А, 7, * и т.н., се възприемат от Емакс като
|
||||
текст и се вмъкват веднага. Въведете <Return> (клавишът за връщане в
|
||||
началото на реда), за да вмъкнете знак за нов ред.
|
||||
|
||||
Може да изтриете последния знак, който сте въвели, с въвеждане на
|
||||
<Delback>. <Delback> е клавиш от клавиатурата -- същият, който
|
||||
обикновено използвате извън Emacs, за да изтриете последния въведен от
|
||||
обикновено използвате извън Емакс, за да изтриете последния въведен от
|
||||
вас знак. Обикновено е голям клавиш, на няколко реда разстояние от
|
||||
клавиша <Return>, и обикновено е отбелязан с "Delete", "Del" или
|
||||
"Backspace".
|
||||
|
@ -357,24 +357,24 @@ Emacs
|
|||
>> Въведете <Return>, за да вмъкнете наново знака за нов ред, който
|
||||
изтрихте.
|
||||
|
||||
Запомнете, че на повечето команди на Emacs може да бъде зададен брояч
|
||||
Запомнете, че на повечето команди на Емакс може да бъде зададен брояч
|
||||
на повторенията; това включва вмъкването на текстови знаци.
|
||||
Повтарянето на текстов знак го вмъква няколко пъти.
|
||||
|
||||
>> Опитайте това сега -- въведете C-u 8 *, за да вмъкнете ********.
|
||||
|
||||
Сега вие сте научили най-основните начини за въвеждане на нещо в Emacs
|
||||
Сега вие сте научили най-основните начини за въвеждане на нещо в Емакс
|
||||
и поправяне на грешки. Можете също така да изтривате думи или редове.
|
||||
Ето обобщение на изтриващите действия:
|
||||
|
||||
<Delback> Изтриване на знака точно преди курсора
|
||||
C-d Изтриване на знака точно след курсора
|
||||
<Delback> изтриване на знака точно преди курсора
|
||||
C-d изтриване на знака точно след курсора
|
||||
|
||||
M-<Delback> Изтриване на думата непосредствено преди курсора
|
||||
M-d Изтриване на думата след курсора
|
||||
M-<Delback> изтриване на думата непосредствено преди курсора
|
||||
M-d изтриване на думата след курсора
|
||||
|
||||
C-k Изтриване от мястото на курсора до края на реда
|
||||
M-k Изтриване до края на текущото изречение
|
||||
C-k изтриване от мястото на курсора до края на реда
|
||||
M-k изтриване до края на текущото изречение
|
||||
|
||||
Забележете, че <Delback> и C-d, сравнени с M-<Delback> и M-d,
|
||||
разширяват подобието, започнато от C-f и M-f (добре, <Delback> не е
|
||||
|
@ -384,12 +384,12 @@ M-k
|
|||
|
||||
Можете също да премахнете всяка част от буфера с един универсален
|
||||
начин. Придвижете се до единия край на частта и въведете C-@ или
|
||||
C-<SPC> (което и да е от двете). (<SPC> е клавишът интервал.)
|
||||
Придвижете се до другия край на частта и въведете C-w. Това ще изреже
|
||||
целия текст между тези два края.
|
||||
C-интервал (което и да е от двете). Придвижете се до другия край на
|
||||
частта и въведете C-w. Това ще изреже целия текст между тези два
|
||||
края.
|
||||
|
||||
>> Придвижете курсора до знака "М" в началото на предишния абзац.
|
||||
>> Въведете C-<SPC>. Emacs трябва да изведе съобщение "Mark set" в
|
||||
>> Въведете C-интервал. Емакс трябва да изведе съобщение "Mark set" в
|
||||
долния край на екрана.
|
||||
>> Придвижете курсора до буквата "р" в "край" на втория ред от абзаца.
|
||||
>> Въведете C-w. Това ще изреже текста, започващ от "М" и завършващ
|
||||
|
@ -419,9 +419,9 @@ C-k
|
|||
Връщането обратно на текст се нарича "вмъкване". (Мислете за него
|
||||
като за изваждане обратно, или дръпване обратно, на текст, който е бил
|
||||
изрязан.) Можете да вмъквате изрязания текст или на същото място,
|
||||
откъдето е бил премахнат, или на друго място в редактирания текст,
|
||||
даже и в различен файл. Можете да вмъквате един и същ текст няколко
|
||||
пъти; това прави няколко копия от него.
|
||||
откъдето е бил премахнат, или на друго място в буфера, даже и в
|
||||
различен файл. Можете да вмъквате един и същ текст няколко пъти; това
|
||||
прави няколко копия от него.
|
||||
|
||||
Командата за вмъкване е C-y. Тя вмъква наново последния изрязан текст
|
||||
в текущото място на курсора.
|
||||
|
@ -500,25 +500,25 @@ C_-
|
|||
---------
|
||||
|
||||
За да направите текста, който редактирате, постоянен, трябва да го
|
||||
сложите във файл. В противен случай той ще изчезне, когато Emacs
|
||||
сложите във файл. В противен случай той ще изчезне, когато Емакс
|
||||
приключи. За да сложите вашия текст във файл, трябва да "намерите"
|
||||
файла преди да въвеждате текст. (Това също се нарича "посещаване" на
|
||||
файла.)
|
||||
|
||||
Намиране на файл означава, че виждате съдържанието му в Emacs. В
|
||||
Намиране на файл означава, че виждате съдържанието му в Емакс. В
|
||||
много случаи това е като да редактирате самия файл. Обаче промените,
|
||||
които правите, използвайки Emacs, не остават постоянни, докато не
|
||||
които правите, използвайки Емакс, не остават постоянни, докато не
|
||||
"запишете" файла. Това е така, за да се предотврати оставянето на
|
||||
полупроменен файл в системата, когато не искате това. Дори когато
|
||||
записвате, Emacs оставя началния файл под променено име, в случай, че
|
||||
записвате, Емакс оставя началния файл под променено име, в случай, че
|
||||
по-късно решите, че вашите промени са били грешка.
|
||||
|
||||
Ако погледнете в дъното на екрана, ще видите ред, който започва и
|
||||
завършва с тирета и започва с "-R:-- TUTORIAL.bg" или нещо подобно.
|
||||
завършва с тирета и започва с "-b:-- TUTORIAL.bg" или нещо подобно.
|
||||
Тази част от екрана показва името на файла, който сте посетили. Точно
|
||||
сега вие сте посетили файл, наречен "TUTORIAL.bg", който е вашето
|
||||
лично копие-чернова на Emacs въведението. Когато намерите файл в
|
||||
Emacs, името на този файл ще се появи на същото място.
|
||||
лично копие-чернова на Емакс въведението. Когато намерите файл в
|
||||
Емакс, името на този файл ще се появи на същото място.
|
||||
|
||||
Особеност на командата за намиране на файл е, че трябва да кажете
|
||||
името на файла, който искате. Ние го наричаме "четене на аргумент от
|
||||
|
@ -527,10 +527,10 @@ Emacs,
|
|||
|
||||
C-x C-f Намиране на файл
|
||||
|
||||
Emacs ви подканя да въведете името на файла. Името на файла, което
|
||||
Емакс ви подканя да въведете името на файла. Името на файла, което
|
||||
напишете, се появява в дъното на екрана. Редът в дъното на екрана се
|
||||
нарича минибуфер, когато се използва за този вид вход. Можете да
|
||||
използвате обикновените команди за редактиране на Emacs, за да
|
||||
използвате обикновените команди за редактиране на Емакс, за да
|
||||
редактирате името на файла.
|
||||
|
||||
Когато въвеждате името на файла (или какъвто и да е вход в
|
||||
|
@ -551,12 +551,12 @@ Emacs
|
|||
|
||||
C-x C-s Запазване на файла
|
||||
|
||||
Това копира текста от Emacs във файла. Първия път, когато това се
|
||||
направи, Emacs преименува началния файл с ново име, така че той да не
|
||||
Това копира текста от Емакс във файла. Първия път, когато това се
|
||||
направи, Емакс преименува началния файл с ново име, така че той да не
|
||||
се изгуби. Новото име се построява с добавяне на "~" в края на името
|
||||
на началния файл.
|
||||
|
||||
Когато запазването е свършило, Emacs извежда името на файла, който е
|
||||
Когато запазването е свършило, Емакс извежда името на файла, който е
|
||||
бил записан. Трябва да записвате достатъчно често, така че да не
|
||||
изгубите много работа, ако системата се срине по някаква причина.
|
||||
|
||||
|
@ -564,19 +564,19 @@ Emacs
|
|||
Това трябва да изведе "Wrote ...TUTORIAL.bg" в дъното на екрана.
|
||||
|
||||
ЗАБЕЛЕЖКА: На някои системи въвеждането на C-x C-s ще замръзи екрана и
|
||||
вие няма да виждате повече изход от Emacs. Това показва, че една
|
||||
вие няма да виждате повече изход от Емакс. Това показва, че една
|
||||
"способност" на операционната система, наричана "управление на потока"
|
||||
(flow control), е прихванала C-s и не го пропуска към Emacs. За да
|
||||
(flow control), е прихванала C-s и не го пропуска към Емакс. За да
|
||||
размразите екрана, въведете C-q. Тогава вижте секцията "Спонтанно
|
||||
включване на постъпково търсене" (Spontaneous Entry to Incremental
|
||||
Search) в ръководството на Emacs за съвет как да се справите с тази
|
||||
Search) в ръководството на Емакс за съвет как да се справите с тази
|
||||
"способност".
|
||||
|
||||
Може да намерите съществуващ файл, да го разгледате и да го
|
||||
редактирате. Можете също да намерите файл, който не съществува. Това
|
||||
е начинът за създаване на нови файлове в Emacs: намирате файла, който
|
||||
е начинът за създаване на нови файлове в Емакс: намирате файла, който
|
||||
ще бъде в началото празен, и тогава започвате вмъкването на текста за
|
||||
файла. Когато говорите за "записване" на файл, Emacs всъщност ще
|
||||
файла. Когато говорите за "записване" на файл, Емакс всъщност ще
|
||||
създаде файла с текста, който сте въвели. Оттам нататък може да
|
||||
считате, че редактирате вече съществуващ файл.
|
||||
|
||||
|
@ -584,9 +584,9 @@ Search)
|
|||
* БУФЕРИ
|
||||
--------
|
||||
|
||||
Ако намерите втори файл с C-x C-f, първият файл остава в Emacs.
|
||||
Ако намерите втори файл с C-x C-f, първият файл остава в Емакс.
|
||||
Можете да превключите обратно към него, като го намерите пак с C-x
|
||||
C-f. По този начин може да получите доста на брой файлове в Emacs.
|
||||
C-f. По този начин може да получите доста на брой файлове в Емакс.
|
||||
|
||||
>> Създайте файл с име "foo", въвеждайки C-x C-f foo <Return>.
|
||||
Вмъкнете малко текст, редактирайте го и запазете "foo" с въвеждане
|
||||
|
@ -594,16 +594,16 @@ C-f.
|
|||
Накрая въведете C-x C-f TUTORIAL.bg <Return>, за да се върнете
|
||||
обратно във въведението.
|
||||
|
||||
Emacs запазва текста на всеки файл в обект, наричан "буфер".
|
||||
Намирането на файл прави нов буфер в Emacs. За да видите списък на
|
||||
буферите, които в момента съществуват във вашия Emacs, въведете
|
||||
Емакс запазва текста на всеки файл в обект, наричан "буфер".
|
||||
Намирането на файл прави нов буфер в Емакс. За да видите списък на
|
||||
буферите, които в момента съществуват във вашия Емакс, въведете
|
||||
|
||||
C-x C-b Показване на буферите
|
||||
|
||||
>> Опитайте C-x C-b сега.
|
||||
|
||||
Вижте как всеки буфер има име, а понякога и име на файл за файла,
|
||||
чието съдържание държи. ВСЕКИ текст, който виждате в Emacs прозорец,
|
||||
чието съдържание държи. ВСЕКИ текст, който виждате в Емакс прозорец,
|
||||
е винаги част от някакъв буфер.
|
||||
|
||||
>> Въведете C-x 1, за да махнете списъка с буферите.
|
||||
|
@ -625,13 +625,13 @@ Emacs
|
|||
Списъкът с буферите, който правите с C-x C-b, винаги ви показва името
|
||||
на всеки буфер.
|
||||
|
||||
ВСЕКИ текст, който виждате в Emacs прозорец, е винаги част от някакъв
|
||||
ВСЕКИ текст, който виждате в Емакс прозорец, е винаги част от някакъв
|
||||
буфер. Някои буфери не съответстват на файлове. Например буферът,
|
||||
именуван "*Buffer List*", не съответства на файл. Това е буферът,
|
||||
който съдържа списъка с буферите, които сте направили с C-x C-b.
|
||||
Буферът, именуван "*Messages*", също не съответства на файл; той
|
||||
съдържа съобщенията, които се появяват в дъното на екрана по време на
|
||||
Emacs сесията.
|
||||
Емакс сесията.
|
||||
|
||||
>> Въведете C-x b *Messages* <Return>, за да видите буфера със
|
||||
съобщенията. След това въведете C-x C-b TUTORIAL <Return>, за да
|
||||
|
@ -639,7 +639,7 @@ Emacs
|
|||
|
||||
Ако направите промени в текста на един файл и тогава намерите друг
|
||||
файл, това няма да запише първия файл. Неговите промени остават вътре
|
||||
в Emacs, в буфера на файла. Създаването или редактирането на буфера
|
||||
в Емакс, в буфера на файла. Създаването или редактирането на буфера
|
||||
на втория файл няма ефект върху буфера на първия файл. Това е много
|
||||
полезно, но също означава, че се нуждаете от удобен начин да запазите
|
||||
буфера на първия файл. Ще е неудобно да превключите обратно с C-x
|
||||
|
@ -658,8 +658,8 @@ C-x s
|
|||
* РАЗШИРЯВАНЕ НА НАБОРА КОМАНДИ
|
||||
-------------------------------
|
||||
|
||||
Има много, много повече команди на Emacs, отколкото могат да се сложат
|
||||
на всички контролни и мета знаци. Emacs заобикаля това с X (eXtended)
|
||||
Има много, много повече команди на Емакс, отколкото могат да се сложат
|
||||
на всички контролни и мета знаци. Емакс заобикаля това с X (eXtended)
|
||||
командата. Това става по два начина:
|
||||
|
||||
C-x Знаково разширяване. Последвано от един знак.
|
||||
|
@ -667,49 +667,49 @@ C-x s
|
|||
име.
|
||||
|
||||
Тези команди са общо взето полезни, но по-малко, отколкото командите,
|
||||
които досега сте научили. Вече видяхте няколко от тях: например
|
||||
командите върху файлове C-x C-f за намиране (Find) и C-x C-s за
|
||||
запазване (Save). Друг пример е командата за край на Emacs сесията --
|
||||
това е командата C-x C-c. (Не се безпокойте, че може да изгубите
|
||||
всички промени, които сте направили; C-x C-c предлага да запази всеки
|
||||
променен файл, преди да премахне Emacs.)
|
||||
които досега сте научили. Вече видяхте две от тях: командите върху
|
||||
файлове C-x C-f за намиране (Find) и C-x C-s за запазване (Save).
|
||||
Друг пример е командата за край на Емакс сесията -- това е командата
|
||||
C-x C-c. (Не се безпокойте, че може да изгубите всички промени, които
|
||||
сте направили; C-x C-c предлага да запази всеки променен файл, преди
|
||||
да премахне Емакс.)
|
||||
|
||||
C-z е командата за излизане от Emacs *временно* -- така че да можете
|
||||
да се върнете към същата Emacs сесия по-късно.
|
||||
C-z е командата за излизане от Емакс *временно* -- така че да можете
|
||||
да се върнете към същата Емакс сесия по-късно.
|
||||
|
||||
На системи, които позволяват това, C-z "изоставя" (suspend) Emacs,
|
||||
т.е. връща към обвивката, но не разрушава Emacs. В повечето обвивки
|
||||
можете да продължите Emacs сесията с командата "fg" или с "%emacs".
|
||||
На системи, които позволяват това, C-z "изоставя" (suspend) Емакс,
|
||||
т.е. връща към обвивката, но не разрушава Емакс. В повечето обвивки
|
||||
можете да продължите Емакс сесията с командата "fg" или с "%emacs".
|
||||
|
||||
На системи, които не позволяват изоставяне, C-z създава нова
|
||||
подобвивка, която върви под Emacs, за да ви даде шанс да стартирате
|
||||
други програми и да се върнете към Emacs след това; това не е истинско
|
||||
"излизане" от Emacs. В този случай командата на обвивката "exit" е
|
||||
обикновеният начин да се върнете обратно към Emacs от подобвивката.
|
||||
подобвивка, която върви под Емакс, за да ви даде шанс да стартирате
|
||||
други програми и да се върнете към Емакс след това; това не е истинско
|
||||
"излизане" от Емакс. В този случай командата на обвивката "exit" е
|
||||
обикновеният начин да се върнете обратно към Емакс от подобвивката.
|
||||
|
||||
Моментът да използвате C-x C-c е, когато искате да излезете от
|
||||
системата. Това е и правилната команда за излизане, когато Emacs е
|
||||
системата. Това е и правилната команда за излизане, когато Емакс е
|
||||
извикан от пощенска програма или други странични програми, тъй като те
|
||||
може и да не знаят как да се справят с изоставянето на Emacs. При
|
||||
може и да не знаят как да се справят с изоставянето на Емакс. При
|
||||
обикновени обстоятелства, обаче, ако не сте тръгнали да излизате от
|
||||
системата, по-добре е да изоставите Emacs с C-z, вместо да излизате от
|
||||
Emacs.
|
||||
системата, по-добре е да изоставите Емакс с C-z, вместо да излизате от
|
||||
Емакс.
|
||||
|
||||
Има много команди C-x. Ето списък на тези, които сте научили:
|
||||
|
||||
C-x C-f Намиране на файл
|
||||
C-x C-s Запазване на файл
|
||||
C-x C-b Списък на буферите
|
||||
C-x C-c Излизане от Emacs
|
||||
C-x 1 Изтриване на всички прозорци, освен един
|
||||
C-x u Отмяна
|
||||
C-x C-f Намиране на файл.
|
||||
C-x C-s Запазване на файл.
|
||||
C-x C-b Списък на буферите.
|
||||
C-x C-c Излизане от Емакс.
|
||||
C-x 1 Изтриване на всички прозорци освен един.
|
||||
C-x u Отмяна.
|
||||
|
||||
Именуваните разширени команди са команди, които се използват даже още
|
||||
по-рядко, или команди, които се използват само в определени режими.
|
||||
Пример е командата replace-string, която заменя глобално един низ с
|
||||
друг. Когато въведете M-x, Emacs ви подсказва в дъното на екрана с
|
||||
друг. Когато въведете M-x, Емакс ви подсказва в дъното на екрана с
|
||||
M-x и вие трябва да въведете името на командата, в този случай
|
||||
"replace-string". Просто въведете "repl s<TAB>" и Emacs ще завърши
|
||||
"replace-string". Просто въведете "repl s<TAB>" и Емакс ще завърши
|
||||
името. (<TAB> е клавишът Tab, обикновено намиращ се над клавиша
|
||||
CapsLock или клавиша Shift близо до левия край на клавиатурата.)
|
||||
Завършете името на командата с <Return>.
|
||||
|
@ -733,11 +733,11 @@ CapsLock
|
|||
|
||||
Когато сте направили промени във файл, но още не сте го запазили, те
|
||||
могат да бъдат загубени, ако компютърът внезапно се изключи. За да ви
|
||||
предпази от такива ситуации, Emacs периодично запазва "автоматично
|
||||
предпази от такива ситуации, Емакс периодично запазва "автоматично
|
||||
запазван" файл за всеки файл, който редактирате. Името на автоматично
|
||||
запазвания файл има # в началото и в края; например, ако вашият файл е
|
||||
с име "hello.c", името на неговия автоматично запазван файл ще бъде
|
||||
"#hello.c#". Когато запазвате файл по обикновения начин, Emacs
|
||||
"#hello.c#". Когато запазвате файл по обикновения начин, Емакс
|
||||
изтрива неговия автоматично записван файл.
|
||||
|
||||
Ако компютърът зависне, може да възстановите вашата автоматично
|
||||
|
@ -751,7 +751,7 @@ M-x recover file<Return>.
|
|||
* ЕХО ОБЛАСТТА
|
||||
--------------
|
||||
|
||||
Ако Emacs види, че въвеждате многознакови команди бавно, ще ви ги
|
||||
Ако Емакс види, че въвеждате многознакови команди бавно, ще ви ги
|
||||
покаже в дъното на екрана, в област, наричана "ехо област". Ехо
|
||||
областта обхваща последния ред от екрана.
|
||||
|
||||
|
@ -762,18 +762,18 @@ M-x recover file<Return>.
|
|||
Редът точно над ехо областта се нарича "ред на режима" (mode line).
|
||||
Той показва нещо като:
|
||||
|
||||
-D:** TUTORIAL.bg 63% L749 (Fundamental)---------------------
|
||||
-b:** TUTORIAL.bg (Fundamental)--L670--58%----------------
|
||||
|
||||
Този ред дава полезна информация за състоянието на Emacs и текста,
|
||||
Този ред дава полезна информация за състоянието на Емакс и текста,
|
||||
който редактирате.
|
||||
|
||||
Вече знаете какво означава името на файла -- това е файлът, който сте
|
||||
намерили. NN% показва вашата текуща позиция в текста; това означава,
|
||||
че NN процента от текста е над върха на екрана. Ако началото на файла
|
||||
е на екрана, ще се показва --Top-- (връх) вместо --00%--. Ако краят
|
||||
на файла е на екрана, ще се показва --Bot-- (дъно). Ако гледате
|
||||
текст, който е толкова малък, че се показва изцяло на екрана, редът на
|
||||
режима ще изведе --All--.
|
||||
намерили. -NN%-- показва вашата текуща позиция в текста; това
|
||||
означава, че NN процента от текста е над върха на екрана. Ако
|
||||
началото на файла е на екрана, ще се показва --Top-- (връх) вместо
|
||||
--00%--. Ако края на файла е на екрана, ще се показва --Bot-- (дъно).
|
||||
Ако гледате текст, който е толкова малък, че се показва изцяло на
|
||||
екрана, редът на режима ще изведе --All--.
|
||||
|
||||
Знакът L и цифрите показват мястото по друг начин: това е номерът на
|
||||
текущия ред на точката.
|
||||
|
@ -787,7 +787,7 @@ M-x recover file<Return>.
|
|||
Fundamental (Основен), който използвате в момента. Това е пример за
|
||||
"главен режим" (major mode).
|
||||
|
||||
Emacs има много главни режими. Някои от тях са предвидени за
|
||||
Емакс има много главни режими. Някои от тях са предвидени за
|
||||
редактиране на различни езици и/или видове текст, като например режим
|
||||
Лисп, режим Текст и други. Във всеки един момент от време точно един
|
||||
главен режим е активен и неговото име може винаги да бъде намерено в
|
||||
|
@ -806,7 +806,7 @@ Emacs
|
|||
|
||||
>> Въведете M-x text mode<Return>.
|
||||
|
||||
Не се безпокойте, никоя от Emacs командите, които сте научили, няма да
|
||||
Не се безпокойте, никоя от Емакс командите, които сте научили, няма да
|
||||
се промени по някакъв съществен начин. Но може да забележите, че M-f
|
||||
и M-b сега възприемат апострофите (') като част от думите. Преди
|
||||
това, в основния режим (Fundamental), M-f и M-b се възприемаха като
|
||||
|
@ -835,7 +835,7 @@ m.
|
|||
|
||||
Един главен режим, който е много полезен, особено за редактиране на
|
||||
текст на естествен език, е режимът на автоматично запълване (Auto Fill
|
||||
mode). Когато този режим е включен, Emacs автоматично разделя реда
|
||||
mode). Когато този режим е включен, Емакс автоматично разделя реда
|
||||
при мястото между думите, когато вмъквате текст и направите ред, който
|
||||
е твърде дълъг.
|
||||
|
||||
|
@ -855,7 +855,7 @@ auto fill mode<Return>.
|
|||
аргумент на командата.
|
||||
|
||||
>> Въведете C-x f с аргумент 20. (C-u 2 0 C-x f).
|
||||
Сега въведете някакъв текст и вижте как Emacs запълва редовете с по
|
||||
Сега въведете някакъв текст и вижте как Емакс запълва редовете с по
|
||||
не повече от 20 знака. После върнете обратно границата на 70,
|
||||
използвайки C-x f отново.
|
||||
|
||||
|
@ -870,12 +870,12 @@ auto fill mode<Return>.
|
|||
* ТЪРСЕНЕ
|
||||
---------
|
||||
|
||||
Emacs може да извършва търсения на низове (това са последователности
|
||||
Емакс може да извършва търсения на низове (това са последователности
|
||||
от знаци или думи) или напред в текста, или назад в него. Търсенето
|
||||
на низ е придвижваща курсора команда; тя премества курсора на
|
||||
следващото място, където се среща низът.
|
||||
|
||||
Командата за търсене на Emacs се различава от командата за търсене на
|
||||
Командата за търсене на Емакс се различава от командата за търсене на
|
||||
повечето редактори по това, че тя е "постъпкова". Това означава, че
|
||||
търсенето се извършва още докато въвеждате текста, който търсите.
|
||||
|
||||
|
@ -883,7 +883,7 @@ Emacs
|
|||
търсене назад. НО ПОЧАКАЙТЕ! Не ги пробвайте сега.
|
||||
|
||||
Когато въведете C-s, ще забележите, че низът "I-search" се появява
|
||||
като подсказка в ехо областта. Това ви казва, че Emacs е в това,
|
||||
като подсказка в ехо областта. Това ви казва, че Емакс е в това,
|
||||
което се нарича постъпково търсене, чакайки ви да въвеждате текста,
|
||||
който искате да търсите. <Return> приключва търсенето.
|
||||
|
||||
|
@ -895,19 +895,19 @@ Emacs
|
|||
>> Сега въведете <Delback> три пъти и вижте как се придвижва курсора.
|
||||
>> Въведете <Return>, за да прекратите търсенето.
|
||||
|
||||
Забелязахте ли какво стана? Emacs, когато търси постъпково, се опитва
|
||||
Забелязахте ли какво стана? Емакс, когато търси постъпково, се опитва
|
||||
да намери следващото съвпадение на низа, който се въвежда. За да
|
||||
отидете на следващото съвпадение на "търсне", просто отново въведете
|
||||
C-s. Ако няма такова съвпадение, Emacs бибипва и ви казва, че
|
||||
C-s. Ако няма такова съвпадение, Емакс бибипва и ви казва, че
|
||||
търсенето е "провалено" (failing). C-g също прекратява търсенето.
|
||||
|
||||
ЗАБЕЛЕЖКА: На някои системи въвеждането на C-s ще замрази екрана и вие
|
||||
няма да може да видите повече реакция от Emacs. Това показва, че
|
||||
няма да може да видите повече реакция от Емакс. Това показва, че
|
||||
"способност" на операционната система, наречена "управление на потока"
|
||||
(flow control), е прихванала C-s и не го пропуска до Emacs. За да
|
||||
(flow control), е прихванала C-s и не го пропуска до Емакс. За да
|
||||
размразите екрана, въведете C-q. Тогава вижте секцията "Спонтанно
|
||||
включване на постъпковото търсене" (Spontaneous Entry to Incremental
|
||||
Search) в ръководството на Emacs за съвет как да се справите с тази
|
||||
Search) в ръководството на Емакс за съвет как да се справите с тази
|
||||
"способност".
|
||||
|
||||
Ако сте в средата на постъпково търсене и въведете <Delback>, ще
|
||||
|
@ -929,9 +929,9 @@ C-s
|
|||
|
||||
|
||||
* МНОЖЕСТВО ПРОЗОРЦИ
|
||||
--------------------
|
||||
----------------
|
||||
|
||||
Една от привлекателните способности на Emacs е тази, че може да
|
||||
Една от привлекателните способности на Емакс е тази, че може да
|
||||
гледате повече от един прозорец на екрана в даден момент от време.
|
||||
|
||||
>> Придвижете курсора до този ред и въведете C-u 0 C-l (това е
|
||||
|
@ -942,7 +942,7 @@ C-s
|
|||
остава на по-горния прозорец.
|
||||
|
||||
>> Въведете C-M-v, за да скролирате долния прозорец. (Ако нямате
|
||||
истински клавиш META, въведете <ESC> C-v.)
|
||||
истински клавиш META, въведете ESC C-v.)
|
||||
|
||||
>> Въведете C-x o ("o" от "other" -- "друг"), за да придвижите
|
||||
курсора в долния прозорец.
|
||||
|
@ -971,10 +971,10 @@ C-M-v
|
|||
първи", защото и двата клавиша действат, модифицирайки знака, който
|
||||
сте въвели.
|
||||
|
||||
Ако нямате истински клавиш META и използвате <ESC> вместо това, редът
|
||||
има значение: трябва да въвеждате <ESC>, последван от CONTROL-v,
|
||||
защото CONTROL-<ESC> v няма да работи. Това е така, защото <ESC> е
|
||||
собствен знак, а не модификатор.
|
||||
Ако нямате истински клавиш META и използвате ESC вместо това, редът
|
||||
има значение: трябва да въвеждате ESC, последван от CONTROL-v, защото
|
||||
CONTROL-ESC v няма да работи. Това е така, защото ESC е собствен
|
||||
знак, а не модификатор.
|
||||
|
||||
>> Въведете C-x 1 (в горния прозорец), за да махнете долния прозорец.
|
||||
|
||||
|
@ -1007,13 +1007,13 @@ C-M-v
|
|||
на главния режим. Например, може да видите [(Fundamental)] вместо
|
||||
(Fundamental).
|
||||
|
||||
За да се махнете от вложеното ниво на редактиране, въведете <ESC>
|
||||
<ESC> <ESC>. Това е обща команда за "излизане". Може и да я
|
||||
използвате за махане (скриване) на допълнителни прозорци, както и за
|
||||
да се махнете от минибуфера.
|
||||
За да се махнете от вложеното ниво на редактиране, въведете ESC ESC
|
||||
ESC. Това е обща команда за "излизане". Може и да я използвате за
|
||||
махане (скриване) на допълнителни прозорци, както и за да се махнете
|
||||
от минибуфера.
|
||||
|
||||
>> Въведете M-x, за да влезете в минибуфер; тогава въведете <ESC> <ESC>
|
||||
<ESC>, за да излезете.
|
||||
>> Въведете M-x, за да влезете в минибуфер; тогава въведете ESC ESC
|
||||
ESC, за да излезете.
|
||||
|
||||
Не можете да използвате C-g, за да излезете от вложено ниво на
|
||||
редактиране. Това е така, защото C-g се използва за прекратяване на
|
||||
|
@ -1024,16 +1024,16 @@ C-M-v
|
|||
----------------------------------
|
||||
|
||||
В това въведение се опитахме да осигурим достатъчно информация, за да
|
||||
започнете да използвате Emacs. Има толкова много още в Emacs, че не е
|
||||
започнете да използвате Емакс. Има толкова много още в Емакс, че не е
|
||||
възможно то да бъде обяснено всичкото тук. Обаче може да поискате да
|
||||
научите повече за Emacs, тъй като той притежава още много полезни
|
||||
способности. Emacs има команди за четене на документацията на Emacs
|
||||
научите повече за Емакс, тъй като той притежава още много полезни
|
||||
способности. Емакс има команди за четене на документацията на Емакс
|
||||
командите. Тези "помощни" команди всички започват със знака
|
||||
CONTROL-h, който се нарича "знакът за помощ".
|
||||
|
||||
За да използвате възможностите на тази помощ, въведете знака C-h и
|
||||
след това знака, казващ какъв вид помощ искате. Ако НАИСТИНА сте се
|
||||
изгубили, въведете C-h ? и Emacs ще ви каже с какво може да ви
|
||||
изгубили, въведете C-h ? и Емакс ще ви каже с какво може да ви
|
||||
помогне. Ако сте въвели C-h и решите, че не се нуждаете от помощ,
|
||||
просто въведете C-g, за да я прекратите.
|
||||
|
||||
|
@ -1045,7 +1045,7 @@ CONTROL-h,
|
|||
|
||||
Най-основното помощно средство е C-h c. Въведете C-h, знака c и
|
||||
команден знак или последователност от знаци, образуващи команда;
|
||||
тогава Emacs ще изведе много кратко описание на командата.
|
||||
тогава Емакс ще изведе много кратко описание на командата.
|
||||
|
||||
>> Type C-h c C-p.
|
||||
|
||||
|
@ -1055,7 +1055,7 @@ CONTROL-h,
|
|||
(C-p изпълнява командата предишен-ред)
|
||||
|
||||
Това ви казва "името на функцията". Имената на функциите се използват
|
||||
най-вече за настройване и разширяване на Emacs. Но тъй като имената
|
||||
най-вече за настройване и разширяване на Емакс. Но тъй като имената
|
||||
на функциите са избрани така, че да показват какво прави командата, те
|
||||
могат да служат и за много кратка документация -- достатъчна, за да ви
|
||||
припомни команди, които вече сте учили.
|
||||
|
@ -1069,7 +1069,7 @@ c.
|
|||
>> Въведете C-h k C-p.
|
||||
|
||||
Това извежда документацията на функцията, както и нейното име, в
|
||||
отделен Emacs прозорец. Когато я прочетете, въведете C-x 1, за да
|
||||
отделен Емакс прозорец. Когато я прочетете, въведете C-x 1, за да
|
||||
махнете помощния текст. Не е нужно да правите това точно сега. Може
|
||||
да редактирате, докато се обръщате към помощния текст за справка, и
|
||||
след това да въведете C-x 1.
|
||||
|
@ -1080,14 +1080,14 @@ c.
|
|||
функцията.
|
||||
|
||||
>> Опитайте с въвеждане на C-h f previous-line<Return>.
|
||||
Това извежда цялата информация, която Emacs знае за функцията,
|
||||
Това извежда цялата информация, която Емакс знае за функцията,
|
||||
която осъществява командата C-p.
|
||||
|
||||
Подобна команда, C-h v, извежда документацията на променливите, които
|
||||
може да променяте, за да настройвате поведението на Emacs. Трябва да
|
||||
въведете името на променливата, когато Emacs ви подскаже това.
|
||||
може да променяте, за да настройвате поведението на Емакс. Трябва да
|
||||
въведете името на променливата, когато Емакс ви подскаже това.
|
||||
|
||||
C-h a Команда Апропос. Въведете ключова дума и Emacs ще
|
||||
C-h a Команда Апропос. Въведете ключова дума и Емакс ще
|
||||
покаже списък на всички команди, чието име съдържа
|
||||
тази ключова дума. Тези команди могат всички да бъдат
|
||||
извикани чрез META-x. За някои команди командата
|
||||
|
@ -1110,18 +1110,18 @@ C-f,
|
|||
специален буфер, наричан "*info*", където може да
|
||||
четете ръководствата на инсталираните във вашата
|
||||
система пакети. Въведете m emacs <Return>, за да
|
||||
четете ръководството на Emacs. Ако никога преди това
|
||||
не сте използвали Info, въведете ? и Emacs ще включи
|
||||
четете ръководството на Емакс. Ако никога преди това
|
||||
не сте използвали Info, въведете ? и Емакс ще включи
|
||||
въведение във възможностите на режима Инфо. Веднъж
|
||||
след като сте преминали това въведение, трябва да се
|
||||
консултирате с Emacs Инфо ръководството като ваша
|
||||
консултирате с Емакс Инфо ръководството като ваша
|
||||
основна документация.
|
||||
|
||||
|
||||
* ОЩЕ ВЪЗМОЖНОСТИ
|
||||
-----------------
|
||||
|
||||
Може да научите повече за Emacs с четене на неговото ръководство, или
|
||||
Може да научите повече за Емакс с четене на неговото ръководство, или
|
||||
като книга, или в Инфо (използвайте менюто помощ (Help) или въведете
|
||||
F10 h r). Две възможности, които може да желаете в началото, са
|
||||
довършване (completion), което спестява писане, и dired, който
|
||||
|
@ -1129,26 +1129,26 @@ F10 h r).
|
|||
|
||||
Довършването е начин да избягвате ненужно писане. Например, ако
|
||||
искате да превключите към буфера *Messages*, може да въведете C-x b
|
||||
*M<Tab> и Emacs ще запълни останалата част от името на буфера,
|
||||
*M<Tab> и Емакс ще запълни останалата част от името на буфера,
|
||||
доколкото може да се определи от това, което сте въвели. Довършването
|
||||
е описано в Инфо-ръководството на Emacs в страницата "Довършване"
|
||||
е описано в Инфо-ръководството на Емакс в страницата "Довършване"
|
||||
("Completion").
|
||||
|
||||
Dired ви позволява да гледате списъка от файлове в директория (и като
|
||||
възможност: нейните поддиректории), да се придвижвате в този списък,
|
||||
да посещавате, преименувате, изтривате и изобщо действате върху
|
||||
файловете. Dired е описан в Инфо-ръководството на Emacs в страницата
|
||||
файловете. Dired е описан в Инфо-ръководството на Емакс в страницата
|
||||
"Dired".
|
||||
|
||||
Ръководството на Emacs описва още много други възможности на
|
||||
Ръководството на Емакс описва още много други възможности на
|
||||
редактора.
|
||||
|
||||
|
||||
* ЗАКЛЮЧЕНИЕ
|
||||
------------
|
||||
|
||||
Запомнете: за да излезете безвъзвратно от Emacs, използвайте C-x C-c.
|
||||
За да излезете временно в обвивка, така че да се върнете в Emacs
|
||||
Запомнете: за да излезете безвъзвратно от Емакс, използвайте C-x C-c.
|
||||
За да излезете временно в обвивка, така че да се върнете в Емакс
|
||||
по-късно, използвайте C-z.
|
||||
|
||||
Това въведение е предвидено да бъде разбираемо за всички нови
|
||||
|
@ -1159,10 +1159,10 @@ Dired
|
|||
* КОПИРАНЕ
|
||||
----------
|
||||
|
||||
Това въведение произлиза от дълга поредица въведения в Emacs,
|
||||
започвайки от едно, написано от Стюърт Кракрафт за началния Emacs.
|
||||
Това въведение произлиза от дълга поредица въведения в Емакс,
|
||||
започвайки от едно, написано от Стюърт Кракрафт за началния Емакс.
|
||||
|
||||
Тази версия на въведението, както и GNU Emacs, е защитена с авторски
|
||||
Тази версия на въведението, както и ГНУ Емакс, е защитена с авторски
|
||||
права и идва с разрешение да разпространявате копия при следните
|
||||
условия:
|
||||
|
||||
|
@ -1183,8 +1183,8 @@ Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004,
|
|||
under the above conditions, provided also that they
|
||||
carry prominent notices stating who last altered them.
|
||||
|
||||
Условията за копиране на самия Emacs са по-сложни, но в същия дух.
|
||||
Моля, прочетете файла COPYING и тогава давайте копия на GNU Emacs на
|
||||
Условията за копиране на самия Емакс са по-сложни, но в същия дух.
|
||||
Моля, прочетете файла COPYING и тогава давайте копия на ГНУ Емакс на
|
||||
свои приятели. Помогнете да спрем затвореността на програмите
|
||||
("притежанието"), като използваме, пишем и споделяме свободен софтуер!
|
||||
|
||||
|
|
3657
etc/refcard.ps
3657
etc/refcard.ps
File diff suppressed because it is too large
Load diff
25
leim/COPYING
25
leim/COPYING
|
@ -1,8 +1,8 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
|||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
|
@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
|
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
|
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
|
@ -225,7 +225,7 @@ impose that choice.
|
|||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
|
@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
|
@ -303,10 +303,9 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||
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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
|
@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
|
|||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
|
|
@ -1,3 +1,36 @@
|
|||
2006-10-12 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* Makefile.in (install): Be sure to make ${INSTALLDIR} before `cd'
|
||||
to it.
|
||||
|
||||
2006-10-05 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* quail/latin-ltx.el: Fix typo in previous change.
|
||||
|
||||
2006-10-05 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* quail/latin-ltx.el: Remove rules that start with { since they are
|
||||
redundant and hence impact the { key for no good reason.
|
||||
|
||||
2006-10-02 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* Makefile.in (install): Fix previous change.
|
||||
|
||||
2006-09-28 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* Makefile.in (install): Be sure to make ${INSTALLDIR}.
|
||||
|
||||
2006-09-15 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* COPYING: Replace "Library Public License" by "Lesser Public
|
||||
License" throughout.
|
||||
|
||||
2006-09-06 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org>
|
||||
|
||||
* quail/uni-input.el (ucs-input-method): Don't make the action of
|
||||
a key not in [0-9a-zA-Z] when it was expected to be. Let the Emacs
|
||||
mechanism do it.
|
||||
|
||||
2006-07-12 David Kastrup <dak@gnu.org>
|
||||
|
||||
* quail/greek.el: Change iota subscriptum transliteration in
|
||||
|
|
|
@ -216,6 +216,9 @@ leim-list.el: ${SUBDIRS} ${NON-TIT-MISC} changed.tit changed.misc ${srcdir}/leim
|
|||
sed -n '/^[^;]/ p' < ${srcdir}/leim-ext.el >> $@
|
||||
|
||||
install: all
|
||||
if [ ! -d ${INSTALLDIR} ] ; then \
|
||||
${srcdir}/${dot}${dot}/mkinstalldirs ${INSTALLDIR}; \
|
||||
else true; fi
|
||||
if [ x`(cd ${INSTALLDIR} && /bin/pwd)` != x`(/bin/pwd)` ] ; then \
|
||||
rm -rf ${INSTALLDIR}/leim-list.el; \
|
||||
rm -rf ${INSTALLDIR}/quail ${INSTALLDIR}/ja-dic ; \
|
||||
|
|
|
@ -45,17 +45,17 @@ system, including many technical ones. Examples:
|
|||
|
||||
(quail-define-rules
|
||||
("!`" ?¡)
|
||||
("{\\pounds}" ?£) ("\\pounds" ?£)
|
||||
("{\\S}" ?§) ("\\S" ?§)
|
||||
("\\pounds" ?£) ;; ("{\\pounds}" ?£)
|
||||
("\\S" ?§) ;; ("{\\S}" ?§)
|
||||
("\\\"{}" ?¨)
|
||||
("{\\copyright}" ?©) ("\\copyright" ?©)
|
||||
("\\copyright" ?©) ;; ("{\\copyright}" ?©)
|
||||
("$^a$" ?ª)
|
||||
("\\={}" ?¯)
|
||||
("$\\pm$" ?±) ("\\pm" ?±)
|
||||
("$^2$" ?²)
|
||||
("$^3$" ?³)
|
||||
("\\'{}" ?´)
|
||||
("{\\P}" ?¶) ("\\P" ?¶)
|
||||
("\\P" ?¶) ;; ("{\\P}" ?¶)
|
||||
;; Fixme: Yudit has the equivalent of ("\\cdot" ?⋅), for U+22C5, DOT
|
||||
;; OPERATOR, whereas · is MIDDLE DOT. JadeTeX translates both to
|
||||
;; \cdot.
|
||||
|
@ -71,8 +71,8 @@ system, including many technical ones. Examples:
|
|||
("\\~{A}" ?Ã) ("\\~A" ?Ã)
|
||||
("\\\"{A}" ?Ä) ("\\\"A" ?Ä)
|
||||
("\\\k{A}" ?Ą)
|
||||
("{\\AA}" ?Å) ("\\AA" ?Å)
|
||||
("{\\AE}" ?Æ) ("\\AE" ?Æ)
|
||||
("\\AA" ?Å) ;; ("{\\AA}" ?Å)
|
||||
("\\AE" ?Æ) ;; ("{\\AE}" ?Æ)
|
||||
("\\c{C}" ?Ç) ("\\cC" ?Ç)
|
||||
("\\`{E}" ?È) ("\\`E" ?È)
|
||||
("\\'{E}" ?É) ("\\'E" ?É)
|
||||
|
@ -93,14 +93,14 @@ system, including many technical ones. Examples:
|
|||
("\\\"{O}" ?Ö) ("\\\"O" ?Ö)
|
||||
("\\\k{O}" ?Ǫ)
|
||||
("$\\times$" ?×) ("\\times" ?×)
|
||||
("{\\O}" ?Ø) ("\\O" ?Ø)
|
||||
("\\O" ?Ø) ;; ("{\\O}" ?Ø)
|
||||
("\\`{U}" ?Ù) ("\\`U" ?Ù)
|
||||
("\\'{U}" ?Ú) ("\\'U" ?Ú)
|
||||
("\\^{U}" ?Û) ("\\^U" ?Û)
|
||||
("\\\"{U}" ?Ü) ("\\\"U" ?Ü)
|
||||
("\\\k{U}" ?Ų)
|
||||
("\\'{Y}" ?Ý) ("\\'Y" ?Ý)
|
||||
("{\\ss}" ?ß) ("\\ss" ?ß)
|
||||
("\\ss" ?ß) ;; ("{\\ss}" ?ß)
|
||||
|
||||
("\\`{a}" ?à) ("\\`a" ?à)
|
||||
("\\'{a}" ?á) ("\\'a" ?á)
|
||||
|
@ -108,8 +108,8 @@ system, including many technical ones. Examples:
|
|||
("\\~{a}" ?ã) ("\\~a" ?ã)
|
||||
("\\\"{a}" ?ä) ("\\\"a" ?ä)
|
||||
("\\\k{a}" ?ą)
|
||||
("{\\aa}" ?å) ("\\aa" ?å)
|
||||
("{\\ae}" ?æ) ("\\ae" ?æ)
|
||||
("\\aa" ?å) ;; ("{\\aa}" ?å)
|
||||
("\\ae" ?æ) ;; ("{\\ae}" ?æ)
|
||||
("\\c{c}" ?ç) ("\\cc" ?ç)
|
||||
("\\`{e}" ?è) ("\\`e" ?è)
|
||||
("\\'{e}" ?é) ("\\'e" ?é)
|
||||
|
@ -130,7 +130,7 @@ system, including many technical ones. Examples:
|
|||
("\\\"{o}" ?ö) ("\\\"o" ?ö)
|
||||
("\\\k{o}" ?ǫ)
|
||||
("$\\div$" ?÷) ("\\div" ?÷)
|
||||
("{\\o}" ?ø) ("\\o" ?ø)
|
||||
("\\o" ?ø) ;; ("{\\o}" ?ø)
|
||||
("\\`{u}" ?ù) ("\\`u" ?ù)
|
||||
("\\'{u}" ?ú) ("\\'u" ?ú)
|
||||
("\\^{u}" ?û) ("\\^u" ?û)
|
||||
|
@ -181,7 +181,7 @@ system, including many technical ones. Examples:
|
|||
("\\u{\\i}" ?ĭ) ("\\ui" ?ĭ)
|
||||
|
||||
("\\.{I}" ?İ) ("\\.I" ?İ)
|
||||
("{\\i}" ?ı) ("\\i" ?ı)
|
||||
("\\i" ?ı) ;; ("{\\i}" ?ı)
|
||||
("\\^{J}" ?Ĵ) ("\\^J" ?Ĵ)
|
||||
("\\^{\\j}" ?ĵ) ("\\^j" ?ĵ)
|
||||
("\\c{K}" ?Ķ) ("\\cK" ?Ķ)
|
||||
|
@ -191,8 +191,8 @@ system, including many technical ones. Examples:
|
|||
("\\c{L}" ?Ļ) ("\\cL" ?Ļ)
|
||||
("\\c{l}" ?ļ) ("\\cl" ?ļ)
|
||||
|
||||
("{\\L}" ?Ł) ("\\L" ?Ł)
|
||||
("{\\l}" ?ł) ("\\l" ?ł)
|
||||
("\\L" ?Ł) ;; ("{\\L}" ?Ł)
|
||||
("\\l" ?ł) ;; ("{\\l}" ?ł)
|
||||
("\\'{N}" ?Ń) ("\\'N" ?Ń)
|
||||
("\\'{n}" ?ń) ("\\'n" ?ń)
|
||||
("\\c{N}" ?Ņ) ("\\cN" ?Ņ)
|
||||
|
@ -206,8 +206,8 @@ system, including many technical ones. Examples:
|
|||
|
||||
("\\H{O}" ?Ő) ("\\HO" ?Ő)
|
||||
("\\U{o}" ?ő) ("\\Uo" ?ő)
|
||||
("{\\OE}" ?Œ) ("\\OE" ?Œ)
|
||||
("{\\oe}" ?œ) ("\\oe" ?œ)
|
||||
("\\OE" ?Œ) ;; ("{\\OE}" ?Œ)
|
||||
("\\oe" ?œ) ;; ("{\\oe}" ?œ)
|
||||
("\\'{R}" ?Ŕ) ("\\'R" ?Ŕ)
|
||||
("\\'{r}" ?ŕ) ("\\'r" ?ŕ)
|
||||
("\\c{R}" ?Ŗ) ("\\cR" ?Ŗ)
|
||||
|
|
|
@ -100,11 +100,6 @@
|
|||
(progn
|
||||
(push key events)
|
||||
(ucs-input-insert-char key))
|
||||
(let ((last-command-char key)
|
||||
(current-prefix-arg))
|
||||
(condition-case err
|
||||
(call-interactively (key-binding seq))
|
||||
(quail-error (message "%s" (cdr err)) (beep))))
|
||||
(quail-delete-region)
|
||||
(throw 'non-digit (append (reverse events)
|
||||
(listify-key-sequence seq))))))
|
||||
|
|
1
lib-src/.gitignore
vendored
1
lib-src/.gitignore
vendored
|
@ -21,5 +21,6 @@ update-game-score
|
|||
yow
|
||||
Makefile
|
||||
makefile
|
||||
blessmail
|
||||
*-spd
|
||||
*.pdb
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
|||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
|
@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
|
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
|
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
|
@ -225,7 +225,7 @@ impose that choice.
|
|||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
|
@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
|
@ -303,10 +303,9 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||
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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
|
@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
|
|||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
|
|
@ -1,3 +1,16 @@
|
|||
2006-10-09 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in (../src/config.h): Fix error message.
|
||||
|
||||
2006-09-30 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* .cvsignore: Add blessmail.
|
||||
|
||||
2006-09-15 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* COPYING: Replace "Library Public License" by "Lesser Public
|
||||
License" throughout.
|
||||
|
||||
2006-08-09 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* etags.c (readline): expect sscanf returns >= 1.
|
||||
|
@ -10,7 +23,7 @@
|
|||
|
||||
2006-08-07 Masatake YAMATO <jet@gyve.org>
|
||||
|
||||
* etags.c (TEX_mode): Check getc retruns EOF.
|
||||
* etags.c (TEX_mode): Check getc returns EOF.
|
||||
File ended without newline causes infinite loop.
|
||||
|
||||
2002-07-30 Adrian Aichner <adrian@xemacs.org> (tiny change)
|
||||
|
|
|
@ -318,7 +318,7 @@ cleanall: clean
|
|||
# Headers we would preprocess if we could.
|
||||
#
|
||||
../src/config.h: ../nt/$(CONFIG_H)
|
||||
echo config.h has changed. Re-run configure.bat.
|
||||
echo $(CONFIG_H) has changed. Re-run configure.bat.
|
||||
exit -1
|
||||
|
||||
getopt.h: getopt_.h
|
||||
|
|
25
lisp/COPYING
25
lisp/COPYING
|
@ -1,8 +1,8 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
|||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
|
@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
|
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
|
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
|
@ -225,7 +225,7 @@ impose that choice.
|
|||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
|
@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
|
@ -303,10 +303,9 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||
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 this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
|
@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
|
|||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
|
1774
lisp/ChangeLog
1774
lisp/ChangeLog
File diff suppressed because it is too large
Load diff
|
@ -914,7 +914,7 @@ Has a preference of looking backwards."
|
|||
;; Include certain keywords if they
|
||||
;; precede the name.
|
||||
(setq middle (point))
|
||||
(forward-word -1)
|
||||
(forward-sexp -1)
|
||||
;; Is this C++ method?
|
||||
(when (and (< 2 middle)
|
||||
(string= (buffer-substring (- middle 2)
|
||||
|
|
1383
lisp/allout.el
1383
lisp/allout.el
File diff suppressed because it is too large
Load diff
|
@ -142,7 +142,7 @@ If value is `verbose', the computed score is shown for each match."
|
|||
"Apropos pattern as entered by user.")
|
||||
|
||||
(defvar apropos-pattern-quoted nil
|
||||
"Apropos pattern passed through `regexp-quoute'.")
|
||||
"Apropos pattern passed through `regexp-quote'.")
|
||||
|
||||
(defvar apropos-words ()
|
||||
"Current list of apropos words extracted from `apropos-pattern'.")
|
||||
|
|
|
@ -215,7 +215,7 @@ If this contains a %s, that will be replaced by the matching rule."
|
|||
;;; " (file-name-nondirectory (buffer-file-name)) " ends here\n"))
|
||||
"A list specifying text to insert by default into a new file.
|
||||
Elements look like (CONDITION . ACTION) or ((CONDITION . DESCRIPTION) . ACTION).
|
||||
CONDITION maybe a regexp that must match the new file's name, or it may be
|
||||
CONDITION may be a regexp that must match the new file's name, or it may be
|
||||
a symbol that must match the major mode for this element to apply.
|
||||
Only the first matching element is effective.
|
||||
Optional DESCRIPTION is a string for filling `auto-insert-prompt'.
|
||||
|
|
|
@ -345,24 +345,21 @@ Keymap to display on minor modes.")
|
|||
(put 'mode-line-position 'standard-value
|
||||
(list `(quote ,standard-mode-line-position))))
|
||||
|
||||
(defvar mode-line-buffer-identification-keymap nil "\
|
||||
(defvar mode-line-buffer-identification-keymap
|
||||
;; Add menu of buffer operations to the buffer identification part
|
||||
;; of the mode line.or header line.
|
||||
(let ((map (make-sparse-keymap)))
|
||||
;; Bind down- events so that the global keymap won't ``shine
|
||||
;; through''.
|
||||
(define-key map [mode-line mouse-1] 'mode-line-previous-buffer)
|
||||
(define-key map [header-line down-mouse-1] 'ignore)
|
||||
(define-key map [header-line mouse-1] 'mode-line-previous-buffer)
|
||||
(define-key map [mode-line mouse-3] 'mode-line-next-buffer)
|
||||
(define-key map [header-line down-mouse-3] 'ignore)
|
||||
(define-key map [header-line mouse-3] 'mode-line-next-buffer)
|
||||
map) "\
|
||||
Keymap for what is displayed by `mode-line-buffer-identification'.")
|
||||
|
||||
;; Add menu of buffer operations to the buffer identification part
|
||||
;; of the mode line.or header line.
|
||||
;
|
||||
(let ((map (make-sparse-keymap)))
|
||||
;; Bind down- events so that the global keymap won't ``shine
|
||||
;; through''.
|
||||
(define-key map [mode-line mouse-1] 'mode-line-previous-buffer)
|
||||
(define-key map [header-line down-mouse-1] 'ignore)
|
||||
(define-key map [header-line mouse-1] 'mode-line-previous-buffer)
|
||||
(define-key map [header-line down-mouse-3] 'ignore)
|
||||
(define-key map [mode-line mouse-3] 'mode-line-next-buffer)
|
||||
(define-key map [header-line down-mouse-3] 'ignore)
|
||||
(define-key map [header-line mouse-3] 'mode-line-next-buffer)
|
||||
(setq mode-line-buffer-identification-keymap map))
|
||||
|
||||
(defun propertized-buffer-identification (fmt)
|
||||
"Return a list suitable for `mode-line-buffer-identification'.
|
||||
FMT is a format specifier such as \"%12b\". This function adds
|
||||
|
@ -615,7 +612,7 @@ language you are using."
|
|||
(let ((l (generic-character-list))
|
||||
(table (nth 1 global-map)))
|
||||
(while l
|
||||
(set-char-table-default table (car l) 'self-insert-command)
|
||||
(aset table (car l) 'self-insert-command)
|
||||
(setq l (cdr l))))
|
||||
|
||||
(setq help-event-list '(help f1))
|
||||
|
|
|
@ -409,13 +409,54 @@
|
|||
( \\mu . calcFunc-moebius )))
|
||||
|
||||
(put 'tex 'math-variable-table
|
||||
'( ( \\pi . var-pi )
|
||||
( \\infty . var-inf )
|
||||
( \\infty . var-uinf )
|
||||
( \\phi . var-phi )
|
||||
( \\gamma . var-gamma )
|
||||
( \\sum . (math-parse-tex-sum calcFunc-sum) )
|
||||
( \\prod . (math-parse-tex-sum calcFunc-prod) )))
|
||||
'(
|
||||
;; The Greek letters
|
||||
( \\alpha . var-alpha )
|
||||
( \\beta . var-beta )
|
||||
( \\gamma . var-gamma )
|
||||
( \\Gamma . var-Gamma )
|
||||
( \\delta . var-delta )
|
||||
( \\Delta . var-Delta )
|
||||
( \\epsilon . var-epsilon )
|
||||
( \\varepsilon . var-varepsilon)
|
||||
( \\zeta . var-zeta )
|
||||
( \\eta . var-eta )
|
||||
( \\theta . var-theta )
|
||||
( \\vartheta . var-vartheta )
|
||||
( \\Theta . var-Theta )
|
||||
( \\iota . var-iota )
|
||||
( \\kappa . var-kappa )
|
||||
( \\lambda . var-lambda )
|
||||
( \\Lambda . var-Lambda )
|
||||
( \\mu . var-mu )
|
||||
( \\nu . var-nu )
|
||||
( \\xi . var-xi )
|
||||
( \\Xi . var-Xi )
|
||||
( \\pi . var-pi )
|
||||
( \\varpi . var-varpi )
|
||||
( \\Pi . var-Pi )
|
||||
( \\rho . var-rho )
|
||||
( \\varrho . var-varrho )
|
||||
( \\sigma . var-sigma )
|
||||
( \\sigma . var-varsigma )
|
||||
( \\Sigma . var-Sigma )
|
||||
( \\tau . var-tau )
|
||||
( \\upsilon . var-upsilon )
|
||||
( \\Upsilon . var-Upsilon )
|
||||
( \\phi . var-phi )
|
||||
( \\varphi . var-varphi )
|
||||
( \\Phi . var-Phi )
|
||||
( \\chi . var-chi )
|
||||
( \\psi . var-psi )
|
||||
( \\Psi . var-Psi )
|
||||
( \\omega . var-omega )
|
||||
( \\Omega . var-Omega )
|
||||
;; Others
|
||||
( \\ell . var-ell )
|
||||
( \\infty . var-inf )
|
||||
( \\infty . var-uinf )
|
||||
( \\sum . (math-parse-tex-sum calcFunc-sum) )
|
||||
( \\prod . (math-parse-tex-sum calcFunc-prod) )))
|
||||
|
||||
(put 'tex 'math-complex-format 'i)
|
||||
|
||||
|
|
|
@ -1101,7 +1101,7 @@ If nil, selections displayed but ignored.")
|
|||
(defun calc-dispatch (&optional arg)
|
||||
"Invoke the GNU Emacs Calculator. See `calc-dispatch-help' for details."
|
||||
(interactive "P")
|
||||
(sit-for echo-keystrokes)
|
||||
; (sit-for echo-keystrokes)
|
||||
(condition-case err ; look for other keys bound to calc-dispatch
|
||||
(let ((keys (this-command-keys)))
|
||||
(unless (or (not (stringp keys))
|
||||
|
|
|
@ -394,8 +394,8 @@ displayed in a window:
|
|||
(if (and (< appt-comp-time appt-message-warning-time)
|
||||
(> (+ cur-comp-time appt-message-warning-time)
|
||||
appt-max-time))
|
||||
(setq min-to-app (+ (- (1+ appt-max-time) cur-comp-time))
|
||||
appt-comp-time))
|
||||
(setq min-to-app (+ (- (1+ appt-max-time) cur-comp-time)
|
||||
appt-comp-time)))
|
||||
|
||||
;; issue warning if the appointment time is
|
||||
;; within appt-message-warning time
|
||||
|
|
|
@ -568,11 +568,20 @@ are
|
|||
|
||||
Names can be capitalized or not, written in full (as specified by the
|
||||
variable `calendar-day-name-array'), or abbreviated (as specified by
|
||||
`calendar-day-abbrev-array') with or without a period. To take effect,
|
||||
this variable should be set before the calendar package and its associates
|
||||
are loaded. Otherwise, use one of the functions `european-calendar' or
|
||||
`american-calendar' to force the appropriate update."
|
||||
`calendar-day-abbrev-array') with or without a period.
|
||||
|
||||
Setting this variable directly does not take effect (if the
|
||||
calendar package is already loaded). Rather, use either
|
||||
\\[customize] or the functions `european-calendar' and
|
||||
`american-calendar'."
|
||||
:type 'boolean
|
||||
;; Without :initialize (require 'calendar) throws an error because
|
||||
;; american-calendar is undefined at this point.
|
||||
:initialize 'custom-initialize-default
|
||||
:set (lambda (symbol value)
|
||||
(if value
|
||||
(european-calendar)
|
||||
(american-calendar)))
|
||||
:group 'diary)
|
||||
|
||||
;;;###autoload
|
||||
|
@ -1582,6 +1591,19 @@ See the documentation of that function for more information."
|
|||
(calendar-only-one-frame-setup arg))
|
||||
(t (calendar-basic-setup arg))))
|
||||
|
||||
(autoload 'diary-view-entries "diary-lib"
|
||||
"Prepare and display a buffer with diary entries.
|
||||
Searches your diary file for entries that match ARG days starting with
|
||||
the date indicated by the cursor position in the displayed three-month
|
||||
calendar."
|
||||
t)
|
||||
|
||||
(autoload 'list-calendar-holidays "holidays"
|
||||
"Create a buffer containing the holidays for the current calendar window.
|
||||
The holidays are those in the list `calendar-notable-days'. Returns t if any
|
||||
holidays are found, nil if not."
|
||||
t)
|
||||
|
||||
(defun calendar-basic-setup (&optional arg)
|
||||
"Display a three-month calendar in another window.
|
||||
The three months appear side by side, with the current month in the middle
|
||||
|
@ -1649,13 +1671,6 @@ to be replaced by asterisks to highlight it whenever it is in the window."
|
|||
(list-calendar-holidays)))
|
||||
(run-hooks 'initial-calendar-window-hook))
|
||||
|
||||
(autoload 'diary-view-entries "diary-lib"
|
||||
"Prepare and display a buffer with diary entries.
|
||||
Searches your diary file for entries that match ARG days starting with
|
||||
the date indicated by the cursor position in the displayed three-month
|
||||
calendar."
|
||||
t)
|
||||
|
||||
(autoload 'view-other-diary-entries "diary-lib"
|
||||
"Prepare and display buffer of diary entries from an alternative diary file.
|
||||
Searches for entries that match ARG days, starting with the date indicated
|
||||
|
@ -1930,12 +1945,6 @@ to the date indicated by point."
|
|||
to the date indicated by point."
|
||||
t)
|
||||
|
||||
(autoload 'list-calendar-holidays "holidays"
|
||||
"Create a buffer containing the holidays for the current calendar window.
|
||||
The holidays are those in the list `calendar-notable-days'. Returns t if any
|
||||
holidays are found, nil if not."
|
||||
t)
|
||||
|
||||
(autoload 'cal-tex-cursor-month "cal-tex"
|
||||
"Make a buffer with LaTeX commands for the month cursor is on.
|
||||
Optional prefix argument specifies number of months to be produced.
|
||||
|
|
|
@ -650,7 +650,10 @@ Entry to this mode runs the hooks on `comint-mode-hook'."
|
|||
(make-local-variable 'comint-process-echoes)
|
||||
(make-local-variable 'comint-file-name-chars)
|
||||
(make-local-variable 'comint-file-name-quote-list)
|
||||
(set (make-local-variable 'comint-accum-marker) (make-marker))
|
||||
(make-local-variable 'comint-accum-marker)
|
||||
(setq comint-accum-marker (make-marker))
|
||||
(make-local-variable 'font-lock-defaults)
|
||||
(setq font-lock-defaults '(nil))
|
||||
(add-hook 'change-major-mode-hook 'font-lock-defontify nil t)
|
||||
;; This behavior is not useful in comint buffers, and is annoying
|
||||
(set (make-local-variable 'next-line-add-newlines) nil))
|
||||
|
@ -765,7 +768,8 @@ buffer. The hook `comint-exec-hook' is run after each exec."
|
|||
(format "COLUMNS=%d" (window-width)))
|
||||
(list "TERM=emacs"
|
||||
(format "TERMCAP=emacs:co#%d:tc=unknown:" (window-width))))
|
||||
(if (getenv "EMACS") nil (list "EMACS=t"))
|
||||
(unless (getenv "EMACS")
|
||||
(list (concat "EMACS=" invocation-directory invocation-name)))
|
||||
process-environment))
|
||||
(default-directory
|
||||
(if (file-accessible-directory-p default-directory)
|
||||
|
|
|
@ -1885,7 +1885,7 @@ Prefix args ::
|
|||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(catch 'finish-add-completions
|
||||
(with-syntax-table completion-c-def-syntax-table
|
||||
(with-syntax-table completion-c-def-syntax-table
|
||||
(while t
|
||||
;; we loop here only when scan-sexps fails
|
||||
;; (i.e. unbalance exps.)
|
||||
|
@ -1895,8 +1895,7 @@ Prefix args ::
|
|||
(cond
|
||||
((= (preceding-char) ?#)
|
||||
;; preprocessor macro, see if it's one we handle
|
||||
(setq string (buffer-substring (point) (+ (point) 6)))
|
||||
(cond ((member string '("define" "ifdef "))
|
||||
(cond ((looking-at "\\(define\\|ifdef\\)\\>")
|
||||
;; skip forward over definition symbol
|
||||
;; and add it to database
|
||||
(and (forward-word 2)
|
||||
|
@ -1944,9 +1943,9 @@ Prefix args ::
|
|||
(throw 'finish-add-completions t))
|
||||
(error
|
||||
;; Check for failure in scan-sexps
|
||||
(if (or (string-equal (nth 1 e)
|
||||
"Containing expression ends prematurely")
|
||||
(string-equal (nth 1 e) "Unbalanced parentheses"))
|
||||
(if (member (nth 1 e)
|
||||
'("Containing expression ends prematurely"
|
||||
"Unbalanced parentheses"))
|
||||
;; unbalanced paren., keep going
|
||||
;;(ding)
|
||||
(forward-line 1)
|
||||
|
|
|
@ -389,7 +389,7 @@
|
|||
:link '(custom-manual "(emacs)Undo")
|
||||
:group 'editing)
|
||||
|
||||
(defgroup modeline nil
|
||||
(defgroup mode-line nil
|
||||
"Content of the modeline."
|
||||
:group 'environment)
|
||||
|
||||
|
@ -1521,13 +1521,18 @@ Otherwise use brackets."
|
|||
(widget-insert description))
|
||||
(widget-insert (format ".
|
||||
%s buttons; type RET or click mouse-1 to actuate one.
|
||||
Editing a setting changes only the text in the buffer.
|
||||
Use the setting's State button to set it or save changes in it.
|
||||
Saving a change normally works by editing your Emacs init file.
|
||||
See "
|
||||
Editing a setting changes only the text in the buffer."
|
||||
(if custom-raised-buttons
|
||||
"`Raised' text indicates"
|
||||
"Square brackets indicate")))
|
||||
(if init-file-user
|
||||
(widget-insert "
|
||||
Use the setting's State button to set it or save changes in it.
|
||||
Saving a change normally works by editing your Emacs init file.")
|
||||
(widget-insert "
|
||||
\nSince you started Emacs with `-q', which inhibits use of the
|
||||
Emacs init file, you cannot save settings into the Emacs init file."))
|
||||
(widget-insert "\nSee ")
|
||||
(widget-create 'custom-manual
|
||||
:tag "Custom file"
|
||||
"(emacs)Saving Customizations")
|
||||
|
@ -4152,6 +4157,8 @@ if only the first line of the docstring is shown."))
|
|||
recentf-exclude)))
|
||||
(old-buffer (find-buffer-visiting filename)))
|
||||
(with-current-buffer (or old-buffer (find-file-noselect filename))
|
||||
(unless (eq major-mode 'emacs-lisp-mode)
|
||||
(emacs-lisp-mode))
|
||||
(let ((inhibit-read-only t))
|
||||
(custom-save-variables)
|
||||
(custom-save-faces))
|
||||
|
@ -4255,19 +4262,31 @@ This function does not save the buffer."
|
|||
(let ((spec (car-safe (get symbol 'theme-value)))
|
||||
(value (get symbol 'saved-value))
|
||||
(requests (get symbol 'custom-requests))
|
||||
(now (not (or (custom-variable-p symbol)
|
||||
(and (not (boundp symbol))
|
||||
(not (eq (get symbol 'force-value)
|
||||
'rogue))))))
|
||||
(now (and (not (custom-variable-p symbol))
|
||||
(or (boundp symbol)
|
||||
(eq (get symbol 'force-value)
|
||||
'rogue))))
|
||||
(comment (get symbol 'saved-variable-comment)))
|
||||
;; Check `requests'.
|
||||
;; Check REQUESTS for validity.
|
||||
(dolist (request requests)
|
||||
(when (and (symbolp request) (not (featurep request)))
|
||||
(message "Unknown requested feature: %s" request)
|
||||
(setq requests (delq request requests))))
|
||||
;; Is there anything customized about this variable?
|
||||
(when (or (and spec (eq (car spec) 'user))
|
||||
comment
|
||||
(and (null spec) (get symbol 'saved-value)))
|
||||
;; Output an element for this variable.
|
||||
;; It has the form (SYMBOL VALUE-FORM NOW REQUESTS COMMENT).
|
||||
;; SYMBOL is the variable name.
|
||||
;; VALUE-FORM is an expression to return the customized value.
|
||||
;; NOW if non-nil means always set the variable immediately
|
||||
;; when the customizations are reloaded. This is used
|
||||
;; for rogue variables
|
||||
;; REQUESTS is a list of packages to load before setting the
|
||||
;; variable. Each element of it will be passed to `require'.
|
||||
;; COMMENT is whatever comment the user has specified
|
||||
;; with the customize facility.
|
||||
(unless (bolp)
|
||||
(princ "\n"))
|
||||
(princ " '(")
|
||||
|
@ -4383,14 +4402,15 @@ This function does not save the buffer."
|
|||
"Ignoring WIDGET, create a menu entry for customization group SYMBOL."
|
||||
`( ,(custom-unlispify-menu-entry symbol t)
|
||||
:filter (lambda (&rest junk)
|
||||
(let ((menu (custom-menu-create ',symbol)))
|
||||
(let* ((menu (custom-menu-create ',symbol)))
|
||||
(if (consp menu) (cdr menu) menu)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun custom-menu-create (symbol)
|
||||
"Create menu for customization group SYMBOL.
|
||||
The menu is in a format applicable to `easy-menu-define'."
|
||||
(let* ((item (vector (custom-unlispify-menu-entry symbol)
|
||||
(let* ((deactivate-mark nil)
|
||||
(item (vector (custom-unlispify-menu-entry symbol)
|
||||
`(customize-group ',symbol)
|
||||
t)))
|
||||
(if (and (or (not (boundp 'custom-menu-nesting))
|
||||
|
@ -4435,8 +4455,8 @@ The format is suitable for use with `easy-menu-define'."
|
|||
;; Actually, this misfeature of dense keymaps was fixed on 2001-11-26.
|
||||
(let ((map (make-keymap)))
|
||||
(set-keymap-parent map widget-keymap)
|
||||
(define-key map [remap self-insert-command] 'custom-no-edit)
|
||||
(define-key map "\^m" 'custom-newline)
|
||||
(define-key map [remap self-insert-command] 'Custom-no-edit)
|
||||
(define-key map "\^m" 'Custom-newline)
|
||||
(define-key map " " 'scroll-up)
|
||||
(define-key map "\177" 'scroll-down)
|
||||
(define-key map "\C-c\C-c" 'Custom-set)
|
||||
|
@ -4448,12 +4468,12 @@ The format is suitable for use with `easy-menu-define'."
|
|||
map)
|
||||
"Keymap for `custom-mode'.")
|
||||
|
||||
(defun custom-no-edit (pos &optional event)
|
||||
(defun Custom-no-edit (pos &optional event)
|
||||
"Invoke button at POS, or refuse to allow editing of Custom buffer."
|
||||
(interactive "@d")
|
||||
(error "You can't edit this part of the Custom buffer"))
|
||||
|
||||
(defun custom-newline (pos &optional event)
|
||||
(defun Custom-newline (pos &optional event)
|
||||
"Invoke button at POS, or refuse to allow editing of Custom buffer."
|
||||
(interactive "@d")
|
||||
(let ((button (get-char-property pos 'button)))
|
||||
|
@ -4535,6 +4555,13 @@ if that value is non-nil."
|
|||
(setq widget-documentation-face 'custom-documentation)
|
||||
(make-local-variable 'widget-button-face)
|
||||
(setq widget-button-face custom-button)
|
||||
|
||||
;; We need this because of the "More" button on docstrings.
|
||||
;; Otherwise clicking on "More" can push point offscreen, which
|
||||
;; causes the window to recenter on point, which pushes the
|
||||
;; newly-revealed docstring offscreen; which is annoying. -- cyd.
|
||||
(set (make-local-variable 'widget-button-click-moves-point) t)
|
||||
|
||||
(set (make-local-variable 'widget-button-pressed-face) custom-button-pressed)
|
||||
(set (make-local-variable 'widget-mouse-face) custom-button-mouse)
|
||||
|
||||
|
|
|
@ -344,11 +344,11 @@ since it could result in memory overflow and make Emacs crash."
|
|||
(scroll-step windows integer)
|
||||
(scroll-conservatively windows integer)
|
||||
(scroll-margin windows integer)
|
||||
(hscroll-margin windows integer "21.3")
|
||||
(hscroll-step windows number "21.3")
|
||||
(hscroll-margin windows integer "22.1")
|
||||
(hscroll-step windows number "22.1")
|
||||
(truncate-partial-width-windows display boolean)
|
||||
(mode-line-inverse-video modeline boolean)
|
||||
(mode-line-in-non-selected-windows modeline boolean "21.3")
|
||||
(mode-line-in-non-selected-windows modeline boolean "22.1")
|
||||
(line-number-display-limit display
|
||||
(choice integer
|
||||
(const :tag "No limit" nil)))
|
||||
|
@ -361,17 +361,22 @@ since it could result in memory overflow and make Emacs crash."
|
|||
(unibyte-display-via-language-environment mule boolean)
|
||||
(blink-cursor-alist cursor alist "22.1")
|
||||
(overline-margin display integer "22.1")
|
||||
(mouse-autoselect-window
|
||||
display (choice
|
||||
(const :tag "Off (nil)" :value nil)
|
||||
(const :tag "Immediate" :value t)
|
||||
(number :tag "Delay by secs" :value 0.5)) "22.1")
|
||||
;; xfaces.c
|
||||
(scalable-fonts-allowed display boolean)
|
||||
;; xfns.c
|
||||
(x-bitmap-file-path installation
|
||||
(repeat (directory :format "%v")))
|
||||
(x-use-old-gtk-file-dialog menu boolean "22.1")
|
||||
(x-gtk-use-old-file-dialog menu boolean "22.1")
|
||||
(x-gtk-show-hidden-files menu boolean "22.1")
|
||||
(x-gtk-file-dialog-help-text menu boolean "22.1")
|
||||
(x-gtk-whole-detached-tool-bar x boolean "22.1")
|
||||
;; xterm.c
|
||||
(mouse-autoselect-window display boolean "21.3")
|
||||
(x-use-underline-position-properties display boolean "21.3")
|
||||
(x-use-underline-position-properties display boolean "22.1")
|
||||
(x-underline-at-descent-line display boolean "22.1")
|
||||
(x-stretch-cursor display boolean "21.1")))
|
||||
this symbol group type standard version native-p
|
||||
|
|
|
@ -210,11 +210,11 @@ The following keywords are meaningful:
|
|||
`custom-initialize-reset'.
|
||||
:set VALUE should be a function to set the value of the symbol.
|
||||
It takes two arguments, the symbol to set and the value to
|
||||
give it. The default choice of function is `custom-set-default'.
|
||||
give it. The default choice of function is `set-default'.
|
||||
:get VALUE should be a function to extract the value of symbol.
|
||||
The function takes one argument, a symbol, and should return
|
||||
the current value for that symbol. The default choice of function
|
||||
is `custom-default-value'.
|
||||
is `default-value'.
|
||||
:require
|
||||
VALUE should be a feature symbol. If you save a value
|
||||
for this option, then when your `.emacs' file loads the value,
|
||||
|
@ -874,6 +874,18 @@ COMMENT is a comment string about SYMBOL.
|
|||
EXP itself is saved unevaluated as SYMBOL property `saved-value' and
|
||||
in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
|
||||
(custom-check-theme theme)
|
||||
|
||||
;; Process all the needed autoloads before anything else, so that the
|
||||
;; subsequent code has all the info it needs (e.g. which var corresponds
|
||||
;; to a minor mode), regardless of the ordering of the variables.
|
||||
(dolist (entry args)
|
||||
(let* ((symbol (indirect-variable (nth 0 entry))))
|
||||
(unless (or (get symbol 'standard-value)
|
||||
(memq (get symbol 'custom-autoload) '(nil noset)))
|
||||
;; This symbol needs to be autoloaded, even just for a `set'.
|
||||
(custom-load-symbol symbol))))
|
||||
|
||||
;; Move minor modes and variables with explicit requires to the end.
|
||||
(setq args
|
||||
(sort args
|
||||
(lambda (a1 a2)
|
||||
|
@ -904,10 +916,6 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
|
|||
(when requests
|
||||
(put symbol 'custom-requests requests)
|
||||
(mapc 'require requests))
|
||||
(unless (or (get symbol 'standard-value)
|
||||
(memq (get symbol 'custom-autoload) '(nil noset)))
|
||||
;; This symbol needs to be autoloaded, even just for a `set'.
|
||||
(custom-load-symbol symbol))
|
||||
(setq set (or (get symbol 'custom-set) 'custom-set-default))
|
||||
(put symbol 'saved-value (list value))
|
||||
(put symbol 'saved-variable-comment comment)
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
|
||||
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
|
||||
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
|
||||
;; Time-stamp: <2006-02-06 13:37:10 ttn>
|
||||
;; Time-stamp: <2006/09/15 17:35:06 vinicius>
|
||||
;; Version: 2.1
|
||||
;; Keywords: internal
|
||||
;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/
|
||||
;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -862,8 +862,10 @@ It returns t if a desktop file was loaded, nil otherwise."
|
|||
;; Desktop file found, process it.
|
||||
(let ((desktop-first-buffer nil)
|
||||
(desktop-buffer-ok-count 0)
|
||||
(desktop-buffer-fail-count 0))
|
||||
(setq desktop-lazy-timer nil)
|
||||
(desktop-buffer-fail-count 0)
|
||||
;; Avoid desktop saving during evaluation of desktop buffer.
|
||||
(desktop-save nil))
|
||||
(desktop-lazy-abort)
|
||||
;; Evaluate desktop buffer.
|
||||
(load (desktop-full-file-name) t t t)
|
||||
;; `desktop-create-buffer' puts buffers at end of the buffer list.
|
||||
|
|
|
@ -1259,6 +1259,7 @@ SWITCHED is non-nil if the patch is already applied."
|
|||
(t "Hunk %s at offset %d lines"))
|
||||
msg line-offset)))
|
||||
|
||||
(defvar diff-apply-hunk-to-backup-file nil)
|
||||
|
||||
(defun diff-apply-hunk (&optional reverse)
|
||||
"Apply the current hunk to the source file and go to the next.
|
||||
|
@ -1275,6 +1276,17 @@ With a prefix argument, REVERSE the hunk."
|
|||
(cond
|
||||
((null line-offset)
|
||||
(error "Can't find the text to patch"))
|
||||
((with-current-buffer buf
|
||||
(and buffer-file-name
|
||||
(backup-file-name-p buffer-file-name)
|
||||
(not diff-apply-hunk-to-backup-file)
|
||||
(not (set (make-local-variable 'diff-apply-hunk-to-backup-file)
|
||||
(yes-or-no-p (format "Really apply this hunk to %s? "
|
||||
(file-name-nondirectory
|
||||
buffer-file-name)))))))
|
||||
(error (substitute-command-keys
|
||||
(format "Use %s\\[diff-apply-hunk] to apply it to the other file"
|
||||
(if (not reverse) "\\[universal-argument] ")))))
|
||||
((and switched
|
||||
;; A reversed patch was detected, perhaps apply it in reverse.
|
||||
(not (save-window-excursion
|
||||
|
|
|
@ -39,6 +39,11 @@
|
|||
;; We need macros in dired.el to compile properly.
|
||||
(eval-when-compile (require 'dired))
|
||||
|
||||
(defvar dired-create-files-failures nil
|
||||
"Variable where `dired-create-files' records failing file names.
|
||||
Functions that operate recursively can store additional names
|
||||
into this list; they also should call `dired-log' to log the errors.")
|
||||
|
||||
;;; 15K
|
||||
;;;###begin dired-cmd.el
|
||||
;; Diffing and compressing
|
||||
|
@ -1145,37 +1150,59 @@ Special value `always' suppresses confirmation."
|
|||
;;;###autoload
|
||||
(defun dired-copy-file (from to ok-flag)
|
||||
(dired-handle-overwrite to)
|
||||
(condition-case ()
|
||||
(dired-copy-file-recursive from to ok-flag dired-copy-preserve-time t
|
||||
dired-recursive-copies)
|
||||
(file-date-error (message "Can't set date")
|
||||
(sit-for 1))))
|
||||
(dired-copy-file-recursive from to ok-flag dired-copy-preserve-time t
|
||||
dired-recursive-copies))
|
||||
|
||||
(defun dired-copy-file-recursive (from to ok-flag &optional
|
||||
preserve-time top recursive)
|
||||
(let ((attrs (file-attributes from)))
|
||||
(let ((attrs (file-attributes from))
|
||||
dirfailed)
|
||||
(if (and recursive
|
||||
(eq t (car attrs))
|
||||
(or (eq recursive 'always)
|
||||
(yes-or-no-p (format "Recursive copies of %s? " from))))
|
||||
;; This is a directory.
|
||||
(let ((files (directory-files from nil dired-re-no-dot)))
|
||||
(let ((files
|
||||
(condition-case err
|
||||
(directory-files from nil dired-re-no-dot)
|
||||
(file-error
|
||||
(push (dired-make-relative from)
|
||||
dired-create-files-failures)
|
||||
(dired-log "Copying error for %s:\n%s\n" from err)
|
||||
(setq dirfailed t)
|
||||
nil))))
|
||||
(if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more.
|
||||
(if (file-exists-p to)
|
||||
(or top (dired-handle-overwrite to))
|
||||
(make-directory to))
|
||||
(unless dirfailed
|
||||
(if (file-exists-p to)
|
||||
(or top (dired-handle-overwrite to))
|
||||
(condition-case err
|
||||
(make-directory to)
|
||||
(file-error
|
||||
(push (dired-make-relative from)
|
||||
dired-create-files-failures)
|
||||
(setq files nil)
|
||||
(dired-log "Copying error for %s:\n%s\n" from err)))))
|
||||
(while files
|
||||
(dired-copy-file-recursive
|
||||
(expand-file-name (car files) from)
|
||||
(expand-file-name (car files) to)
|
||||
ok-flag preserve-time nil recursive)
|
||||
(setq files (cdr files))))
|
||||
(pop files)))
|
||||
;; Not a directory.
|
||||
(or top (dired-handle-overwrite to))
|
||||
(if (stringp (car attrs))
|
||||
;; It is a symlink
|
||||
(make-symbolic-link (car attrs) to ok-flag)
|
||||
(copy-file from to ok-flag dired-copy-preserve-time)))))
|
||||
(condition-case err
|
||||
(if (stringp (car attrs))
|
||||
;; It is a symlink
|
||||
(make-symbolic-link (car attrs) to ok-flag)
|
||||
(copy-file from to ok-flag dired-copy-preserve-time))
|
||||
(file-date-error
|
||||
(push (dired-make-relative from)
|
||||
dired-create-files-failures)
|
||||
(dired-log "Can't set date on %s:\n%s\n" from err))
|
||||
(file-error
|
||||
(push (dired-make-relative from)
|
||||
dired-create-files-failures)
|
||||
(dired-log "Copying error for %s:\n%s\n" from err))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun dired-rename-file (file newname ok-if-already-exists)
|
||||
|
@ -1297,7 +1324,8 @@ Special value `always' suppresses confirmation."
|
|||
;; newfile's entry, or t to use the current marker character if the
|
||||
;; oldfile was marked.
|
||||
|
||||
(let (failures skipped (success-count 0) (total (length fn-list)))
|
||||
(let (dired-create-files-failures failures
|
||||
skipped (success-count 0) (total (length fn-list)))
|
||||
(let (to overwrite-query
|
||||
overwrite-backup-query) ; for dired-handle-overwrite
|
||||
(mapcar
|
||||
|
@ -1340,16 +1368,25 @@ ESC or `q' to not overwrite any of the remaining files,
|
|||
(dired-add-file to actual-marker-char))
|
||||
(file-error ; FILE-CREATOR aborted
|
||||
(progn
|
||||
(setq failures (cons (dired-make-relative from) failures))
|
||||
(push (dired-make-relative from)
|
||||
failures)
|
||||
(dired-log "%s `%s' to `%s' failed:\n%s\n"
|
||||
operation from to err))))))))
|
||||
fn-list))
|
||||
(cond
|
||||
(dired-create-files-failures
|
||||
(setq failures (nconc failures dired-create-files-failures))
|
||||
(dired-log-summary
|
||||
(format "%s failed for %d file%s in %d requests"
|
||||
operation (length failures)
|
||||
(dired-plural-s (length failures))
|
||||
total)
|
||||
failures))
|
||||
(failures
|
||||
(dired-log-summary
|
||||
(format "%s failed for %d of %d file%s"
|
||||
operation (length failures) total
|
||||
(dired-plural-s total))
|
||||
operation (length failures)
|
||||
total (dired-plural-s total))
|
||||
failures))
|
||||
(skipped
|
||||
(dired-log-summary
|
||||
|
|
168
lisp/dired-x.el
168
lisp/dired-x.el
|
@ -958,119 +958,132 @@ dired."
|
|||
(defvar dired-guess-shell-alist-default
|
||||
(list
|
||||
(list "\\.tar$"
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat dired-guess-shell-gnutar " xvf")
|
||||
"tar xvf")
|
||||
;; Extract files into a separate subdirectory
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat "mkdir " (file-name-sans-extension file)
|
||||
"; " dired-guess-shell-gnutar " -C "
|
||||
(file-name-sans-extension file) " -xvf")
|
||||
(concat "mkdir " (file-name-sans-extension file)
|
||||
"; tar -C " (file-name-sans-extension file) " -xvf")))
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat dired-guess-shell-gnutar " xvf")
|
||||
"tar xvf")
|
||||
;; Extract files into a separate subdirectory
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat "mkdir " (file-name-sans-extension file)
|
||||
"; " dired-guess-shell-gnutar " -C "
|
||||
(file-name-sans-extension file) " -xvf")
|
||||
(concat "mkdir " (file-name-sans-extension file)
|
||||
"; tar -C " (file-name-sans-extension file) " -xvf"))
|
||||
;; List archive contents.
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat dired-guess-shell-gnutar " tvf")
|
||||
"tar tvf"))
|
||||
|
||||
;; REGEXPS for compressed archives must come before the .Z rule to
|
||||
;; be recognized:
|
||||
(list "\\.tar\\.Z$"
|
||||
;; Untar it.
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat dired-guess-shell-gnutar " zxvf")
|
||||
(concat "zcat * | tar xvf -"))
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
;; Untar it.
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat dired-guess-shell-gnutar " zxvf")
|
||||
(concat "zcat * | tar xvf -"))
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
|
||||
;; gzip'ed archives
|
||||
(list "\\.t\\(ar\\.\\)?gz$"
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat dired-guess-shell-gnutar " zxvf")
|
||||
(concat "gunzip -qc * | tar xvf -"))
|
||||
;; Extract files into a separate subdirectory
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat "mkdir " (file-name-sans-extension file)
|
||||
"; " dired-guess-shell-gnutar " -C "
|
||||
(file-name-sans-extension file) " -zxvf")
|
||||
(concat "mkdir " (file-name-sans-extension file)
|
||||
"; gunzip -qc * | tar -C "
|
||||
(file-name-sans-extension file) " -xvf -"))
|
||||
;; Optional decompression.
|
||||
'(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q" "")))
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat dired-guess-shell-gnutar " zxvf")
|
||||
(concat "gunzip -qc * | tar xvf -"))
|
||||
;; Extract files into a separate subdirectory
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat "mkdir " (file-name-sans-extension file)
|
||||
"; " dired-guess-shell-gnutar " -C "
|
||||
(file-name-sans-extension file) " -zxvf")
|
||||
(concat "mkdir " (file-name-sans-extension file)
|
||||
"; gunzip -qc * | tar -C "
|
||||
(file-name-sans-extension file) " -xvf -"))
|
||||
;; Optional decompression.
|
||||
'(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q" ""))
|
||||
;; List archive contents.
|
||||
'(if dired-guess-shell-gnutar
|
||||
(concat dired-guess-shell-gnutar " ztvf")
|
||||
(concat "gunzip -qc * | tar tvf -")))
|
||||
|
||||
;; bzip2'ed archives
|
||||
(list "\\.t\\(ar\\.bz2\\|bz\\)$"
|
||||
"bunzip2 -c * | tar xvf -"
|
||||
;; Extract files into a separate subdirectory
|
||||
'(concat "mkdir " (file-name-sans-extension file)
|
||||
"; bunzip2 -c * | tar -C "
|
||||
(file-name-sans-extension file) " -xvf -")
|
||||
;; Extract files into a separate subdirectory
|
||||
'(concat "mkdir " (file-name-sans-extension file)
|
||||
"; bunzip2 -c * | tar -C "
|
||||
(file-name-sans-extension file) " -xvf -")
|
||||
;; Optional decompression.
|
||||
"bunzip2")
|
||||
"bunzip2")
|
||||
|
||||
'("\\.shar\\.Z$" "zcat * | unshar")
|
||||
'("\\.shar\\.g?z$" "gunzip -qc * | unshar")
|
||||
|
||||
'("\\.e?ps$" "ghostview" "xloadimage" "lpr")
|
||||
(list "\\.e?ps\\.g?z$" "gunzip -qc * | ghostview -"
|
||||
;; Optional decompression.
|
||||
'(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q")))
|
||||
;; Optional decompression.
|
||||
'(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q")))
|
||||
(list "\\.e?ps\\.Z$" "zcat * | ghostview -"
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
|
||||
'("\\.patch$" "cat * | patch")
|
||||
(list "\\.patch\\.g?z$" "gunzip -qc * | patch"
|
||||
;; Optional decompression.
|
||||
'(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q")))
|
||||
;; Optional decompression.
|
||||
'(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q")))
|
||||
(list "\\.patch\\.Z$" "zcat * | patch"
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
|
||||
;; The following four extensions are useful with dired-man ("N" key)
|
||||
(list "\\.\\(?:[0-9]\\|man\\)$" '(progn (require 'man)
|
||||
(if (Man-support-local-filenames)
|
||||
"man -l"
|
||||
"cat * | tbl | nroff -man -h")))
|
||||
(if (Man-support-local-filenames)
|
||||
"man -l"
|
||||
"cat * | tbl | nroff -man -h")))
|
||||
(list "\\.\\(?:[0-9]\\|man\\)\\.g?z$" '(progn (require 'man)
|
||||
(if (Man-support-local-filenames)
|
||||
"man -l"
|
||||
"gunzip -qc * | tbl | nroff -man -h"))
|
||||
;; Optional decompression.
|
||||
'(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q")))
|
||||
(if (Man-support-local-filenames)
|
||||
"man -l"
|
||||
"gunzip -qc * | tbl | nroff -man -h"))
|
||||
;; Optional decompression.
|
||||
'(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q")))
|
||||
(list "\\.[0-9]\\.Z$" '(progn (require 'man)
|
||||
(if (Man-support-local-filenames)
|
||||
"man -l"
|
||||
"zcat * | tbl | nroff -man -h"))
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
(if (Man-support-local-filenames)
|
||||
"man -l"
|
||||
"zcat * | tbl | nroff -man -h"))
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
'("\\.pod$" "perldoc" "pod2man * | nroff -man")
|
||||
|
||||
'("\\.dvi$" "xdvi" "dvips") ; preview and printing
|
||||
'("\\.au$" "play") ; play Sun audiofiles
|
||||
'("\\.mpg$" "mpeg_play")
|
||||
'("\\.uu$" "uudecode") ; for uudecoded files
|
||||
'("\\.dvi$" "xdvi" "dvips") ; preview and printing
|
||||
'("\\.au$" "play") ; play Sun audiofiles
|
||||
'("\\.mpe?g$\\|\\.avi$" "xine -p")
|
||||
'("\\.wav$" "play")
|
||||
'("\\.uu$" "uudecode") ; for uudecoded files
|
||||
'("\\.hqx$" "mcvert")
|
||||
'("\\.sh$" "sh") ; execute shell scripts
|
||||
'("\\.xbm$" "bitmap") ; view X11 bitmaps
|
||||
'("\\.sh$" "sh") ; execute shell scripts
|
||||
'("\\.xbm$" "bitmap") ; view X11 bitmaps
|
||||
'("\\.gp$" "gnuplot")
|
||||
'("\\.p[bgpn]m$" "xloadimage")
|
||||
'("\\.gif$" "xloadimage") ; view gif pictures
|
||||
'("\\.gif$" "xloadimage") ; view gif pictures
|
||||
'("\\.tif$" "xloadimage")
|
||||
'("\\.png$" "display") ; xloadimage 4.1 doesn't grok PNG
|
||||
'("\\.jpe?g$" "xloadimage")
|
||||
'("\\.fig$" "xfig") ; edit fig pictures
|
||||
'("\\.out$" "xgraph") ; for plotting purposes.
|
||||
'("\\.fig$" "xfig") ; edit fig pictures
|
||||
'("\\.out$" "xgraph") ; for plotting purposes.
|
||||
'("\\.tex$" "latex" "tex")
|
||||
'("\\.texi\\(nfo\\)?$" "makeinfo" "texi2dvi")
|
||||
'("\\.pdf$" "xpdf") ; edit PDF files
|
||||
'("\\.pdf$" "xpdf")
|
||||
'("\\.doc$" "antiword" "strings")
|
||||
'("\\.rpm$" "rpm -qilp" "rpm -ivh")
|
||||
'("\\.dia$" "dia")
|
||||
'("\\.mgp$" "mgp")
|
||||
|
||||
;; Some other popular archivers.
|
||||
(list "\\.zip$" "unzip"
|
||||
;; Extract files into a separate subdirectory
|
||||
'(concat "unzip" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" -d " (file-name-sans-extension file)))
|
||||
(list "\\.zip$" "unzip" "unzip -l"
|
||||
;; Extract files into a separate subdirectory
|
||||
'(concat "unzip" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" -d " (file-name-sans-extension file)))
|
||||
'("\\.zoo$" "zoo x//")
|
||||
'("\\.lzh$" "lharc x")
|
||||
'("\\.arc$" "arc x")
|
||||
|
@ -1081,10 +1094,11 @@ dired."
|
|||
(list "\\.dz$" "dictunzip")
|
||||
(list "\\.bz2$" "bunzip2")
|
||||
(list "\\.Z$" "uncompress"
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
)
|
||||
;; Optional conversion to gzip format.
|
||||
'(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
|
||||
" " dired-guess-shell-znew-switches))
|
||||
|
||||
'("\\.sign?$" "gpg --verify"))
|
||||
|
||||
"Default alist used for shell command guessing.
|
||||
See `dired-guess-shell-alist-user'.")
|
||||
|
|
|
@ -2204,40 +2204,40 @@ instead of `dired-actual-switches'."
|
|||
(concat "\\`" (match-string 1 default-directory)))))
|
||||
(goto-char (point-min))
|
||||
(setq dired-subdir-alist nil)
|
||||
(while (and (re-search-forward dired-subdir-regexp nil t)
|
||||
;; Avoid taking a file name ending in a colon
|
||||
;; as a subdir name.
|
||||
(not (save-excursion
|
||||
(goto-char (match-beginning 0))
|
||||
(beginning-of-line)
|
||||
(forward-char 2)
|
||||
(save-match-data (looking-at dired-re-perms)))))
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 1))
|
||||
(setq new-dir-name
|
||||
(buffer-substring-no-properties (point) (match-end 1))
|
||||
new-dir-name
|
||||
(save-match-data
|
||||
(if (and R-ftp-base-dir-regex
|
||||
(not (string= new-dir-name default-directory))
|
||||
(string-match R-ftp-base-dir-regex new-dir-name))
|
||||
(concat default-directory
|
||||
(substring new-dir-name (match-end 0)))
|
||||
(expand-file-name new-dir-name))))
|
||||
(delete-region (point) (match-end 1))
|
||||
(insert new-dir-name))
|
||||
(setq count (1+ count))
|
||||
(dired-alist-add-1 new-dir-name
|
||||
;; Place a sub directory boundary between lines.
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 0))
|
||||
(beginning-of-line)
|
||||
(point-marker))))
|
||||
(while (re-search-forward dired-subdir-regexp nil t)
|
||||
;; Avoid taking a file name ending in a colon
|
||||
;; as a subdir name.
|
||||
(unless (save-excursion
|
||||
(goto-char (match-beginning 0))
|
||||
(beginning-of-line)
|
||||
(forward-char 2)
|
||||
(save-match-data (looking-at dired-re-perms)))
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 1))
|
||||
(setq new-dir-name
|
||||
(buffer-substring-no-properties (point) (match-end 1))
|
||||
new-dir-name
|
||||
(save-match-data
|
||||
(if (and R-ftp-base-dir-regex
|
||||
(not (string= new-dir-name default-directory))
|
||||
(string-match R-ftp-base-dir-regex new-dir-name))
|
||||
(concat default-directory
|
||||
(substring new-dir-name (match-end 0)))
|
||||
(expand-file-name new-dir-name))))
|
||||
(delete-region (point) (match-end 1))
|
||||
(insert new-dir-name))
|
||||
(setq count (1+ count))
|
||||
(dired-alist-add-1 new-dir-name
|
||||
;; Place a sub directory boundary between lines.
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 0))
|
||||
(beginning-of-line)
|
||||
(point-marker)))))
|
||||
(if (and (> count 1) (interactive-p))
|
||||
(message "Buffer includes %d directories" count))
|
||||
;; We don't need to sort it because it is in buffer order per
|
||||
;; constructionem. Return new alist:
|
||||
dired-subdir-alist)))
|
||||
(message "Buffer includes %d directories" count)))
|
||||
;; We don't need to sort it because it is in buffer order per
|
||||
;; constructionem. Return new alist:
|
||||
dired-subdir-alist))
|
||||
|
||||
(defun dired-alist-add-1 (dir new-marker)
|
||||
;; Add new DIR at NEW-MARKER. Don't sort.
|
||||
|
@ -3043,6 +3043,10 @@ Thus, use \\[backward-page] to find the beginning of a group of errors."
|
|||
(insert "\f\n")))))))
|
||||
|
||||
(defun dired-log-summary (string failures)
|
||||
"State a summary of a command's failures, in echo area and log buffer.
|
||||
STRING is an overall summary of the failures.
|
||||
FAILURES is a list of file names that we failed to operate on,
|
||||
or nil if file names are not applicable."
|
||||
(if (= (length failures) 1)
|
||||
(message "%s"
|
||||
(with-current-buffer dired-log-buffer
|
||||
|
|
52
lisp/dnd.el
52
lisp/dnd.el
|
@ -37,11 +37,11 @@
|
|||
|
||||
;;;###autoload
|
||||
(defcustom dnd-protocol-alist
|
||||
'(
|
||||
("^file:///" . dnd-open-local-file) ; XDND format.
|
||||
("^file://" . dnd-open-file) ; URL with host
|
||||
("^file:" . dnd-open-local-file) ; Old KDE, Motif, Sun
|
||||
)
|
||||
'(("^file:///" . dnd-open-local-file) ; XDND format.
|
||||
("^file://" . dnd-open-file) ; URL with host
|
||||
("^file:" . dnd-open-local-file) ; Old KDE, Motif, Sun
|
||||
("^\\(https?\\|ftp\\|file\\|nfs\\)://" . dnd-open-file)
|
||||
)
|
||||
|
||||
"The functions to call for different protocols when a drop is made.
|
||||
This variable is used by `dnd-handle-one-url' and `dnd-handle-file-name'.
|
||||
|
@ -59,6 +59,22 @@ if some action was made, or nil if the URL is ignored."
|
|||
:group 'dnd)
|
||||
|
||||
|
||||
(defcustom dnd-open-remote-file-function
|
||||
(if (eq system-type 'windows-nt)
|
||||
'dnd-open-local-file
|
||||
'dnd-open-remote-url)
|
||||
"The function to call when opening a file on a remote machine.
|
||||
The function will be called with two arguments; URI and ACTION. See
|
||||
`dnd-open-file' for details.
|
||||
If nil, then dragging remote files into Emacs will result in an error.
|
||||
Predefined functions are `dnd-open-local-file' and `dnd-open-remote-url'.
|
||||
`dnd-open-local-file' attempts to open a remote file using its UNC name and
|
||||
is the default on MS-Windows. `dnd-open-remote-url' uses `url-handler-mode'
|
||||
and is the default except for MS-Windows."
|
||||
:version "22.1"
|
||||
:type 'function
|
||||
:group 'dnd)
|
||||
|
||||
|
||||
(defcustom dnd-open-file-other-window nil
|
||||
"If non-nil, always use find-file-other-window to open dropped files."
|
||||
|
@ -75,7 +91,7 @@ The handler is first located by looking at `dnd-protocol-alist'.
|
|||
If no match is found here, and the value of `browse-url-browser-function'
|
||||
is a pair of (REGEXP . FUNCTION), those regexps are tried for a match.
|
||||
If no match is found, just call `dnd-insert-text'.
|
||||
WINDOW is where the drop happend, ACTION is the action for the drop,
|
||||
WINDOW is where the drop happened, ACTION is the action for the drop,
|
||||
URL is what has been dropped.
|
||||
Returns ACTION."
|
||||
(require 'browse-url)
|
||||
|
@ -147,7 +163,11 @@ Return nil if URI is not a local file."
|
|||
The file is opened in the current window, or a new window if
|
||||
`dnd-open-file-other-window' is set. URI is the url for the file,
|
||||
and must have the format file:file-name or file:///file-name.
|
||||
The last / in file:/// is part of the file name. ACTION is ignored."
|
||||
The last / in file:/// is part of the file name. If the system
|
||||
natively supports unc file names, then remote urls of the form
|
||||
file://server-name/file-name will also be handled by this function.
|
||||
An alternative for systems that do not support unc file names is
|
||||
`dnd-open-remote-url'. ACTION is ignored."
|
||||
|
||||
(let* ((f (dnd-get-local-file-name uri t)))
|
||||
(if (and f (file-readable-p f))
|
||||
|
@ -158,6 +178,20 @@ The last / in file:/// is part of the file name. ACTION is ignored."
|
|||
'private)
|
||||
(error "Can not read %s" uri))))
|
||||
|
||||
(defun dnd-open-remote-url (uri action)
|
||||
"Open a remote file with `find-file' and `url-handler-mode'.
|
||||
Turns `url-handler-mode' on if not on before. The file is opened in the
|
||||
current window, or a new window if `dnd-open-file-other-window' is set.
|
||||
URI is the url for the file. ACTION is ignored."
|
||||
(progn
|
||||
(require 'url-handlers)
|
||||
(or url-handler-mode (url-handler-mode))
|
||||
(if dnd-open-file-other-window
|
||||
(find-file-other-window uri)
|
||||
(find-file uri))
|
||||
'private))
|
||||
|
||||
|
||||
(defun dnd-open-file (uri action)
|
||||
"Open a local or remote file.
|
||||
The file is opened in the current window, or a new window if
|
||||
|
@ -169,7 +203,9 @@ The last / in file://hostname/ is part of the file name."
|
|||
;; file. Otherwise return nil.
|
||||
(let ((local-file (dnd-get-local-file-uri uri)))
|
||||
(if local-file (dnd-open-local-file local-file action)
|
||||
(error "Remote files not supported"))))
|
||||
(if dnd-open-remote-file-function
|
||||
(funcall dnd-open-remote-file-function uri action)
|
||||
(error "Remote files not supported")))))
|
||||
|
||||
|
||||
(defun dnd-insert-text (window action text)
|
||||
|
|
|
@ -4281,6 +4281,11 @@ Mail anyway? (y or n) ")
|
|||
(setq lis1 (cdr lis1)))
|
||||
(cdr result)))
|
||||
|
||||
(defun ediff-add-to-history (history-var newelt)
|
||||
(if (fboundp 'add-to-history)
|
||||
(add-to-history history-var newelt)
|
||||
(set history-var (cons newelt (symbol-value history-var)))))
|
||||
|
||||
(if (fboundp 'copy-sequence)
|
||||
(defalias 'ediff-copy-list 'copy-sequence)
|
||||
(defun ediff-copy-list (list)
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
;; Created: February 2, 1994
|
||||
;; Keywords: comparing, merging, patching, tools, unix
|
||||
|
||||
(defconst ediff-version "2.81" "The current version of Ediff")
|
||||
(defconst ediff-date "February 18, 2006" "Date of last update")
|
||||
(defconst ediff-version "2.81.1" "The current version of Ediff")
|
||||
(defconst ediff-date "September 18, 2006" "Date of last update")
|
||||
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
@ -210,11 +210,12 @@
|
|||
ediff-last-dir-B
|
||||
(file-name-directory f)))
|
||||
(progn
|
||||
(add-to-history 'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory f)
|
||||
dir-B)))
|
||||
(ediff-add-to-history
|
||||
'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory f)
|
||||
dir-B)))
|
||||
(ediff-get-default-file-name f 1)))
|
||||
)))
|
||||
(ediff-files-internal file-A
|
||||
|
@ -245,22 +246,24 @@
|
|||
ediff-last-dir-B
|
||||
(file-name-directory f)))
|
||||
(progn
|
||||
(add-to-history 'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory f)
|
||||
dir-B)))
|
||||
(ediff-add-to-history
|
||||
'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory f)
|
||||
dir-B)))
|
||||
(ediff-get-default-file-name f 1))))
|
||||
(ediff-read-file-name "File C to compare"
|
||||
(setq dir-C (if ediff-use-last-dir
|
||||
ediff-last-dir-C
|
||||
(file-name-directory ff)))
|
||||
(progn
|
||||
(add-to-history 'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory ff)
|
||||
dir-C)))
|
||||
(ediff-add-to-history
|
||||
'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory ff)
|
||||
dir-C)))
|
||||
(ediff-get-default-file-name ff 2)))
|
||||
)))
|
||||
(ediff-files-internal file-A
|
||||
|
@ -1103,11 +1106,12 @@ lines. For small regions, use `ediff-regions-wordwise'."
|
|||
ediff-last-dir-B
|
||||
(file-name-directory f)))
|
||||
(progn
|
||||
(add-to-history 'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory f)
|
||||
dir-B)))
|
||||
(ediff-add-to-history
|
||||
'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory f)
|
||||
dir-B)))
|
||||
(ediff-get-default-file-name f 1)))
|
||||
)))
|
||||
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
|
||||
|
@ -1146,11 +1150,12 @@ lines. For small regions, use `ediff-regions-wordwise'."
|
|||
ediff-last-dir-B
|
||||
(file-name-directory f)))
|
||||
(progn
|
||||
(add-to-history 'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory f)
|
||||
dir-B)))
|
||||
(ediff-add-to-history
|
||||
'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory f)
|
||||
dir-B)))
|
||||
(ediff-get-default-file-name f 1))))
|
||||
(ediff-read-file-name "Ancestor file"
|
||||
(setq dir-ancestor
|
||||
|
@ -1158,11 +1163,12 @@ lines. For small regions, use `ediff-regions-wordwise'."
|
|||
ediff-last-dir-ancestor
|
||||
(file-name-directory ff)))
|
||||
(progn
|
||||
(add-to-history 'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory ff)
|
||||
dir-ancestor)))
|
||||
(ediff-add-to-history
|
||||
'file-name-history
|
||||
(ediff-abbreviate-file-name
|
||||
(expand-file-name
|
||||
(file-name-nondirectory ff)
|
||||
dir-ancestor)))
|
||||
(ediff-get-default-file-name ff 2)))
|
||||
)))
|
||||
(setq startup-hooks (cons 'ediff-merge-on-startup startup-hooks))
|
||||
|
|
|
@ -2409,7 +2409,7 @@ If such an advice was found it will be removed from the list of advices
|
|||
in that CLASS."
|
||||
(interactive (ad-read-advice-specification "Remove advice of"))
|
||||
(if (ad-is-advised function)
|
||||
(let* ((advice-to-remove (ad-find-advice function class name)))
|
||||
(let ((advice-to-remove (ad-find-advice function class name)))
|
||||
(if advice-to-remove
|
||||
(ad-set-advice-info-field
|
||||
function class
|
||||
|
@ -2747,7 +2747,7 @@ For that it has to be fbound with a non-autoload definition."
|
|||
A three-element list is returned, where the 1st element is the list of
|
||||
required arguments, the 2nd is the list of optional arguments, and the 3rd
|
||||
is the name of an optional rest parameter (or nil)."
|
||||
(let* (required optional rest)
|
||||
(let (required optional rest)
|
||||
(setq rest (car (cdr (memq '&rest arglist))))
|
||||
(if rest (setq arglist (reverse (cdr (memq '&rest (reverse arglist))))))
|
||||
(setq optional (cdr (memq '&optional arglist)))
|
||||
|
@ -2958,7 +2958,7 @@ Example: `(ad-map-arglists '(a &rest args) '(w x y z))' will return
|
|||
|
||||
(defun ad-make-mapped-call (source-arglist target-arglist target-function)
|
||||
"Make form to call TARGET-FUNCTION with args from SOURCE-ARGLIST."
|
||||
(let* ((mapped-form (ad-map-arglists source-arglist target-arglist)))
|
||||
(let ((mapped-form (ad-map-arglists source-arglist target-arglist)))
|
||||
(if (eq (car mapped-form) 'funcall)
|
||||
(cons target-function (cdr (cdr mapped-form)))
|
||||
(prog1 mapped-form
|
||||
|
|
|
@ -66,13 +66,13 @@
|
|||
;;
|
||||
;; The corresponding Lisp bindat specification looks like this:
|
||||
;;
|
||||
;; (setq header-spec
|
||||
;; (setq header-bindat-spec
|
||||
;; '((dest-ip ip)
|
||||
;; (src-ip ip)
|
||||
;; (dest-port u16)
|
||||
;; (src-port u16)))
|
||||
;;
|
||||
;; (setq data-spec
|
||||
;; (setq data-bindat-spec
|
||||
;; '((type u8)
|
||||
;; (opcode u8)
|
||||
;; (length u16r) ;; little endian order
|
||||
|
@ -80,12 +80,12 @@
|
|||
;; (data vec (length))
|
||||
;; (align 4)))
|
||||
;;
|
||||
;; (setq packet-spec
|
||||
;; '((header struct header-spec)
|
||||
;; (setq packet-bindat-spec
|
||||
;; '((header struct header-bindat-spec)
|
||||
;; (items u8)
|
||||
;; (fill 3)
|
||||
;; (item repeat (items)
|
||||
;; (struct data-spec))))
|
||||
;; (struct data-bindat-spec))))
|
||||
;;
|
||||
;;
|
||||
;; A binary data representation may look like
|
||||
|
@ -121,6 +121,9 @@
|
|||
;; Binary Data Structure Specification Format
|
||||
;; ------------------------------------------
|
||||
|
||||
;; We recommend using names that end in `-bindat-spec'; such names
|
||||
;; are recognized automatically as "risky" variables.
|
||||
|
||||
;; The data specification is formatted as follows:
|
||||
|
||||
;; SPEC ::= ( ITEM... )
|
||||
|
@ -342,8 +345,8 @@
|
|||
|
||||
(defun bindat-unpack (spec bindat-raw &optional bindat-idx)
|
||||
"Return structured data according to SPEC for binary data in BINDAT-RAW.
|
||||
BINDAT-RAW is a unibyte string or vector. Optional third arg BINDAT-IDX specifies
|
||||
the starting offset in BINDAT-RAW."
|
||||
BINDAT-RAW is a unibyte string or vector.
|
||||
Optional third arg BINDAT-IDX specifies the starting offset in BINDAT-RAW."
|
||||
(when (multibyte-string-p bindat-raw)
|
||||
(error "String is multibyte"))
|
||||
(unless bindat-idx (setq bindat-idx 0))
|
||||
|
|
|
@ -2261,7 +2261,8 @@ Code:, and others referenced in the style guide."
|
|||
(re-search-forward "^;;; Code" nil t)
|
||||
(re-search-forward "^(require" nil t)
|
||||
(re-search-forward "^(" nil t))
|
||||
(beginning-of-line)))
|
||||
(beginning-of-line))
|
||||
(t (re-search-forward ";;; .* --- .*\n")))
|
||||
(if (checkdoc-y-or-n-p
|
||||
"You should have a \";;; Commentary:\", add one? ")
|
||||
(insert "\n;;; Commentary:\n;; \n\n")
|
||||
|
|
|
@ -2578,21 +2578,7 @@ surrounded by (block NAME ...).
|
|||
(cl-const-expr-val (nth 1 keys)))))
|
||||
(cond ((eq test 'eq) (list 'memq a list))
|
||||
((eq test 'equal) (list 'member a list))
|
||||
((or (null keys) (eq test 'eql))
|
||||
(if (eq (cl-const-expr-p a) t)
|
||||
(list (if (floatp-safe (cl-const-expr-val a)) 'member 'memq)
|
||||
a list)
|
||||
(if (eq (cl-const-expr-p list) t)
|
||||
(let ((p (cl-const-expr-val list)) (mb nil) (mq nil))
|
||||
(if (not (cdr p))
|
||||
(and p (list 'eql a (list 'quote (car p))))
|
||||
(while p
|
||||
(if (floatp-safe (car p)) (setq mb t)
|
||||
(or (integerp (car p)) (symbolp (car p)) (setq mq t)))
|
||||
(setq p (cdr p)))
|
||||
(if (not mb) (list 'memq a list)
|
||||
(if (not mq) (list 'member a list) form))))
|
||||
form)))
|
||||
((or (null keys) (eq test 'eql)) (list 'memql a list))
|
||||
(t form))))
|
||||
|
||||
(define-compiler-macro assoc* (&whole form a list &rest keys)
|
||||
|
|
|
@ -155,7 +155,11 @@ Like (push X PLACE), except that the list is unmodified if X is `eql' to
|
|||
an element already on the list.
|
||||
\nKeywords supported: :test :test-not :key
|
||||
\n(fn X PLACE [KEYWORD VALUE]...)"
|
||||
(if (symbolp place) (list 'setq place (list* 'adjoin x place keys))
|
||||
(if (symbolp place)
|
||||
(if (null keys)
|
||||
`(let ((x ,x))
|
||||
(if (memql x ,place) ,place (setq ,place (cons x ,place))))
|
||||
(list 'setq place (list* 'adjoin x place keys)))
|
||||
(list* 'callf2 'adjoin x place keys)))
|
||||
|
||||
(defun cl-set-elt (seq n val)
|
||||
|
|
|
@ -200,7 +200,8 @@ Use the command `%s' to change this variable." pretty-name mode))
|
|||
See the command `%s' for a description of this minor-mode."
|
||||
(if body "
|
||||
Setting this variable directly does not take effect;
|
||||
use either \\[customize] or the function `%s'."))))
|
||||
either customize it (see the info node `Easy Customization')
|
||||
or call the function `%s'."))))
|
||||
`(defcustom ,mode ,init-value
|
||||
,(format base-doc-string pretty-name mode mode)
|
||||
,@set
|
||||
|
|
|
@ -432,7 +432,7 @@ Emacs Lisp mode) that support Eldoc.")
|
|||
;; Prime the command list.
|
||||
(eldoc-add-command-completions
|
||||
"backward-" "beginning-of-" "move-beginning-of-" "delete-other-windows"
|
||||
"delete-window"
|
||||
"delete-window" "handle-select-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"
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
(concat
|
||||
"^\\s-*(\\(def\\(ine-skeleton\\|ine-generic-mode\\|ine-derived-mode\\|\
|
||||
ine\\(?:-global\\)?-minor-mode\\|ine-compilation-mode\\|un-cvs-mode\\|\
|
||||
foo\\|[^cfgv]\\(\\w\\|\\s_\\)+\\*?\\)\\|easy-mmode-define-[a-z-]+\\|easy-menu-define\\|\
|
||||
foo\\|[^icfgv]\\(\\w\\|\\s_\\)+\\*?\\)\\|easy-mmode-define-[a-z-]+\\|easy-menu-define\\|\
|
||||
menu-bar-make-toggle\\)"
|
||||
find-function-space-re
|
||||
"\\('\\|\(quote \\)?%s\\(\\s-\\|$\\|\(\\|\)\\)")
|
||||
|
|
|
@ -32,9 +32,11 @@
|
|||
;; Layout of a timer vector:
|
||||
;; [triggered-p high-seconds low-seconds usecs repeat-delay
|
||||
;; function args idle-delay]
|
||||
;; triggered-p is nil if the timer is active (waiting to be triggered),
|
||||
;; t if it is inactive ("already triggered", in theory)
|
||||
|
||||
(defun timer-create ()
|
||||
"Create a timer object."
|
||||
"Create a timer object which can be passed to `timer-activate'."
|
||||
(let ((timer (make-vector 8 nil)))
|
||||
(aset timer 0 t)
|
||||
timer))
|
||||
|
@ -173,6 +175,10 @@ fire repeatedly that many seconds apart."
|
|||
(defun timer-activate (timer &optional triggered-p reuse-cell)
|
||||
"Put TIMER on the list of active timers.
|
||||
|
||||
If TRIGGERED-P is t, that means to make the timer inactive
|
||||
\(put it on the list, but mark it as already triggered).
|
||||
To remove from the list, use `cancel-timer'.
|
||||
|
||||
REUSE-CELL, if non-nil, is a cons cell to reuse instead
|
||||
of allocating a new one."
|
||||
(if (and (timerp timer)
|
||||
|
@ -256,10 +262,10 @@ of allocating a new one."
|
|||
(setq timer-idle-list (delq timer timer-idle-list))
|
||||
nil)
|
||||
|
||||
;; Remove TIMER from the list of active timers or idle timers.
|
||||
;; Only to be used in this file. It returns the cons cell
|
||||
;; that was removed from the list.
|
||||
(defun cancel-timer-internal (timer)
|
||||
"Remove TIMER from the list of active timers or idle timers.
|
||||
Only to be used in this file. It returns the cons cell
|
||||
that was removed from the timer list."
|
||||
(let ((cell1 (memq timer timer-list))
|
||||
(cell2 (memq timer timer-idle-list)))
|
||||
(if cell1
|
||||
|
@ -270,7 +276,9 @@ of allocating a new one."
|
|||
|
||||
;;;###autoload
|
||||
(defun cancel-function-timers (function)
|
||||
"Cancel all timers scheduled by `run-at-time' which would run FUNCTION."
|
||||
"Cancel all timers which would run FUNCTION.
|
||||
This affects ordinary timers such as are scheduled by `run-at-time',
|
||||
and idle timers such as are scheduled by `run-with-idle-timer'."
|
||||
(interactive "aCancel timers of function: ")
|
||||
(let ((tail timer-list))
|
||||
(while tail
|
||||
|
@ -284,12 +292,19 @@ of allocating a new one."
|
|||
(setq tail (cdr tail)))))
|
||||
|
||||
;; Record the last few events, for debugging.
|
||||
(defvar timer-event-last-2 nil)
|
||||
(defvar timer-event-last-1 nil)
|
||||
(defvar timer-event-last nil)
|
||||
(defvar timer-event-last nil
|
||||
"Last timer that was run.")
|
||||
(defvar timer-event-last-1 nil
|
||||
"Next-to-last timer that was run.")
|
||||
(defvar timer-event-last-2 nil
|
||||
"Third-to-last timer that was run.")
|
||||
|
||||
(defvar timer-max-repeats 10
|
||||
"*Maximum number of times to repeat a timer, if real time jumps.")
|
||||
"*Maximum number of times to repeat a timer, if many repeats are delayed.
|
||||
Timer invocations can be delayed because Emacs is suspended or busy,
|
||||
or because the system's time changes. If such an occurrence makes it
|
||||
appear that many invocations are overdue, this variable controls
|
||||
how many will really happen.")
|
||||
|
||||
(defun timer-until (timer time)
|
||||
"Calculate number of seconds from when TIMER will run, until TIME.
|
||||
|
@ -440,6 +455,7 @@ This function returns a timer object which you can use in `cancel-timer'."
|
|||
timer))
|
||||
|
||||
(defun with-timeout-handler (tag)
|
||||
"This is the timer function used for the timer made by `with-timeout'."
|
||||
(throw tag 'timeout))
|
||||
|
||||
;;;###autoload (put 'with-timeout 'lisp-indent-function 1)
|
||||
|
|
|
@ -265,11 +265,14 @@ display oriented stuff, use `trace-function-background' instead."
|
|||
;;;###autoload
|
||||
(defun trace-function-background (function &optional buffer)
|
||||
"Traces FUNCTION with trace output going quietly to BUFFER.
|
||||
For every call of FUNCTION Lisp-style trace messages that display argument
|
||||
and return values will be inserted into BUFFER. This function generates the
|
||||
trace advice for FUNCTION and activates it together with any other advice
|
||||
there might be!! Trace output will quietly go to BUFFER without changing
|
||||
the window or buffer configuration at all."
|
||||
When this tracing is enabled, every call to FUNCTION writes
|
||||
a Lisp-style trace message (showing the arguments and return value)
|
||||
into BUFFER. This function generates advice to trace FUNCTION
|
||||
and activates it together with any other advice there might be.
|
||||
The trace output goes to BUFFER quietly, without changing
|
||||
the window or buffer configuration.
|
||||
|
||||
BUFFER defaults to `trace-buffer'."
|
||||
(interactive
|
||||
(list
|
||||
(intern
|
||||
|
|
|
@ -1097,73 +1097,79 @@ If ARG is the atom `-', scroll upward by nearly full screen."
|
|||
;;; Pre-command hook
|
||||
|
||||
(defun cua--pre-command-handler-1 ()
|
||||
(let ((movement (eq (get this-command 'CUA) 'move)))
|
||||
;; Cancel prefix key timeout if user enters another key.
|
||||
(when cua--prefix-override-timer
|
||||
(if (timerp cua--prefix-override-timer)
|
||||
(cancel-timer cua--prefix-override-timer))
|
||||
(setq cua--prefix-override-timer nil))
|
||||
|
||||
;; Cancel prefix key timeout if user enters another key.
|
||||
(when cua--prefix-override-timer
|
||||
(if (timerp cua--prefix-override-timer)
|
||||
(cancel-timer cua--prefix-override-timer))
|
||||
(setq cua--prefix-override-timer nil))
|
||||
(cond
|
||||
;; Only symbol commands can have necessary properties
|
||||
((not (symbolp this-command))
|
||||
nil)
|
||||
|
||||
;; Handle shifted cursor keys and other movement commands.
|
||||
;; If region is not active, region is activated if key is shifted.
|
||||
;; If region is active, region is cancelled if key is unshifted (and region not started with C-SPC).
|
||||
;; If rectangle is active, expand rectangle in specified direction and ignore the movement.
|
||||
(if movement
|
||||
(cond
|
||||
((if window-system
|
||||
(memq 'shift (event-modifiers
|
||||
(aref (this-single-command-raw-keys) 0)))
|
||||
(or
|
||||
(memq 'shift (event-modifiers
|
||||
(aref (this-single-command-keys) 0)))
|
||||
;; See if raw escape sequence maps to a shifted event, e.g. S-up or C-S-home.
|
||||
(and (boundp 'local-function-key-map)
|
||||
local-function-key-map
|
||||
(let ((ev (lookup-key local-function-key-map
|
||||
(this-single-command-raw-keys))))
|
||||
(and (vector ev)
|
||||
(symbolp (setq ev (aref ev 0)))
|
||||
(string-match "S-" (symbol-name ev)))))))
|
||||
(unless mark-active
|
||||
(push-mark-command nil t))
|
||||
(setq cua--last-region-shifted t)
|
||||
(setq cua--explicit-region-start nil))
|
||||
((or cua--explicit-region-start cua--rectangle)
|
||||
(unless mark-active
|
||||
(push-mark-command nil nil)))
|
||||
(t
|
||||
;; If we set mark-active to nil here, the region highlight will not be
|
||||
;; removed by the direct_output_ commands.
|
||||
(setq deactivate-mark t)))
|
||||
;; Handle delete-selection property on non-movement commands
|
||||
((not (eq (get this-command 'CUA) 'move))
|
||||
(when (and mark-active (not deactivate-mark))
|
||||
(let* ((ds (or (get this-command 'delete-selection)
|
||||
(get this-command 'pending-delete)))
|
||||
(nc (cond
|
||||
((not ds) nil)
|
||||
((eq ds 'yank)
|
||||
'cua-paste)
|
||||
((eq ds 'kill)
|
||||
(if cua--rectangle
|
||||
'cua-copy-rectangle
|
||||
'cua-copy-region))
|
||||
((eq ds 'supersede)
|
||||
(if cua--rectangle
|
||||
'cua-delete-rectangle
|
||||
'cua-delete-region))
|
||||
(t
|
||||
(if cua--rectangle
|
||||
'cua-delete-rectangle ;; replace?
|
||||
'cua-replace-region)))))
|
||||
(if nc
|
||||
(setq this-original-command this-command
|
||||
this-command nc)))))
|
||||
|
||||
;; Handle delete-selection property on other commands
|
||||
(if (and mark-active (not deactivate-mark))
|
||||
(let* ((ds (or (get this-command 'delete-selection)
|
||||
(get this-command 'pending-delete)))
|
||||
(nc (cond
|
||||
((not ds) nil)
|
||||
((eq ds 'yank)
|
||||
'cua-paste)
|
||||
((eq ds 'kill)
|
||||
(if cua--rectangle
|
||||
'cua-copy-rectangle
|
||||
'cua-copy-region))
|
||||
((eq ds 'supersede)
|
||||
(if cua--rectangle
|
||||
'cua-delete-rectangle
|
||||
'cua-delete-region))
|
||||
(t
|
||||
(if cua--rectangle
|
||||
'cua-delete-rectangle ;; replace?
|
||||
'cua-replace-region)))))
|
||||
(if nc
|
||||
(setq this-original-command this-command
|
||||
this-command nc)))))
|
||||
;; Handle shifted cursor keys and other movement commands.
|
||||
;; If region is not active, region is activated if key is shifted.
|
||||
;; If region is active, region is cancelled if key is unshifted (and region not started with C-SPC).
|
||||
;; If rectangle is active, expand rectangle in specified direction and ignore the movement.
|
||||
((if window-system
|
||||
(memq 'shift (event-modifiers
|
||||
(aref (this-single-command-raw-keys) 0)))
|
||||
(or
|
||||
(memq 'shift (event-modifiers
|
||||
(aref (this-single-command-keys) 0)))
|
||||
;; See if raw escape sequence maps to a shifted event, e.g. S-up or C-S-home.
|
||||
(and (boundp 'local-function-key-map)
|
||||
local-function-key-map
|
||||
(let ((ev (lookup-key local-function-key-map
|
||||
(this-single-command-raw-keys))))
|
||||
(and (vector ev)
|
||||
(symbolp (setq ev (aref ev 0)))
|
||||
(string-match "S-" (symbol-name ev)))))))
|
||||
(unless mark-active
|
||||
(push-mark-command nil t))
|
||||
(setq cua--last-region-shifted t)
|
||||
(setq cua--explicit-region-start nil))
|
||||
|
||||
;; Detect extension of rectangles by mouse or other movement
|
||||
(setq cua--buffer-and-point-before-command
|
||||
(if cua--rectangle (cons (current-buffer) (point))))))
|
||||
;; Set mark if user explicitly said to do so
|
||||
((or cua--explicit-region-start cua--rectangle)
|
||||
(unless mark-active
|
||||
(push-mark-command nil nil)))
|
||||
|
||||
;; Else clear mark after this command.
|
||||
(t
|
||||
;; If we set mark-active to nil here, the region highlight will not be
|
||||
;; removed by the direct_output_ commands.
|
||||
(setq deactivate-mark t)))
|
||||
|
||||
;; Detect extension of rectangles by mouse or other movement
|
||||
(setq cua--buffer-and-point-before-command
|
||||
(if cua--rectangle (cons (current-buffer) (point)))))
|
||||
|
||||
(defun cua--pre-command-handler ()
|
||||
(when cua-mode
|
||||
|
|
|
@ -892,12 +892,17 @@ Vi's prefix argument will be used. Otherwise, the prefix argument passed to
|
|||
(t
|
||||
;;(setq ch (read-char-exclusive))
|
||||
(setq ch (aref (read-key-sequence nil) 0))
|
||||
(if viper-xemacs-p
|
||||
(setq ch (event-to-character ch)))
|
||||
;; replace ^M with the newline
|
||||
(if (eq ch ?\C-m) (setq ch ?\n))
|
||||
;; Make sure ^V and ^Q work as quotation chars
|
||||
(if (memq ch '(?\C-v ?\C-q))
|
||||
;;(setq ch (read-char-exclusive))
|
||||
(setq ch (aref (read-key-sequence nil) 0))
|
||||
(progn
|
||||
;;(setq ch (read-char-exclusive))
|
||||
(setq ch (aref (read-key-sequence nil) 0))
|
||||
(if viper-xemacs-p
|
||||
(setq ch (event-to-character ch))))
|
||||
)
|
||||
(insert ch))
|
||||
)
|
||||
|
@ -1750,7 +1755,7 @@ invokes the command before that, etc."
|
|||
|
||||
;; Hook used in viper-undo
|
||||
(defun viper-after-change-undo-hook (beg end len)
|
||||
(if undo-in-progress
|
||||
(if (and (boundp 'undo-in-progress) undo-in-progress)
|
||||
(setq undo-beg-posn beg
|
||||
undo-end-posn (or end beg))
|
||||
;; some other hooks may be changing various text properties in
|
||||
|
@ -3093,7 +3098,7 @@ If point is on a widget or a button, simulate clicking on that widget/button."
|
|||
(and (consp widget)
|
||||
(get (widget-type widget) 'widget-type))))
|
||||
(widget-button-press (point))
|
||||
(if (button-at (point))
|
||||
(if (and (fboundp 'button-at) (fboundp 'push-button) (button-at (point)))
|
||||
(push-button)
|
||||
;; not a widget or a button
|
||||
(viper-leave-region-active)
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
|
||||
;; Keywords: emulations
|
||||
|
||||
(defconst viper-version "3.12 of February 18, 2006"
|
||||
(defconst viper-version "3.13 of September 18, 2006"
|
||||
"The current version of Viper")
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
;;
|
||||
;; 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.
|
||||
;; they are just not displayed.
|
||||
;;
|
||||
;; The idea is that gui buffers (trees, buttons, etc) will have text
|
||||
;; representations of the GUI elements. These routines will replace the text
|
||||
|
|
|
@ -2089,7 +2089,7 @@ terminal type to a different value."
|
|||
|
||||
(defgroup mode-line-faces nil
|
||||
"Faces used in the mode line."
|
||||
:group 'modeline
|
||||
:group 'mode-line
|
||||
:group 'faces
|
||||
:version "22.1")
|
||||
|
||||
|
|
|
@ -954,7 +954,7 @@ If t, `ffap-tex-init' will initialize this when needed.")
|
|||
(substring name 2))))
|
||||
|
||||
(defvar ffap-rfc-path
|
||||
(concat (ffap-host-to-filename "ds.internic.net") "/rfc/rfc%s.txt"))
|
||||
(concat (ffap-host-to-filename "ftp.rfc-editor.org") "/in-notes/rfc%s.txt"))
|
||||
|
||||
(defun ffap-rfc (name)
|
||||
(format ffap-rfc-path
|
||||
|
|
|
@ -266,6 +266,7 @@ Defaults to nil on DOS and Windows, and t on other systems."
|
|||
;; Functions to add files to the cache
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;;;###autoload
|
||||
(defun file-cache-add-directory (directory &optional regexp)
|
||||
"Add DIRECTORY to the file cache.
|
||||
If the optional REGEXP argument is non-nil, only files which match it will
|
||||
|
@ -291,6 +292,7 @@ be added to the cache."
|
|||
dir-files)
|
||||
(file-cache-add-file-list dir-files))))
|
||||
|
||||
;;;###autoload
|
||||
(defun file-cache-add-directory-list (directory-list &optional regexp)
|
||||
"Add DIRECTORY-LIST (a list of directory names) to the file cache.
|
||||
If the optional REGEXP argument is non-nil, only files which match it
|
||||
|
@ -307,6 +309,8 @@ in each directory, not to the directory list itself."
|
|||
(mapcar 'file-cache-add-file file-list))
|
||||
|
||||
;; Workhorse function
|
||||
|
||||
;;;###autoload
|
||||
(defun file-cache-add-file (file)
|
||||
"Add FILE to the file cache."
|
||||
(interactive "fAdd File: ")
|
||||
|
@ -333,6 +337,7 @@ in each directory, not to the directory list itself."
|
|||
file-cache-alist)))
|
||||
)))
|
||||
|
||||
;;;###autoload
|
||||
(defun file-cache-add-directory-using-find (directory)
|
||||
"Use the `find' command to add files to the file cache.
|
||||
Find is run in DIRECTORY."
|
||||
|
@ -355,6 +360,7 @@ Find is run in DIRECTORY."
|
|||
"-print")
|
||||
(file-cache-add-from-file-cache-buffer)))
|
||||
|
||||
;;;###autoload
|
||||
(defun file-cache-add-directory-using-locate (string)
|
||||
"Use the `locate' command to add files to the file cache.
|
||||
STRING is passed as an argument to the locate command."
|
||||
|
@ -366,6 +372,7 @@ STRING is passed as an argument to the locate command."
|
|||
string)
|
||||
(file-cache-add-from-file-cache-buffer))
|
||||
|
||||
;;;###autoload
|
||||
(defun file-cache-add-directory-recursively (dir &optional regexp)
|
||||
"Adds DIR and any subdirectories to the file-cache.
|
||||
This function does not use any external programs
|
||||
|
|
|
@ -514,6 +514,9 @@ using \\[toggle-read-only]."
|
|||
:type 'boolean
|
||||
:group 'view)
|
||||
|
||||
(defvar file-name-history nil
|
||||
"History list of file names entered in the minibuffer.")
|
||||
|
||||
(put 'ange-ftp-completion-hook-function 'safe-magic t)
|
||||
(defun ange-ftp-completion-hook-function (op &rest args)
|
||||
"Provides support for ange-ftp host name completion.
|
||||
|
@ -1117,13 +1120,15 @@ expand wildcards (if any) and visit multiple files."
|
|||
(mapcar 'switch-to-buffer (cdr value))))
|
||||
(switch-to-buffer-other-frame value))))
|
||||
|
||||
(defun find-file-existing (filename &optional wildcards)
|
||||
"Edit the existing file FILENAME.
|
||||
Like \\[find-file] but only allow a file that exists."
|
||||
(interactive (find-file-read-args "Find existing file: " t))
|
||||
(unless (file-exists-p filename) (error "%s does not exist" filename))
|
||||
(find-file filename wildcards)
|
||||
(current-buffer))
|
||||
(defun find-file-existing (filename)
|
||||
"Edit the existing file FILENAME.
|
||||
Like \\[find-file] but only allow a file that exists, and do not allow
|
||||
file names with wildcards."
|
||||
(interactive (nbutlast (find-file-read-args "Find existing file: " t)))
|
||||
(if (and (not (interactive-p)) (not (file-exists-p filename)))
|
||||
(error "%s does not exist" filename)
|
||||
(find-file filename)
|
||||
(current-buffer)))
|
||||
|
||||
(defun find-file-read-only (filename &optional wildcards)
|
||||
"Edit file FILENAME but don't allow changes.
|
||||
|
@ -1310,7 +1315,7 @@ removes automounter prefixes (see the variable `automount-dir-prefix')."
|
|||
(setq abbreviated-home-dir
|
||||
(let ((abbreviated-home-dir "$foo"))
|
||||
(concat "^" (abbreviate-file-name (expand-file-name "~"))
|
||||
"\\(/\\|$\\)"))))
|
||||
"\\(/\\|\\'\\)"))))
|
||||
|
||||
;; If FILENAME starts with the abbreviated homedir,
|
||||
;; make it start with `~' instead.
|
||||
|
@ -1365,7 +1370,7 @@ If there is no such live buffer, return nil."
|
|||
(number (nthcdr 10 attributes))
|
||||
(list (buffer-list)) found)
|
||||
(and buffer-file-numbers-unique
|
||||
number
|
||||
(car-safe number) ;Make sure the inode is not just nil.
|
||||
(while (and (not found) list)
|
||||
(with-current-buffer (car list)
|
||||
(if (and buffer-file-name
|
||||
|
@ -1904,7 +1909,7 @@ in that case, this function acts as if `enable-local-variables' were t."
|
|||
("\\.[sS]\\'" . asm-mode)
|
||||
("\\.asm\\'" . asm-mode)
|
||||
("[cC]hange\\.?[lL]og?\\'" . change-log-mode)
|
||||
("[cC]hange[lL]og\\.[0-9]+\\'" . change-log-mode)
|
||||
("[cC]hange[lL]og[-.][0-9]+\\'" . change-log-mode)
|
||||
("\\$CHANGE_LOG\\$\\.TXT" . change-log-mode)
|
||||
("\\.scm\\.[0-9]*\\'" . scheme-mode)
|
||||
("\\.[ck]?sh\\'\\|\\.shar\\'\\|/\\.z?profile\\'" . sh-mode)
|
||||
|
@ -2396,10 +2401,10 @@ asking you for confirmation."
|
|||
;;
|
||||
;; For variables defined in the C source code the declaration should go here:
|
||||
|
||||
;; FIXME: Some variables should be moved according to the rules above.
|
||||
(mapc (lambda (pair)
|
||||
(put (car pair) 'safe-local-variable (cdr pair)))
|
||||
'((fill-column . integerp) ;; C source code
|
||||
'((buffer-read-only . booleanp) ;; C source code
|
||||
(fill-column . integerp) ;; C source code
|
||||
(indent-tabs-mode . booleanp) ;; C source code
|
||||
(left-margin . integerp) ;; C source code
|
||||
(no-update-autoloads . booleanp)
|
||||
|
@ -2697,8 +2702,8 @@ It is dangerous if either of these conditions are met:
|
|||
|
||||
* Its name ends with \"hook(s)\", \"function(s)\", \"form(s)\", \"map\",
|
||||
\"program\", \"command(s)\", \"predicate(s)\", \"frame-alist\",
|
||||
\"mode-alist\", \"font-lock-(syntactic-)keyword*\", or
|
||||
\"map-alist\"."
|
||||
\"mode-alist\", \"font-lock-(syntactic-)keyword*\",
|
||||
\"map-alist\", or \"bindat-spec\"."
|
||||
;; If this is an alias, check the base name.
|
||||
(condition-case nil
|
||||
(setq sym (indirect-variable sym))
|
||||
|
@ -2707,7 +2712,7 @@ It is dangerous if either of these conditions are met:
|
|||
(string-match "-hooks?$\\|-functions?$\\|-forms?$\\|-program$\\|\
|
||||
-commands?$\\|-predicates?$\\|font-lock-keywords$\\|font-lock-keywords\
|
||||
-[0-9]+$\\|font-lock-syntactic-keywords$\\|-frame-alist$\\|-mode-alist$\\|\
|
||||
-map$\\|-map-alist$" (symbol-name sym))))
|
||||
-map$\\|-map-alist$\\|-bindat-spec$" (symbol-name sym))))
|
||||
|
||||
(defun hack-one-local-variable-quotep (exp)
|
||||
(and (consp exp) (eq (car exp) 'quote) (consp (cdr exp))))
|
||||
|
@ -3729,9 +3734,15 @@ This requires the external program `diff' to be in your `exec-path'."
|
|||
(recursive-edit)
|
||||
;; Return nil to ask about BUF again.
|
||||
nil)
|
||||
"view this file")
|
||||
(?d diff-buffer-with-file
|
||||
"view changes in file"))
|
||||
"view this buffer")
|
||||
(?d (lambda (buf)
|
||||
(save-window-excursion
|
||||
(diff-buffer-with-file buf))
|
||||
(view-buffer (get-buffer-create "*Diff*")
|
||||
(lambda (ignore) (exit-recursive-edit)))
|
||||
(recursive-edit)
|
||||
nil)
|
||||
"view changes in this buffer"))
|
||||
"ACTION-ALIST argument used in call to `map-y-or-n-p'.")
|
||||
|
||||
(defvar buffer-save-without-query nil
|
||||
|
|
|
@ -129,8 +129,17 @@ as the final argument."
|
|||
args (concat find-dired-find-program " . "
|
||||
(if (string= args "")
|
||||
""
|
||||
(concat "\\( " args " \\) "))
|
||||
(car find-ls-option)))
|
||||
(concat
|
||||
(shell-quote-argument "(")
|
||||
" " args " "
|
||||
(shell-quote-argument ")")
|
||||
" "))
|
||||
(if (equal (car find-ls-option) "-exec ls -ld {} \\;")
|
||||
(concat "-exec ls -ld "
|
||||
(shell-quote-argument "{}")
|
||||
" "
|
||||
(shell-quote-argument ";"))
|
||||
(car find-ls-option))))
|
||||
;; Start the find process.
|
||||
(shell-command (concat args "&") (current-buffer))
|
||||
;; The next statement will bomb in classic dired (no optional arg allowed)
|
||||
|
@ -215,7 +224,10 @@ Thus ARG can also contain additional grep options."
|
|||
(find-dired dir
|
||||
(concat "-type f -exec grep " find-grep-options " -e "
|
||||
(shell-quote-argument regexp)
|
||||
" {} \\\; ")))
|
||||
" "
|
||||
(shell-quote-argument "{}")
|
||||
" "
|
||||
(shell-quote-argument ";"))))
|
||||
|
||||
(defun find-dired-filter (proc string)
|
||||
;; Filter for \\[find-dired] processes.
|
||||
|
|
|
@ -718,7 +718,7 @@ see the variables `c-font-lock-extra-types', `c++-font-lock-extra-types',
|
|||
;; If the keywords were compiled before, compile them again.
|
||||
(if was-compiled
|
||||
(setq font-lock-keywords
|
||||
(font-lock-compile-keywords font-lock-keywords t)))))))
|
||||
(font-lock-compile-keywords font-lock-keywords)))))))
|
||||
|
||||
(defun font-lock-update-removed-keyword-alist (mode keywords how)
|
||||
"Update `font-lock-removed-keywords-alist' when adding new KEYWORDS to MODE."
|
||||
|
@ -825,7 +825,7 @@ happens, so the major mode can be corrected."
|
|||
;; If the keywords were compiled before, compile them again.
|
||||
(if was-compiled
|
||||
(setq font-lock-keywords
|
||||
(font-lock-compile-keywords font-lock-keywords t)))))))
|
||||
(font-lock-compile-keywords font-lock-keywords)))))))
|
||||
|
||||
;;; Font Lock Support mode.
|
||||
|
||||
|
@ -1168,7 +1168,12 @@ what properties to clear before refontifying a region.")
|
|||
;; number of lines.
|
||||
;; (setq beg (progn (goto-char beg) (line-beginning-position))
|
||||
;; end (progn (goto-char end) (line-beginning-position 2)))
|
||||
)
|
||||
(unless (eq end (point-max))
|
||||
;; Rounding up to a whole number of lines should include the
|
||||
;; line right after `end'. Typical case: the first char of
|
||||
;; the line was deleted. Or a \n was inserted in the middle
|
||||
;; of a line.
|
||||
(setq end (1+ end))))
|
||||
(font-lock-fontify-region beg end)))))
|
||||
|
||||
(defvar jit-lock-start) (defvar jit-lock-end)
|
||||
|
@ -1205,9 +1210,17 @@ This function does 2 things:
|
|||
(setq beg (or (previous-single-property-change
|
||||
beg 'font-lock-multiline)
|
||||
(point-min))))
|
||||
(setq end (or (text-property-any end (point-max)
|
||||
'font-lock-multiline nil)
|
||||
(point-max)))
|
||||
(when (< end (point-max))
|
||||
(setq end
|
||||
(if (get-text-property end 'font-lock-multiline)
|
||||
(or (text-property-any end (point-max)
|
||||
'font-lock-multiline nil)
|
||||
(point-max))
|
||||
;; Rounding up to a whole number of lines should include the
|
||||
;; line right after `end'. Typical case: the first char of
|
||||
;; the line was deleted. Or a \n was inserted in the middle
|
||||
;; of a line.
|
||||
(1+ end))))
|
||||
;; Finally, pre-enlarge the region to a whole number of lines, to try
|
||||
;; and anticipate what font-lock-default-fontify-region will do, so as to
|
||||
;; avoid double-redisplay.
|
||||
|
@ -1217,11 +1230,11 @@ This function does 2 things:
|
|||
(when (memq 'font-lock-extend-region-wholelines
|
||||
font-lock-extend-region-functions)
|
||||
(goto-char beg)
|
||||
(forward-line 0)
|
||||
(setq jit-lock-start (min jit-lock-start (point)))
|
||||
(setq jit-lock-start (min jit-lock-start (line-beginning-position)))
|
||||
(goto-char end)
|
||||
(forward-line 1)
|
||||
(setq jit-lock-end (max jit-lock-end (point)))))))
|
||||
(setq jit-lock-end
|
||||
(max jit-lock-end
|
||||
(if (bolp) (point) (line-beginning-position 2))))))))
|
||||
|
||||
(defun font-lock-fontify-block (&optional arg)
|
||||
"Fontify some lines the way `font-lock-fontify-buffer' would.
|
||||
|
@ -1414,7 +1427,8 @@ START should be at the beginning of a line."
|
|||
;; If `font-lock-syntactic-keywords' is not compiled, compile it.
|
||||
(unless (eq (car font-lock-syntactic-keywords) t)
|
||||
(setq font-lock-syntactic-keywords (font-lock-compile-keywords
|
||||
font-lock-syntactic-keywords)))
|
||||
font-lock-syntactic-keywords
|
||||
t)))
|
||||
;; Get down to business.
|
||||
(let ((case-fold-search font-lock-keywords-case-fold-search)
|
||||
(keywords (cddr font-lock-syntactic-keywords))
|
||||
|
@ -1570,7 +1584,7 @@ START should be at the beginning of a line.
|
|||
LOUDLY, if non-nil, allows progress-meter bar."
|
||||
(unless (eq (car font-lock-keywords) t)
|
||||
(setq font-lock-keywords
|
||||
(font-lock-compile-keywords font-lock-keywords t)))
|
||||
(font-lock-compile-keywords font-lock-keywords)))
|
||||
(let ((case-fold-search font-lock-keywords-case-fold-search)
|
||||
(keywords (cddr font-lock-keywords))
|
||||
(bufname (buffer-name)) (count 0)
|
||||
|
@ -1626,12 +1640,12 @@ LOUDLY, if non-nil, allows progress-meter bar."
|
|||
|
||||
;; Various functions.
|
||||
|
||||
(defun font-lock-compile-keywords (keywords &optional regexp)
|
||||
(defun font-lock-compile-keywords (keywords &optional syntactic-keywords)
|
||||
"Compile KEYWORDS into the form (t KEYWORDS COMPILED...)
|
||||
Here each COMPILED is of the form (MATCHER HIGHLIGHT ...) as shown in the
|
||||
`font-lock-keywords' doc string.
|
||||
If REGEXP is non-nil, it means these keywords are used for
|
||||
`font-lock-keywords' rather than for `font-lock-syntactic-keywords'."
|
||||
If SYNTACTIC-KEYWORDS is non-nil, it means these keywords are used for
|
||||
`font-lock-syntactic-keywords' rather than for `font-lock-keywords'."
|
||||
(if (not font-lock-set-defaults)
|
||||
;; This should never happen. But some external packages sometimes
|
||||
;; call font-lock in unexpected and incorrect ways. It's important to
|
||||
|
@ -1644,10 +1658,12 @@ If REGEXP is non-nil, it means these keywords are used for
|
|||
(setq keywords
|
||||
(cons t (cons keywords
|
||||
(mapcar 'font-lock-compile-keyword keywords))))
|
||||
(if (and regexp
|
||||
(eq (or syntax-begin-function
|
||||
font-lock-beginning-of-syntax-function)
|
||||
'beginning-of-defun)
|
||||
(if (and (not syntactic-keywords)
|
||||
(let ((beg-function
|
||||
(or font-lock-beginning-of-syntax-function
|
||||
syntax-begin-function)))
|
||||
(or (eq beg-function 'beginning-of-defun)
|
||||
(get beg-function 'font-lock-syntax-paren-check)))
|
||||
(not beginning-of-defun-function))
|
||||
;; Try to detect when a string or comment contains something that
|
||||
;; looks like a defun and would thus confuse font-lock.
|
||||
|
@ -1774,7 +1790,7 @@ Sets various variables using `font-lock-defaults' (or, if nil, using
|
|||
;; Now compile the keywords.
|
||||
(unless (eq (car font-lock-keywords) t)
|
||||
(setq font-lock-keywords
|
||||
(font-lock-compile-keywords font-lock-keywords t))))))
|
||||
(font-lock-compile-keywords font-lock-keywords))))))
|
||||
|
||||
;;; Colour etc. support.
|
||||
|
||||
|
|
|
@ -771,7 +771,7 @@ the user during startup."
|
|||
(nreverse frame-initial-geometry-arguments))
|
||||
(cdr param-list))
|
||||
|
||||
(defcustom focus-follows-mouse t
|
||||
(defcustom focus-follows-mouse (not (eq window-system 'mac))
|
||||
"*Non-nil if window system changes focus when you move the mouse.
|
||||
You should set this variable to tell Emacs how your window manager
|
||||
handles focus, since there is no way in general for Emacs to find out
|
||||
|
@ -1192,17 +1192,43 @@ For character terminals, each character counts as a single pixel."
|
|||
(t
|
||||
(frame-width (if (framep display) display (selected-frame)))))))
|
||||
|
||||
(defcustom display-mm-dimensions-alist nil
|
||||
"Alist for specifying screen dimensions in millimeters.
|
||||
The dimensions will be used for `display-mm-height' and
|
||||
`display-mm-width' if defined for the respective display.
|
||||
|
||||
Each element of the alist has the form (display . (width . height)),
|
||||
e.g. (\":0.0\" . (287 . 215)).
|
||||
|
||||
If `display' equals t, it specifies dimensions for all graphical
|
||||
displays not explicitely specified."
|
||||
:version "22.1"
|
||||
:type '(alist :key-type (choice (string :tag "Display name")
|
||||
(const :tag "Default" t))
|
||||
:value-type (cons :tag "Dimensions"
|
||||
(integer :tag "Width")
|
||||
(integer :tag "Height")))
|
||||
:group 'frames)
|
||||
|
||||
(defun display-mm-height (&optional display)
|
||||
"Return the height of DISPLAY's screen in millimeters.
|
||||
System values can be overriden by `display-mm-dimensions-alist'.
|
||||
If the information is unavailable, value is nil."
|
||||
(and (memq (framep-on-display display) '(x w32 mac))
|
||||
(x-display-mm-height display)))
|
||||
(or (cddr (assoc (or display (frame-parameter nil 'display))
|
||||
display-mm-dimensions-alist))
|
||||
(cddr (assoc t display-mm-dimensions-alist))
|
||||
(x-display-mm-height display))))
|
||||
|
||||
(defun display-mm-width (&optional display)
|
||||
"Return the width of DISPLAY's screen in millimeters.
|
||||
System values can be overriden by `display-mm-dimensions-alist'.
|
||||
If the information is unavailable, value is nil."
|
||||
(and (memq (framep-on-display display) '(x w32 mac))
|
||||
(x-display-mm-width display)))
|
||||
(or (cadr (assoc (or display (frame-parameter nil 'display))
|
||||
display-mm-dimensions-alist))
|
||||
(cadr (assoc t display-mm-dimensions-alist))
|
||||
(x-display-mm-width display))))
|
||||
|
||||
(defun display-backing-store (&optional display)
|
||||
"Return the backing store capability of DISPLAY's screen.
|
||||
|
|
|
@ -1,3 +1,122 @@
|
|||
2006-10-04 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* gnus-sum.el (gnus-summary-make-menu-bar): Clarify
|
||||
gnus-summary-limit-to-articles.
|
||||
|
||||
2006-10-04 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* gnus-util.el (gnus-alist-to-hashtable, gnus-hashtable-to-alist):
|
||||
Moved here (and renamed) from gnus-registry.el.
|
||||
|
||||
* gnus-registry.el: Require gnus-util.
|
||||
Use `gnus-alist-to-hashtable' and `gnus-hashtable-to-alist'.
|
||||
|
||||
2006-10-04 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* pop3.el (pop3-authentication-scheme): Clarify doc.
|
||||
(pop3-movemail): Warn about pop3-leave-mail-on-server.
|
||||
|
||||
2006-10-04 Dave Love <fx@gnu.org>
|
||||
|
||||
* pop3.el (pop3-authentication-scheme): Add custom version.
|
||||
|
||||
2006-10-04 Jesper Harder <harder@ifa.au.dk>
|
||||
|
||||
* pop3.el (pop3-leave-mail-on-server): Don't quote nil in
|
||||
doc string. Improve doc string.
|
||||
|
||||
2006-10-03 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-util.el (gnus-with-local-quit): New macro.
|
||||
|
||||
* gnus-demon.el (gnus-demon): Replace with-local-quit with it.
|
||||
|
||||
2006-09-28 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* gmm-utils.el (gmm): Adjust custom version.
|
||||
|
||||
* mm-util.el (mm-charset-override-alist, mm-charset-eval-alist): Adjust
|
||||
custom version.
|
||||
|
||||
* gnus-draft.el (gnus-draft-mode): Don't call `mml-mode'.
|
||||
|
||||
2006-09-25 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* gnus-demon.el (gnus-demon): Use with-local-quit to avoid hangs.
|
||||
|
||||
2006-09-19 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
|
||||
|
||||
* nnslashdot.el (nnslashdot-request-article): Update end-of-article
|
||||
regexp. Articles containing quotation were cut prematurely.
|
||||
|
||||
2006-09-16 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* message.el (message-cite-original-without-signature): Use nobody by
|
||||
default for the value of From header.
|
||||
(message-cite-original): Ditto.
|
||||
(message-reply): Ditto.
|
||||
|
||||
2006-09-09 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* pop3.el (pop3-leave-mail-on-server): Mention problem of duplicate
|
||||
mails in the doc string. Add some URLs in comment.
|
||||
|
||||
2006-09-07 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* rfc2047.el (rfc2047-quote-special-characters-in-quoted-strings): Fix
|
||||
backslashes handling and the way to find boundaries of quoted strings.
|
||||
|
||||
2006-09-06 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* gnus-art.el (gnus-button-regexp, gnus-button-marker-list)
|
||||
(gnus-button-last): Move up. Convert comments into doc strings.
|
||||
|
||||
2006-09-04 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* message.el (message-send-mail-with-sendmail): Look for sendmail in
|
||||
several common directories.
|
||||
|
||||
2006-09-04 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-art.el (article-decode-encoded-words): Make it fast.
|
||||
|
||||
2006-09-04 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-art.el (article-decode-encoded-words): Don't infloop in XEmacs.
|
||||
|
||||
* rfc2047.el (rfc2047-strip-backslashes-in-quoted-strings): Decode `\\'
|
||||
in quoted string into `\'.
|
||||
|
||||
2006-09-01 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* rfc2047.el (rfc2047-quote-special-characters-in-quoted-strings):
|
||||
Use standard-syntax-table.
|
||||
|
||||
2006-09-01 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-art.el (gnus-decode-address-function): New variable.
|
||||
(article-decode-encoded-words): Use it to decode headers which are
|
||||
assumed to contain addresses.
|
||||
(gnus-mime-delete-part): Remove useless `or'.
|
||||
|
||||
* gnus-sum.el (gnus-decode-encoded-address-function): New variable.
|
||||
(gnus-summary-from-or-to-or-newsgroups): Use it to decode To header.
|
||||
(gnus-nov-parse-line): Use it to decode From header.
|
||||
(gnus-get-newsgroup-headers): Ditto.
|
||||
(gnus-summary-enter-digest-group): Use it to decode `to-address'.
|
||||
|
||||
* mail-parse.el (mail-decode-encoded-address-region): New alias.
|
||||
(mail-decode-encoded-address-string): New alias.
|
||||
|
||||
* rfc2047.el (rfc2047-quote-special-characters-in-quoted-strings):
|
||||
New function.
|
||||
(rfc2047-encode-message-header, rfc2047-encode-region): Use it.
|
||||
(rfc2047-strip-backslashes-in-quoted-strings): New fnction.
|
||||
(rfc2047-decode-region): Use it; add optional argument `address-mime'.
|
||||
(rfc2047-decode-string): Ditto.
|
||||
(rfc2047-decode-address-region): New function.
|
||||
(rfc2047-decode-address-string): New function.
|
||||
|
||||
2006-08-23 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
|
||||
|
||||
[ Backported bug fix from No Gnus. ]
|
||||
|
@ -389,10 +508,6 @@
|
|||
* gnus-sum.el (gnus-get-newsgroup-headers-xover): Group is an
|
||||
optional parameter.
|
||||
|
||||
2006-04-07 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* pgg-gpg.el: Revert to revision 7.15 to allow the use of gpg-agent.
|
||||
|
||||
2006-04-06 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* gnus-fun.el (gnus): Require it for gnus-directory.
|
||||
|
@ -1191,7 +1306,7 @@
|
|||
as a buffer-local variable. This avoids creating truncated
|
||||
dribble files as a result of a hang up, eg.
|
||||
|
||||
2005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
2005-11-04 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* pgg-pgp.el (pgg-pgp-encrypt-region, pgg-pgp-decrypt-region)
|
||||
(pgg-pgp-encrypt-symmetric-region, pgg-pgp-encrypt-symmetric)
|
||||
|
@ -2826,7 +2941,7 @@
|
|||
|
||||
* gnus.el (gnus-group-startup-message): Search for gnus images in
|
||||
etc/images/gnus.
|
||||
* mm-util.el (mm-find-charset-region): Likewise.
|
||||
* mm-util.el (mm-image-load-path): Likewise.
|
||||
* smiley.el (smiley-data-directory): Search for smilies in
|
||||
etc/images/smilies.
|
||||
|
||||
|
@ -3935,7 +4050,7 @@
|
|||
|
||||
* gnus-sum.el (gnus-summary-insert-subject): Remove list identifiers.
|
||||
|
||||
2004-09-03 Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp> (tiny change)
|
||||
2004-09-03 Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp> (tiny change)
|
||||
|
||||
* spam-stat.el (spam-stat-reduce-size): Set spam-stat-dirty.
|
||||
(spam-stat-save): Accept prefix argument.
|
||||
|
@ -4082,17 +4197,17 @@
|
|||
|
||||
* gnus-sum.el (gnus-newsgroup-variables): Doc fix.
|
||||
|
||||
2004-08-26 YAGI Tatsuya <ynyaaa@ybb.ne.jp> (tiny change)
|
||||
2004-08-26 YAGI Tatsuya <ynyaaa@ybb.ne.jp> (tiny change)
|
||||
|
||||
* gnus-art.el (gnus-article-next-page): Fix the way to find a real
|
||||
end-of-buffer.
|
||||
|
||||
2004-08-26 Stefan Wiens <s.wi@gmx.net> (tiny change)
|
||||
2004-08-26 Stefan Wiens <s.wi@gmx.net> (tiny change)
|
||||
|
||||
* gnus-sum.el (gnus-read-header): Don't remove a header for the
|
||||
parent article of a sparse article in the thread hashtb.
|
||||
|
||||
2004-08-26 David Hedbor <dhedbor@real.com> (tiny change)
|
||||
2004-08-26 David Hedbor <dhedbor@real.com> (tiny change)
|
||||
|
||||
* nnmail.el (nnmail-split-lowercase-expanded): New user option.
|
||||
(nnmail-expand-newtext): Lowercase expanded entries if
|
||||
|
@ -4288,7 +4403,7 @@
|
|||
* gnus-msg.el (gnus-summary-followup-with-original):
|
||||
Document yanking of region when active.
|
||||
|
||||
2004-04-13 Kevin Greiner <kgreiner@xpediantsolutions.com>
|
||||
2004-04-13 Kevin Greiner <kgreiner@xpediantsolutions.com>
|
||||
|
||||
* gnus-agent.el: Merged 7.3 through 7.7 updates into branch.
|
||||
Revision 7.2 changes excluded to maintain compatibility with all
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -35,7 +35,7 @@
|
|||
(defgroup gmm nil
|
||||
"Utility functions for Gnus, Message and MML"
|
||||
:prefix "gmm-"
|
||||
:version "23.0" ;; No Gnus
|
||||
:version "22.1" ;; Gnus 5.10.9
|
||||
:group 'lisp)
|
||||
|
||||
;; Helper functions from `gnus-utils.el': gmm-verbose, gmm-message, gmm-error
|
||||
|
|
|
@ -853,6 +853,9 @@ be displayed by the first non-nil matching CONTENT face."
|
|||
(defvar gnus-decode-header-function 'mail-decode-encoded-word-region
|
||||
"Function used to decode headers.")
|
||||
|
||||
(defvar gnus-decode-address-function 'mail-decode-encoded-address-region
|
||||
"Function used to decode addresses.")
|
||||
|
||||
(defvar gnus-article-dumbquotes-map
|
||||
'(("\200" "EUR")
|
||||
("\202" ",")
|
||||
|
@ -2377,10 +2380,24 @@ If PROMPT (the prefix), prompt for a coding system to use."
|
|||
(set-buffer gnus-summary-buffer)
|
||||
(error))
|
||||
gnus-newsgroup-ignored-charsets))
|
||||
(inhibit-read-only t))
|
||||
(save-restriction
|
||||
(article-narrow-to-head)
|
||||
(funcall gnus-decode-header-function (point-min) (point-max)))))
|
||||
(inhibit-read-only t)
|
||||
end start)
|
||||
(goto-char (point-min))
|
||||
(when (search-forward "\n\n" nil 'move)
|
||||
(forward-line -1))
|
||||
(setq end (point))
|
||||
(while (not (bobp))
|
||||
(while (progn
|
||||
(forward-line -1)
|
||||
(and (not (bobp))
|
||||
(memq (char-after) '(?\t ? )))))
|
||||
(setq start (point))
|
||||
(if (looking-at "\
|
||||
\\(?:Resent-\\)?\\(?:From\\|Cc\\|To\\|Bcc\\|\\(?:In-\\)?Reply-To\\|Sender\
|
||||
\\|Mail-Followup-To\\|Mail-Copies-To\\|Approved\\):")
|
||||
(funcall gnus-decode-address-function start end)
|
||||
(funcall gnus-decode-header-function start end))
|
||||
(goto-char (setq end start)))))
|
||||
|
||||
(defun article-decode-group-name ()
|
||||
"Decode group names in `Newsgroups:'."
|
||||
|
@ -3923,6 +3940,14 @@ commands:
|
|||
(mm-enable-multibyte)
|
||||
(gnus-run-mode-hooks 'gnus-article-mode-hook))
|
||||
|
||||
;; Internal variables. Are `gnus-button-regexp' and `gnus-button-last' used
|
||||
;; at all?
|
||||
(defvar gnus-button-regexp nil)
|
||||
(defvar gnus-button-marker-list nil
|
||||
"Regexp matching any of the regexps from `gnus-button-alist'.")
|
||||
(defvar gnus-button-last nil
|
||||
"The value of `gnus-button-alist' when `gnus-button-regexp' was build.")
|
||||
|
||||
(defun gnus-article-setup-buffer ()
|
||||
"Initialize the article buffer."
|
||||
(let* ((name (if gnus-single-article-buffer "*Article*"
|
||||
|
@ -4324,9 +4349,8 @@ Deleting parts may malfunction or destroy the article; continue? ")
|
|||
(handles gnus-article-mime-handles)
|
||||
(none "(none)")
|
||||
(description
|
||||
(or
|
||||
(mail-decode-encoded-word-string (or (mm-handle-description data)
|
||||
none))))
|
||||
(mail-decode-encoded-word-string (or (mm-handle-description data)
|
||||
none)))
|
||||
(filename
|
||||
(or (mail-content-type-get (mm-handle-disposition data) 'filename)
|
||||
none))
|
||||
|
@ -6695,13 +6719,6 @@ HEADER is a regexp to match a header. For a fuller explanation, see
|
|||
:inline t
|
||||
(integer :tag "Regexp group")))))
|
||||
|
||||
(defvar gnus-button-regexp nil)
|
||||
(defvar gnus-button-marker-list nil)
|
||||
;; Regexp matching any of the regexps from `gnus-button-alist'.
|
||||
|
||||
(defvar gnus-button-last nil)
|
||||
;; The value of `gnus-button-alist' when `gnus-button-regexp' was build.
|
||||
|
||||
;;; Commands:
|
||||
|
||||
(defun gnus-article-push-button (event)
|
||||
|
|
|
@ -218,7 +218,7 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's."
|
|||
(< idle gnus-demon-idle-time)) ; Idle timed out.
|
||||
(t (< 0 gnus-demon-idle-time)))) ; Or just need to be idle.
|
||||
;; So we call the handler.
|
||||
(progn
|
||||
(gnus-with-local-quit
|
||||
(ignore-errors (funcall (car handler)))
|
||||
;; And reset the timer.
|
||||
(setcar (nthcdr 1 handler)
|
||||
|
@ -232,14 +232,15 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's."
|
|||
(gnus-demon-is-idle-p))
|
||||
;; We want to call this handler each and every time that
|
||||
;; Emacs is idle.
|
||||
(ignore-errors (funcall (car handler))))
|
||||
(gnus-with-local-quit
|
||||
(ignore-errors (funcall (car handler)))))
|
||||
(t
|
||||
;; We want to call this handler only if Emacs has been idle
|
||||
;; for a specified number of timesteps.
|
||||
(and (not (memq (car handler) gnus-demon-idle-has-been-called))
|
||||
(< idle gnus-demon-idle-time)
|
||||
(gnus-demon-is-idle-p)
|
||||
(progn
|
||||
(gnus-with-local-quit
|
||||
(ignore-errors (funcall (car handler)))
|
||||
;; Make sure the handler won't be called once more in
|
||||
;; this idle-cycle.
|
||||
|
|
|
@ -76,7 +76,6 @@
|
|||
(when (gnus-visual-p 'draft-menu 'menu)
|
||||
(gnus-draft-make-menu-bar))
|
||||
(gnus-add-minor-mode 'gnus-draft-mode " Draft" gnus-draft-mode-map)
|
||||
(mml-mode)
|
||||
(gnus-run-hooks 'gnus-draft-mode-hook))))
|
||||
|
||||
;;; Commands
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
(require 'gnus)
|
||||
(require 'gnus-int)
|
||||
(require 'gnus-sum)
|
||||
(require 'gnus-util)
|
||||
(require 'nnmail)
|
||||
|
||||
(defvar gnus-registry-dirty t
|
||||
|
@ -243,7 +244,8 @@ way."
|
|||
(gnus-registry-clean-empty-function))
|
||||
;; now trim the registry appropriately
|
||||
(setq gnus-registry-alist (gnus-registry-trim
|
||||
(hashtable-to-alist gnus-registry-hashtb)))
|
||||
(gnus-hashtable-to-alist
|
||||
gnus-registry-hashtb)))
|
||||
;; really save
|
||||
(gnus-registry-cache-save)
|
||||
(setq gnus-registry-entry-caching caching)
|
||||
|
@ -262,7 +264,7 @@ way."
|
|||
|
||||
(defun gnus-registry-read ()
|
||||
(gnus-registry-cache-read)
|
||||
(setq gnus-registry-hashtb (alist-to-hashtable gnus-registry-alist))
|
||||
(setq gnus-registry-hashtb (gnus-alist-to-hashtable gnus-registry-alist))
|
||||
(setq gnus-registry-dirty nil))
|
||||
|
||||
(defun gnus-registry-trim (alist)
|
||||
|
@ -290,26 +292,6 @@ way."
|
|||
(cdr (gethash (car a) timehash))
|
||||
(cdr (gethash (car b) timehash))))))))))
|
||||
|
||||
(defun alist-to-hashtable (alist)
|
||||
"Build a hashtable from the values in ALIST."
|
||||
(let ((ht (make-hash-table
|
||||
:size 4096
|
||||
:test 'equal)))
|
||||
(mapc
|
||||
(lambda (kv-pair)
|
||||
(puthash (car kv-pair) (cdr kv-pair) ht))
|
||||
alist)
|
||||
ht))
|
||||
|
||||
(defun hashtable-to-alist (hash)
|
||||
"Build an alist from the values in HASH."
|
||||
(let ((list nil))
|
||||
(maphash
|
||||
(lambda (key value)
|
||||
(setq list (cons (cons key value) list)))
|
||||
hash)
|
||||
list))
|
||||
|
||||
(defun gnus-registry-action (action data-header from &optional to method)
|
||||
(let* ((id (mail-header-id data-header))
|
||||
(subject (gnus-registry-simplify-subject
|
||||
|
@ -660,7 +642,7 @@ Returns the first place where the trail finds a group name."
|
|||
"Clear the Gnus registry."
|
||||
(interactive)
|
||||
(setq gnus-registry-alist nil)
|
||||
(setq gnus-registry-hashtb (alist-to-hashtable gnus-registry-alist))
|
||||
(setq gnus-registry-hashtb (gnus-alist-to-hashtable gnus-registry-alist))
|
||||
(setq gnus-registry-dirty t))
|
||||
|
||||
;;;###autoload
|
||||
|
|
|
@ -992,7 +992,11 @@ which it may alter in any way."
|
|||
:group 'gnus-summary)
|
||||
|
||||
(defvar gnus-decode-encoded-word-function 'mail-decode-encoded-word-string
|
||||
"Variable that says which function should be used to decode a string with encoded words.")
|
||||
"Function used to decode a string with encoded words.")
|
||||
|
||||
(defvar gnus-decode-encoded-address-function
|
||||
'mail-decode-encoded-address-string
|
||||
"Function used to decode addresses with encoded words.")
|
||||
|
||||
(defcustom gnus-extra-headers '(To Newsgroups)
|
||||
"*Extra headers to parse."
|
||||
|
@ -1001,7 +1005,7 @@ which it may alter in any way."
|
|||
:type '(repeat symbol))
|
||||
|
||||
(defcustom gnus-ignored-from-addresses
|
||||
(and user-mail-address
|
||||
(and user-mail-address
|
||||
(not (string= user-mail-address ""))
|
||||
(regexp-quote user-mail-address))
|
||||
"*Regexp of From headers that may be suppressed in favor of To headers."
|
||||
|
@ -2434,7 +2438,7 @@ gnus-summary-show-article-from-menu-as-charset-%s" cs))))
|
|||
["Unread" gnus-summary-limit-to-unread t]
|
||||
["Unseen" gnus-summary-limit-to-unseen t]
|
||||
["Non-dormant" gnus-summary-limit-exclude-dormant t]
|
||||
["Next articles" gnus-summary-limit-to-articles t]
|
||||
["Next or process marked articles" gnus-summary-limit-to-articles t]
|
||||
["Pop limit" gnus-summary-pop-limit t]
|
||||
["Show dormant" gnus-summary-limit-include-dormant t]
|
||||
["Hide childless dormant"
|
||||
|
@ -3436,7 +3440,7 @@ buffer that was in action when the last article was fetched."
|
|||
(concat "-> "
|
||||
(inline
|
||||
(gnus-summary-extract-address-component
|
||||
(funcall gnus-decode-encoded-word-function to)))))
|
||||
(funcall gnus-decode-encoded-address-function to)))))
|
||||
((setq newsgroups (cdr (assq 'Newsgroups extra-headers)))
|
||||
(concat "=> " newsgroups)))))
|
||||
(inline (gnus-summary-extract-address-component gnus-tmp-from)))))
|
||||
|
@ -4182,7 +4186,7 @@ Returns HEADER if it was entered in the DEPENDENCIES. Returns nil otherwise."
|
|||
(error x))
|
||||
(condition-case () ; from
|
||||
(gnus-remove-odd-characters
|
||||
(funcall gnus-decode-encoded-word-function
|
||||
(funcall gnus-decode-encoded-address-function
|
||||
(setq x (nnheader-nov-field))))
|
||||
(error x))
|
||||
(nnheader-nov-field) ; date
|
||||
|
@ -5956,7 +5960,7 @@ The resulting hash table is returned, or nil if no Xrefs were found."
|
|||
(progn
|
||||
(goto-char p)
|
||||
(if (search-forward "\nfrom:" nil t)
|
||||
(funcall gnus-decode-encoded-word-function
|
||||
(funcall gnus-decode-encoded-address-function
|
||||
(nnheader-header-value))
|
||||
"(nobody)"))
|
||||
;; Date.
|
||||
|
@ -8449,10 +8453,11 @@ to guess what the document format is."
|
|||
;; the parent article.
|
||||
(when (setq to-address (or (gnus-fetch-field "reply-to")
|
||||
(gnus-fetch-field "from")))
|
||||
(setq params (append
|
||||
(list (cons 'to-address
|
||||
(funcall gnus-decode-encoded-word-function
|
||||
to-address))))))
|
||||
(setq params
|
||||
(append
|
||||
(list (cons 'to-address
|
||||
(funcall gnus-decode-encoded-address-function
|
||||
to-address))))))
|
||||
(setq dig (nnheader-set-temp-buffer " *gnus digest buffer*"))
|
||||
(insert-buffer-substring gnus-original-article-buffer)
|
||||
;; Remove lines that may lead nndoc to misinterpret the
|
||||
|
|
|
@ -746,6 +746,28 @@ If there's no subdirectory, delete DIRECTORY as well."
|
|||
(unless dir
|
||||
(delete-directory directory)))))
|
||||
|
||||
;; The following two functions are used in gnus-registry.
|
||||
;; They were contributed by Andreas Fuchs <asf@void.at>.
|
||||
(defun gnus-alist-to-hashtable (alist)
|
||||
"Build a hashtable from the values in ALIST."
|
||||
(let ((ht (make-hash-table
|
||||
:size 4096
|
||||
:test 'equal)))
|
||||
(mapc
|
||||
(lambda (kv-pair)
|
||||
(puthash (car kv-pair) (cdr kv-pair) ht))
|
||||
alist)
|
||||
ht))
|
||||
|
||||
(defun gnus-hashtable-to-alist (hash)
|
||||
"Build an alist from the values in HASH."
|
||||
(let ((list nil))
|
||||
(maphash
|
||||
(lambda (key value)
|
||||
(setq list (cons (cons key value) list)))
|
||||
hash)
|
||||
list))
|
||||
|
||||
(defun gnus-strip-whitespace (string)
|
||||
"Return STRING stripped of all whitespace."
|
||||
(while (string-match "[\r\n\t ]+" string)
|
||||
|
@ -1616,6 +1638,25 @@ empty directories from OLD-PATH."
|
|||
(defalias 'gnus-set-process-query-on-exit-flag
|
||||
'process-kill-without-query))
|
||||
|
||||
(if (fboundp 'with-local-quit)
|
||||
(defalias 'gnus-with-local-quit 'with-local-quit)
|
||||
(defmacro gnus-with-local-quit (&rest body)
|
||||
"Execute BODY, allowing quits to terminate BODY but not escape further.
|
||||
When a quit terminates BODY, `gnus-with-local-quit' returns nil but
|
||||
requests another quit. That quit will be processed as soon as quitting
|
||||
is allowed once again. (Immediately, if `inhibit-quit' is nil.)"
|
||||
;;(declare (debug t) (indent 0))
|
||||
`(condition-case nil
|
||||
(let ((inhibit-quit nil))
|
||||
,@body)
|
||||
(quit (setq quit-flag t)
|
||||
;; This call is to give a chance to handle quit-flag
|
||||
;; in case inhibit-quit is nil.
|
||||
;; Without this, it will not be handled until the next function
|
||||
;; call, and that might allow it to exit thru a condition-case
|
||||
;; that intends to handle the quit signal next time.
|
||||
(eval '(ignore nil))))))
|
||||
|
||||
(provide 'gnus-util)
|
||||
|
||||
;;; arch-tag: f94991af-d32b-4c97-8c26-ca12a934de49
|
||||
|
|
|
@ -70,6 +70,8 @@
|
|||
(defalias 'mail-encode-encoded-word-string 'rfc2047-encode-string)
|
||||
(defalias 'mail-decode-encoded-word-region 'rfc2047-decode-region)
|
||||
(defalias 'mail-decode-encoded-word-string 'rfc2047-decode-string)
|
||||
(defalias 'mail-decode-encoded-address-region 'rfc2047-decode-address-region)
|
||||
(defalias 'mail-decode-encoded-address-string 'rfc2047-decode-address-string)
|
||||
|
||||
(provide 'mail-parse)
|
||||
|
||||
|
|
|
@ -3280,7 +3280,7 @@ prefix, and don't delete any headers."
|
|||
(message-narrow-to-head-1)
|
||||
(vector 0
|
||||
(or (message-fetch-field "subject") "none")
|
||||
(message-fetch-field "from")
|
||||
(or (message-fetch-field "from") "nobody")
|
||||
(message-fetch-field "date")
|
||||
(message-fetch-field "message-id" t)
|
||||
(message-fetch-field "references")
|
||||
|
@ -3329,7 +3329,7 @@ prefix, and don't delete any headers."
|
|||
(message-narrow-to-head-1)
|
||||
(vector 0
|
||||
(or (message-fetch-field "subject") "none")
|
||||
(message-fetch-field "from")
|
||||
(or (message-fetch-field "from") "nobody")
|
||||
(message-fetch-field "date")
|
||||
(message-fetch-field "message-id" t)
|
||||
(message-fetch-field "references")
|
||||
|
@ -3897,9 +3897,15 @@ If you always want Gnus to send messages in one piece, set
|
|||
'call-process-region
|
||||
(append
|
||||
(list (point-min) (point-max)
|
||||
(if (boundp 'sendmail-program)
|
||||
sendmail-program
|
||||
"/usr/lib/sendmail")
|
||||
(cond ((boundp 'sendmail-program)
|
||||
sendmail-program)
|
||||
((file-exists-p "/usr/sbin/sendmail")
|
||||
"/usr/sbin/sendmail")
|
||||
((file-exists-p "/usr/lib/sendmail")
|
||||
"/usr/lib/sendmail")
|
||||
((file-exists-p "/usr/ucblib/sendmail")
|
||||
"/usr/ucblib/sendmail")
|
||||
(t "fakemail"))
|
||||
nil errbuf nil "-oi")
|
||||
;; Always specify who from,
|
||||
;; since some systems have broken sendmails.
|
||||
|
@ -5837,7 +5843,7 @@ want to get rid of this query permanently.")))
|
|||
(setq message-id (message-fetch-field "message-id" t)
|
||||
references (message-fetch-field "references")
|
||||
date (message-fetch-field "date")
|
||||
from (message-fetch-field "from")
|
||||
from (or (message-fetch-field "from") "nobody")
|
||||
subject (or (message-fetch-field "subject") "none"))
|
||||
(when gnus-list-identifiers
|
||||
(setq subject (message-strip-list-identifiers subject)))
|
||||
|
|
|
@ -253,7 +253,7 @@ superset of iso-8859-1."
|
|||
:tag "Other options"
|
||||
(cons (symbol :tag "From charset")
|
||||
(symbol :tag "To charset"))))
|
||||
:version "23.0" ;; No Gnus
|
||||
:version "22.1" ;; Gnus 5.10.9
|
||||
:group 'mime)
|
||||
|
||||
(defcustom mm-charset-eval-alist
|
||||
|
@ -270,7 +270,7 @@ If an article is encoded in an unknown CHARSET, FORM is
|
|||
evaluated. This allows to load additional libraries providing
|
||||
charsets on demand. If supported by your Emacs version, you
|
||||
could use `autoload-coding-system' here."
|
||||
:version "23.0" ;; No Gnus
|
||||
:version "22.1" ;; Gnus 5.10.9
|
||||
:type '(list (set :inline t
|
||||
(const (windows-1250 . (mm-codepage-setup 1250 t)))
|
||||
(const (windows-1251 . (mm-codepage-setup 1251 t)))
|
||||
|
|
|
@ -258,7 +258,9 @@
|
|||
(setq contents
|
||||
(buffer-substring
|
||||
(search-forward "<div class=\"commentBody\">")
|
||||
(search-forward "</div>")))))))
|
||||
(progn
|
||||
(search-forward "<div class=\"commentSub\">")
|
||||
(match-beginning 0))))))))
|
||||
(search-failed (nnslashdot-lose why)))
|
||||
|
||||
(when contents
|
||||
|
|
|
@ -75,22 +75,26 @@
|
|||
|
||||
(defcustom pop3-authentication-scheme 'pass
|
||||
"*POP3 authentication scheme.
|
||||
Defaults to 'pass, for the standard USER/PASS authentication. Other valid
|
||||
values are 'apop."
|
||||
:version "22.1" ;; Oort Gnus
|
||||
:type '(choice (const :tag "USER/PASS" pass)
|
||||
Defaults to `pass', for the standard USER/PASS authentication. The other
|
||||
valid value is 'apop'."
|
||||
:type '(choice (const :tag "Normal user/password" pass)
|
||||
(const :tag "APOP" apop))
|
||||
:version "22.1" ;; Oort Gnus
|
||||
:group 'pop3)
|
||||
|
||||
(defcustom pop3-leave-mail-on-server nil
|
||||
"*Non-nil if the mail is to be left on the POP server after fetching.
|
||||
|
||||
If the `pop3-leave-mail-on-server' is non-`nil' the mail is to be
|
||||
left on the POP server after fetching. Note that POP servers
|
||||
maintain no state information between sessions, so what the
|
||||
client believes is there and what is actually there may not match
|
||||
up. If they do not, then the whole thing can fall apart and
|
||||
leave you with a corrupt mailbox."
|
||||
If `pop3-leave-mail-on-server' is non-nil the mail is to be left
|
||||
on the POP server after fetching. Note that POP servers maintain
|
||||
no state information between sessions, so what the client
|
||||
believes is there and what is actually there may not match up.
|
||||
If they do not, then you may get duplicate mails or the whole
|
||||
thing can fall apart and leave you with a corrupt mailbox."
|
||||
;; We can't use the UILD support from XEmacs mail-lib or cvs.m17n.org:
|
||||
;; http://thread.gmane.org/v9lld8fml4.fsf@marauder.physik.uni-ulm.de
|
||||
;; http://thread.gmane.org/b9yy8hzy9ej.fsf@jpl.org
|
||||
;; Any volunteer to re-implement this?
|
||||
:version "22.1" ;; Oort Gnus
|
||||
:type 'boolean
|
||||
:group 'pop3)
|
||||
|
@ -166,11 +170,14 @@ Shorter values mean quicker response, but are more CPU intensive.")
|
|||
(unless pop3-leave-mail-on-server
|
||||
(pop3-dele process n))
|
||||
(setq n (+ 1 n))
|
||||
(if pop3-debug (sit-for 1) (sit-for 0.1))
|
||||
)
|
||||
(if pop3-debug (sit-for 1) (sit-for 0.1))) ; why?
|
||||
(when (and pop3-leave-mail-on-server
|
||||
(> n 1))
|
||||
(message "pop3.el doesn't support UIDL. Setting `pop3-leave-mail-on-server'
|
||||
to %s might not give the result you'd expect." pop3-leave-mail-on-server)
|
||||
(sit-for 1))
|
||||
(pop3-quit process))
|
||||
(kill-buffer crashbuf)
|
||||
)
|
||||
(kill-buffer crashbuf))
|
||||
t)
|
||||
|
||||
(defun pop3-get-message-count ()
|
||||
|
@ -312,6 +319,8 @@ If NOW, use that time instead."
|
|||
;; Date: 08 Jul 1996 23:22:24 -0400
|
||||
;; should be
|
||||
;; Tue Jul 9 09:04:21 1996
|
||||
|
||||
;; Fixme: This should use timezone on the date field contents.
|
||||
(setq date
|
||||
(cond ((not date)
|
||||
"Tue Jan 1 00:00:0 1900")
|
||||
|
|
|
@ -171,6 +171,42 @@ This is either `base64' or `quoted-printable'."
|
|||
(re-search-forward ":[ \t\n]*" nil t)
|
||||
(buffer-substring-no-properties (point) (point-max)))))
|
||||
|
||||
(defun rfc2047-quote-special-characters-in-quoted-strings (&optional
|
||||
encodable-regexp)
|
||||
"Quote special characters with `\\'s in quoted strings.
|
||||
Quoting will not be done in a quoted string if it contains characters
|
||||
matching ENCODABLE-REGEXP."
|
||||
(goto-char (point-min))
|
||||
(let ((tspecials (concat "[" ietf-drums-tspecials "]"))
|
||||
beg end)
|
||||
(with-syntax-table (standard-syntax-table)
|
||||
(while (search-forward "\"" nil t)
|
||||
(setq beg (match-beginning 0))
|
||||
(unless (eq (char-before beg) ?\\)
|
||||
(goto-char beg)
|
||||
(setq beg (1+ beg))
|
||||
(condition-case nil
|
||||
(progn
|
||||
(forward-sexp)
|
||||
(setq end (1- (point)))
|
||||
(goto-char beg)
|
||||
(if (and encodable-regexp
|
||||
(re-search-forward encodable-regexp end t))
|
||||
(goto-char (1+ end))
|
||||
(save-restriction
|
||||
(narrow-to-region beg end)
|
||||
(while (re-search-forward tspecials nil 'move)
|
||||
(if (eq (char-before) ?\\)
|
||||
(if (looking-at tspecials) ;; Already quoted.
|
||||
(forward-char)
|
||||
(insert "\\"))
|
||||
(goto-char (match-beginning 0))
|
||||
(insert "\\")
|
||||
(forward-char))))
|
||||
(forward-char)))
|
||||
(error
|
||||
(goto-char beg))))))))
|
||||
|
||||
(defvar rfc2047-encoding-type 'address-mime
|
||||
"The type of encoding done by `rfc2047-encode-region'.
|
||||
This should be dynamically bound around calls to
|
||||
|
@ -187,8 +223,18 @@ Should be called narrowed to the head of the message."
|
|||
(while (not (eobp))
|
||||
(save-restriction
|
||||
(rfc2047-narrow-to-field)
|
||||
(setq method nil
|
||||
alist rfc2047-header-encoding-alist)
|
||||
(while (setq elem (pop alist))
|
||||
(when (or (and (stringp (car elem))
|
||||
(looking-at (car elem)))
|
||||
(eq (car elem) t))
|
||||
(setq alist nil
|
||||
method (cdr elem))))
|
||||
(if (not (rfc2047-encodable-p))
|
||||
(prog1
|
||||
(prog2
|
||||
(when (eq method 'address-mime)
|
||||
(rfc2047-quote-special-characters-in-quoted-strings))
|
||||
(if (and (eq (mm-body-7-or-8) '8bit)
|
||||
(mm-multibyte-p)
|
||||
(mm-coding-system-p
|
||||
|
@ -209,14 +255,6 @@ Should be called narrowed to the head of the message."
|
|||
(point))
|
||||
(point-max))))
|
||||
;; We found something that may perhaps be encoded.
|
||||
(setq method nil
|
||||
alist rfc2047-header-encoding-alist)
|
||||
(while (setq elem (pop alist))
|
||||
(when (or (and (stringp (car elem))
|
||||
(looking-at (car elem)))
|
||||
(eq (car elem) t))
|
||||
(setq alist nil
|
||||
method (cdr elem))))
|
||||
(re-search-forward "^[^:]+: *" nil t)
|
||||
(cond
|
||||
((eq method 'address-mime)
|
||||
|
@ -347,6 +385,7 @@ Dynamically bind `rfc2047-encoding-type' to change that."
|
|||
(rfc2047-encode start (point))
|
||||
(goto-char end))))
|
||||
;; `address-mime' case -- take care of quoted words, comments.
|
||||
(rfc2047-quote-special-characters-in-quoted-strings encodable-regexp)
|
||||
(with-syntax-table rfc2047-syntax-table
|
||||
(goto-char (point-min))
|
||||
(condition-case err ; in case of unbalanced quotes
|
||||
|
@ -821,6 +860,29 @@ encoded-word, concatenate them, and decode it by charset. Otherwise,
|
|||
the decoder will fully decode each encoded-word before concatenating
|
||||
them.")
|
||||
|
||||
(defun rfc2047-strip-backslashes-in-quoted-strings ()
|
||||
"Strip backslashes in quoted strings. `\\\"' remains."
|
||||
(goto-char (point-min))
|
||||
(let (beg)
|
||||
(with-syntax-table (standard-syntax-table)
|
||||
(while (search-forward "\"" nil t)
|
||||
(unless (eq (char-before) ?\\)
|
||||
(setq beg (match-end 0))
|
||||
(goto-char (match-beginning 0))
|
||||
(condition-case nil
|
||||
(progn
|
||||
(forward-sexp)
|
||||
(save-restriction
|
||||
(narrow-to-region beg (1- (point)))
|
||||
(goto-char beg)
|
||||
(while (search-forward "\\" nil 'move)
|
||||
(unless (memq (char-after) '(?\"))
|
||||
(delete-backward-char 1))
|
||||
(forward-char)))
|
||||
(forward-char))
|
||||
(error
|
||||
(goto-char beg))))))))
|
||||
|
||||
(defun rfc2047-charset-to-coding-system (charset)
|
||||
"Return coding-system corresponding to MIME CHARSET.
|
||||
If your Emacs implementation can't decode CHARSET, return nil."
|
||||
|
@ -898,8 +960,10 @@ ENCODED-WORD)."
|
|||
;; and worthwhile (is it more correct or not?), e.g. something like
|
||||
;; `=?iso-8859-1?q?foo?=@'.
|
||||
|
||||
(defun rfc2047-decode-region (start end)
|
||||
"Decode MIME-encoded words in region between START and END."
|
||||
(defun rfc2047-decode-region (start end &optional address-mime)
|
||||
"Decode MIME-encoded words in region between START and END.
|
||||
If ADDRESS-MIME is non-nil, strip backslashes which precede characters
|
||||
other than `\"' and `\\' in quoted strings."
|
||||
(interactive "r")
|
||||
(let ((case-fold-search t)
|
||||
(eword-regexp (eval-when-compile
|
||||
|
@ -910,6 +974,8 @@ ENCODED-WORD)."
|
|||
(save-excursion
|
||||
(save-restriction
|
||||
(narrow-to-region start end)
|
||||
(when address-mime
|
||||
(rfc2047-strip-backslashes-in-quoted-strings))
|
||||
(goto-char (setq b start))
|
||||
;; Look for the encoded-words.
|
||||
(while (setq match (re-search-forward eword-regexp nil t))
|
||||
|
@ -995,8 +1061,16 @@ ENCODED-WORD)."
|
|||
(not (eq mail-parse-charset 'gnus-decoded)))
|
||||
(mm-decode-coding-region b (point-max) mail-parse-charset))))))
|
||||
|
||||
(defun rfc2047-decode-string (string)
|
||||
"Decode the quoted-printable-encoded STRING and return the results."
|
||||
(defun rfc2047-decode-address-region (start end)
|
||||
"Decode MIME-encoded words in region between START and END.
|
||||
Backslashes which precede characters other than `\"' and `\\' in quoted
|
||||
strings are stripped."
|
||||
(rfc2047-decode-region start end t))
|
||||
|
||||
(defun rfc2047-decode-string (string &optional address-mime)
|
||||
"Decode MIME-encoded STRING and return the result.
|
||||
If ADDRESS-MIME is non-nil, strip backslashes which precede characters
|
||||
other than `\"' and `\\' in quoted strings."
|
||||
(let ((m (mm-multibyte-p)))
|
||||
(if (string-match "=\\?" string)
|
||||
(with-temp-buffer
|
||||
|
@ -1010,8 +1084,16 @@ ENCODED-WORD)."
|
|||
(mm-enable-multibyte))
|
||||
(insert string)
|
||||
(inline
|
||||
(rfc2047-decode-region (point-min) (point-max)))
|
||||
(rfc2047-decode-region (point-min) (point-max) address-mime))
|
||||
(buffer-string))
|
||||
(when address-mime
|
||||
(setq string
|
||||
(with-temp-buffer
|
||||
(when (mm-multibyte-string-p string)
|
||||
(mm-enable-multibyte))
|
||||
(insert string)
|
||||
(rfc2047-strip-backslashes-in-quoted-strings)
|
||||
(buffer-string))))
|
||||
;; Fixme: As above, `m' here is inappropriate.
|
||||
(if (and m
|
||||
mail-parse-charset
|
||||
|
@ -1033,6 +1115,12 @@ ENCODED-WORD)."
|
|||
(mm-decode-coding-string string mail-parse-charset))
|
||||
(mm-string-as-multibyte string)))))
|
||||
|
||||
(defun rfc2047-decode-address-string (string)
|
||||
"Decode MIME-encoded STRING and return the result.
|
||||
Backslashes which precede characters other than `\"' and `\\' in quoted
|
||||
strings are stripped."
|
||||
(rfc2047-decode-string string t))
|
||||
|
||||
(defun rfc2047-pad-base64 (string)
|
||||
"Pad STRING to quartets."
|
||||
;; Be more liberal to accept buggy base64 strings. If
|
||||
|
|
|
@ -246,7 +246,7 @@ properties, to enable buffer local values."
|
|||
(defun scan-buf-move-to-region (prop &optional arg hook)
|
||||
"Go to the start of the next region with non-nil PROP property.
|
||||
Then run HOOK, which should be a quoted symbol that is a normal
|
||||
hook.variable, or an expression evaluating to such a symbol.
|
||||
hook variable, or an expression evaluating to such a symbol.
|
||||
Adjacent areas with different non-nil PROP properties are
|
||||
considered different regions.
|
||||
|
||||
|
|
308
lisp/help.el
308
lisp/help.el
|
@ -309,7 +309,7 @@ If that doesn't give a function, return nil."
|
|||
The prefix described consists of all but the last event
|
||||
of the key sequence that ran this command."
|
||||
(interactive)
|
||||
(let* ((key (this-command-keys)))
|
||||
(let ((key (this-command-keys)))
|
||||
(describe-bindings
|
||||
(if (stringp key)
|
||||
(substring key 0 (1- (length key)))
|
||||
|
@ -535,28 +535,6 @@ If INSERT (the prefix arg) is non-nil, insert the message in the buffer."
|
|||
(princ string)))))
|
||||
nil)
|
||||
|
||||
(defun string-key-binding (key)
|
||||
"Value is the binding of KEY in a string.
|
||||
If KEY is an event on a string, and that string has a `local-map'
|
||||
or `keymap' property, return the binding of KEY in the string's keymap."
|
||||
(let* ((defn nil)
|
||||
(start (when (vectorp key)
|
||||
(if (memq (aref key 0)
|
||||
'(mode-line header-line left-margin right-margin))
|
||||
(event-start (aref key 1))
|
||||
(and (consp (aref key 0))
|
||||
(event-start (aref key 0))))))
|
||||
(string-info (and (consp start) (nth 4 start))))
|
||||
(when string-info
|
||||
(let* ((string (car string-info))
|
||||
(pos (cdr string-info))
|
||||
(local-map (and (>= pos 0)
|
||||
(< pos (length string))
|
||||
(or (get-text-property pos 'local-map string)
|
||||
(get-text-property pos 'keymap string)))))
|
||||
(setq defn (and local-map (lookup-key local-map key)))))
|
||||
defn))
|
||||
|
||||
(defun help-key-description (key untranslated)
|
||||
(let ((string (key-description key)))
|
||||
(if (or (not untranslated)
|
||||
|
@ -589,11 +567,14 @@ temporarily enables it to allow getting help on disabled items and buttons."
|
|||
(menu-bar-update-yank-menu "(any string)" nil))
|
||||
(setq key (read-key-sequence "Describe key (or click or menu item): "))
|
||||
;; If KEY is a down-event, read and discard the
|
||||
;; corresponding up-event.
|
||||
(if (and (vectorp key)
|
||||
(eventp (elt key 0))
|
||||
(memq 'down (event-modifiers (elt key 0))))
|
||||
(read-event))
|
||||
;; corresponding up-event. Note that there are also
|
||||
;; down-events on scroll bars and mode lines: the actual
|
||||
;; event then is in the second element of the vector.
|
||||
(and (vectorp key)
|
||||
(let ((last-idx (1- (length key))))
|
||||
(and (eventp (aref key last-idx))
|
||||
(memq 'down (event-modifiers (aref key last-idx)))))
|
||||
(read-event))
|
||||
(list
|
||||
key
|
||||
(if current-prefix-arg (prefix-numeric-value current-prefix-arg))
|
||||
|
@ -604,46 +585,33 @@ temporarily enables it to allow getting help on disabled items and buttons."
|
|||
(fset 'yank-menu (cons 'keymap yank-menu))))))
|
||||
(if (numberp untranslated)
|
||||
(setq untranslated (this-single-command-raw-keys)))
|
||||
(save-excursion
|
||||
(let ((modifiers (event-modifiers (aref key 0)))
|
||||
(standard-output (if insert (current-buffer) t))
|
||||
window position)
|
||||
;; For a mouse button event, go to the button it applies to
|
||||
;; to get the right key bindings. And go to the right place
|
||||
;; in case the keymap depends on where you clicked.
|
||||
(if (or (memq 'click modifiers) (memq 'down modifiers)
|
||||
(memq 'drag modifiers))
|
||||
(setq window (posn-window (event-start (aref key 0)))
|
||||
position (posn-point (event-start (aref key 0)))))
|
||||
(if (windowp window)
|
||||
(progn
|
||||
(set-buffer (window-buffer window))
|
||||
(goto-char position)))
|
||||
;; Ok, now look up the key and name the command.
|
||||
(let ((defn (or (string-key-binding key)
|
||||
(key-binding key t)))
|
||||
key-desc)
|
||||
;; Handle the case where we faked an entry in "Select and Paste" menu.
|
||||
(if (and (eq defn nil)
|
||||
(stringp (aref key (1- (length key))))
|
||||
(eq (key-binding (substring key 0 -1)) 'yank-menu))
|
||||
(setq defn 'menu-bar-select-yank))
|
||||
;; Don't bother user with strings from (e.g.) the select-paste menu.
|
||||
(if (stringp (aref key (1- (length key))))
|
||||
(aset key (1- (length key)) "(any string)"))
|
||||
(if (and (> (length untranslated) 0)
|
||||
(stringp (aref untranslated (1- (length untranslated)))))
|
||||
(aset untranslated (1- (length untranslated))
|
||||
"(any string)"))
|
||||
;; Now describe the key, perhaps as changed.
|
||||
(setq key-desc (help-key-description key untranslated))
|
||||
(if (or (null defn) (integerp defn) (equal defn 'undefined))
|
||||
(princ (format "%s is undefined" key-desc))
|
||||
(princ (format (if (windowp window)
|
||||
"%s at that spot runs the command %s"
|
||||
"%s runs the command %s")
|
||||
key-desc
|
||||
(if (symbolp defn) defn (prin1-to-string defn)))))))))
|
||||
(let* ((event (if (and (symbolp (aref key 0))
|
||||
(> (length key) 1)
|
||||
(consp (aref key 1)))
|
||||
(aref key 1)
|
||||
(aref key 0)))
|
||||
(modifiers (event-modifiers event))
|
||||
(standard-output (if insert (current-buffer) t))
|
||||
(mouse-msg (if (or (memq 'click modifiers) (memq 'down modifiers)
|
||||
(memq 'drag modifiers)) " at that spot" ""))
|
||||
(defn (key-binding key t))
|
||||
key-desc)
|
||||
;; Handle the case where we faked an entry in "Select and Paste" menu.
|
||||
(if (and (eq defn nil)
|
||||
(stringp (aref key (1- (length key))))
|
||||
(eq (key-binding (substring key 0 -1)) 'yank-menu))
|
||||
(setq defn 'menu-bar-select-yank))
|
||||
;; Don't bother user with strings from (e.g.) the select-paste menu.
|
||||
(if (stringp (aref key (1- (length key))))
|
||||
(aset key (1- (length key)) "(any string)"))
|
||||
(if (and (> (length untranslated) 0)
|
||||
(stringp (aref untranslated (1- (length untranslated)))))
|
||||
(aset untranslated (1- (length untranslated)) "(any string)"))
|
||||
;; Now describe the key, perhaps as changed.
|
||||
(setq key-desc (help-key-description key untranslated))
|
||||
(if (or (null defn) (integerp defn) (equal defn 'undefined))
|
||||
(princ (format "%s%s is undefined" key-desc mouse-msg))
|
||||
(princ (format "%s%s runs the command %S" key-desc mouse-msg defn)))))
|
||||
|
||||
(defun describe-key (&optional key untranslated up-event)
|
||||
"Display documentation of the function invoked by KEY.
|
||||
|
@ -673,109 +641,119 @@ temporarily enables it to allow getting help on disabled items and buttons."
|
|||
(list
|
||||
key
|
||||
(prefix-numeric-value current-prefix-arg)
|
||||
;; If KEY is a down-event, read the corresponding up-event
|
||||
;; and use it as the third argument.
|
||||
(if (and (vectorp key)
|
||||
(eventp (elt key 0))
|
||||
(memq 'down (event-modifiers (elt key 0))))
|
||||
(read-event))))
|
||||
;; If KEY is a down-event, read and discard the
|
||||
;; corresponding up-event. Note that there are also
|
||||
;; down-events on scroll bars and mode lines: the actual
|
||||
;; event then is in the second element of the vector.
|
||||
(and (vectorp key)
|
||||
(let ((last-idx (1- (length key))))
|
||||
(and (eventp (aref key last-idx))
|
||||
(memq 'down (event-modifiers (aref key last-idx)))))
|
||||
(or (and (eventp (aref key 0))
|
||||
(memq 'down (event-modifiers (aref key 0)))
|
||||
;; However, for the C-down-mouse-2 popup
|
||||
;; menu, there is no subsequent up-event. In
|
||||
;; this case, the up-event is the next
|
||||
;; element in the supplied vector.
|
||||
(= (length key) 1))
|
||||
(and (> (length key) 1)
|
||||
(eventp (aref key 1))
|
||||
(memq 'down (event-modifiers (aref key 1)))))
|
||||
(read-event))))
|
||||
;; Put yank-menu back as it was, if we changed it.
|
||||
(when saved-yank-menu
|
||||
(setq yank-menu (copy-sequence saved-yank-menu))
|
||||
(fset 'yank-menu (cons 'keymap yank-menu))))))
|
||||
(if (numberp untranslated)
|
||||
(setq untranslated (this-single-command-raw-keys)))
|
||||
(save-excursion
|
||||
(let ((modifiers (event-modifiers (aref key 0)))
|
||||
window position)
|
||||
;; For a mouse button event, go to the button it applies to
|
||||
;; to get the right key bindings. And go to the right place
|
||||
;; in case the keymap depends on where you clicked.
|
||||
(if (or (memq 'click modifiers) (memq 'down modifiers)
|
||||
(memq 'drag modifiers))
|
||||
(setq window (posn-window (event-start (aref key 0)))
|
||||
position (posn-point (event-start (aref key 0)))))
|
||||
(when (windowp window)
|
||||
(set-buffer (window-buffer window))
|
||||
(goto-char position))
|
||||
(let ((defn (or (string-key-binding key) (key-binding key t))))
|
||||
;; Handle the case where we faked an entry in "Select and Paste" menu.
|
||||
(if (and (eq defn nil)
|
||||
(stringp (aref key (1- (length key))))
|
||||
(eq (key-binding (substring key 0 -1)) 'yank-menu))
|
||||
(setq defn 'menu-bar-select-yank))
|
||||
(if (or (null defn) (integerp defn) (equal defn 'undefined))
|
||||
(message "%s is undefined" (help-key-description key untranslated))
|
||||
(help-setup-xref (list #'describe-function defn) (interactive-p))
|
||||
;; Don't bother user with strings from (e.g.) the select-paste menu.
|
||||
(if (stringp (aref key (1- (length key))))
|
||||
(aset key (1- (length key)) "(any string)"))
|
||||
(if (and untranslated
|
||||
(stringp (aref untranslated (1- (length untranslated)))))
|
||||
(aset untranslated (1- (length untranslated))
|
||||
"(any string)"))
|
||||
(with-output-to-temp-buffer (help-buffer)
|
||||
(princ (help-key-description key untranslated))
|
||||
(if (windowp window)
|
||||
(princ " at that spot"))
|
||||
(princ " runs the command ")
|
||||
(prin1 defn)
|
||||
(princ "\n which is ")
|
||||
(describe-function-1 defn)
|
||||
(when up-event
|
||||
(let ((type (event-basic-type up-event))
|
||||
(hdr "\n\n-------------- up event ---------------\n\n")
|
||||
defn sequence
|
||||
mouse-1-tricky mouse-1-remapped)
|
||||
(setq sequence (vector up-event))
|
||||
(when (and (eq type 'mouse-1)
|
||||
(windowp window)
|
||||
(let* ((event (aref key (if (and (symbolp (aref key 0))
|
||||
(> (length key) 1)
|
||||
(consp (aref key 1)))
|
||||
1
|
||||
0)))
|
||||
(modifiers (event-modifiers event))
|
||||
(mouse-msg (if (or (memq 'click modifiers) (memq 'down modifiers)
|
||||
(memq 'drag modifiers)) " at that spot" ""))
|
||||
(defn (key-binding key t))
|
||||
defn-up defn-up-tricky ev-type
|
||||
mouse-1-remapped mouse-1-tricky)
|
||||
|
||||
;; Handle the case where we faked an entry in "Select and Paste" menu.
|
||||
(when (and (eq defn nil)
|
||||
(stringp (aref key (1- (length key))))
|
||||
(eq (key-binding (substring key 0 -1)) 'yank-menu))
|
||||
(setq defn 'menu-bar-select-yank))
|
||||
(if (or (null defn) (integerp defn) (equal defn 'undefined))
|
||||
(message "%s%s is undefined"
|
||||
(help-key-description key untranslated) mouse-msg)
|
||||
(help-setup-xref (list #'describe-function defn) (interactive-p))
|
||||
;; Don't bother user with strings from (e.g.) the select-paste menu.
|
||||
(when (stringp (aref key (1- (length key))))
|
||||
(aset key (1- (length key)) "(any string)"))
|
||||
(when (and untranslated
|
||||
(stringp (aref untranslated (1- (length untranslated)))))
|
||||
(aset untranslated (1- (length untranslated))
|
||||
"(any string)"))
|
||||
;; Need to do this before erasing *Help* buffer in case event
|
||||
;; is a mouse click in an existing *Help* buffer.
|
||||
(when up-event
|
||||
(setq ev-type (event-basic-type up-event))
|
||||
(let ((sequence (vector up-event)))
|
||||
(when (and (eq ev-type 'mouse-1)
|
||||
mouse-1-click-follows-link
|
||||
(not (eq mouse-1-click-follows-link 'double))
|
||||
(setq mouse-1-remapped
|
||||
(mouse-on-link-p (event-start up-event))))
|
||||
(setq mouse-1-tricky (and (integerp mouse-1-click-follows-link)
|
||||
(> mouse-1-click-follows-link 0)))
|
||||
(cond ((stringp mouse-1-remapped)
|
||||
(setq sequence mouse-1-remapped))
|
||||
((vectorp mouse-1-remapped)
|
||||
(setcar up-event (elt mouse-1-remapped 0)))
|
||||
(t (setcar up-event 'mouse-2))))
|
||||
(setq defn-up (key-binding sequence nil nil (event-start up-event)))
|
||||
(when mouse-1-tricky
|
||||
(setq sequence (vector up-event))
|
||||
(aset sequence 0 'mouse-1)
|
||||
(setq defn-up-tricky (key-binding sequence nil nil (event-start up-event))))))
|
||||
(with-output-to-temp-buffer (help-buffer)
|
||||
(princ (help-key-description key untranslated))
|
||||
(princ (format "\
|
||||
%s runs the command %S
|
||||
which is "
|
||||
mouse-msg defn))
|
||||
(describe-function-1 defn)
|
||||
(when up-event
|
||||
(unless (or (null defn-up)
|
||||
(integerp defn-up)
|
||||
(equal defn-up 'undefined))
|
||||
(princ (format "
|
||||
|
||||
----------------- up-event %s----------------
|
||||
|
||||
<%S>%s%s runs the command %S
|
||||
which is "
|
||||
(if mouse-1-tricky "(short click) " "")
|
||||
ev-type mouse-msg
|
||||
(if mouse-1-remapped
|
||||
" is remapped to <mouse-2>\nwhich" "")
|
||||
defn-up))
|
||||
(describe-function-1 defn-up))
|
||||
(unless (or (null defn-up-tricky)
|
||||
(integerp defn-up-tricky)
|
||||
(eq defn-up-tricky 'undefined))
|
||||
(princ (format "
|
||||
|
||||
----------------- up-event (long click) ----------------
|
||||
|
||||
Pressing <%S>%s for longer than %d milli-seconds
|
||||
runs the command %S
|
||||
which is "
|
||||
ev-type mouse-msg
|
||||
mouse-1-click-follows-link
|
||||
(not (eq mouse-1-click-follows-link 'double))
|
||||
(setq mouse-1-remapped
|
||||
(with-current-buffer (window-buffer window)
|
||||
(mouse-on-link-p (posn-point
|
||||
(event-start up-event))))))
|
||||
(setq mouse-1-tricky (and (integerp mouse-1-click-follows-link)
|
||||
(> mouse-1-click-follows-link 0)))
|
||||
(cond ((stringp mouse-1-remapped)
|
||||
(setq sequence mouse-1-remapped))
|
||||
((vectorp mouse-1-remapped)
|
||||
(setcar up-event (elt mouse-1-remapped 0)))
|
||||
(t (setcar up-event 'mouse-2))))
|
||||
(setq defn (or (string-key-binding sequence)
|
||||
(key-binding sequence)))
|
||||
(unless (or (null defn) (integerp defn) (equal defn 'undefined))
|
||||
(princ (if mouse-1-tricky
|
||||
"\n\n----------------- up-event (short click) ----------------\n\n"
|
||||
hdr))
|
||||
(setq hdr nil)
|
||||
(princ (symbol-name type))
|
||||
(if (windowp window)
|
||||
(princ " at that spot"))
|
||||
(if mouse-1-remapped
|
||||
(princ " is remapped to <mouse-2>\n which" ))
|
||||
(princ " runs the command ")
|
||||
(prin1 defn)
|
||||
(princ "\n which is ")
|
||||
(describe-function-1 defn))
|
||||
(when mouse-1-tricky
|
||||
(setcar up-event 'mouse-1)
|
||||
(setq defn (or (string-key-binding (vector up-event))
|
||||
(key-binding (vector up-event))))
|
||||
(unless (or (null defn) (integerp defn) (eq defn 'undefined))
|
||||
(princ (or hdr
|
||||
"\n\n----------------- up-event (long click) ----------------\n\n"))
|
||||
(princ "Pressing mouse-1")
|
||||
(if (windowp window)
|
||||
(princ " at that spot"))
|
||||
(princ (format " for longer than %d milli-seconds\n"
|
||||
mouse-1-click-follows-link))
|
||||
(princ " runs the command ")
|
||||
(prin1 defn)
|
||||
(princ "\n which is ")
|
||||
(describe-function-1 defn)))))
|
||||
(print-help-return-message)))))))
|
||||
defn-up-tricky))
|
||||
(describe-function-1 defn-up-tricky)))
|
||||
(print-help-return-message)))))
|
||||
|
||||
(defun describe-mode (&optional buffer)
|
||||
"Display documentation of current major mode and minor modes.
|
||||
|
@ -786,7 +764,7 @@ descriptions of the minor modes, each on a separate page.
|
|||
For this to work correctly for a minor mode, the mode's indicator
|
||||
variable \(listed in `minor-mode-alist') must also be a function
|
||||
whose documentation describes the minor mode."
|
||||
(interactive)
|
||||
(interactive "@")
|
||||
(unless buffer (setq buffer (current-buffer)))
|
||||
(help-setup-xref (list #'describe-mode buffer)
|
||||
(interactive-p))
|
||||
|
|
|
@ -64,16 +64,37 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(defvar hl-line-overlay nil
|
||||
"Overlay used by Hl-Line mode to highlight the current line.")
|
||||
(make-variable-buffer-local 'hl-line-overlay)
|
||||
|
||||
(defvar global-hl-line-overlay nil
|
||||
"Overlay used by Global-Hl-Line mode to highlight the current line.")
|
||||
|
||||
(defgroup hl-line nil
|
||||
"Highlight the current line."
|
||||
:version "21.1"
|
||||
:group 'editing)
|
||||
|
||||
(defcustom hl-line-face 'highlight
|
||||
"Face with which to highlight the current line."
|
||||
:type 'face
|
||||
(defface hl-line
|
||||
'((t :inherit highlight))
|
||||
"Default face for highlighting the current line in Hl-Line mode."
|
||||
:version "22.1"
|
||||
:group 'hl-line)
|
||||
|
||||
(defcustom hl-line-face 'hl-line
|
||||
"Face with which to highlight the current line in Hl-Line mode."
|
||||
:type 'face
|
||||
:group 'hl-line
|
||||
:set (lambda (symbol value)
|
||||
(set symbol value)
|
||||
(dolist (buffer (buffer-list))
|
||||
(with-current-buffer buffer
|
||||
(when hl-line-overlay
|
||||
(overlay-put hl-line-overlay 'face hl-line-face))))
|
||||
(when global-hl-line-overlay
|
||||
(overlay-put global-hl-line-overlay 'face hl-line-face))))
|
||||
|
||||
(defcustom hl-line-sticky-flag t
|
||||
"*Non-nil means highlight the current line in all windows.
|
||||
Otherwise Hl-Line mode will highlight only in the selected
|
||||
|
@ -92,13 +113,6 @@ It should return nil if there's no region to be highlighted.
|
|||
|
||||
This variable is expected to be made buffer-local by modes.")
|
||||
|
||||
(defvar hl-line-overlay nil
|
||||
"Overlay used by Hl-Line mode to highlight the current line.")
|
||||
(make-variable-buffer-local 'hl-line-overlay)
|
||||
|
||||
(defvar global-hl-line-overlay nil
|
||||
"Overlay used by Global-Hl-Line mode to highlight the current line.")
|
||||
|
||||
;;;###autoload
|
||||
(define-minor-mode hl-line-mode
|
||||
"Buffer-local minor mode to highlight the line about point.
|
||||
|
|
|
@ -370,7 +370,11 @@ With numeric ARG, enable auto-update if and only if ARG is positive."
|
|||
"Evaluate FORM in each of the buffers.
|
||||
Does not display the buffer during evaluation. See
|
||||
`ibuffer-do-view-and-eval' for that."
|
||||
(:interactive "xEval in buffers (form): "
|
||||
(:interactive
|
||||
(list
|
||||
(read-from-minibuffer
|
||||
"Eval in buffers (form): "
|
||||
nil read-expression-map t 'read-expression-history))
|
||||
:opstring "evaluated in"
|
||||
:modifier-p :maybe)
|
||||
(eval form))
|
||||
|
@ -379,7 +383,11 @@ Does not display the buffer during evaluation. See
|
|||
(define-ibuffer-op view-and-eval (form)
|
||||
"Evaluate FORM while displaying each of the marked buffers.
|
||||
To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
|
||||
(:interactive "xEval viewing buffers (form): "
|
||||
(:interactive
|
||||
(list
|
||||
(read-from-minibuffer
|
||||
"Eval viewing in buffers (form): "
|
||||
nil read-expression-map t 'read-expression-history))
|
||||
:opstring "evaluated in"
|
||||
:complex t
|
||||
:modifier-p :maybe)
|
||||
|
|
|
@ -1972,12 +1972,12 @@ the value of point at the beginning of the line for that buffer."
|
|||
(not (eq ibuffer-buf buf))))))
|
||||
|
||||
;; This function is a special case; it's not defined by
|
||||
;; `ibuffer-define-sorter'.
|
||||
;; `define-ibuffer-sorter'.
|
||||
(defun ibuffer-do-sort-by-recency ()
|
||||
"Sort the buffers by last view time."
|
||||
(interactive)
|
||||
(setq ibuffer-sorting-mode 'recency)
|
||||
(ibuffer-redisplay t))
|
||||
(ibuffer-update nil t))
|
||||
|
||||
(defun ibuffer-update-format ()
|
||||
(when (null ibuffer-current-format)
|
||||
|
|
|
@ -157,6 +157,12 @@ is minibuffer."
|
|||
(< (length x) (length y))))
|
||||
", ")
|
||||
">"))))))
|
||||
;;;_ = icomplete-with-completion-tables
|
||||
(defvar icomplete-with-completion-tables '(internal-complete-buffer)
|
||||
"Specialized completion tables with which icomplete should operate.
|
||||
|
||||
Icomplete does not operate with any specialized completion tables
|
||||
except those on this list.")
|
||||
|
||||
;;;_ > icomplete-mode (&optional prefix)
|
||||
;;;###autoload
|
||||
|
@ -184,8 +190,9 @@ Conditions are:
|
|||
(and (window-minibuffer-p (selected-window))
|
||||
(not executing-kbd-macro)
|
||||
minibuffer-completion-table
|
||||
;; (or minibuffer-completing-file-name
|
||||
(not (functionp minibuffer-completion-table)))) ;; )
|
||||
(or (not (functionp minibuffer-completion-table))
|
||||
(member minibuffer-completion-table
|
||||
icomplete-with-completion-tables))))
|
||||
|
||||
;;;_ > icomplete-minibuffer-setup ()
|
||||
(defun icomplete-minibuffer-setup ()
|
||||
|
|
54
lisp/ido.el
54
lisp/ido.el
|
@ -2112,7 +2112,7 @@ If INITIAL is non-nil, it specifies the initial input string."
|
|||
(defun ido-edit-input ()
|
||||
"Edit absolute file name entered so far with ido; terminate by RET."
|
||||
(interactive)
|
||||
(setq ido-text-init (if ido-matches (car ido-matches) ido-text))
|
||||
(setq ido-text-init (if ido-matches (ido-name (car ido-matches)) ido-text))
|
||||
(setq ido-exit 'edit)
|
||||
(exit-minibuffer))
|
||||
|
||||
|
@ -2224,7 +2224,6 @@ If INITIAL is non-nil, it specifies the initial input string."
|
|||
(let ((ido-current-directory (ido-expand-directory default))
|
||||
(ido-context-switch-command switch-cmd)
|
||||
ido-directory-nonreadable ido-directory-too-big
|
||||
(minibuffer-completing-file-name t)
|
||||
filename)
|
||||
|
||||
(if (or (not ido-mode) (ido-is-slow-ftp-host))
|
||||
|
@ -2268,9 +2267,10 @@ If INITIAL is non-nil, it specifies the initial input string."
|
|||
|
||||
(unless filename
|
||||
(setq ido-saved-vc-hb vc-handled-backends)
|
||||
(setq filename (ido-read-internal item
|
||||
(or prompt "Find file: ")
|
||||
'ido-file-history nil nil initial)))
|
||||
(let ((minibuffer-completing-file-name t))
|
||||
(setq filename (ido-read-internal item
|
||||
(or prompt "Find file: ")
|
||||
'ido-file-history nil nil initial))))
|
||||
|
||||
;; Choose the file name: either the text typed in, or the head
|
||||
;; of the list of matches
|
||||
|
@ -2426,13 +2426,13 @@ If INITIAL is non-nil, it specifies the initial input string."
|
|||
((and (= 1 (length ido-matches))
|
||||
(not (and ido-enable-tramp-completion
|
||||
(string-equal ido-current-directory "/")
|
||||
(string-match "..[@:]\\'" (car ido-matches)))))
|
||||
(string-match "..[@:]\\'" (ido-name (car ido-matches))))))
|
||||
;; only one choice, so select it.
|
||||
(if (not ido-confirm-unique-completion)
|
||||
(exit-minibuffer)
|
||||
(setq ido-rescan (not ido-enable-prefix))
|
||||
(delete-region (minibuffer-prompt-end) (point))
|
||||
(insert (car ido-matches))))
|
||||
(insert (ido-name (car ido-matches)))))
|
||||
|
||||
(t ;; else there could be some completions
|
||||
(setq res ido-common-match-string)
|
||||
|
@ -2814,7 +2814,7 @@ If input stack is non-empty, delete current directory component."
|
|||
"Use first matching item as input text."
|
||||
(interactive)
|
||||
(when ido-matches
|
||||
(setq ido-text-init (car ido-matches))
|
||||
(setq ido-text-init (ido-name (car ido-matches)))
|
||||
(setq ido-exit 'refresh)
|
||||
(exit-minibuffer)))
|
||||
|
||||
|
@ -2828,7 +2828,7 @@ If input stack is non-empty, delete current directory component."
|
|||
"Move to previous directory in file name, push first match on stack."
|
||||
(interactive)
|
||||
(if ido-matches
|
||||
(setq ido-text (car ido-matches)))
|
||||
(setq ido-text (ido-name (car ido-matches))))
|
||||
(setq ido-exit 'push)
|
||||
(exit-minibuffer))
|
||||
|
||||
|
@ -3084,12 +3084,14 @@ for first matching file."
|
|||
(let ((oa (ido-file-extension-order a n))
|
||||
(ob (ido-file-extension-order b n)))
|
||||
(cond
|
||||
((= oa ob)
|
||||
lessp)
|
||||
((and oa ob)
|
||||
(if lessp
|
||||
(> oa ob)
|
||||
(< oa ob)))
|
||||
(cond
|
||||
((= oa ob)
|
||||
lessp)
|
||||
(lessp
|
||||
(> oa ob))
|
||||
(t
|
||||
(< oa ob))))
|
||||
(oa
|
||||
(not lessp))
|
||||
(ob
|
||||
|
@ -3136,7 +3138,12 @@ for first matching file."
|
|||
(let ((filenames
|
||||
(split-string
|
||||
(shell-command-to-string
|
||||
(concat "find " dir " -name \"" (if prefix "" "*") file "*\" -type " (if finddir "d" "f") " -print"))))
|
||||
(concat "find "
|
||||
(shell-quote-argument dir)
|
||||
" -name "
|
||||
(shell-quote-argument
|
||||
(concat (if prefix "" "*") file "*"))
|
||||
" -type " (if finddir "d" "f") " -print"))))
|
||||
filename d f
|
||||
res)
|
||||
(while filenames
|
||||
|
@ -3618,7 +3625,7 @@ for first matching file."
|
|||
((stringp nextstr)
|
||||
(and (>= flen (setq slen (length nextstr)))
|
||||
(string-equal (substring name (- flen slen)) nextstr)))
|
||||
((fboundp nextstr) (funcall nextstr name))
|
||||
((functionp nextstr) (funcall nextstr name))
|
||||
(t nil))
|
||||
(setq ignorep t
|
||||
ext-list nil
|
||||
|
@ -3628,7 +3635,7 @@ for first matching file."
|
|||
(setq nextstr (car re-list))
|
||||
(if (cond
|
||||
((stringp nextstr) (string-match nextstr name))
|
||||
((fboundp nextstr) (funcall nextstr name))
|
||||
((functionp nextstr) (funcall nextstr name))
|
||||
(t nil))
|
||||
(setq ignorep t
|
||||
re-list nil)
|
||||
|
@ -3745,7 +3752,7 @@ for first matching file."
|
|||
"Kill the buffer at the head of `ido-matches'."
|
||||
(interactive)
|
||||
(let ((enable-recursive-minibuffers t)
|
||||
(buf (car ido-matches)))
|
||||
(buf (ido-name (car ido-matches))))
|
||||
(when buf
|
||||
(kill-buffer buf)
|
||||
;; Check if buffer still exists.
|
||||
|
@ -3760,7 +3767,7 @@ for first matching file."
|
|||
"Delete the file at the head of `ido-matches'."
|
||||
(interactive)
|
||||
(let ((enable-recursive-minibuffers t)
|
||||
(file (car ido-matches)))
|
||||
(file (ido-name (car ido-matches))))
|
||||
(if file
|
||||
(setq file (concat ido-current-directory file)))
|
||||
(when (and file
|
||||
|
@ -3781,7 +3788,8 @@ for first matching file."
|
|||
(defun ido-visit-buffer (buffer method &optional record)
|
||||
"Switch to BUFFER according to METHOD.
|
||||
Record command in `command-history' if optional RECORD is non-nil."
|
||||
|
||||
(if (bufferp buffer)
|
||||
(setq buffer (buffer-name buffer)))
|
||||
(let (win newframe)
|
||||
(cond
|
||||
((eq method 'kill)
|
||||
|
@ -4201,7 +4209,7 @@ For details of keybindings, do `\\[describe-function] ido-find-file'."
|
|||
((= (length contents) 2)
|
||||
"/")
|
||||
(ido-matches
|
||||
(concat ido-current-directory (car ido-matches)))
|
||||
(concat ido-current-directory (ido-name (car ido-matches))))
|
||||
(t
|
||||
(concat ido-current-directory (substring contents 0 -1)))))
|
||||
(setq ido-text-init (substring contents -1))
|
||||
|
@ -4237,12 +4245,12 @@ For details of keybindings, do `\\[describe-function] ido-find-file'."
|
|||
ido-matches
|
||||
(or (eq ido-enter-matching-directory 'first)
|
||||
(null (cdr ido-matches)))
|
||||
(ido-final-slash (car ido-matches))
|
||||
(ido-final-slash (ido-name (car ido-matches)))
|
||||
(or try-single-dir-match
|
||||
(eq ido-enter-matching-directory t)))
|
||||
(ido-trace "single match" (car ido-matches))
|
||||
(ido-set-current-directory
|
||||
(concat ido-current-directory (car ido-matches)))
|
||||
(concat ido-current-directory (ido-name (car ido-matches))))
|
||||
(setq ido-exit 'refresh)
|
||||
(exit-minibuffer))
|
||||
|
||||
|
|
|
@ -60,16 +60,19 @@ to toggle between display as an image and display as text."
|
|||
(setq major-mode 'image-mode)
|
||||
(use-local-map image-mode-map)
|
||||
(add-hook 'change-major-mode-hook 'image-toggle-display-text nil t)
|
||||
(if (not (get-text-property (point-min) 'display))
|
||||
(if (and (display-images-p)
|
||||
(not (get-text-property (point-min) 'display)))
|
||||
(image-toggle-display)
|
||||
;; Set next vars when image is already displayed but local
|
||||
;; variables were cleared by kill-all-local-variables
|
||||
(setq cursor-type nil truncate-lines t))
|
||||
(run-mode-hooks 'image-mode-hook)
|
||||
(message "%s" (concat (substitute-command-keys
|
||||
"Type \\[image-toggle-display] to view the image as ")
|
||||
(if (get-text-property (point-min) 'display)
|
||||
"text" "an image") ".")))
|
||||
(if (display-images-p)
|
||||
(message "%s" (concat
|
||||
(substitute-command-keys
|
||||
"Type \\[image-toggle-display] to view the image as ")
|
||||
(if (get-text-property (point-min) 'display)
|
||||
"text" "an image") "."))))
|
||||
|
||||
;;;###autoload
|
||||
(define-minor-mode image-minor-mode
|
||||
|
|
|
@ -967,15 +967,15 @@ A trivial interface to `imenu-add-to-menubar' suitable for use in a hook."
|
|||
(defvar imenu-buffer-menubar nil)
|
||||
|
||||
(defvar imenu-menubar-modified-tick 0
|
||||
"The value of (buffer-modified-tick) as of last call to `imenu-update-menubar'.")
|
||||
"The value of (buffer-chars-modified-tick) as of the last call
|
||||
to `imenu-update-menubar'.")
|
||||
(make-variable-buffer-local 'imenu-menubar-modified-tick)
|
||||
|
||||
(defun imenu-update-menubar ()
|
||||
(when (and (current-local-map)
|
||||
(keymapp (lookup-key (current-local-map) [menu-bar index]))
|
||||
(not (eq (buffer-modified-tick)
|
||||
imenu-menubar-modified-tick)))
|
||||
(setq imenu-menubar-modified-tick (buffer-modified-tick))
|
||||
(/= (buffer-chars-modified-tick) imenu-menubar-modified-tick))
|
||||
(setq imenu-menubar-modified-tick (buffer-chars-modified-tick))
|
||||
(let ((index-alist (imenu--make-index-alist t)))
|
||||
;; Don't bother updating if the index-alist has not changed
|
||||
;; since the last time we did it.
|
||||
|
|
|
@ -843,12 +843,13 @@ Return nil if there is nothing appropriate in the buffer near point."
|
|||
(info-lookup-maybe-add-help
|
||||
:mode 'maxima-mode
|
||||
:ignore-case t
|
||||
:regexp "[a-zA-Z_%]+"
|
||||
:regexp "[a-zA-Z0-9_%]+"
|
||||
:doc-spec '( ("(maxima)Function and Variable Index" nil
|
||||
"^ -+ [^:]+:[ ]+\\(\\[[^=]*=[ ]+\\)?" nil)))
|
||||
|
||||
(info-lookup-maybe-add-help
|
||||
:mode 'inferior-maxima-mode
|
||||
:regexp "[a-zA-Z0-9_%]+"
|
||||
:other-modes '(maxima-mode))
|
||||
|
||||
;; coreutils and bash builtins overlap in places, eg. printf, so there's a
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue