mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-31 11:13:50 +00:00
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 563-582) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 177-185) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-158
This commit is contained in:
commit
4c34eeeee5
220
AUTHORS
220
AUTHORS
@ -3,8 +3,6 @@ Foundation's distribution of GNU Emacs. To show our appreciation for
|
||||
their public spirit, we list here in alphabetical order a condensed
|
||||
list of their contributions.
|
||||
|
||||
"$,1 a(Bukasz Demianiuk": changed erc.el
|
||||
|
||||
Aaron Larson: changed bibtex.el
|
||||
|
||||
Aaron S. Hawley: changed files.texi files.el isearch.el misc.texi
|
||||
@ -23,6 +21,8 @@ Adrian Lanz: changed mail-source.el spam.el
|
||||
|
||||
Agustin Martin: changed flyspell.el ispell.el
|
||||
|
||||
Agust,Am(Bn Mart,Am(Bn: changed flyspell.el
|
||||
|
||||
Aidan Kehoe: changed lread.c mm-util.el erc.el objects.texi
|
||||
|
||||
Ake Stenhoff: wrote imenu.el
|
||||
@ -36,8 +36,8 @@ Alakazam Petrofsky: changed hanoi.el
|
||||
Alan Mackenzie: wrote cc-awk.el
|
||||
and changed cc-cmds.el cc-mode.el cc-defs.el cc-engine.el cc-vars.el
|
||||
cc-langs.el cc-styles.el cc-mode.texi lread.c cc-fonts.el cc-align.el
|
||||
cc-subword.el isearch.el programs.texi search.texi subr.el text.texi
|
||||
buffers.texi cc-fix.el cc-mode-19.el ebrowse.el and 15 other files
|
||||
programs.texi cc-subword.el isearch.el lisp.el search.texi subr.el
|
||||
text.texi buffers.texi cc-fix.el cc-mode-19.el and 16 other files
|
||||
|
||||
Alan Shutko: changed diary-lib.el calendar.el bindings.el cal-hebrew.el
|
||||
easy-mmode.el gnus-sum.el ibuf-ext.el ibuffer.el lunar.el macros.el
|
||||
@ -81,10 +81,12 @@ Alexandre Veyrenc: changed fr-refcard.tex
|
||||
|
||||
Alfred Correira: changed generic-x.el
|
||||
|
||||
Alfred M. Szmidt: changed compile.el html2text.el
|
||||
Alfred M. Szmidt: changed compile.el html2text.el openbsd.h
|
||||
|
||||
Alfredo Finelli: changed TUTORIAL.it
|
||||
|
||||
Alin C. Soare: changed hexl.el
|
||||
|
||||
Ami Fischman: changed calendar.el diary-lib.el
|
||||
|
||||
Anders Holst: wrote hippie-exp.el
|
||||
@ -100,7 +102,7 @@ Andre Spiegel: changed vc.el vc-hooks.el vc-cvs.el vc-rcs.el vc-sccs.el
|
||||
Andre Srinivasan: changed gnus-group.el gnus-sum.el gnus.texi
|
||||
mm-decode.el mml.el nnmail.el
|
||||
|
||||
Andrea Russo: changed info-look.el
|
||||
Andrea Russo: changed erc-dcc.el info-look.el
|
||||
|
||||
Andreas B,A|(Bsching: changed emacsclient.c
|
||||
|
||||
@ -119,14 +121,14 @@ 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 print.c coding.c dired.el editfns.c info.el eval.c
|
||||
Andreas Schwab: changed Makefile.in files.el lisp.h xdisp.c configure.in
|
||||
alloc.c 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 446 other files
|
||||
process.c and 448 other files
|
||||
|
||||
Andreas Seltenreich: changed nnweb.el gnus.texi battery.el gnus-art.el
|
||||
gnus-ml.el gnus-srvr.el gnus-start.el gnus-util.el gnus.el mm-url.el
|
||||
mm-uu.el nnslashdot.el url-cookie.el url-http.el
|
||||
Andreas Seltenreich: changed nnweb.el gnus.texi mm-uu.el nnslashdot.el
|
||||
battery.el easy-mmode.el gnus-art.el gnus-ml.el gnus-srvr.el
|
||||
gnus-start.el gnus-util.el gnus.el mm-url.el url-cookie.el url-http.el
|
||||
|
||||
Andrew Choi: wrote mac-win.el
|
||||
and changed macterm.c mac.c macfns.c INSTALL macmenu.c darwin.h macterm.h
|
||||
@ -164,8 +166,8 @@ Arisawa Akihiro: changed mm-decode.el mm-view.el ps-print.el time.el
|
||||
Arne Georg Gleditsch: changed gnus-sum.el
|
||||
|
||||
Arne J,Ax(Brgensen: wrote latexenc.el
|
||||
and changed smime.el gnus-art.el gnus-sieve.el message.el mm-decode.el
|
||||
mule-conf.el nnimap.el nnrss.el wid-edit.el
|
||||
and changed smime.el gnus-art.el gnus-sieve.el ldap.el message.el
|
||||
mm-decode.el mule-conf.el nnimap.el nnrss.el wid-edit.el
|
||||
|
||||
Artem Chuprina: changed message.el
|
||||
|
||||
@ -192,7 +194,8 @@ Ben Harris: changed configure.in
|
||||
Ben Key: changed w32.c w32fns.c w32menu.c makefile.w32-in w32.h w32term.c
|
||||
emacs.c gmake.defs ms-w32.h nmake.defs sound.c
|
||||
|
||||
Ben North: changed fill.el isearch.el lisp-mode.el w32term.c xfaces.c
|
||||
Ben North: changed fill.el isearch.el lisp-mode.el paren.el w32term.c
|
||||
xfaces.c
|
||||
|
||||
Benjamin Drieu: wrote pong.el
|
||||
|
||||
@ -250,7 +253,7 @@ and changed isearch.el sendmail.el
|
||||
|
||||
Bob Halley: changed esh-io.el
|
||||
|
||||
Bob Rogers: changed ffap.el
|
||||
Bob Rogers: changed ffap.el thingatpt.el
|
||||
|
||||
Bob Weiner: changed info.el quail.el
|
||||
|
||||
@ -326,17 +329,17 @@ 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 cus-edit.el simple.el custom.el display.texi
|
||||
longlines.el files.el text.texi custom.texi files.texi keyboard.c
|
||||
wid-edit.el compile.el cus-theme.el frames.texi info.el misc.texi
|
||||
mouse.el xterm.c image-mode.el keymaps.texi sendmail.el
|
||||
and 176 other files
|
||||
longlines.el files.el text.texi custom.texi files.texi info.el
|
||||
keyboard.c mouse.el wid-edit.el xterm.c compile.el cus-theme.el
|
||||
frames.texi misc.texi startup.el image-mode.el keymaps.texi
|
||||
and 182 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 dired.el wdired.el
|
||||
Chris Moore: changed dired.el Makefile.in gnus-sum.el wdired.el
|
||||
|
||||
Chris Prince: changed w32term.c
|
||||
|
||||
@ -355,7 +358,8 @@ Christian Von Roques: changed gnus-start.el
|
||||
|
||||
Christoph Bauer: changed configure.in
|
||||
|
||||
Christoph Conrad: changed gnus-agent.el gnus-score.el qp.el
|
||||
Christoph Conrad: changed gnus-agent.el gnus-score.el makefile.w32-in
|
||||
qp.el
|
||||
|
||||
Christoph Wedler: wrote antlr-mode.el
|
||||
and changed format.el gnus-art.el gnus-picon.el message.el register.el
|
||||
@ -566,11 +570,11 @@ Detlev Zundel: wrote re-builder.el
|
||||
|
||||
Dhruva Krishnamurthy: changed makefile.w32-in
|
||||
|
||||
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 25 other files
|
||||
Diane Murray: changed erc.el erc-menu.el erc-button.el erc-match.el
|
||||
erc-track.el erc-backend.el erc-nets.el erc-list.el erc-autoaway.el
|
||||
erc-nickserv.el erc-compat.el erc-stamp.el erc-goodies.el
|
||||
erc-ibuffer.el erc-log.el Makefile erc-dcc.el erc-fill.el
|
||||
erc-nicklist.el erc-notify.el erc-ring.el and 30 other files
|
||||
|
||||
Dick King: wrote uniquify.el
|
||||
|
||||
@ -628,9 +632,9 @@ Eli Tziperman: wrote rmail-spam-filter.el
|
||||
|
||||
Eli Zaretskii: wrote codepage.el rxvt.el tty-colors.el
|
||||
and changed msdos.c Makefile.in makefile.w32-in files.el info.el fileio.c
|
||||
startup.el mainmake.v2 config.bat menu-bar.el pc-win.el rmail.el
|
||||
simple.el internal.el msdos.h xfaces.c frame.c dosfns.c faces.el
|
||||
frame.el emacs.c and 518 other files
|
||||
startup.el mainmake.v2 config.bat menu-bar.el pc-win.el msdos.h
|
||||
rmail.el simple.el internal.el xfaces.c frame.c dosfns.c emacs.c
|
||||
faces.el frame.el and 521 other files
|
||||
|
||||
Emanuele Giaquinta: changed rxvt.el configure.in etags.c frame.el
|
||||
sh-script.el text.texi
|
||||
@ -659,7 +663,7 @@ and changed mh-utils.el mh-e.el mh-comp.el mh-mime.el
|
||||
Eric Eide: changed gnus-xmas.el
|
||||
|
||||
Eric Hanchrow: changed TUTORIAL.es abbrev.el autorevert.el delphi.el
|
||||
dired.el emacsclient.c ispell.el make-dist
|
||||
dired.el emacsclient.c erc.el ispell.el make-dist
|
||||
|
||||
,AI(Bric Jacoboni: changed fr-refcard.tex
|
||||
|
||||
@ -835,10 +839,10 @@ Giuseppe Scrivano: changed buffer.c configure configure.in sysdep.c
|
||||
xsmfns.c
|
||||
|
||||
Glenn Morris: changed f90.el calendar.el diary-lib.el fortran.el
|
||||
calendar.texi appt.el sh-script.el timeclock.el cal-menu.el
|
||||
calendar.texi appt.el sh-script.el timeclock.el cal-menu.el Makefile.in
|
||||
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 41 other files
|
||||
scroll-all.el startup.el abbrevs.texi cal-coptic.el cal-julian.el
|
||||
cal-move.el and 59 other files
|
||||
|
||||
Glynn Clements: wrote gamegrid.el snake.el tetris.el
|
||||
|
||||
@ -978,8 +982,8 @@ Ivar Rummelhoff: wrote winner.el
|
||||
|
||||
Iwamuro Motonori: changed gnus-kill.el
|
||||
|
||||
J.D. Smith: changed idlwave.el idlw-shell.el idlw-rinfo.el
|
||||
idlw-toolbar.el idlw-help.el vc.el bibtex.el comint.el files.texi
|
||||
J.D. Smith: changed idlwave.el idlw-shell.el idlw-help.el idlw-rinfo.el
|
||||
idlw-toolbar.el vc.el bibtex.el comint.el files.texi hideshow.el
|
||||
idlw-complete-structtag.el idlwave.texi misc.texi mouse.el
|
||||
|
||||
Jaap-Henk Hoepman: changed mm-decode.el
|
||||
@ -1012,10 +1016,10 @@ Jamie Zawinski: wrote byte-opt.el byte-run.el bytecomp.el disass.el
|
||||
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 x-win.el Makefile.in frames.texi keyboard.c config.in
|
||||
and changed gtkutil.c xterm.c xfns.c xmenu.c xterm.h configure.in
|
||||
gtkutil.h x-win.el Makefile.in frames.texi keyboard.c config.in
|
||||
configure xselect.c emacs.c alloc.c xlwmenu.c xresources.texi frame.c
|
||||
startup.el xdisp.c and 174 other files
|
||||
startup.el xdisp.c and 175 other files
|
||||
|
||||
Jan Nieuwenhuizen: changed info.el TUTORIAL.nl emacs.c emacsclient.c
|
||||
gnus-start.el gud.el nnmh.el server.el startup.el
|
||||
@ -1182,6 +1186,8 @@ John Heidemann: wrote mouse-copy.el mouse-drag.el
|
||||
|
||||
John Hughes: changed term.c
|
||||
|
||||
John J Foerch: changed erc-stamp.el
|
||||
|
||||
John Mongan: changed f90.el
|
||||
|
||||
John Paul Wallington: changed ibuffer.el ibuf-ext.el subr.el files.el
|
||||
@ -1258,13 +1264,15 @@ Joshua Varner: changed intro.texi
|
||||
|
||||
Jouni K Seppanen: changed nnimap.el
|
||||
|
||||
Jouni K. Sepp,Ad(Bnen: changed mm-url.el
|
||||
|
||||
Juan Le,As(Bn Lahoz Garc,Am(Ba: wrote wdired.el
|
||||
and changed files.el perl-mode.el
|
||||
|
||||
Juanma Barranquero: changed makefile.w32-in help-fns.el subr.el faces.el
|
||||
files.el w32fns.c bs.el cperl-mode.el eval.c org.el replace.el
|
||||
simple.el sh-script.el vhdl-mode.el ada-mode.el allout.el comint.el
|
||||
emacsclient.c idlwave.el process.c w32-win.el and 584 other files
|
||||
Juanma Barranquero: changed makefile.w32-in subr.el help-fns.el faces.el
|
||||
files.el w32fns.c emacsclient.c replace.el bs.el buffer.c cperl-mode.el
|
||||
eval.c org.el simple.el xdisp.c idlwave.el sh-script.el vhdl-mode.el
|
||||
ada-mode.el allout.el comint.el and 619 other files
|
||||
|
||||
Juergen Hoetzel: changed url-handlers.el
|
||||
|
||||
@ -1343,9 +1351,9 @@ Katsuhiro Hermit Endo: changed gnus-group.el 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 mm-util.el gnus.el lpath.el
|
||||
mm-view.el gnus-util.el mm-util.el gnus-msg.el gnus.el lpath.el
|
||||
gnus-group.el gnus-start.el rfc2047.el dgnushack.el mm-uu.el
|
||||
gnus-agent.el mml.el nntp.el nnrss.el rfc2231.el and 71 other files
|
||||
gnus-agent.el mml.el nntp.el nnrss.el rfc2231.el and 72 other files
|
||||
|
||||
Kaveh R. Ghazi: changed delta88k.h xterm.c
|
||||
|
||||
@ -1405,32 +1413,33 @@ and changed dispnew.c addpm.c config.nt dispextern.h emacs.c facemenu.el
|
||||
s/ms-w32.h scroll.c startup.el sysdep.c term.c unexw32.c w32.c
|
||||
and 16 other files
|
||||
|
||||
Kevin Greiner: changed gnus-agent.el gnus-start.el gnus-sum.el
|
||||
gnus-int.el gnus.el nntp.el gnus-util.el gnus-group.el gnus-cus.el
|
||||
gnus-range.el legacy-gnus-agent.el gnus-art.el gnus-cache.el
|
||||
gnus-srvr.el nnagent.el nnheader.el dgnushack.el gnus-async.el
|
||||
gnus-draft.el gnus-registry.el gnus-salt.el and 4 other files
|
||||
Kevin Greiner: wrote legacy-gnus-agent.el
|
||||
and changed gnus-agent.el gnus-start.el gnus-sum.el gnus-int.el gnus.el
|
||||
nntp.el gnus-util.el gnus-group.el gnus-cus.el gnus-range.el
|
||||
gnus-art.el gnus-cache.el gnus-srvr.el nnagent.el nnheader.el
|
||||
dgnushack.el gnus-async.el gnus-draft.el gnus-registry.el gnus-salt.el
|
||||
gnus-uu.el and 3 other files
|
||||
|
||||
Kevin Layer: changed w32proc.c
|
||||
|
||||
Kevin Rodgers: changed compile.el mailabbrev.el dired-x.el simple.el
|
||||
ange-ftp.el byte-opt.el desktop.el dired-x.texi ffap.el files.el
|
||||
flyspell.el isearch.el lisp.el loadhist.el mailalias.el menu-bar.el
|
||||
print.c replace.el sendmail.el vc.el xfns.c
|
||||
Kevin Rodgers: changed compile.el mailabbrev.el dired-x.el files.el
|
||||
simple.el ange-ftp.el byte-opt.el desktop.el dired-x.texi ffap.el
|
||||
files.texi flyspell.el isearch.el lisp.el loadhist.el mailalias.el
|
||||
menu-bar.el print.c replace.el sendmail.el vc.el xfns.c
|
||||
|
||||
Kevin Ryde: wrote info-xref.el
|
||||
and changed info-look.el info.el gnus-art.el gnus-sum.el mailcap.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 14 other files
|
||||
emacs-lisp-intro.texi etags.c ffap.el frames.texi glossary.texi
|
||||
and 15 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 subr.el w32term.c dispnew.c lisp.h fringe.c macterm.c
|
||||
display.texi fns.c alloc.c xfaces.c xfns.c xterm.h keymap.c .gdbinit
|
||||
and 240 other files
|
||||
and changed xdisp.c dispextern.h simple.el process.c window.c keyboard.c
|
||||
xterm.c subr.el w32term.c dispnew.c lisp.h fringe.c macterm.c
|
||||
display.texi fns.c alloc.c xfaces.c xfns.c xterm.h .gdbinit info.el
|
||||
and 243 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
|
||||
@ -1445,8 +1454,8 @@ Klaus Zeitler: changed configure.in files.el sh-script.el vcursor.el
|
||||
Koaunghi Un: wrote hanja3.el
|
||||
and changed hanja.el hangul.el hangul3.el hanja-jis.el symbol-ksc.el
|
||||
|
||||
Kobayashi Yasuhiro: changed w32fns.c configure.bat info.el w32term.c
|
||||
w32term.h window.c xfns.c
|
||||
Kobayashi Yasuhiro: changed w32fns.c configure.bat indent.c info.el
|
||||
w32term.c w32term.h window.c xfns.c
|
||||
|
||||
Kohtala Marko: changed info.el
|
||||
|
||||
@ -1477,7 +1486,7 @@ Lars Balker Rasmussen: changed gnus-art.el gnus-agent.el message.el
|
||||
Lars Brinkhoff: changed building.texi config.in configure configure.in
|
||||
editfns.c fns.c os.texi
|
||||
|
||||
Lars Hansen: changed desktop.el info.el mh-e.el tramp.el dired-x.el
|
||||
Lars Hansen: changed desktop.el tramp.el info.el mh-e.el dired-x.el
|
||||
dired-x.texi dired.el ls-lisp.el rmail.el dired.c files.texi grp.h
|
||||
hilit-chg.el misc.texi url-auth.el url-cache.el url-dired.el url-ftp.el
|
||||
url-irc.el url-misc.el url-news.el and 39 other files
|
||||
@ -1521,15 +1530,17 @@ and changed fortran.el ispell.el sendmail.el cmuscheme.el comint.el
|
||||
|
||||
Leigh Stoller: changed emacsclient.c emacsserver.c server.el
|
||||
|
||||
Lennart Borgman: changed window.el ada-xref.el filesets.el flymake.el
|
||||
help-fns.el mouse.el recentf.el shell.el texinfmt.el tutorial.el
|
||||
w32term.c w32term.h
|
||||
Lennart Borgman: changed tutorial.el window.el ada-xref.el emacsclient.c
|
||||
filesets.el flymake.el help-fns.el mouse.el recentf.el shell.el
|
||||
texinfmt.el w32term.c w32term.h
|
||||
|
||||
Lennart Staflin: changed dired.el diary-ins.el diary-lib.el tq.el xdisp.c
|
||||
|
||||
Leonard H. Tower Jr.: changed rnews.el rnewspost.el emacsbug.el
|
||||
rmailout.el
|
||||
|
||||
Liam Healy: changed outline.el
|
||||
|
||||
Lloyd Zusman: changed mml.el
|
||||
|
||||
Luc Teirlinck: wrote help-at-pt.el
|
||||
@ -1538,6 +1549,8 @@ and changed files.el autorevert.el cus-edit.el subr.el simple.el
|
||||
comint.el custom.texi emacs.texi fns.c frame.el ielm.el minibuf.texi
|
||||
modes.texi variables.texi buffers.texi and 215 other files
|
||||
|
||||
$,1 a(Bukasz Demianiuk: changed erc.el
|
||||
|
||||
Lucid, Inc.: changed byte-opt.el byte-run.el bytecode.c bytecomp.el
|
||||
delsel.el disass.el faces.el font-lock.el lmenu.el lselect.el
|
||||
mailabbrev.el select.el xfaces.c xselect.c
|
||||
@ -1559,8 +1572,8 @@ and changed emacsclient.c emacsserver.c etags.c lisp.h movemail.c
|
||||
|
||||
Maciek Pasternacki: changed nnrss.el
|
||||
|
||||
Magnus Henoch: changed url-http.el ispell.el url-gw.el url-parse.el
|
||||
url.el autoinsert.el rcirc.el url-https.el
|
||||
Magnus Henoch: changed url-http.el ispell.el url.el url-gw.el
|
||||
url-parse.el autoinsert.el rcirc.el url-https.el url-proxy.el
|
||||
|
||||
Manuel Serrano: wrote flyspell.el
|
||||
|
||||
@ -1590,14 +1603,14 @@ Marek Martin: changed nnfolder.el
|
||||
|
||||
Marien Zwart: changed python.el
|
||||
|
||||
Mario Lang: wrote erc-button.el erc-ibuffer.el erc-imenu.el erc-list.el
|
||||
erc-menu.el erc-netsplit.el erc-networks.el erc-notify.el
|
||||
erc-speedbar.el erc-stamp.el erc-track.el erc-xdcc.el
|
||||
Mario Lang: wrote erc-button.el erc-ibuffer.el erc-imenu.el erc-menu.el
|
||||
erc-netsplit.el erc-networks.el erc-notify.el erc-speedbar.el
|
||||
erc-stamp.el erc-track.el erc-xdcc.el
|
||||
and changed erc.el erc-dcc.el erc-speak.el Makefile erc-bbdb.el
|
||||
erc-complete.el erc-pcomplete.el erc-chess.el erc-fill.el battery.el
|
||||
erc-match.el erc-autojoin.el erc-nets.el erc-nickserv.el erc-ring.el
|
||||
diff.el erc-ezbounce.el erc-identd.el erc-lang.el erc-log.el
|
||||
erc-macs.el and 5 other files
|
||||
erc-complete.el erc-pcomplete.el erc-chess.el erc-fill.el erc-list.el
|
||||
battery.el erc-match.el erc-autojoin.el erc-nets.el erc-nickserv.el
|
||||
erc-ring.el diff.el erc-ezbounce.el erc-identd.el erc-lang.el
|
||||
erc-log.el and 6 other files
|
||||
|
||||
Mark A. Hershberger: changed xml.el nnrss.el mm-url.el cperl-mode.el
|
||||
gnus-group.el
|
||||
@ -1669,7 +1682,7 @@ Martin Neitzel: changed sc.el
|
||||
Martin Rudalics: changed cus-edit.el wid-edit.el flyspell.el cus-start.el
|
||||
files.el font-lock.el insdel.c macmenu.c syntax.c w32menu.c window.el
|
||||
xdisp.c xmenu.c buffer.c buffer.h casefiddle.c cperl-mode.el custom.el
|
||||
dispextern.h dnd.el editfns.c and 25 other files
|
||||
dispextern.h dnd.el editfns.c and 26 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
|
||||
@ -1687,12 +1700,13 @@ Masanobu Umeda: wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus.el
|
||||
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
|
||||
and changed etags.el asm-mode.el hexl.el xdisp.c bindings.el man.el
|
||||
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 58 other files
|
||||
etags.c font-lock.el gdb-ui.el and 59 other files
|
||||
|
||||
Masayuki Ataka: changed texinfmt.el texinfo.el characters.el make-mode.el
|
||||
Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el
|
||||
make-mode.el
|
||||
|
||||
Masayuki Fujii: changed dnd.el w32-win.el
|
||||
|
||||
@ -1773,16 +1787,16 @@ and changed ediff-merge.el ediff*.el viper*.el ediff-hooks.el menu-bar.el
|
||||
|
||||
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 erc-*.el and 42 other files
|
||||
erc-match.el erc-dcc.el erc-list.el erc-notify.el erc-goodies.el
|
||||
erc-ibuffer.el erc-nicklist.el erc-pcomplete.el erc-spelling.el
|
||||
erc-bbdb.el erc-compat.el erc-fill.el and 42 other files
|
||||
|
||||
Michael Piotrowski: changed gnus-sum.el 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 custom.el facemenu.el
|
||||
recentf.el replace.el tramp.el w32fns.c
|
||||
Michael R. Mauger: changed sql.el emacsclient.c cua-base.el custom.el
|
||||
facemenu.el recentf.el replace.el tramp.el w32fns.c
|
||||
|
||||
Michael R. Wolf: changed ange-ftp.el
|
||||
|
||||
@ -1805,9 +1819,10 @@ Michal Jankowski: changed insdel.c keyboard.c
|
||||
|
||||
Michal Nazarewicz: changed ispell.el
|
||||
|
||||
Micha,Ak(Bl Cadilhac: changed ido.el ispell.el battery.el blackbox.el
|
||||
cus-edit.el dispnew.c info.el life.el lpr.el make-mode.el pong.el
|
||||
print.c process.c rect.el startup.el subr.el uni-input.el zone.el
|
||||
Micha,Ak(Bl Cadilhac: changed ido.el ispell.el anti.texi battery.el
|
||||
blackbox.el cmuscheme.el cus-edit.el dispnew.c faq.texi flyspell.el
|
||||
glasses.el info.el life.el lpr.el make-mode.el misc.texi pong.el
|
||||
print.c process.c rect.el shell.el and 5 other files
|
||||
|
||||
Michelangelo Grigni: wrote ffap.el
|
||||
and changed gnus-score.el
|
||||
@ -1874,7 +1889,7 @@ Nachum Dershowitz: wrote cal-hebrew.el
|
||||
Nagy Andras: wrote gnus-sieve.el
|
||||
and changed imap.el gnus.el
|
||||
|
||||
Nakaji Hiroyuki: changed mm-util.el
|
||||
Nakaji Hiroyuki: changed amdx86-64.h configure configure.in mm-util.el
|
||||
|
||||
Nakamura Toshikazu: changed w32fns.c
|
||||
|
||||
@ -1899,7 +1914,7 @@ Nick Roberts: wrote gdb-ui.el
|
||||
and changed gud.el building.texi tooltip.el speedbar.el bindings.el
|
||||
thumbs.el DEBUG cc-mode.el frames.texi subr.el xt-mouse.el .gdbinit
|
||||
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
|
||||
speedbar.texi tumme.el xdisp.c byte-run.el and 113 other files
|
||||
|
||||
Nico Francois: changed w32fns.c w32inevt.c w32menu.c
|
||||
|
||||
@ -2006,8 +2021,9 @@ Pavel Jan,Bm(Bk: changed COPYING keyboard.c xterm.c xdisp.c Makefile.in
|
||||
coding.c eval.c fileio.c flyspell.el fns.c indent.c callint.c
|
||||
cus-start.el and 703 other files
|
||||
|
||||
Pavel Kobiakov: wrote flymake.el
|
||||
and changed flymake.texi
|
||||
Pavel Kobiakov: changed flymake.el flymake.texi
|
||||
|
||||
Pavel Kobyakov: wrote flymake.el
|
||||
|
||||
Per Abrahamsen: wrote cpp.el cus-dep.el cus-edit.el cus-face.el
|
||||
cus-start.el custom.el double.el gnus-cite.el gnus-cus.el gnus-score.el
|
||||
@ -2132,7 +2148,7 @@ and changed gnus-art.el message.el gnus.texi gnus-sum.el gnus.el
|
||||
gnus-group.el gnus-faq.texi gnus-util.el mml.el gnus-start.el
|
||||
mm-util.el gnus-agent.el gnus-msg.el gnus-score.el message.texi
|
||||
files.el spam-report.el mm-decode.el nnweb.el spam.el deuglify.el
|
||||
and 162 other files
|
||||
and 163 other files
|
||||
|
||||
Remek Trzaska: changed gnus-ems.el
|
||||
|
||||
@ -2227,9 +2243,9 @@ Rolf Ebert: wrote ada-mode.el
|
||||
and changed files.el find-file.el
|
||||
|
||||
Romain Francoise: changed faq.texi dired-x.el ibuf-ext.el Makefile.in
|
||||
compile.el message.el puresize.h replace.el subr.el files.texi
|
||||
gnus-fun.el gnus.texi help-fns.el make-dist rcirc.el antlr-mode.el
|
||||
bookmark.el buffer.c comint.el diary-lib.el dired.el
|
||||
compile.el message.el puresize.h replace.el subr.el comint.el
|
||||
files.texi gnus-fun.el gnus.texi help-fns.el make-dist rcirc.el
|
||||
antlr-mode.el bookmark.el buffer.c diary-lib.el dired.el
|
||||
and 126 other files
|
||||
|
||||
Roman Belenov: changed which-func.el
|
||||
@ -2350,7 +2366,7 @@ Simon Marshall: wrote fast-lock.el lazy-lock.el regexp-opt.el
|
||||
and changed comint.el font-lock.el shell.el rmail.el fortran.el
|
||||
sendmail.el subr.el dired.el sh-script.el texinfo.el add-log.el
|
||||
compile.el outline.el help.el menu-bar.el perl-mode.el ps-print.el
|
||||
rmailsum.el bytecomp.el data.c faces.el and 57 other files
|
||||
rmailsum.el bytecomp.el cc-fonts.el data.c and 57 other files
|
||||
|
||||
Skip Collins: changed w32fns.c w32term.c w32term.h
|
||||
|
||||
@ -2370,7 +2386,7 @@ Stefan Monnier: wrote bibtex.el cvs-status.el diff-mode.el log-edit.el
|
||||
and changed vc.el font-lock.el pcvs.el newcomment.el subr.el lisp.h
|
||||
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 vc-hooks.el xdisp.c
|
||||
sh-script.el and 512 other files
|
||||
sh-script.el and 513 other files
|
||||
|
||||
Steinar Bang: changed imap.el
|
||||
|
||||
@ -2610,7 +2626,7 @@ Vincent Del Vecchio: changed info.el mh-utils.el
|
||||
Vinicius Jose Latorre: wrote delim-col.el ebnf-abn.el ebnf-bnf.el
|
||||
ebnf-dtd.el ebnf-ebx.el ebnf-iso.el ebnf-otz.el ebnf-yac.el ebnf2ps.el
|
||||
printing.el ps-mule.el
|
||||
and changed ps-print.el ps-prin1.ps ps-prin0.ps ps-prin3.ps ps-bdf.el
|
||||
and changed ps-print.el ps-prin1.ps ps-bdf.el ps-prin0.ps ps-prin3.ps
|
||||
ps-prin2.ps lpr.el subr.el ps-print-def.el ps-print0.ps ps-vars.el
|
||||
|
||||
Vivek Dasmohapatra: changed emacs.c sh-script.el xterm.c xterm.h
|
||||
@ -2647,6 +2663,8 @@ and changed url-handlers.el url-file.el url-methods.el url-vars.el
|
||||
url-cid.el url-dired.el url-expand.el url-ftp.el url-history.el
|
||||
url-irc.el and 6 other files
|
||||
|
||||
William Smith: changed strftime.c
|
||||
|
||||
William Sommerfeld: wrote emacsclient.c emacsserver.c scribe.el server.el
|
||||
|
||||
Wilson H. Tien: changed unexelf.c
|
||||
@ -2677,9 +2695,9 @@ Xavier Maillard: changed gnus-faq.texi gnus-score.el spam.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 macmenu.c image.c macselect.c keyboard.c xdisp.c makefile.MPW
|
||||
emacs.c config.h macos.texi xfaces.c Makefile.in darwin.h INSTALL
|
||||
dispextern.h dispnew.c and 71 other files
|
||||
macgui.h macmenu.c image.c macselect.c keyboard.c xdisp.c emacs.c
|
||||
makefile.MPW config.h macos.texi xfaces.c INSTALL Makefile.in darwin.h
|
||||
configure configure.in and 71 other files
|
||||
|
||||
Yann Dirson: changed imenu.el
|
||||
|
||||
|
137
ChangeLog
137
ChangeLog
@ -1,16 +1,40 @@
|
||||
2006-12-26 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* Makefile.in (datarootdir): Define.
|
||||
|
||||
2006-12-24 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* configure.in: Require Autoconf 2.61.
|
||||
|
||||
2006-12-22 Mark Davies <mark@mcs.vuw.ac.nz>
|
||||
|
||||
* configure.in: Add support for NetBSD on x86-64, hp800 and sh3el.
|
||||
Remove redundant entry for powerpc-apple-netbsd.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-22 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* configure: Regenerate with autoconf 2.61.
|
||||
|
||||
2006-12-20 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in: Detect alsa/asoundlib.h also.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-19 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in: Check if GTK+ compiles at all.
|
||||
|
||||
2006-12-10 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* configure.in: Remove check for struct timezone, its result is
|
||||
never used.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-08 NAKAJI Hiroyuki <nakaji@jp.freebsd.org> (tiny change)
|
||||
2006-12-08 NAKAJI Hiroyuki <nakaji@jp.freebsd.org> (tiny change)
|
||||
|
||||
* configure.in: Add support for Solaris 10 on x86-64.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-08 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* INSTALL (DETAILED BUILDING AND INSTALLATION): Document usage
|
||||
@ -20,8 +44,6 @@
|
||||
|
||||
* configure.in (HAVE_SYNC): New test.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-12-03 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Makefile.in: Fix Copyright format.
|
||||
@ -39,21 +61,15 @@
|
||||
|
||||
* configure.in (HAVE_X86_64_LIB64_DIR): New test.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-11-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* configure.in (HAVE_CANCELMENUTRACKING): Remove test.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-11-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* configure.in: Prefer X11 to Carbon only when some X-specific
|
||||
option is specified (Thanks to Jan Dj,Ad(Brv and Andreas Schwab).
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-11-04 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* Makefile.in (bootstrap-clean-before): Fix typo.
|
||||
@ -68,10 +84,6 @@
|
||||
* make-dist: Add makefile.w32-in to the man, lispref and lispintro
|
||||
directories.
|
||||
|
||||
2006-10-29 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* configure: Regenerate using autoconf 2.59.
|
||||
|
||||
2006-10-29 Jeramey Crawford <jeramey@jeramey.com>
|
||||
|
||||
* configure.in: Enable x86-64 OpenBSD compilation.
|
||||
@ -89,26 +101,12 @@
|
||||
|
||||
* README: Bump version number to 22.0.90.
|
||||
|
||||
* AUTHORS: Regenerate.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-10-23 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* configure.in: Make sure x_default_search_path is always set even
|
||||
when x_libraries is empty, and look in .../share as well for each
|
||||
library directory.
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-10-03 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* AUTHORS: Regenerate.
|
||||
|
||||
2006-09-30 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-09-28 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* configure.in (locallisppath): Don't include leim dir.
|
||||
@ -124,10 +122,6 @@
|
||||
* 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
|
||||
@ -143,10 +137,6 @@
|
||||
$PKG_CONFIG --exists "$2" to config.log.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-07-14 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* AUTHORS: Regenerate.
|
||||
|
||||
2006-07-08 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* INSTALL (DETAILED BUILDING AND INSTALLATION): Minor corrections.
|
||||
@ -158,8 +148,6 @@
|
||||
|
||||
2006-07-08 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
* configure.in (PKG_CHECK_MODULES): Redirect stderr of pkg-config
|
||||
to /dev/null, since we don't need the error message, just the
|
||||
exit status.
|
||||
@ -185,22 +173,13 @@
|
||||
|
||||
* CONTRIBUTE: New file.
|
||||
|
||||
2006-06-25 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* AUTHORS: Regenerate.
|
||||
|
||||
2006-06-24 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* INSTALL: Mention www.nongnu.org pages that list free Unicode fonts.
|
||||
|
||||
2006-06-05 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* AUTHORS: Regenerate.
|
||||
|
||||
2006-05-18 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in: Add check for ALSA.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-05-06 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
@ -212,10 +191,6 @@
|
||||
|
||||
* Copyright (sources/emacs): Update copyright year(s).
|
||||
|
||||
2006-04-01 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-04-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
|
||||
|
||||
* configure.in (HAVE_XAW3D): Disable Xaw3d check if
|
||||
@ -239,10 +214,6 @@
|
||||
* Makefile.in (install, uninstall): Add DESTDIR variable to
|
||||
support staged installations.
|
||||
|
||||
2006-02-14 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-02-14 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* configure.in (s390x-*-linux-gnu*): New configuration.
|
||||
@ -250,7 +221,6 @@
|
||||
2006-01-31 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in: Require GTK 2.4 or newer.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-01-29 Michael Olson <mwolson@gnu.org>
|
||||
|
||||
@ -274,12 +244,10 @@
|
||||
|
||||
* configure.in: Move AC_AIX and AC_GNU_SOURCE before first compile
|
||||
check.
|
||||
* configure: Regenerate.
|
||||
|
||||
2006-01-02 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* configure.in: Use -Wno-pointer-sign if available.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-12-29 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
@ -308,14 +276,12 @@
|
||||
2005-11-01 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* configure.in: Check for gzip.
|
||||
* configure: Regenerate.
|
||||
|
||||
* Makefile.in (install): Compress source files.
|
||||
|
||||
2005-10-24 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* configure.in: Fix darwin386 configuration issue.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-10-22 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
@ -342,7 +308,6 @@
|
||||
|
||||
* configure.in: Prefer Carbon if --enable-carbon-app or
|
||||
--with-carbon is explicitly specified even when X11 is detected.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-09-15 Ulf Jasper <ulf.jasper@web.de>
|
||||
|
||||
@ -350,16 +315,11 @@
|
||||
Handle newsticker manual.
|
||||
(info): Add - to commands.
|
||||
|
||||
2005-09-11 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* AUTHORS: Regenerate.
|
||||
|
||||
2005-09-10 Giuseppe Scrivano <gscrivano@gmail.com>
|
||||
|
||||
Remove the MAXPATHLEN limitations:
|
||||
|
||||
* configure.in (AC_CHECK_FUNCS): Check for get_current_dir_name.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-09-09 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
@ -393,7 +353,6 @@
|
||||
2005-07-06 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
* configure.in: Fix capitalization.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-07-04 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
@ -407,24 +366,20 @@
|
||||
2005-06-08 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* configure.in: Support Darwin/MacOSX on Intel
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-06-06 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in (HAVE_CANCELMENUTRACKING): New test.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-05-11 J,Ai(Br,At(Bme Marant <jmarant@marant.org>
|
||||
|
||||
* configure.in: Add --enable-locallisppath.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-05-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* configure.in: Don't check HAVE_CARBON if HAVE_X11 is set to yes.
|
||||
Check HAVE_CARBON before USE_TOOLKIT_SCROLL_BARS. Define
|
||||
USE_TOOLKIT_SCROLL_BARS by default if HAVE_CARBON is set to yes.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-05-07 J,Ai(Br,At(Bme Marant <jerome@marant.org>
|
||||
|
||||
@ -435,12 +390,10 @@
|
||||
2005-04-23 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* configure.in: Remove duplicate match for powerpc configuration.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-04-20 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
||||
* configure.in: Check for <pwd.h>.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-04-14 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
@ -461,12 +414,10 @@
|
||||
2005-03-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in: Only add XASSERTS to cppflags.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-03-04 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in: Added --enable-asserts.
|
||||
* configure: Regenerate.
|
||||
|
||||
2005-02-09 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
@ -476,7 +427,6 @@
|
||||
2005-01-19 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* configure.in: Check for <sys/utsname.h>.
|
||||
* configure: Regenerate.
|
||||
|
||||
2004-12-11 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
@ -497,7 +447,6 @@
|
||||
|
||||
* configure.in: If $HAVE_GTK_FILE_CHOOSER = yes, check for
|
||||
pthreads and define HAVE_GTK_AND_PTHREAD.
|
||||
* configure: Regenerate.
|
||||
|
||||
2004-12-05 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
@ -531,7 +480,6 @@
|
||||
2004-11-06 Lars Brinkhoff <lars@nocrew.org>
|
||||
|
||||
* configure.in: Add check for getrusage.
|
||||
* configure: Regenerate.
|
||||
|
||||
2004-11-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
@ -540,18 +488,14 @@
|
||||
(HAVE_GTK): Only set with_toolkit_scroll_bars if not explicitly set
|
||||
to no.
|
||||
|
||||
* configure: Rebuild.
|
||||
|
||||
2004-10-20 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in (HAVE_PERSONALITY_LINUX32): New test if PER_LINUX32
|
||||
can be set. Remove SETARCH test.
|
||||
* configure: Rebuild.
|
||||
|
||||
2004-10-08 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* configure.in (HAVE_MALLOC_MALLOC_H): Test for malloc/malloc.h
|
||||
* configure: Rebuild.
|
||||
|
||||
2004-10-06 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
@ -571,12 +515,10 @@
|
||||
2004-09-25 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in (HAVE_EXECSHIELD): Only define on x86.
|
||||
* configure: Rebuild.
|
||||
|
||||
2004-09-24 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure.in: Check for exec-shield.
|
||||
* configure: Rebuild.
|
||||
|
||||
2004-08-06 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
@ -715,7 +657,6 @@
|
||||
|
||||
* configure.in (powerpc-apple-darwin*): Use ${CC-cc} instead of
|
||||
hardcoding gcc.
|
||||
* configure: Rebuild.
|
||||
|
||||
2003-11-16 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
@ -792,10 +733,6 @@
|
||||
|
||||
* configure.in: Fix XRegisterIMInstantiateCallback check for gcc.
|
||||
|
||||
2003-06-26 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2003-06-23 Dave Love <fx@gnu.org>
|
||||
|
||||
* configure.in: Check for sys/_mbstate_t.h.
|
||||
@ -896,13 +833,7 @@
|
||||
* Makefile.in: Use @EXEEXT@ for Cygwin.
|
||||
Use USERNAME if LOGNAME is not set (for Cygwin).
|
||||
|
||||
* configure.in:
|
||||
* configure: Add opsys=cygwin.
|
||||
|
||||
2003-01-29 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* AUTHORS: Regenerate using new format (after fixing numerous
|
||||
formatting errors in the ChangeLog files).
|
||||
* configure.in: Add opsys=cygwin.
|
||||
|
||||
2003-01-22 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
@ -943,7 +874,7 @@
|
||||
|
||||
* Makefile.in (INSTALL_INFO): Get install-info command from configure.
|
||||
|
||||
* configure.in: Add tests for install-info
|
||||
* configure.in: Add tests for install-info.
|
||||
|
||||
2002-12-09 Markus Rost <rost@math.ohio-state.edu>
|
||||
|
||||
@ -1393,7 +1324,7 @@
|
||||
|
||||
2001-11-06 Sam Steingold <sds@gnu.org>
|
||||
|
||||
* configure.in: Added a check for <nlist.h>
|
||||
* configure.in: Added a check for <nlist.h>.
|
||||
|
||||
2001-11-01 Pavel Jan,Am(Bk <Pavel@Janik.cz>
|
||||
|
||||
@ -1966,8 +1897,8 @@
|
||||
|
||||
2000-05-05 Gerd Moellmann <gerd@gnu.org>
|
||||
|
||||
* make-dist: Make a link for lib-src/grep-changelog. Copy
|
||||
install-sh.
|
||||
* make-dist: Make a link for lib-src/grep-changelog.
|
||||
Copy install-sh.
|
||||
|
||||
2000-05-01 Eli Zaretskii <eliz@is.elta.co.il>
|
||||
|
||||
|
@ -110,6 +110,10 @@ exec_prefix=@exec_prefix@
|
||||
# run directly (like etags).
|
||||
bindir=@bindir@
|
||||
|
||||
# The root of the directory tree for read-only architecture-independent
|
||||
# data files. ${datadir}, ${infodir} and ${mandir} are based on this.
|
||||
datarootdir=@datarootdir@
|
||||
|
||||
# Where to install architecture-independent data files. ${lispdir}
|
||||
# and ${etcdir} are subdirectories of this.
|
||||
datadir=@datadir@
|
||||
|
2
README
2
README
@ -1,4 +1,4 @@
|
||||
This directory tree holds version 22.0.91 of GNU Emacs, the extensible,
|
||||
This directory tree holds version 22.0.92 of GNU Emacs, the extensible,
|
||||
customizable, self-documenting real-time display editor.
|
||||
|
||||
The file INSTALL in this directory says how to build and install GNU
|
||||
|
@ -41,28 +41,56 @@ 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?)
|
||||
|
||||
** make-network-process :nowait t doesn't work for non-local targets
|
||||
on Windows. This has been "fixed" for Emacs 22 by defining
|
||||
BROKEN_NON_BLOCKING_CONNECT in ms-w32.h.
|
||||
|
||||
|
||||
* BUGS
|
||||
|
||||
** make-network-process :nowait t doesn't work for non-local targets
|
||||
on Windows.
|
||||
If it cannot be fixed, (featurep 'make-network-process '(:nowait t))
|
||||
should return nil.
|
||||
|
||||
** Document use of gpg-agent
|
||||
|
||||
** monnier@iro.umontreal.ca, Nov 24:
|
||||
gnus-summary-tick-article-forward doesn't work any more?
|
||||
|
||||
** Should CC mode set beginning-of-defun-function?
|
||||
** document gpg-agent.
|
||||
|
||||
** Need papers from Rubini for his code in t-mouse.el
|
||||
Sent instructions.
|
||||
|
||||
** jpff@cs.bath.ac.uk, Dec 7: Failure to submit second netnews message.
|
||||
** lennart.borgman.073@student.lu.se, Dec 21:
|
||||
Saving when the coding system can't code all buffer characters
|
||||
|
||||
** kbd_buffer_store_event[_hold] called from outside signal handlers.
|
||||
** Bug in ESHELL that Wiegley is supposed to fix.
|
||||
|
||||
** org.el change papers
|
||||
** How should C-x C-v ask about saving?
|
||||
|
||||
** lennart.borgman.073@student.lu.se, Dec 16:
|
||||
compilation-previous-error fails if first error is at start of buffer
|
||||
|
||||
** CC mode fixes to be installed.
|
||||
|
||||
** W3 status with latest url package.
|
||||
|
||||
** Fix up the notices in oldXMenu properly.
|
||||
|
||||
** bruno@clisp.org's patches for location of Info file directory.
|
||||
|
||||
** disumu@x3y2z1.net, Nov 22:
|
||||
URL not following some 302 redirects after recent changes
|
||||
|
||||
** Give recommendations for redefining window manager keys
|
||||
to avoid interference with Emacs.
|
||||
|
||||
** lennart.borgman.073@student.lu.se, Dec 29:
|
||||
How global is a define-global-minor-mode mode
|
||||
He says that customizing such a mode simply does not work.
|
||||
RMS says that there is no code in the generated defcustom,
|
||||
or elsewhere in the generated code, to implement setting that variable
|
||||
through the custom mechanism.
|
||||
|
||||
** b.riefenstahl@turtle-trading.net, Dec 29:
|
||||
GTK build crashes under X
|
||||
|
||||
** dooglus@gmail.com, Dec 29: 4 week-old pretest bugs
|
||||
Two GTK version bugs.
|
||||
|
||||
** pgg bugs reported by rms.
|
||||
|
||||
* DOCUMENTATION
|
||||
|
||||
|
37
configure.in
37
configure.in
@ -23,7 +23,7 @@ dnl along with GNU Emacs; see the file COPYING. If not, write to the
|
||||
dnl Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
dnl Boston, MA 02110-1301, USA.
|
||||
|
||||
AC_PREREQ(2.54)dnl
|
||||
AC_PREREQ(2.61)dnl
|
||||
AC_INIT(src/lisp.h)
|
||||
AC_CONFIG_HEADER(src/config.h:src/config.in)
|
||||
|
||||
@ -269,7 +269,6 @@ dnl see the `changequote' comment above.
|
||||
m68k-*-netbsd*)
|
||||
# This is somewhat bogus.
|
||||
machine=hp9000s300 ;;
|
||||
powerpc-apple-netbsd*) machine=macppc ;;
|
||||
mips-*-netbsd*) machine=pmax ;;
|
||||
mipsel-*-netbsd*) machine=pmax ;;
|
||||
mipseb-*-netbsd*) machine=pmax ;;
|
||||
@ -278,6 +277,9 @@ dnl see the `changequote' comment above.
|
||||
sparc*-*-netbsd*) machine=sparc ;;
|
||||
vax-*-netbsd*) machine=vax ;;
|
||||
arm-*-netbsd*) machine=arm ;;
|
||||
x86_64-*-netbsd*) machine=amdx86-64 ;;
|
||||
hppa-*-netbsd*) machine=hp800 ;;
|
||||
shle-*-netbsd*) machine=sh3el ;;
|
||||
esac
|
||||
;;
|
||||
|
||||
@ -1576,9 +1578,30 @@ if test "${with_sound}" != "no"; then
|
||||
fi
|
||||
PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
|
||||
if test $HAVE_ALSA = yes; then
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
SAVE_LDFLAGS="$LDFLAGS"
|
||||
CFLAGS="$ALSA_CFLAGS $CFLAGS"
|
||||
LDFLAGS="$ALSA_LIBS $LDFLAGS"
|
||||
AC_TRY_COMPILE([#include <asoundlib.h>], [snd_lib_error_set_handler (0);],
|
||||
emacs_alsa_normal=yes,
|
||||
emacs_alsa_normal=no)
|
||||
if test "$emacs_alsa_normal" != yes; then
|
||||
AC_TRY_COMPILE([#include <alsa/asoundlib.h>],
|
||||
[snd_lib_error_set_handler (0);],
|
||||
emacs_alsa_subdir=yes,
|
||||
emacs_alsa_subdir=no)
|
||||
if test "$emacs_alsa_subdir" != yes; then
|
||||
AC_MSG_ERROR([pkg-config found alsa, but it does not compile. See config.log for error messages.])
|
||||
fi
|
||||
ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
|
||||
fi
|
||||
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
LDFLAGS="$SAVE_LDFLAGS"
|
||||
LIBSOUND="$LIBSOUND $ALSA_LIBS"
|
||||
CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
|
||||
AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.])
|
||||
AC_SUBST()
|
||||
fi
|
||||
AC_SUBST(CFLAGS_SOUND)
|
||||
fi
|
||||
@ -2052,6 +2075,9 @@ fail;
|
||||
fi
|
||||
|
||||
HAVE_GTK=no
|
||||
if test "${with_gtk}" = "yes" && test "$USE_X_TOOLKIT" = "gtk"; then
|
||||
USE_X_TOOLKIT=none
|
||||
fi
|
||||
if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then
|
||||
if test "$USE_X_TOOLKIT" != "none" && test "$USE_X_TOOLKIT" != "maybe"; then
|
||||
AC_MSG_ERROR([Conflicting options, --with-gtk is incompatible with --with-x-toolkit=${with_x_toolkit}]);
|
||||
@ -2071,6 +2097,13 @@ if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "gtk"; then
|
||||
C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS"
|
||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||
LIBS="$GTK_LIBS $LIBS"
|
||||
dnl Try to compile a simple GTK program.
|
||||
GTK_COMPILES=no
|
||||
AC_CHECK_FUNCS(gtk_main, GTK_COMPILES=yes)
|
||||
if test "${GTK_COMPILES}" != "yes"; then
|
||||
AC_MSG_ERROR([Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?]);
|
||||
fi
|
||||
|
||||
HAVE_GTK=yes
|
||||
AC_DEFINE(HAVE_GTK, 1, [Define to 1 if using GTK.])
|
||||
USE_X_TOOLKIT=none
|
||||
|
@ -1,3 +1,11 @@
|
||||
2006-12-17 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* TUTORIAL: Say that C-d and DEL with arg do killing.
|
||||
|
||||
2006-12-16 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* PROBLEMS: Document problems with rebasing Cygwin DLLs.
|
||||
|
||||
2006-12-08 Michael Olson <mwolson@gnu.org>
|
||||
|
||||
* ERC-NEWS: Note that the list module has been removed.
|
||||
@ -122,8 +130,7 @@
|
||||
|
||||
2006-09-03 Diane Murray <disumu@x3y2z1.net>
|
||||
|
||||
* erc.texi (Getting Started, Connecting): Changed erc-select to
|
||||
erc.
|
||||
* erc.texi (Getting Started, Connecting): Changed erc-select to erc.
|
||||
|
||||
2006-09-02 Juri Linkov <juri@jurta.org>
|
||||
|
||||
@ -1384,7 +1391,7 @@
|
||||
2004-09-16 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* e/eterm.ti: Change the strings for smso and rmso.
|
||||
e/eterm: Regenerate.
|
||||
* e/eterm: Regenerate.
|
||||
|
||||
2004-09-09 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
||||
@ -2527,7 +2534,7 @@
|
||||
* 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
|
||||
* OOOONEWS, OOOONEWS: Nuked. It's version 19 --- nobody needs the
|
||||
version 15 and 17 files anymore.
|
||||
|
||||
All files marked "Nuked" have actually been moved to =-prefixed
|
||||
|
66
etc/NEWS
66
etc/NEWS
@ -6,10 +6,10 @@ See the end for copying conditions.
|
||||
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
|
||||
If possible, use M-x report-emacs-bug.
|
||||
|
||||
This file is about changes in emacs version 22.
|
||||
This file is about changes in Emacs version 22.
|
||||
|
||||
See files NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 for changes
|
||||
in older emacs versions.
|
||||
in older Emacs versions.
|
||||
|
||||
You can narrow news to a specific version by calling `view-emacs-news'
|
||||
with a prefix argument or by typing C-u C-h C-n.
|
||||
@ -756,7 +756,8 @@ when the file name contains wildcard characters.
|
||||
|
||||
+++
|
||||
*** find-alternate-file replaces the current file with multiple files,
|
||||
when the file name contains wildcard characters.
|
||||
when the file name contains wildcard characters. It now asks if you
|
||||
wish save your changes and not just offer to kill the buffer.
|
||||
|
||||
+++
|
||||
*** Auto Compression mode is now enabled by default.
|
||||
@ -990,6 +991,11 @@ 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.
|
||||
|
||||
+++
|
||||
*** If value of `auto-resize-tool-bars' is `grow-only', the tool bar
|
||||
will expand as needed, but not contract automatically. To contract
|
||||
the tool bar, you must type C-l.
|
||||
|
||||
** Cursor display changes:
|
||||
|
||||
+++
|
||||
@ -2105,6 +2111,12 @@ for Emacs 22. In particular, the mode-line is now position sensitive.
|
||||
|
||||
* Changes in Specialized Modes and Packages in Emacs 22.1:
|
||||
|
||||
** Changes in Shell Mode
|
||||
|
||||
*** Shell output normally scrolls so that the input line is at the
|
||||
bottom of the window -- thus showing the maximum possible text. (This
|
||||
is similar to the way sequential output to a terminal works.)
|
||||
|
||||
** Changes in Dired
|
||||
|
||||
+++
|
||||
@ -3378,9 +3390,13 @@ version 5.0.2; see MH-E-NEWS for details.
|
||||
|
||||
** Calendar changes:
|
||||
|
||||
+++
|
||||
*** The meanings of C-x < and C-x > have been interchanged.
|
||||
< means to scroll backward in time, and > means to scroll forward.
|
||||
|
||||
+++
|
||||
*** You can now use < and >, instead of C-x < and C-x >, to scroll
|
||||
the calendar left or right. (The old key bindings still work too.)
|
||||
the calendar left or right.
|
||||
|
||||
+++
|
||||
*** There is a new calendar package, icalendar.el, that can be used to
|
||||
@ -3852,6 +3868,11 @@ w32-use-full-screen-buffer to t.
|
||||
|
||||
* Incompatible Lisp Changes in Emacs 22.1
|
||||
|
||||
+++
|
||||
** The `read-file-name' function now returns a null string if the
|
||||
user just types RET.
|
||||
|
||||
+++
|
||||
** The function find-operation-coding-system may be called with a cons
|
||||
(FILENAME . BUFFER) in the second argument if the first argument
|
||||
OPERATION is `insert-file-contents', and thus a function registered in
|
||||
@ -3890,7 +3911,13 @@ there is no longer a shortage of memory.
|
||||
|
||||
+++
|
||||
** When Emacs receives a USR1 or USR2 signal, this generates
|
||||
input event sequences: [signal usr1] or [signal usr2].
|
||||
input events: sigusr1 or sigusr2. Use special-event-map to
|
||||
handle these events.
|
||||
|
||||
+++
|
||||
** A hex or octal escape in a string constant forces the string to
|
||||
be multibyte or unibyte, respectively.
|
||||
|
||||
|
||||
* Lisp Changes in Emacs 22.1
|
||||
|
||||
@ -4623,6 +4650,10 @@ autoloaded when not really necessary.
|
||||
*** The function `make-auto-save-file-name' is now handled by file
|
||||
name handlers. This will be exploited for remote files mainly.
|
||||
|
||||
+++
|
||||
*** The function `file-name-completion' accepts an optional argument
|
||||
PREDICATE, and rejects completion candidates that don't satisfy PREDICATE.
|
||||
|
||||
** Input changes:
|
||||
|
||||
+++
|
||||
@ -4632,7 +4663,7 @@ maximum time to wait for input, in seconds. If no input arrives after
|
||||
this time elapses, the functions stop waiting and return nil.
|
||||
|
||||
+++
|
||||
*** An interactive specification can now use the code letter 'U' to get
|
||||
*** An interactive specification can now use the code letter `U' to get
|
||||
the up-event that was discarded in case the last key sequence read for a
|
||||
previous `k' or `K' argument was a down-event; otherwise nil is used.
|
||||
|
||||
@ -5588,10 +5619,25 @@ of multiline constructs so that such constructs get properly recognized.
|
||||
** Major mode mechanism changes:
|
||||
|
||||
+++
|
||||
*** `set-auto-mode' now gives the interpreter magic line (if present)
|
||||
precedence over the file name. Likewise an `<?xml' or `<!DOCTYPE'
|
||||
declaration will give the buffer XML or SGML mode, based on the new
|
||||
variable `magic-mode-alist'.
|
||||
*** If new variable `auto-mode-case-fold' is set to a non-nil value,
|
||||
Emacs will perform a second case-insensitive search through
|
||||
`auto-mode-alist' if the first case-sensitive search fails.
|
||||
This means that a file FILE.TXT is opened in text-mode, and a file PROG.PY
|
||||
is opened in python-mode. Note however, that independent of this
|
||||
setting, *.C files are usually recognized as C++ files.
|
||||
It also has no effect on systems with case-insensitive file names.
|
||||
|
||||
+++
|
||||
*** New variable `magic-mode-alist' determines major mode for a file by
|
||||
looking at the file contents. It takes precedence over `auto-mode-alist'.
|
||||
|
||||
+++
|
||||
*** An interpreter magic line (if present) takes precedence over the
|
||||
file name when setting the major mode.
|
||||
|
||||
+++
|
||||
*** XML or SGML major mode is selected when file starts with an `<?xml'
|
||||
or `<!DOCTYPE' declaration.
|
||||
|
||||
+++
|
||||
*** Use the new function `run-mode-hooks' to run the major mode's mode hook.
|
||||
|
28
etc/PROBLEMS
28
etc/PROBLEMS
@ -2119,6 +2119,34 @@ and Shift, the Alt and Shift act as modifiers in the usual way. A
|
||||
more permanent work around is to change it to another key combination,
|
||||
or disable it in the keyboard control panel.
|
||||
|
||||
** Cygwin build of Emacs hangs after rebasing Cygwin DLLs
|
||||
|
||||
Usually, on Cygwin, one needs to rebase the DLLs if an application
|
||||
aborts with a message like this:
|
||||
|
||||
C:\cygwin\bin\python.exe: *** unable to remap C:\cygwin\bin\cygssl.dll to
|
||||
same address as parent(0xDF0000) != 0xE00000
|
||||
|
||||
However, since Cygwin DLL 1.5.17 was released, after such rebasing,
|
||||
Emacs hangs.
|
||||
|
||||
This was reported to happen for Emacs 21.2 and also for the pretest of
|
||||
Emacs 22.1 on Cygwin.
|
||||
|
||||
To work around this, build Emacs like this:
|
||||
|
||||
LDFLAGS='-Wl,--enable-auto-import -Wl,--enable-auto-image-base' ./configure
|
||||
make LD='$(CC)'
|
||||
make LD='$(CC)' install
|
||||
|
||||
This produces an Emacs binary that is independent of rebasing.
|
||||
|
||||
Note that you _must_ use LD='$(CC)' in the last two commands above, to
|
||||
prevent GCC from passing the "--image-base 0x20000000" option to the
|
||||
linker, which is what it does by default. That option produces an
|
||||
Emacs binary with the base address 0x20000000, which will cause Emacs
|
||||
to hang after Cygwin DLLs are rebased.
|
||||
|
||||
** Interrupting Cygwin port of Bash from Emacs doesn't work.
|
||||
|
||||
Cygwin 1.x builds of the ported Bash cannot be interrupted from the
|
||||
|
22
etc/TODO
22
etc/TODO
@ -87,6 +87,8 @@ current buffer.
|
||||
with evaluating definitions of the same function from different files,
|
||||
recording which file the latest definition came from.
|
||||
|
||||
** make back_comment use syntax-ppss or equivalent.
|
||||
|
||||
* Important features:
|
||||
|
||||
** Provide user-friendly ways to list all available font families,
|
||||
@ -493,10 +495,24 @@ but which can also be used as a modifier).
|
||||
|
||||
* Internal changes
|
||||
|
||||
** Merge ibuffer.el and buff-menu.el.
|
||||
More specifically do what's needed to make ibuffer.el the default,
|
||||
or just an extension of buff-menu.el.
|
||||
|
||||
** Use pcomplete by default in shell-mode.
|
||||
This means to make it behave (by default) more like the current code.
|
||||
Use it also for read-shell-command, M-x compile, ...
|
||||
|
||||
** Merge sendmail.el and messages.el.
|
||||
Probably not a complete merge, but at least arrange for messages.el to be
|
||||
a derived mode of sendmail.el. Or arrange for messages.el to be split
|
||||
into a small core and "the rest" so that we use less resources as long as
|
||||
we stick to the features provided in sendmail.el.
|
||||
|
||||
** Replace gmalloc.c with the modified Doug Lea code from the current
|
||||
GNU libc so that the special mmapping of buffers can be removed --
|
||||
that apparently loses under Solaris, at least. [fx has mostly done
|
||||
this.]
|
||||
GNU libc so that the special mmapping of buffers can be removed --
|
||||
that apparently loses under Solaris, at least. [fx has mostly done
|
||||
this.]
|
||||
|
||||
** Rewrite make-docfile to be clean and maintainable.
|
||||
|
||||
|
@ -384,7 +384,8 @@ Reinsertion of killed text is called "yanking". Generally, the
|
||||
commands that can remove a lot of text kill the text (they set up so
|
||||
that you can yank the text), while the commands that remove just one
|
||||
character, or only remove blank lines and spaces, do deletion (so you
|
||||
cannot yank that text).
|
||||
cannot yank that text). <Delback> and C-d do deletion in the simplest
|
||||
case, with no argument. When given an argument, they kill instead.
|
||||
|
||||
>> Move the cursor to the beginning of a line which is not empty.
|
||||
Then type C-k to kill the text on that line.
|
||||
|
@ -1,3 +1,12 @@
|
||||
2006-12-26 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* Makefile.in (datarootdir): Define.
|
||||
|
||||
2006-12-20 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* Makefile.in (leim-list.el): Depend on ${TIT-MISC}, not
|
||||
${NON-TIT-MISC}.
|
||||
|
||||
2006-12-09 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* quail/latin-alt.el ("scandinavian-alt-postfix"): Fix typo.
|
||||
|
@ -29,6 +29,7 @@ SHELL = /bin/sh
|
||||
# Here are the things that we expect ../configure to edit.
|
||||
version=@version@
|
||||
prefix=@prefix@
|
||||
datarootdir=@datarootdir@
|
||||
datadir=@datadir@
|
||||
srcdir=@srcdir@
|
||||
|
||||
@ -203,7 +204,7 @@ changed.misc: ${MISC-SOURCES}
|
||||
-f batch-miscdic-convert -dir quail ${srcdir}/MISC-DIC; \
|
||||
echo "changed" > $@
|
||||
|
||||
leim-list.el: ${SUBDIRS} ${NON-TIT-MISC} changed.tit changed.misc ${srcdir}/leim-ext.el
|
||||
leim-list.el: ${SUBDIRS} ${TIT-MISC} changed.tit changed.misc ${srcdir}/leim-ext.el
|
||||
${RUN-EMACS} -l ${buildlisppath}/international/quail \
|
||||
-f batch-byte-compile-if-not-done ${TIT-MISC:.elc=.el}
|
||||
if [ x`(cd ${srcdir} && /bin/pwd)` = x`(/bin/pwd)` ] ; then \
|
||||
|
1
lib-src/.gitignore
vendored
1
lib-src/.gitignore
vendored
@ -24,3 +24,4 @@ makefile
|
||||
blessmail
|
||||
*-spd
|
||||
*.pdb
|
||||
stamp_BLD
|
||||
|
@ -1,3 +1,36 @@
|
||||
2006-12-28 Francesco Potort,Al(B <pot@gnu.org>
|
||||
|
||||
* etags.c (readline): When creating a relative file name from a
|
||||
#line directive, leave the file name alone. The previous
|
||||
behaviour was to make it relative to the tags file directory,
|
||||
under the hypothesis that the #line directive file name was
|
||||
relative to the directory of the tagged file. That hypothesis is
|
||||
wrong with Cpp and Lex.
|
||||
(Makefile_targets): Do not include spaces in tag names.
|
||||
|
||||
2006-12-22 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in (make-docfile, ctags, etags, ebrowse, hexl)
|
||||
(movemail, fakemail, sorted-doc, digest-doc, emacsclient)
|
||||
(test-distrib, $(DOC), all): depend on stamp_BLD instead of $(BLD).
|
||||
($(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O))
|
||||
($(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O))
|
||||
($(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS))
|
||||
($(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O))
|
||||
($(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O)): Depend on stamp_BLD.
|
||||
(clean): Delete stamp_BLD.
|
||||
|
||||
2006-12-20 Francesco Potort,Al(B <pot@gnu.org>
|
||||
|
||||
* etags.c (C_entries): DEFUN names were longer by one: corrected.
|
||||
|
||||
2006-12-18 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* emacsclient.c [WINDOWSNT] (set_fg, get_wc): New variables.
|
||||
[WINDOWSNT] (w32_find_emacs_process, w32_give_focus): New functions.
|
||||
(main) [WINDOWSNT]: Remove code to release the focus; call
|
||||
w32_give_focus instead.
|
||||
|
||||
2006-12-15 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* emacsclient.c (w32_execvp): New function; wrapper for `execvp'.
|
||||
@ -26,7 +59,7 @@
|
||||
(set_tcp_socket): Make the message for non-local connections
|
||||
informational rather than an error.
|
||||
|
||||
2006-11-28 Kevin Ryde <user42@zip.com.au> (tiny change)
|
||||
2006-11-28 Kevin Ryde <user42@zip.com.au>
|
||||
|
||||
* etags.c (readline): Check for double quote after #line.
|
||||
|
||||
@ -454,10 +487,9 @@
|
||||
|
||||
2005-07-13 Ken Raeburn <raeburn@gnu.org>
|
||||
|
||||
* pop.c: Don't include des.h (or variants thereof); krb.h will do
|
||||
it.
|
||||
(sendline): Add the \r\n to the line in a temporary buffer, and
|
||||
write it all at once.
|
||||
* pop.c: Don't include des.h (or variants thereof); krb.h will do it.
|
||||
(sendline): Add the \r\n to the line in a temporary buffer, and write
|
||||
it all at once.
|
||||
|
||||
2005-07-04 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
@ -497,10 +529,9 @@
|
||||
|
||||
2005-02-04 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* movemail.c (fatal): Accept third parameter and pass down to
|
||||
error.
|
||||
(pfatal_with_name): Pass error string as format parameter instead
|
||||
of as part of format string.
|
||||
* movemail.c (fatal): Accept third parameter and pass down to error.
|
||||
(pfatal_with_name): Pass error string as format parameter instead of
|
||||
as part of format string.
|
||||
(pfatal_and_delete): Likewise.
|
||||
(main): Adjust call to fatal.
|
||||
(xmalloc): Likewise.
|
||||
@ -511,8 +542,7 @@
|
||||
|
||||
2004-12-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* make-docfile.c: Include stdlib.h even if WINDOWSNT is not
|
||||
defined.
|
||||
* make-docfile.c: Include stdlib.h even if WINDOWSNT is not defined.
|
||||
|
||||
2004-12-15 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
@ -578,8 +608,7 @@
|
||||
|
||||
2004-05-10 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
||||
* test-distrib.c (main): For failing cases, exit with
|
||||
`EXIT_FAILURE'.
|
||||
* test-distrib.c (main): For failing cases, exit with `EXIT_FAILURE'.
|
||||
|
||||
2004-05-08 Jason Rumney <jasonr@gnu.org>
|
||||
|
||||
@ -752,8 +781,7 @@
|
||||
|
||||
2003-04-27 Oliver Scholz <alkibiades@gmx.de>
|
||||
|
||||
* update-game-score.c (read_scores): Fix corruption of scores on
|
||||
read.
|
||||
* update-game-score.c (read_scores): Fix corruption of scores on read.
|
||||
|
||||
2003-04-12 Stefan Monnier <monnier@cs.yale.edu>
|
||||
|
||||
|
@ -523,7 +523,7 @@ initialize_sockets ()
|
||||
/*
|
||||
* Read the information needed to set up a TCP comm channel with
|
||||
* the Emacs server: host, port, pid and authentication string.
|
||||
*/
|
||||
*/
|
||||
int
|
||||
get_server_config (server, authentication)
|
||||
struct sockaddr_in *server;
|
||||
@ -845,6 +845,62 @@ set_socket ()
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
#ifdef WINDOWSNT
|
||||
FARPROC set_fg; /* Pointer to AllowSetForegroundWindow. */
|
||||
FARPROC get_wc; /* Pointer to RealGetWindowClassA. */
|
||||
|
||||
BOOL CALLBACK
|
||||
w32_find_emacs_process (hWnd, lParam)
|
||||
HWND hWnd;
|
||||
LPARAM lParam;
|
||||
{
|
||||
DWORD pid;
|
||||
char class[6];
|
||||
|
||||
/* Reject any window not of class "Emacs". */
|
||||
if (! get_wc (hWnd, class, sizeof (class))
|
||||
|| strcmp (class, "Emacs"))
|
||||
return TRUE;
|
||||
|
||||
/* We only need the process id, not the thread id. */
|
||||
(void) GetWindowThreadProcessId (hWnd, &pid);
|
||||
|
||||
/* Not the one we're looking for. */
|
||||
if (pid != (DWORD) emacs_pid) return TRUE;
|
||||
|
||||
/* OK, let's raise it. */
|
||||
set_fg (emacs_pid);
|
||||
|
||||
/* Stop enumeration. */
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Search for a window of class "Emacs" and owned by a process with
|
||||
* process id = emacs_pid. If found, allow it to grab the focus.
|
||||
*/
|
||||
void
|
||||
w32_give_focus ()
|
||||
{
|
||||
HMODULE hUser32;
|
||||
|
||||
/* It should'nt happen when dealing with TCP sockets. */
|
||||
if (!emacs_pid) return;
|
||||
|
||||
if (!(hUser32 = LoadLibrary ("user32.dll"))) return;
|
||||
|
||||
/* Modern Windows restrict which processes can set the foreground window.
|
||||
emacsclient can allow Emacs to grab the focus by calling the function
|
||||
AllowSetForegroundWindow. Unfortunately, older Windows (W95, W98 and
|
||||
NT) lack this function, so we have to check its availability. */
|
||||
if ((set_fg = GetProcAddress (hUser32, "AllowSetForegroundWindow"))
|
||||
&& (get_wc = GetProcAddress (hUser32, "RealGetWindowClassA")))
|
||||
EnumWindows (w32_find_emacs_process, (LPARAM) 0);
|
||||
|
||||
FreeLibrary (hUser32);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
main (argc, argv)
|
||||
int argc;
|
||||
@ -889,24 +945,7 @@ main (argc, argv)
|
||||
}
|
||||
|
||||
#ifdef WINDOWSNT
|
||||
/*
|
||||
Modern Windows restrict which processes can set the foreground window.
|
||||
emacsclient can allow Emacs to grab the focus by calling the function
|
||||
AllowSetForegroundWindow. Unfortunately, older Windows (W95, W98
|
||||
and NT) lack this function, so we have to check its availability.
|
||||
*/
|
||||
if (emacs_pid)
|
||||
{
|
||||
HMODULE hUser32;
|
||||
|
||||
if (hUser32 = LoadLibrary ("user32.dll"))
|
||||
{
|
||||
FARPROC set_fg;
|
||||
if (set_fg = GetProcAddress (hUser32, "AllowSetForegroundWindow"))
|
||||
set_fg (emacs_pid);
|
||||
FreeLibrary (hUser32);
|
||||
}
|
||||
}
|
||||
w32_give_focus ();
|
||||
#endif
|
||||
|
||||
if (nowait)
|
||||
|
@ -41,7 +41,7 @@
|
||||
* configuration file containing regexp definitions for etags.
|
||||
*/
|
||||
|
||||
char pot_etags_version[] = "@(#) pot revision number is $Revision: 3.61 $";
|
||||
char pot_etags_version[] = "@(#) pot revision number is 17.25";
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
@ -3163,7 +3163,7 @@ static void
|
||||
make_C_tag (isfun)
|
||||
bool isfun;
|
||||
{
|
||||
/* This function should never be called when token.valid is FALSE, but
|
||||
/* This function is never called when token.valid is FALSE, but
|
||||
we must protect against invalid input or internal errors. */
|
||||
if (!DEBUG && !token.valid)
|
||||
return;
|
||||
@ -3493,7 +3493,6 @@ C_entries (c_ext, inf)
|
||||
off += 1;
|
||||
len -= 1;
|
||||
}
|
||||
len = toklen;
|
||||
linebuffer_setlen (&token_name, len);
|
||||
strncpy (token_name.buffer,
|
||||
newlb.buffer + off, len);
|
||||
@ -4687,8 +4686,16 @@ Makefile_targets (inf)
|
||||
while (*bp != '\0' && *bp != '=' && *bp != ':')
|
||||
bp++;
|
||||
if (*bp == ':' || (globals && *bp == '='))
|
||||
make_tag (lb.buffer, bp - lb.buffer, TRUE,
|
||||
lb.buffer, bp - lb.buffer + 1, lineno, linecharno);
|
||||
{
|
||||
/* We should detect if there is more than one tag, but we do not.
|
||||
We just skip initial and final spaces. */
|
||||
char * namestart = skip_spaces (lb.buffer);
|
||||
while (--bp > namestart)
|
||||
if (!notinname (*bp))
|
||||
break;
|
||||
make_tag (namestart, bp - namestart + 1, TRUE,
|
||||
lb.buffer, bp - lb.buffer + 2, lineno, linecharno);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6278,7 +6285,7 @@ readline (lbp, stream)
|
||||
name = lbp->buffer + start;
|
||||
*endp = '\0';
|
||||
canonicalize_filename (name); /* for DOS */
|
||||
taggedabsname = absolute_filename (name, curfdp->infabsdir);
|
||||
taggedabsname = absolute_filename (name, tagfiledir);
|
||||
if (filename_is_absolute (name)
|
||||
|| filename_is_absolute (curfdp->infname))
|
||||
taggedfname = savestr (taggedabsname);
|
||||
|
@ -24,7 +24,7 @@ ALL = make-docfile hexl ctags etags movemail ebrowse sorted-doc digest-doc emacs
|
||||
|
||||
.PHONY: $(ALL)
|
||||
|
||||
VERSION = 22.0.91
|
||||
VERSION = 22.0.92
|
||||
|
||||
LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \
|
||||
-DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \
|
||||
@ -45,18 +45,18 @@ $(BLD)/digest-doc.exe: $(BLD)/digest-doc.$(O)
|
||||
$(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O)
|
||||
$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS)
|
||||
|
||||
make-docfile: $(BLD) $(BLD)/make-docfile.exe
|
||||
ctags: $(BLD) $(BLD)/ctags.exe
|
||||
etags: $(BLD) $(BLD)/etags.exe
|
||||
ebrowse: $(BLD) $(BLD)/ebrowse.exe
|
||||
hexl: $(BLD) $(BLD)/hexl.exe
|
||||
movemail: $(BLD) $(BLD)/movemail.exe
|
||||
fakemail: $(BLD) $(BLD)/fakemail.exe
|
||||
sorted-doc: $(BLD) $(BLD)/sorted-doc.exe
|
||||
digest-doc: $(BLD) $(BLD)/digest-doc.exe
|
||||
emacsclient: $(BLD) $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe
|
||||
make-docfile: stamp_BLD $(BLD)/make-docfile.exe
|
||||
ctags: stamp_BLD $(BLD)/ctags.exe
|
||||
etags: stamp_BLD $(BLD)/etags.exe
|
||||
ebrowse: stamp_BLD $(BLD)/ebrowse.exe
|
||||
hexl: stamp_BLD $(BLD)/hexl.exe
|
||||
movemail: stamp_BLD $(BLD)/movemail.exe
|
||||
fakemail: stamp_BLD $(BLD)/fakemail.exe
|
||||
sorted-doc: stamp_BLD $(BLD)/sorted-doc.exe
|
||||
digest-doc: stamp_BLD $(BLD)/digest-doc.exe
|
||||
emacsclient: stamp_BLD $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe
|
||||
|
||||
test-distrib: $(BLD) $(BLD)/test-distrib.exe
|
||||
test-distrib: stamp_BLD $(BLD)/test-distrib.exe
|
||||
"$(BLD)/test-distrib.exe" "$(SRC)/testfile"
|
||||
|
||||
GETOPTOBJS = $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O)
|
||||
@ -275,7 +275,7 @@ lisp2 = \
|
||||
- $(DEL) temacs.exe
|
||||
|
||||
DOC = DOC
|
||||
$(DOC): $(BLD) $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2)
|
||||
$(DOC): stamp_BLD $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2)
|
||||
- $(DEL) $(DOC)
|
||||
"$(THISDIR)/$(BLD)/make-docfile" -o $(DOC) -d ../src $(obj)
|
||||
"$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp1)
|
||||
@ -291,7 +291,7 @@ $(DOC): $(BLD) $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp
|
||||
#
|
||||
# Build the executables
|
||||
#
|
||||
all: $(BLD) $(ALL) $(DOC)
|
||||
all: stamp_BLD $(ALL) $(DOC)
|
||||
|
||||
#
|
||||
# Assuming INSTALL_DIR is defined, build and install emacs in it.
|
||||
@ -319,6 +319,7 @@ clean:
|
||||
- $(DEL) ctags.c
|
||||
- $(DEL) getopt.h
|
||||
- $(DEL_TREE) $(OBJDIR)
|
||||
- $(DEL) stamp_BLD
|
||||
|
||||
cleanall: clean
|
||||
- $(DEL_TREE) obj
|
||||
@ -472,3 +473,16 @@ $(BLD)/timer.$(O) : \
|
||||
$(EMACS_ROOT)/src/s/ms-w32.h \
|
||||
$(EMACS_ROOT)/src/m/intel386.h \
|
||||
$(EMACS_ROOT)/lib-src/../src/config.h
|
||||
|
||||
# The following dependencies are for supporting parallel builds, where
|
||||
# we must make sure $(BLD) exists before any compilation starts.
|
||||
#
|
||||
$(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O): stamp_BLD
|
||||
|
||||
$(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O): stamp_BLD
|
||||
|
||||
$(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS): stamp_BLD
|
||||
|
||||
$(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD
|
||||
|
||||
$(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O): stamp_BLD
|
||||
|
406
lisp/ChangeLog
406
lisp/ChangeLog
@ -1,10 +1,404 @@
|
||||
2006-12-31 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* net/tramp.el (tramp-default-method): Don't use `symbol-function'.
|
||||
|
||||
2006-12-31 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* files.el (auto-mode-case-fold): New defcustom.
|
||||
(set-auto-mode): If non-nil, perform second case-sensitive pass
|
||||
through auto-mode-alist if first pass failed.
|
||||
|
||||
2006-12-30 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* emacs-lisp/easy-mmode.el (define-global-minor-mode): Doc fix.
|
||||
|
||||
2006-12-30 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* allout.el (allout-encrypt-string): Handle symmetric-key
|
||||
passphrase caching but leave keypair caching to pgg.
|
||||
|
||||
2006-12-30 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
Sync with Tramp 2.0.55.
|
||||
|
||||
* net/tramp.el (tramp-completion-mode): Use `wholenump' instead of
|
||||
`integerp'. `char-equal' could fail else in case of negative
|
||||
numbers. Reported by Toby Speight <T.M.Speight.90@cantab.net>.
|
||||
(top): Check for `font-lock-add-keywords' before calling; it
|
||||
doesn't exist under XEmacs.
|
||||
(tramp-yn-prompt-regexp): Fix regexp. Add question from plink.
|
||||
(tramp-completion-mode): Remove clause (not
|
||||
tramp-unified-filenames), because the function is called in other
|
||||
context too, where this check results in wrong results in the
|
||||
XEmacs case on Windows.
|
||||
(tramp-touch): UTC handling is not possible for XEmacs.
|
||||
|
||||
2006-12-30 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* scroll-bar.el (previous-scroll-bar-mode): New variable
|
||||
(set-scroll-bar-mode): Set previous-scroll-bar-mode.
|
||||
(scroll-bar-mode): Use previous-scroll-bar-mode if set.
|
||||
|
||||
* term/x-win.el: Set scroll bar mode to right if set by X resources.
|
||||
|
||||
2006-12-30 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* files.el (make-backup-file-name-1): Precompute abs name
|
||||
but don't lose the relative name.
|
||||
|
||||
* international/mule-cmds.el (select-safe-coding-system-interactively):
|
||||
Fix message.
|
||||
|
||||
2006-12-30 Kevin Rodgers <kevin.d.rodgers@gmail.com>
|
||||
|
||||
* files.el (backup-buffer): Show entire backup file name in msg.
|
||||
|
||||
2006-12-30 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* image.el (image-type-header-regexps, image-type-from-data)
|
||||
(image-type-from-buffer, image-type-from-file-header):
|
||||
Revert changes from 2006-12-26.
|
||||
(image-type-auto-detectable): New variable.
|
||||
(image-type-auto-detected-p): New function.
|
||||
|
||||
* files.el (magic-mode-alist): Detect image files with
|
||||
`image-type-auto-detected-p' instead of `image-type-from-buffer'.
|
||||
|
||||
2006-12-29 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* dired.el (dired-sort-other): Move test for dired-mode...
|
||||
(dired-sort-set-modeline): ...to here.
|
||||
|
||||
2006-12-29 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org>
|
||||
|
||||
* textmodes/fill.el (fill-comment-paragraph): Document 2006-12-24
|
||||
change. Suggested by Stefan Monnier.
|
||||
|
||||
2006-12-29 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* emacs-lisp/bindat.el (bindat--unpack-group, bindat--length-group)
|
||||
(bindat--pack-group): Let-bind COUNT during repeat block evaluation.
|
||||
|
||||
2006-12-27 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* emacs-lisp/authors.el (authors-aliases): Anchor FSF alias regexp,
|
||||
so it doesn't accidentally match an fsf.org mail address.
|
||||
(authors-renamed-files-alist): Add tcover-*.el.
|
||||
|
||||
2006-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* vc-arch.el (vc-arch-find-version): New function.
|
||||
|
||||
* vc-hooks.el (vc-version-backup-file-name): Revision names may be
|
||||
composed of arbitrary characters (even /) in some systems.
|
||||
|
||||
2006-12-27 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* international/mule-cmds.el (select-safe-coding-system-interactively):
|
||||
Improve the message in the *Warning* buffer.
|
||||
|
||||
2006-12-27 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* ido.el (ido-set-matches-1): Fix last change. If default item is
|
||||
current buffer, it is ok to be first.
|
||||
|
||||
2006-12-27 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* international/mule-cmds.el (select-safe-coding-system-interactively):
|
||||
Improve the message in *Warning* buffer.
|
||||
|
||||
2006-12-27 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* ido.el (ido-set-matches-1): Never put current buffer first if
|
||||
there are other matches.
|
||||
|
||||
2006-12-26 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* progmodes/gdb-ui.el (gud-watch): Allow duplicate names for watch
|
||||
expressions.
|
||||
(gdb-var-delete): Handle duplicate names. Print message for non
|
||||
root expressions.
|
||||
(gdb-partial-output-name): Start buffer name with a space.
|
||||
(gdb-info-breakpoints-custom, gdb-reset): Handle space in above
|
||||
buffer name.
|
||||
|
||||
2006-12-26 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org>
|
||||
|
||||
* mail/footnote.el (Footnote-insert-footnote): Fix the search of the
|
||||
last footnote when `footnote-spaced-footnotes' is nil.
|
||||
|
||||
2006-12-26 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* cus-edit.el (custom-browse-sort-alphabetically)
|
||||
(custom-buffer-sort-alphabetically)
|
||||
(custom-menu-sort-alphabetically): Doc fixes. Add autoloads.
|
||||
|
||||
* image.el (image-type-header-regexps): Change element format
|
||||
to include third item NOT-ALWAYS.
|
||||
(image-type-from-data): Handle new format.
|
||||
(image-type-from-buffer): Handle new format. New arg INCLUDE-MAYBES.
|
||||
(image-type-from-file-header): Pass t for INCLUDE-MAYBES.
|
||||
|
||||
2006-12-26 Guanpeng Xu <herberteuler@hotmail.com> (tiny change)
|
||||
|
||||
* add-log.el (add-log-current-defun): Call `forward-sexp'
|
||||
multiple times to pick a member function name defined as
|
||||
part of nested classes/namespaces.
|
||||
|
||||
2006-12-26 Vinicius Jose Latorre <viniciusjl@ig.com.br>
|
||||
|
||||
* emacs-lisp/easymenu.el (easy-menu-change): New arg MAP to indicate
|
||||
which keymap should be used to change menu. It does not affect any
|
||||
existent code.
|
||||
|
||||
2006-12-26 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* textmodes/fill.el (fill-paragraph): Check for a minibuffer
|
||||
rather than for being in a minibuffer window.
|
||||
|
||||
2006-12-25 Daiki Ueno <ueno@unixuser.org>
|
||||
|
||||
* pgg-def.el (pgg-passphrase-coding-system): Default to nil instead of
|
||||
locale-coding-system.
|
||||
* pgg-gpg.el (pgg-gpg-process-region): Encode passphrase with eol-type
|
||||
LF.
|
||||
|
||||
2006-12-25 Michael R. Mauger <mmaug@yahoo.com>
|
||||
|
||||
* progmodes/sql.el (sql-mode-abbrev-table): Corrected initialization.
|
||||
(sql-mode-syntax-table): Disable double quoted strings.
|
||||
(sql-mode-font-lock-object-name): Added TYPE and TYPE BODY.
|
||||
|
||||
2006-12-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* startup.el (fancy-splash-last-input-event): New variable.
|
||||
(fancy-splash-special-event-action): New function.
|
||||
(fancy-splash-screens): Temporarily bind special events to it.
|
||||
Execute command for saved special event before exiting from
|
||||
recursive editing.
|
||||
|
||||
* term/mac-win.el (mac-keyboard-translate-char, mac-unread-string):
|
||||
New functions.
|
||||
(mac-ts-update-active-input-area, mac-ts-unicode-for-key-event):
|
||||
Use mac-unread-string.
|
||||
|
||||
2006-12-24 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org>
|
||||
|
||||
* textmodes/fill.el (fill-comment-paragraph): Prevent the use of
|
||||
an optimized comment regexp if `comment-start-skip' uses a ^.
|
||||
* bs.el (bs--up): Remove interactive spec.
|
||||
|
||||
2006-12-24 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* woman.el (woman-decode-buffer): Signal error for alien macro sets.
|
||||
Suggested by James Cloos.
|
||||
|
||||
2006-12-24 Kevin Ryde <user42@zip.com.au>
|
||||
|
||||
* calendar/cal-dst.el (calendar-dst-starts): Default to second Sunday
|
||||
in March.
|
||||
(calendar-dst-ends): Default to first Sunday in November.
|
||||
|
||||
2006-12-24 Ken Manheimer <ken.manheimer@gmail.com>
|
||||
|
||||
* allout.el (allout-encrypt-string): Inhibit use of agent within
|
||||
body of let form where encryption happens. Acknowledge non-use of
|
||||
gpg-agent in docstring.
|
||||
(allout-toggle-subtree-encryption): Acknowledge non-use of
|
||||
gpg-agent in docstring.
|
||||
|
||||
2006-12-24 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* custom.el (custom-add-frequent-value): Alias for custom-add-option.
|
||||
|
||||
2006-12-23 Michael Kifer <kifer@cs.stonybrook.edu>
|
||||
|
||||
* ediff-diff.el (ediff-diff-options): Clarify docstring.
|
||||
(ediff-setup-diff-regions): Disallow -u in ediff-diff-options.
|
||||
|
||||
* viper-cmd.el (viper-post-command-sentinel): Protect against errors
|
||||
in hooks.
|
||||
(viper-add-newline-at-eob-if-necessary): Add newline only if we
|
||||
actually modify buffer; ignore errors if occur.
|
||||
|
||||
2006-12-23 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* calendar/calendar.el (calendar-mode-map): Switch < and >.
|
||||
(calendar-mode-line-format): Use mouse-1 bindings, and tweak
|
||||
formatting.
|
||||
|
||||
2006-12-23 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* simple.el (delete-horizontal-space): Doc fix.
|
||||
|
||||
2006-12-23 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in (bootstrap-clean): Run bootstrap-clean-$(SHELLTYPE)
|
||||
explicitly in a recursive Make, not implicitly through prerequisites,
|
||||
since the latter is wrong under parallel builds.
|
||||
|
||||
2006-12-22 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* w32-fns.el (convert-standard-filename): Wrap in save-match-data.
|
||||
|
||||
2006-12-22 Kevin Rodgers <kevin.d.rodgers@gmail.com> (tiny change)
|
||||
|
||||
* progmodes/sh-script.el (sh-make-vars-local): Fix a typo in
|
||||
message string.
|
||||
|
||||
2006-12-22 Ben North <ben@redfrontdoor.org> (tiny change)
|
||||
|
||||
* outline.el (outline-next-visible-heading): Fix the case with a
|
||||
header at end-of-file with no final newline.
|
||||
|
||||
2006-12-22 Robert Thorpe <rthorpe@realworldtech.com> (tiny change)
|
||||
|
||||
* indent.el (tab-always-indent): Doc fix.
|
||||
|
||||
2006-12-22 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* info.el (Info-fontify-maximum-menu-size): Bump to 1000000.
|
||||
(Info-fontify-node): Do fontify indices.
|
||||
|
||||
* tutorial.el (tutorial--detailed-help): Remove unnecessary link
|
||||
to the Emacs Lisp reference manual.
|
||||
(tutorial--tab-map): Remove. All callers changed.
|
||||
(tutorial--find-changed-keys): New elt QUIET, used to...
|
||||
(tutorial--display-changes): ...ensure that warning messages are
|
||||
only issued once per changed key.
|
||||
(tutorial--remove-remarks): Delete unused code-path.
|
||||
(lang-strings): Remove extraneous formatting.
|
||||
(tutorial--save-tutorial): Prompt before saving tutorial state.
|
||||
|
||||
2006-12-21 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* tutorial.el: Remove `cl' requirement. Clean up whitespace.
|
||||
Replace '?\ ' by '?\s' throughout.
|
||||
(tutorial-warning-face): Inherit font-lock-warning-face. Move to
|
||||
`help' custom group.
|
||||
(tutorial--key-description): New function.
|
||||
(tutorial--display-changes): Remove redundant arg. Scan for all
|
||||
key sequences to avoid false matches. Cleanup.
|
||||
(tutorial--saved-dir): Save to a subdirectory in .emacs.d to
|
||||
reduce homedir pollution.
|
||||
(help-with-tutorial): Call tutorial--display-changes with no arg.
|
||||
|
||||
2006-12-21 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* textmodes/org.el (org-mode-map): Bind org-complete also to M-\t.
|
||||
|
||||
2006-12-20 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* net/tramp.el (tramp-default-method): We still need to check for
|
||||
`executable-find', because it is not bound under Emacs 20.
|
||||
(tramp-handle-file-name-completion)
|
||||
(tramp-completion-handle-file-name-completion): Handle optional
|
||||
parameter PREDICATE.
|
||||
(tramp-find-default-method): Add code for default values.
|
||||
|
||||
2006-12-20 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* progmodes/gdb-ui.el (gdb-stopped): After attaching to a process
|
||||
make gud-go send "continue".
|
||||
|
||||
2006-12-19 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* image.el (image-type-header-regexps): Be more specific detecting `pbm'
|
||||
and `png' files. Use non-capturing parenthesis for `tiff' regexp.
|
||||
|
||||
2006-12-19 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* bindings.el: Bind sigusr1 and sigusr2 in special-event-map
|
||||
instead of global-map.
|
||||
|
||||
* files.el (magic-mode-alist): Allow matching file type by
|
||||
calling a function at bob. Check for image types by calling
|
||||
image-type-from-buffer. Suggested by Juanma Barranquero.
|
||||
(set-auto-mode): Do it.
|
||||
|
||||
2006-12-19 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* net/tramp.el (tramp-methods): Introduce new method `scpc'.
|
||||
Remove "ControlMaster" option from the other `scp*' methods.
|
||||
(tramp-default-method): Check for ssh-agent before setting to `scp'.
|
||||
|
||||
2006-12-18 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* textmodes/org.el (org-mode): Show context after isearch.
|
||||
(org-show-siblings): New function.
|
||||
(org-show-context): Use `org-show-siblings'.
|
||||
|
||||
2006-12-18 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/syntax.el (syntax-ppss-flush-cache, syntax-ppss):
|
||||
Use syntax-ppss-toplevel-pos.
|
||||
|
||||
2006-12-18 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* textmodes/org.el (org-current-line): Make sure that lines are
|
||||
counted from beginning of buffer.
|
||||
(org-table-copy-region, org-table-paste-rectangle): Make sure that
|
||||
lines are counted from beginning of buffer.
|
||||
|
||||
2006-12-17 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* info.el (Info-build-node-completions): Signal error if tag-table
|
||||
marker is not found.
|
||||
|
||||
* pgg-gpg.el (pgg-gpg-use-agent): Default to t.
|
||||
|
||||
2006-12-17 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
* emacs-lisp/lisp.el (beginning-of-defun-raw): Optimise (for
|
||||
speed) the case when open-paren-in-column-0-is-defun-start is nil.
|
||||
Based on code by Martin Rudalics.
|
||||
|
||||
* progmodes/cc-mode.el (c-basic-common-init): Don't set
|
||||
open-paren-in-column-0-is-defun-start to nil any more.
|
||||
|
||||
2006-12-17 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* simple.el (delete-horizontal-space): Use prefix arg.
|
||||
|
||||
* help-fns.el (describe-variable): Improve blank separator lines.
|
||||
|
||||
* files.el (magic-mode-alist): Mark as risky.
|
||||
|
||||
* files.el (make-backup-file-name-1):
|
||||
Expand backup-directory explicitly.
|
||||
|
||||
2006-12-17 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* net/tramp.el (tramp-default-method): Before setting to "pscp",
|
||||
check whether package password.el is loaded, or Pageant is running.
|
||||
|
||||
2006-12-17 Ulf Jasper <ulf.jasper@web.de>
|
||||
|
||||
* calendar/icalendar.el (icalendar-version): Increase to "0.14".
|
||||
(icalendar--rris): First try Emacs, then XEmacs.
|
||||
(icalendar--convert-ical-to-diary): Doc fix.
|
||||
Insert newline at end of target file.
|
||||
|
||||
2006-12-17 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* outline.el (outline-isearch-open-invisible-function): New defvar.
|
||||
(outline-flag-region): Use it if non-nil for isearch-open-invisible
|
||||
overlay property instead of outline-isearch-open-invisible.
|
||||
|
||||
2006-12-16 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* ido.el (ido-completion-help): Build ido-cur-list and ido-matches
|
||||
if ido-directory-too-big is set on entry.
|
||||
(ido-toggle-ignore, ido-completion-help): Print message while
|
||||
reading big directory.
|
||||
|
||||
2006-12-15 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* shell.el (shell): Doc fix.
|
||||
|
||||
2006-12-15 Kevin Gallagher <Kevin.Gallagher@boeing.com>
|
||||
|
||||
* emulation/edt.el (edt-xserver):
|
||||
* emulation/edt.el (edt-xserver):
|
||||
* emulation/edt-mapper.el (edt-xserver): Replace `/' with a `-',
|
||||
to fix a problem on Cygwin.
|
||||
|
||||
@ -2706,7 +3100,7 @@
|
||||
|
||||
* add-log.el (add-log-current-defun): Use `forward-sexp'
|
||||
instead of `forward-word' to pick c++::symbol.
|
||||
Reported by Herbert Euler <herberteuler@hotmail.com>.
|
||||
Reported by Guanpeng Xu <herberteuler@hotmail.com>.
|
||||
|
||||
2006-09-22 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
@ -3335,7 +3729,7 @@
|
||||
|
||||
2006-09-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* term/mac-win.el: (show-hide-font-panel): New HI command ID symbol.
|
||||
* term/mac-win.el (show-hide-font-panel): New HI command ID symbol.
|
||||
(mac-apple-event-map): Define its handler.
|
||||
|
||||
2006-09-07 Toby Allsopp <Toby.Allsopp@navman.com> (tiny change)
|
||||
@ -4547,7 +4941,7 @@
|
||||
|
||||
2006-07-20 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* calc.el (calc-previous-alg-entry): Remove variable.
|
||||
* calc.el (calc-previous-alg-entry): Remove variable.
|
||||
|
||||
* calc-aent.el (calc-alg-entry-history, calc-quick-calc-history):
|
||||
New variables.
|
||||
@ -6085,8 +6479,8 @@
|
||||
load-path. Put a regexp matching the file name into
|
||||
after-load-alist, rather than the name itself.
|
||||
|
||||
* subr.el: New functions load-history-regexp,
|
||||
load-history-filename-element, do-after-load-evaluation.
|
||||
* subr.el (load-history-regexp, load-history-filename-element)
|
||||
(do-after-load-evaluation): New functions.
|
||||
|
||||
* international/mule.el (load-with-code-conversion): Do the
|
||||
eval-after-load stuff by calling do-after-load-evaluation.
|
||||
|
@ -68,9 +68,9 @@
|
||||
superseding the old separate derived mode in awk-mode.el.
|
||||
|
||||
* progmodes/cc-vars.el, cc-mode-19.el, progmodes/cc-langs.el,
|
||||
progmodes/cc-mode.el, progmodes/cc-defs.el,
|
||||
progmodes/cc-engine.el, progmodes/cc-fonts.el: Changes for the
|
||||
new AWK support.
|
||||
* progmodes/cc-mode.el, progmodes/cc-defs.el,
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el:
|
||||
Changes for the new AWK support.
|
||||
|
||||
2003-07-03 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
@ -101,7 +101,7 @@
|
||||
emacsen that doesn't have it.
|
||||
|
||||
* progmodes/cc-styles.el, progmodes/cc-vars.el,
|
||||
progmodes/cc-cmds.el: Fixes for the syntactic symbols for
|
||||
* progmodes/cc-cmds.el: Fixes for the syntactic symbols for
|
||||
module and composition blocks.
|
||||
|
||||
* progmodes/cc-mode.el (c-basic-common-init):
|
||||
@ -122,8 +122,8 @@
|
||||
macros in C99.
|
||||
|
||||
* progmodes/cc-menus.el, progmodes/cc-langs.el,
|
||||
progmodes/cc-engine.el, progmodes/cc-fonts.el,
|
||||
progmodes/cc-cmds.el: Fixed various regexps to use POSIX char
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el,
|
||||
* progmodes/cc-cmds.el: Fixed various regexps to use POSIX char
|
||||
classes when that is supported.
|
||||
|
||||
* progmodes/cc-defs.el (c-alpha, c-alnum, c-digit, c-upper, c-lower):
|
||||
@ -170,7 +170,6 @@
|
||||
|
||||
* progmodes/cc-engine.el: Fixes in face handling to cope with
|
||||
doc comments.
|
||||
|
||||
(c-find-decl-spots): More failsafe skipping of comments and
|
||||
strings that only have been partially fontified.
|
||||
|
||||
@ -494,7 +493,6 @@
|
||||
|
||||
* progmodes/cc-defs.el (c-(up|down)-list-(forward|backward)):
|
||||
Make the position optional and added docstrings.
|
||||
|
||||
(c-go-(up|down)-list-(forward|backward)): Add variants of the
|
||||
above that move point and return successfulness instead.
|
||||
|
||||
@ -668,10 +666,9 @@
|
||||
each (X)Emacs flavor.
|
||||
|
||||
* progmodes/cc-vars.el, progmodes/cc-defs.el,
|
||||
progmodes/cc-engine.el, progmodes/cc-mode.el:
|
||||
* progmodes/cc-engine.el, progmodes/cc-mode.el:
|
||||
Use `lookup-syntax-properties' in XEmacs to control whether the
|
||||
syntax-table property has any effect or not.
|
||||
|
||||
(c-parse-sexp-lookup-properties): New macro that expands to either
|
||||
`parse-sexp-lookup-properties' or `lookup-syntax-properties'.
|
||||
|
||||
@ -750,12 +747,12 @@
|
||||
in progmodes/cc-engine.el.
|
||||
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el,
|
||||
progmodes/cc-langs.el: Fix the names on a number of regexp
|
||||
* progmodes/cc-langs.el: Fix the names on a number of regexp
|
||||
language variables to conform to the nomenclature and
|
||||
shortened some names.
|
||||
|
||||
* progmodes/cc-align.el, progmodes/cc-cmds.el,
|
||||
progmodes/cc-fonts.el, progmodes/cc-engine.el
|
||||
* progmodes/cc-fonts.el, progmodes/cc-engine.el
|
||||
(c-syntactic-re-search-forward): Remove the COUNT argument
|
||||
since it's never used. Add an argument to tell which
|
||||
subexpression whose end should be tested for syntactic
|
||||
@ -803,7 +800,6 @@
|
||||
This fixes a performance problem that could occur when
|
||||
`fill-paragraph' is used in font lock mode on a comment at the
|
||||
end of a large class or function.
|
||||
|
||||
(c-state-cache-start): Fix buffer localness.
|
||||
|
||||
* progmodes/cc-langs.el: Updates from the C99 standard (or
|
||||
@ -842,7 +838,6 @@
|
||||
table for types: If a name is recognized as a type in a
|
||||
declaration it's added in an obarray to be able to recognize
|
||||
it in other ambiguous declarations.
|
||||
|
||||
(c-remove-ws): New helper function to canonicalize fully
|
||||
qualified identifiers for `c-found-types'.
|
||||
|
||||
@ -851,14 +846,12 @@
|
||||
|
||||
* progmodes/cc-align.el (c-lineup-arglist-close-under-paren):
|
||||
Work correctly with nested arglist-cont-nonempty symbols.
|
||||
|
||||
(c-lineup-arglist-operators): New lineup function to line up infix
|
||||
operators under the open paren of the surrounding sexp.
|
||||
|
||||
* progmodes/cc-engine.el (c-forward-syntactic-ws): Fix a bug
|
||||
that could cause an infinite loop if something that looks like
|
||||
a macro begins in the middle of a line.
|
||||
|
||||
(c-parse-state): Fix a bug that could cause `c-state-cache'
|
||||
to contain two conses in sequence when there's an unbalanced
|
||||
open paren in a macro.
|
||||
@ -874,13 +867,11 @@
|
||||
string, or a macro.
|
||||
|
||||
* progmodes/cc-align.el, progmodes/cc-cmds.el,
|
||||
progmodes/cc-engine.el (c-forward-single-comment,
|
||||
c-forward-comments, c-backward-single-comment,
|
||||
c-backward-comments): New replacements for `c-forward-comment'
|
||||
that wraps `forward-comment' more efficiently in each of the
|
||||
four different cases it's actually used. These replacements
|
||||
also treats line continuations as whitespace.
|
||||
|
||||
* progmodes/cc-engine.el (c-forward-single-comment)
|
||||
(c-forward-comments, c-backward-single-comment, c-backward-comments):
|
||||
New replacements for `c-forward-comment' that wraps `forward-comment'
|
||||
more efficiently in each of the four different cases it's actually
|
||||
used. These replacements also treats line continuations as whitespace.
|
||||
(c-forward-comment): Remove. The four different cases above
|
||||
are basically different, so it's better to make them into
|
||||
separate functions than choose between them at runtime using
|
||||
@ -936,7 +927,7 @@
|
||||
matter.
|
||||
|
||||
* progmodes/cc-align.el, progmodes/cc-defs.el,
|
||||
progmodes/cc-engine.el, progmodes/cc-vars.el
|
||||
* progmodes/cc-engine.el, progmodes/cc-vars.el
|
||||
(c-guess-basic-syntax, c-calc-offset)
|
||||
(c-get-syntactic-indentation, c-syntactic-context):
|
||||
Extend the representation of the syntactic context: Previously it was
|
||||
@ -990,16 +981,13 @@
|
||||
position for defun-open in K&R style functions.
|
||||
|
||||
* progmodes/cc-engine.el (c-in-knr-argdecl): Don't trip up on macros.
|
||||
|
||||
(c-search-decl-header-end): Handle C++ template arguments more
|
||||
correctly.
|
||||
|
||||
(c-beginning-of-decl-1): Fix when the declaration is first in a macro.
|
||||
|
||||
* progmodes/cc-engine.el (c-beginning-of-decl-1): Better way
|
||||
to handle protection labels, one which doesn't get confused by
|
||||
inherit colons.
|
||||
|
||||
(c-end-of-decl-1): Don't treat functions that have "class" or
|
||||
"struct" in the return type as classes or structs.
|
||||
|
||||
@ -1230,7 +1218,7 @@
|
||||
(tramp-file-name-handler): Do not invoke the old remote-shell handler.
|
||||
(tramp-find-foreign-file-name-handler): Return after first match
|
||||
is found. From Francis Litterio <franl@world.std.com>.
|
||||
(tramp-handle-file-newer-than-file-p): `tramp-time-diff' returns
|
||||
(tramp-handle-file-newer-than-file-p): `tramp-time-diff' returns
|
||||
integer, not list. Do not apply `car' to the return value of
|
||||
`tramp-time-diff'. Reported by David D. Smith
|
||||
<ultrasoul@ultrasoul.com>.
|
||||
@ -1460,7 +1448,7 @@
|
||||
|
||||
* info.el (Info-fontify-node): Don't refill over lines ending in a
|
||||
period; this should fix problems with lists like one in the
|
||||
(emacs)Library Keywords section.
|
||||
"(emacs)Library Keywords" section.
|
||||
|
||||
2003-06-05 Markus Rost <rost@math.ohio-state.edu>
|
||||
|
||||
@ -1652,7 +1640,7 @@
|
||||
* textmodes/bibtex.el: Long overdue merge.
|
||||
Don't require `compile' since it seems unnecessary.
|
||||
For all internal variables and functions the docstring comments have
|
||||
been converted into proper docstrings
|
||||
been converted into proper docstrings.
|
||||
(bibtex-maintainer-address, bibtex-maintainer-salutation)
|
||||
(bibtex-version): Remove support for bug reporting.
|
||||
(bibtex-field-delimiters, bibtex-entry-delimiters)
|
||||
@ -2012,7 +2000,7 @@
|
||||
|
||||
* international/mule.el (ctext-non-standard-encodings-alist):
|
||||
Rename from non-standard-icccm-encodings-alist.
|
||||
(ctext-non-standard-encodings-regexp): New variable
|
||||
(ctext-non-standard-encodings-regexp): New variable.
|
||||
(ctext-post-read-conversion): Full rewrite.
|
||||
(ctext-non-standard-designations-alist): Rename from
|
||||
non-standard-designations-alist.
|
||||
@ -2182,7 +2170,7 @@
|
||||
(gdb-display-source-buffer): Display assembler during execution,
|
||||
when requested.
|
||||
(gud-menu-map): Add a toggle button to menubar for gdb-many-windows.
|
||||
(gdb-many-windows): Define explicitly as a function and a variable
|
||||
(gdb-many-windows): Define explicitly as a function and a variable.
|
||||
(formerly as a minor mode). These need to be global so layout can
|
||||
be reset from any buffer.
|
||||
(gdb-assembler-mode): Keep fringe outside margin as the overlay
|
||||
@ -2674,7 +2662,7 @@
|
||||
(gdb-invalidate-breakpoints-and-assembler): Remove.
|
||||
(gdb-current-address): Remove.
|
||||
(gdb-previous-address): New variable.
|
||||
(gud-until): Extend to work in Assembler buffer
|
||||
(gud-until): Extend to work in Assembler buffer.
|
||||
(gdb-append-to-inferior-io): Select IO buffer when there is output.
|
||||
(gdb-assembler-custom): Try to get line marker (arrow) to display
|
||||
in window. Correct parsing for OS dependent output syntax of Gdb
|
||||
@ -3343,7 +3331,7 @@
|
||||
(ada-prj-find-prj-file): New parameter FILE.
|
||||
(ada-parse-prj-file): Take into account the ADA_INCLUDE_PATH and
|
||||
ADA_OBJECTS_PATH environment variables. Minor reorganization of the
|
||||
code
|
||||
code.
|
||||
(ada-get-all-references): Add support for GNAT 3.16 cross-references.
|
||||
|
||||
* progmodes/ada-prj.el (ada-prj-add-keymap): Move to ada-mode.el
|
||||
@ -3448,7 +3436,7 @@
|
||||
(recentf-sort-directories-ascending)
|
||||
(recentf-sort-directories-descending)
|
||||
(recentf-show-basenames-ascending)
|
||||
(recentf-show-basenames-descending: In-line. Better code. Doc fix.
|
||||
(recentf-show-basenames-descending): In-line. Better code. Doc fix.
|
||||
(recentf-show-basenames)
|
||||
(recentf-relative-filter): Better code. Doc fix.
|
||||
(recentf-arrange-by-rule-subfilter): Doc fix. Improve :set code.
|
||||
@ -3768,7 +3756,7 @@
|
||||
|
||||
* font-core.el (font-lock-maximum-size, font-lock-verbose): Remove.
|
||||
(font-lock-multiline, font-lock-fontified, font-lock-set-defaults):
|
||||
Move back to font-lock.el
|
||||
Move back to font-lock.el.
|
||||
(font-lock-default-function): Use font-lock-mode-internal.
|
||||
|
||||
* files.el (auto-mode-alist): Add entries for *.ins and *.dtx.
|
||||
@ -3935,7 +3923,7 @@
|
||||
* progmodes/etags.el (select-tags-table-mode-map):
|
||||
Don't create new keymap. Instead copy from button-buffer-map.
|
||||
Bind push-button to `t' instead of binding
|
||||
select-tags-table-select directly
|
||||
select-tags-table-select directly.
|
||||
(tags-select-tags-table): New button.
|
||||
(select-tags-table): Put a button for each selections.
|
||||
|
||||
@ -4070,14 +4058,14 @@
|
||||
* international/utf-16.el (utf-16-le-decode-loop)
|
||||
(utf-16-be-decode-loop): New temporary variables.
|
||||
(ccl-decode-mule-utf-16-le): Use utf-16-le-decode-loop.
|
||||
(ccl-decode-mule-utf-16-be): Use utf-16-be-decode-loop
|
||||
(ccl-decode-mule-utf-16-be): Use utf-16-be-decode-loop.
|
||||
(ccl-decode-mule-utf-16-le-with-signature)
|
||||
(ccl-decode-mule-utf-16-be-with-signature)
|
||||
(ccl-decode-mule-utf-16): New CCL programs.
|
||||
(utf-16-le-encode-loop, utf-16-be-encode-loop): New temporary
|
||||
variables.
|
||||
(ccl-encode-mule-utf-16-le): Use utf-16-le-encode-loop.
|
||||
(ccl-encode-mule-utf-16-be): Use utf-16-be-encode-loop
|
||||
(ccl-encode-mule-utf-16-be): Use utf-16-be-encode-loop.
|
||||
(ccl-encode-mule-utf-16-le-with-signature)
|
||||
(ccl-encode-mule-utf-16-be-with-signature): New CCL programs.
|
||||
(mule-utf-16-post-read-conversion): New function.
|
||||
@ -4141,7 +4129,7 @@
|
||||
pt -> desktop-buffer-point
|
||||
mk -> desktop-buffer-mark
|
||||
ro -> desktop-buffer-read-only
|
||||
locals -> desktop-buffer-locals
|
||||
locals -> desktop-buffer-locals.
|
||||
(desktop-buffer-major-mode, desktop-buffer-file-name)
|
||||
(desktop-buffer-name): Delete unused customizable variables.
|
||||
(desktop-buffer-misc): Delete unused variable.
|
||||
@ -5354,8 +5342,8 @@
|
||||
of buffer. This enables recognition of end of HERE-doc "as one types".
|
||||
Require "\n" after trailing tag of HERE-doc.
|
||||
\( made non-quoting outside of string/comment (gdj-contributed).
|
||||
Likewise for \$. Remove `here-doc-group' text property at start
|
||||
(makes this property reliable).
|
||||
Likewise for \$. Remove `here-doc-group' text property at
|
||||
start (makes this property reliable).
|
||||
Text property `first-format-line' ==> t.
|
||||
Do not recognize $opt_s and $opt::s as s///.
|
||||
(cperl-after-block-p): Optional arg pre-block to check for a pre-block
|
||||
@ -5919,7 +5907,7 @@
|
||||
I did it accidently. Infinite loop ...
|
||||
(tramp-get-device): `tramp-make-tramp-file-name' must not be
|
||||
called with NIL path. It fails in case of multi-method.
|
||||
(tramp-file-name-for-operation): Apply `expand-file-name' for
|
||||
(tramp-file-name-for-operation): Apply `expand-file-name' for
|
||||
relative file names only. Otherwise there might be problems if
|
||||
the default directory is another Tramp directory as the directory
|
||||
the file is based on.
|
||||
@ -5968,7 +5956,7 @@
|
||||
|
||||
* net/tramp-smb.el (tramp-smb-file-name-handler-alist):
|
||||
Apply `tramp-handle-directory-file-name'.
|
||||
(tramp-smb-handle-file-attributes): Apply `tramp-get-device'.
|
||||
(tramp-smb-handle-file-attributes): Apply `tramp-get-device'.
|
||||
ATIME and CTIME are (0 0) now (= "don't know"), which is more honest.
|
||||
(tramp-smb-handle-make-directory): Use Emacs file name primitives
|
||||
instead of calling tramp-smb-handle-* equivalents directly.
|
||||
@ -6072,7 +6060,7 @@
|
||||
regexp subpattern 5)
|
||||
(time-stamp-pattern): Initialize to nil to avoid regexp work in
|
||||
default case.
|
||||
(time-stamp-string): Call set-time-zone-rule instead of setenv
|
||||
(time-stamp-string): Call set-time-zone-rule instead of setenv.
|
||||
(time-stamp-hhmmss): Remove (not needed after all).
|
||||
(time-stamp-month-dd-yyyy, time-stamp-dd/mm/yyyy)
|
||||
(time-stamp-mon-dd-yyyy, time-stamp-dd-mon-yy, time-stamp-yy/mm/dd)
|
||||
@ -6735,10 +6723,10 @@
|
||||
|
||||
2003-01-13 Markus Rost <rost@math.ohio-state.edu>
|
||||
|
||||
* cus-dep.el (custom-make-dependencies): Don't set standard-value
|
||||
* cus-dep.el (custom-make-dependencies): Don't set standard-value
|
||||
and version numbers for variables. Handle faces.
|
||||
|
||||
* cus-edit.el (customize-changed-options): Doc addition. Load the
|
||||
* cus-edit.el (customize-changed-options): Doc addition. Load the
|
||||
version deps earlier. Use other tests for groups and variables.
|
||||
Handle faces.
|
||||
|
||||
@ -6960,7 +6948,7 @@
|
||||
* cus-edit.el (custom-variable-prompt): Doc change.
|
||||
Use custom-variable-p.
|
||||
(customize-option): Remove search in loaddefs.el.
|
||||
(customize-apropos): Use custom-variable-p.
|
||||
(customize-apropos): Use custom-variable-p.
|
||||
(custom-save-variables): Use custom-variable-p to detect
|
||||
non-rogue variables.
|
||||
|
||||
@ -7972,7 +7960,7 @@
|
||||
2002-12-02 Fran,Ag(Bois Pinard <pinard@iro.umontreal.ca>
|
||||
|
||||
* progmodes/make-mode.el (makefile-font-lock-keywords): Highlight
|
||||
more make keywords: defined, endef, override, export, unexport
|
||||
more make keywords: defined, endef, override, export, unexport
|
||||
and vpath.
|
||||
|
||||
2002-12-02 Dave Love <fx@gnu.org>
|
||||
@ -8028,7 +8016,7 @@
|
||||
Make search for message delimiter case-sensitive.
|
||||
|
||||
* simple.el (yank-window-start): New variable.
|
||||
(yank): Record yank-window-start
|
||||
(yank): Record yank-window-start.
|
||||
(yank-pop): Use yank-window-start.
|
||||
|
||||
* info.el (Info-additional-directory-list): Doc fix.
|
||||
@ -9441,8 +9429,8 @@
|
||||
menu pseudo-keys generated by easymenu which are lowercase in
|
||||
Emacs 22.1.
|
||||
|
||||
* progmodes/ada-xref.el
|
||||
(ada-xref-update-project-menu,ada-add-ada-menu): Ditto.
|
||||
* progmodes/ada-xref.el (ada-xref-update-project-menu)
|
||||
(ada-add-ada-menu): Ditto.
|
||||
|
||||
2002-10-03 John Paul Wallington <jpw@shootybangbang.com>
|
||||
|
||||
@ -12757,8 +12745,8 @@
|
||||
|
||||
* textmodes/reftex-vars.el (reftex-index-verify-function): New option.
|
||||
(reftex-bibliography-commands): New option.
|
||||
(reftex-toc-split-windows-horizontally): New option
|
||||
(reftex-toc-split-windows-horizontally-fraction): New option
|
||||
(reftex-toc-split-windows-horizontally): New option.
|
||||
(reftex-toc-split-windows-horizontally-fraction): New option.
|
||||
(reftex-include-file-commands): New option.
|
||||
(reftex-cite-format-builtin): Added ?n for nocite.
|
||||
|
||||
@ -12767,7 +12755,7 @@
|
||||
|
||||
* textmodes/reftex-toc.el (reftex-re-enlarge):
|
||||
Handle horizontal splitting.
|
||||
(reftex-toc): Handle horizontal splitting
|
||||
(reftex-toc): Handle horizontal splitting.
|
||||
(reftex-last-window-width): New variable.
|
||||
|
||||
* textmodes/reftex-parse.el (reftex-locate-bibliography-files):
|
||||
@ -14168,7 +14156,7 @@
|
||||
(comint-send-input, comint-output-filter): Use text properties
|
||||
instead of overlays.
|
||||
(comint-insert-clicked-input): Rewrite to work with text
|
||||
properties as well as overlays
|
||||
properties as well as overlays.
|
||||
(comint-snapshot-last-prompt): Snapshot using text properties.
|
||||
(comint-get-old-input-default, comint-extract-string): Don't copy
|
||||
text properties.
|
||||
@ -15672,9 +15660,9 @@
|
||||
(sendmail-send-it): Use it.
|
||||
|
||||
* mail/smtpmail.el (smtpmail-queue-counter): New variable.
|
||||
(smtpmail-send-it): Use it to construct new queue filenames
|
||||
(needed if you send more than one message per second, which is
|
||||
possible if you use Gnus Agent).
|
||||
(smtpmail-send-it): Use it to construct new queue filenames (needed
|
||||
if you send more than one message per second, which is possible if
|
||||
you use Gnus Agent).
|
||||
|
||||
* mail/smtpmail.el (smtpmail-auth-credentials): Support netrc
|
||||
files as well.
|
||||
@ -15949,8 +15937,8 @@
|
||||
|
||||
2002-04-22 Pavel Jan,Am(Bk <Pavel@Janik.cz>
|
||||
|
||||
* international/mule-diag.el (list-input-methods-1): Doc fix
|
||||
(LEIM is now part of the standard distribution).
|
||||
* international/mule-diag.el (list-input-methods-1): Doc fix (LEIM is
|
||||
now part of the standard distribution).
|
||||
|
||||
* tmm.el (tmm-completion-prompt): Doc fix.
|
||||
|
||||
@ -15970,7 +15958,7 @@
|
||||
2002-04-22 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-align.el, progmodes/cc-engine.el,
|
||||
progmodes/cc-styles.el, progmodes/cc-vars.el
|
||||
* progmodes/cc-styles.el, progmodes/cc-vars.el
|
||||
(c-guess-basic-syntax, c-lineup-topmost-intro-cont):
|
||||
Find correct anchor for statement-cont in top level constructs.
|
||||
Analyze variable initializations in top level constructs as
|
||||
@ -16667,9 +16655,9 @@
|
||||
(c-least-enclosing-brace): Added optional second arg to limit
|
||||
the search to before a certain point.
|
||||
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug
|
||||
which could cause incorrect analysis if a cached state is used
|
||||
(usually only happens when an electric key reindents a line).
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug which
|
||||
could cause incorrect analysis if a cached state is used (usually
|
||||
only happens when an electric key reindents a line).
|
||||
|
||||
2002-04-22 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
@ -18376,7 +18364,7 @@
|
||||
(ediff-draw-dir-diffs): Now supports the "C" command in directory
|
||||
difference buffer.
|
||||
(ediff-dir-diff-copy-file): New function that implements copying
|
||||
of files from one Ediff dir to another
|
||||
of files from one Ediff dir to another.
|
||||
(ediff-bury-dir-diffs-buffer): Kills the buffer instead.
|
||||
(ediff-append-custom-diff): Better error msgs.
|
||||
|
||||
@ -18734,7 +18722,7 @@
|
||||
|
||||
2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
|
||||
|
||||
Support for ICCCM Extended Segments in X selections:
|
||||
Support for ICCCM Extended Segments in X selections:
|
||||
|
||||
* international/mule-conf.el (ctext-no-compositions): New coding
|
||||
system.
|
||||
@ -19059,8 +19047,7 @@
|
||||
`current-language-environment' and `default-input-method' when
|
||||
marked as customized.
|
||||
|
||||
* international/mule-cmds.el
|
||||
(setup-specified-language-environment):
|
||||
* international/mule-cmds.el (setup-specified-language-environment):
|
||||
Mark `current-language-environment' as customized.
|
||||
(set-input-method): Mark `default-input-method' as customized when
|
||||
called interactively.
|
||||
@ -19139,7 +19126,7 @@
|
||||
2002-02-10 Michael Kifer <kifer@cs.stonybrook.edu>
|
||||
|
||||
* viper-util.el (viper-read-key-sequence): Fix so it'll read
|
||||
fast key sequences in Emacs native mode
|
||||
fast key sequences in Emacs native mode.
|
||||
(viper-events-to-keys): Delete.
|
||||
|
||||
* viper.el (describe-key, describe-key-briefly): Get rid of
|
||||
@ -19149,7 +19136,7 @@
|
||||
Use ediff-has-gutter-support.
|
||||
|
||||
* ediff-util.el (ediff-dispose-of-variant-according-to-user):
|
||||
check if buff is alive.
|
||||
Check if buff is alive.
|
||||
|
||||
* ediff.el: Typo in comment.
|
||||
|
||||
@ -19397,7 +19384,7 @@
|
||||
* textmodes/flyspell.el (flyspell-issue-message-flag): New user option.
|
||||
(flyspell-mode-on, flyspell-notify-misspell)
|
||||
(flyspell-small-region, flyspell-external-point-words)
|
||||
(flyspell-large-region): Use it
|
||||
(flyspell-large-region): Use it.
|
||||
(flyspell-before-incorrect-word-string)
|
||||
(flyspell-after-incorrect-word-string): New user options.
|
||||
(make-flyspell-overlay): Use them.
|
||||
@ -19883,7 +19870,7 @@
|
||||
Move view-emacs-FAQ from F to C-f.
|
||||
Move view-emacs-problems from P to C-e.
|
||||
Bindings moved here from mule-cmds.el.
|
||||
C-l binding for describe-language-environment deleted
|
||||
C-l binding for describe-language-environment deleted.
|
||||
(help-for-help): Update for all these changes.
|
||||
|
||||
* emacs-lisp/copyright.el (copyright-regexp): Make (C) optional.
|
||||
@ -20048,12 +20035,12 @@
|
||||
2002-01-07 Michael Kifer <kifer@cs.stonybrook.edu>
|
||||
|
||||
* viper-init.el (viper-cond-compile-for-xemacs-or-emacs):
|
||||
new macro that replaces viper-emacs-p and viper-xemacs-p in many
|
||||
New macro that replaces viper-emacs-p and viper-xemacs-p in many
|
||||
cases. Used to reduce the number of warnings.
|
||||
|
||||
* viper-cmd.el: Use viper-cond-compile-for-xemacs-or-emacs.
|
||||
(viper-standard-value): Move here from viper.el.
|
||||
(viper-set-unread-command-events): Move to viper-util.el
|
||||
(viper-set-unread-command-events): Move to viper-util.el.
|
||||
(viper-check-minibuffer-overlay): Make sure
|
||||
viper-minibuffer-overlay is moved to cover the entire input field.
|
||||
|
||||
@ -20264,8 +20251,8 @@
|
||||
|
||||
2002-01-03 Pavel Jan,Am(Bk <Pavel@Janik.cz>
|
||||
|
||||
* time.el (display-time-load-average-threshold): Fix defcustom
|
||||
(add type and group).
|
||||
* time.el (display-time-load-average-threshold):
|
||||
Fix defcustom (add type and group).
|
||||
|
||||
* net/ange-ftp.el (ange-ftp-shell-command): Remove port
|
||||
specification from the hostname.
|
||||
@ -21002,7 +20989,7 @@
|
||||
|
||||
* language/ind-util.el: Don't require cl.
|
||||
(indian-glyph-char, indian-glyph-max-char)
|
||||
(indian-char-glyph): Moved from indian.el
|
||||
(indian-char-glyph): Moved from indian.el.
|
||||
(indian--puthash-char, mapthread): Don't quote lambda.
|
||||
(indian--map): New function.
|
||||
(indian--puthash-v, indian--puthash-c, indian--puthash-m)
|
||||
@ -21887,8 +21874,8 @@
|
||||
|
||||
2001-11-22 Colin Walters <walters@debian.org>
|
||||
|
||||
* calc/calc-misc.el (calc-info): Don't perform voodoo, just
|
||||
(info "Calc").
|
||||
* calc/calc-misc.el (calc-info): Don't perform voodoo,
|
||||
just (info "Calc").
|
||||
(report-calc-bug): Use reporter.el.
|
||||
|
||||
* mail/reporter.el (reporter-submit-bug-report): Doc fixes.
|
||||
@ -23266,7 +23253,7 @@
|
||||
(ps-mode-menu-main): Submenu with options on/off was replaced with
|
||||
a toggle button.
|
||||
(ps-mode, ps-run-mode): Define with `define-derived-mode'
|
||||
(ps-mode): Autoload cookie added on same line as comment
|
||||
(ps-mode): Autoload cookie added on same line as comment.
|
||||
(ps-mode-tabkey, ps-mode-backward-delete-char):
|
||||
(ps-mode-r-balance): Replace `delete-horizontal-space' and
|
||||
`indent-to' with `indent-line-to'
|
||||
|
@ -916,7 +916,19 @@ Has a preference of looking backwards."
|
||||
;; Include certain keywords if they
|
||||
;; precede the name.
|
||||
(setq middle (point))
|
||||
(forward-sexp -1)
|
||||
;; Single (forward-sexp -1) invocation is
|
||||
;; not enough for C++ member function defined
|
||||
;; as part of nested class and/or namespace
|
||||
;; like:
|
||||
;;
|
||||
;; void
|
||||
;; foo::bar::baz::bazz ()
|
||||
;; { ...
|
||||
;;
|
||||
;; Here we have to move the point to
|
||||
;; the beginning of foo, not bazz.
|
||||
(while (not (looking-back "\\(^\\|[ \t]\\)"))
|
||||
(forward-sexp -1))
|
||||
;; Is this C++ method?
|
||||
(when (and (< 2 middle)
|
||||
(string= (buffer-substring (- middle 2)
|
||||
|
@ -45,7 +45,9 @@
|
||||
;; - Symmetric-key and key-pair topic encryption, plus symmetric passphrase
|
||||
;; mnemonic support, with verification against an established passphrase
|
||||
;; (using a stashed encrypted dummy string) and user-supplied hint
|
||||
;; maintenance. (See allout-toggle-current-subtree-encryption docstring.)
|
||||
;; maintenance. (See allout-toggle-current-subtree-encryption docstring.
|
||||
;; Currently only GnuPG encryption is supported, and integration
|
||||
;; with gpg-agent is not yet implemented.)
|
||||
;; - Automatic topic-number maintenance
|
||||
;; - "Hot-spot" operation, for single-keystroke maneuvering and
|
||||
;; exposure control (see the allout-mode docstring)
|
||||
@ -5748,9 +5750,9 @@ it forces prompting for the passphrase regardless of availability from the
|
||||
passphrase cache. With no universal argument, the appropriate passphrase
|
||||
is obtained from the cache, if available, else from the user.
|
||||
|
||||
Currently only GnuPG encryption is supported.
|
||||
Only GnuPG encryption is supported.
|
||||
|
||||
\**NOTE WELL** that the encrypted text must be ascii-armored. For gnupg
|
||||
\*NOTE WELL* that the encrypted text must be ascii-armored. For gnupg
|
||||
encryption, include the option ``armor'' in your ~/.gnupg/gpg.conf file.
|
||||
|
||||
Both symmetric-key and key-pair encryption is implemented. Symmetric is
|
||||
@ -5764,8 +5766,8 @@ not. When a file with topics pending encryption is saved, topics pending
|
||||
encryption are encrypted. See allout-encrypt-unencrypted-on-saves for
|
||||
auto-encryption specifics.
|
||||
|
||||
\**NOTE WELL** that automatic encryption that happens during saves will
|
||||
default to symmetric encryption - you must manually (re)encrypt key-pair
|
||||
\*NOTE WELL* that automatic encryption that happens during saves will
|
||||
default to symmetric encryption - you must deliberately (re)encrypt key-pair
|
||||
encrypted topics if you want them to continue to use the key-pair cipher.
|
||||
|
||||
Level-one topics, with prefix consisting solely of an `*' asterisk, cannot be
|
||||
@ -5777,10 +5779,8 @@ encrypted. If you want to encrypt the contents of a top-level topic, use
|
||||
The encryption passphrase is solicited if not currently available in the
|
||||
passphrase cache from a recent encryption action.
|
||||
|
||||
The solicited passphrase is retained for reuse in a buffer-specific cache
|
||||
for some set period of time (default, 60 seconds), after which the string
|
||||
is nulled. The passphrase cache timeout is customized by setting
|
||||
`pgg-passphrase-cache-expiry'.
|
||||
The solicited passphrase is retained for reuse in a cache, if enabled. See
|
||||
`pgg-cache-passphrase' and `pgg-passphrase-cache-expiry' for details.
|
||||
|
||||
Symmetric Passphrase Hinting and Verification
|
||||
|
||||
@ -5820,7 +5820,8 @@ it forces prompting for the passphrase regardless of availability from the
|
||||
passphrase cache. With no universal argument, the appropriate passphrase
|
||||
is obtained from the cache, if available, else from the user.
|
||||
|
||||
Currently only GnuPG encryption is supported.
|
||||
Currently only GnuPG encryption is supported, and integration
|
||||
with gpg-agent is not yet implemented.
|
||||
|
||||
\**NOTE WELL** that the encrypted text must be ascii-armored. For gnupg
|
||||
encryption, include the option ``armor'' in your ~/.gnupg/gpg.conf file.
|
||||
@ -5996,7 +5997,11 @@ Returns the resulting string, or nil if the transformation fails."
|
||||
(rejected (or rejected 0))
|
||||
(rejections-left (- allout-encryption-ciphertext-rejection-ceiling
|
||||
rejected))
|
||||
result-text status)
|
||||
result-text status
|
||||
;; Inhibit gpg-agent use for symmetric keys in the scope of this let:
|
||||
(pgg-gpg-use-agent (if (equal key-type 'keypair)
|
||||
pgg-gpg-use-agent
|
||||
nil)))
|
||||
|
||||
(if (and fetch-pass (not passphrase))
|
||||
;; Force later fetch by evicting passphrase from the cache.
|
||||
@ -6004,12 +6009,9 @@ Returns the resulting string, or nil if the transformation fails."
|
||||
|
||||
(catch 'encryption-failed
|
||||
|
||||
;; Obtain the passphrase if we don't already have one and we're not
|
||||
;; doing a keypair encryption:
|
||||
(if (not (or passphrase
|
||||
(and (equal key-type 'keypair)
|
||||
(not decrypt))))
|
||||
|
||||
;; We handle only symmetric-key passphrase caching.
|
||||
(if (and (not passphrase)
|
||||
(not (equal key-type 'keypair)))
|
||||
(setq passphrase (allout-obtain-passphrase for-key
|
||||
target-cache-id
|
||||
target-prompt-id
|
||||
|
@ -1059,8 +1059,8 @@ language you are using."
|
||||
(define-key ctl-x-4-map "c" 'clone-indirect-buffer-other-window)
|
||||
|
||||
;; Signal handlers
|
||||
(define-key global-map [signal] (make-sparse-keymap))
|
||||
(define-key global-map [signal t] 'ignore)
|
||||
(define-key special-event-map [sigusr1] 'ignore)
|
||||
(define-key special-event-map [sigusr2] 'ignore)
|
||||
|
||||
;; Don't look for autoload cookies in this file.
|
||||
;; Local Variables:
|
||||
|
@ -999,7 +999,6 @@ Uses function `vc-toggle-read-only'."
|
||||
(defun bs--up ()
|
||||
"Move cursor vertically up one line.
|
||||
If on top of buffer list go to last line."
|
||||
(interactive "p")
|
||||
(if (> (count-lines 1 (point)) bs-header-lines-length)
|
||||
(forward-line -1)
|
||||
(goto-char (point-max))
|
||||
|
@ -53,7 +53,8 @@ change."
|
||||
:group 'calendar)
|
||||
|
||||
(defvar calendar-current-time-zone-cache nil
|
||||
"Cache for result of calendar-current-time-zone.")
|
||||
"Cache for result of `calendar-current-time-zone'.")
|
||||
(put 'calendar-current-time-zone-cache 'risky-local-variable t)
|
||||
|
||||
(defvar calendar-system-time-basis
|
||||
(calendar-absolute-from-gregorian '(1 1 1970))
|
||||
@ -345,8 +346,9 @@ This function respects the value of `calendar-dst-check-each-year-flag'."
|
||||
(cadr (calendar-dst-find-startend year))
|
||||
(nth 4 calendar-current-time-zone-cache))))
|
||||
(if expr (eval expr)))
|
||||
;; New US rules commencing 2007. ftp://elsie.nci.nih.gov/pub/.
|
||||
(and (not (zerop calendar-daylight-time-offset))
|
||||
(calendar-nth-named-day 1 0 4 year))))
|
||||
(calendar-nth-named-day 2 0 3 year))))
|
||||
|
||||
(defun calendar-dst-ends (year)
|
||||
"Return the date of YEAR on which Daylight Saving Time ends.
|
||||
@ -355,8 +357,9 @@ This function respects the value of `calendar-dst-check-each-year-flag'."
|
||||
(nth 2 (calendar-dst-find-startend year))
|
||||
(nth 5 calendar-current-time-zone-cache))))
|
||||
(if expr (eval expr)))
|
||||
;; New US rules commencing 2007. ftp://elsie.nci.nih.gov/pub/.
|
||||
(and (not (zerop calendar-daylight-time-offset))
|
||||
(calendar-nth-named-day -1 0 10 year))))
|
||||
(calendar-nth-named-day 1 0 11 year))))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
|
@ -2199,12 +2199,12 @@ movement commands will not work correctly."
|
||||
downcase-region upcase-region kill-region
|
||||
copy-region-as-kill capitalize-region write-region))
|
||||
(define-key map (vector 'remap c) 'calendar-not-implemented))
|
||||
(define-key map ">" 'scroll-calendar-right)
|
||||
(define-key map "\C-x>" 'scroll-calendar-right)
|
||||
(define-key map "<" 'scroll-calendar-right)
|
||||
(define-key map "\C-x<" 'scroll-calendar-right)
|
||||
(define-key map [prior] 'scroll-calendar-right-three-months)
|
||||
(define-key map "\ev" 'scroll-calendar-right-three-months)
|
||||
(define-key map "<" 'scroll-calendar-left)
|
||||
(define-key map "\C-x<" 'scroll-calendar-left)
|
||||
(define-key map ">" 'scroll-calendar-left)
|
||||
(define-key map "\C-x>" 'scroll-calendar-left)
|
||||
(define-key map [next] 'scroll-calendar-left-three-months)
|
||||
(define-key map "\C-v" 'scroll-calendar-left-three-months)
|
||||
(define-key map "\C-b" 'calendar-backward-day)
|
||||
@ -2337,42 +2337,40 @@ movement commands will not work correctly."
|
||||
|
||||
(defvar calendar-mode-line-format
|
||||
(list
|
||||
(propertize (substitute-command-keys
|
||||
"\\<calendar-mode-map>\\[scroll-calendar-left]")
|
||||
'help-echo "mouse-2: scroll left"
|
||||
(propertize "<"
|
||||
'help-echo "mouse-1: previous month"
|
||||
'mouse-face 'mode-line-highlight
|
||||
'keymap (make-mode-line-mouse-map 'mouse-2
|
||||
'mouse-scroll-calendar-left))
|
||||
'keymap (make-mode-line-mouse-map 'mouse-1
|
||||
'mouse-scroll-calendar-right))
|
||||
"Calendar"
|
||||
(concat
|
||||
(propertize
|
||||
(substitute-command-keys
|
||||
"\\<calendar-mode-map>\\[calendar-goto-info-node] info")
|
||||
'help-echo "mouse-2: read Info on Calendar"
|
||||
'help-echo "mouse-1: read Info on Calendar"
|
||||
'mouse-face 'mode-line-highlight
|
||||
'keymap (make-mode-line-mouse-map 'mouse-2 'calendar-goto-info-node))
|
||||
"/"
|
||||
'keymap (make-mode-line-mouse-map 'mouse-1 'calendar-goto-info-node))
|
||||
" / "
|
||||
(propertize
|
||||
(substitute-command-keys
|
||||
"\\<calendar-mode-map>\\[calendar-other-month] other")
|
||||
'help-echo "mouse-2: choose another month"
|
||||
" \\<calendar-mode-map>\\[calendar-other-month] other")
|
||||
'help-echo "mouse-1: choose another month"
|
||||
'mouse-face 'mode-line-highlight
|
||||
'keymap (make-mode-line-mouse-map
|
||||
'mouse-2 'mouse-calendar-other-month))
|
||||
"/"
|
||||
'mouse-1 'mouse-calendar-other-month))
|
||||
" / "
|
||||
(propertize
|
||||
(substitute-command-keys
|
||||
"\\<calendar-mode-map>\\[calendar-goto-today] today")
|
||||
'help-echo "mouse-2: go to today's date"
|
||||
'help-echo "mouse-1: go to today's date"
|
||||
'mouse-face 'mode-line-highlight
|
||||
'keymap (make-mode-line-mouse-map 'mouse-2 #'calendar-goto-today)))
|
||||
'keymap (make-mode-line-mouse-map 'mouse-1 #'calendar-goto-today)))
|
||||
'(calendar-date-string (calendar-current-date) t)
|
||||
(propertize (substitute-command-keys
|
||||
"\\<calendar-mode-map>\\[scroll-calendar-right]")
|
||||
'help-echo "mouse-2: scroll right"
|
||||
(propertize ">"
|
||||
'help-echo "mouse-1: next month"
|
||||
'mouse-face 'mode-line-highlight
|
||||
'keymap (make-mode-line-mouse-map
|
||||
'mouse-2 'mouse-scroll-calendar-right)))
|
||||
'mouse-1 'mouse-scroll-calendar-left)))
|
||||
"The mode line of the calendar buffer.
|
||||
|
||||
This must be a list of items that evaluate to strings--those strings are
|
||||
|
@ -73,6 +73,10 @@
|
||||
|
||||
;; * Import from ical to diary:
|
||||
;; + Need more properties for icalendar-import-format
|
||||
;; (added all that Mozilla Calendar uses)
|
||||
;; From iCal specifications (RFC2445: 4.8.1), icalendar.el lacks
|
||||
;; ATTACH, CATEGORIES, COMMENT, GEO, PERCENT-COMPLETE (VTODO),
|
||||
;; PRIORITY, RESOURCES) not considering date/time and time-zone
|
||||
;; + check vcalendar version
|
||||
;; + check (unknown) elements
|
||||
;; + recurring events!
|
||||
@ -97,7 +101,7 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defconst icalendar-version "0.13"
|
||||
(defconst icalendar-version "0.14"
|
||||
"Version number of icalendar.el.")
|
||||
|
||||
;; ======================================================================
|
||||
@ -226,12 +230,12 @@ buffer."
|
||||
"Replace regular expression in string.
|
||||
Pass ARGS to `replace-regexp-in-string' (Emacs) or to
|
||||
`replace-in-string' (XEmacs)."
|
||||
(if (fboundp 'replace-regexp-in-string)
|
||||
;; Emacs:
|
||||
(apply 'replace-regexp-in-string args)
|
||||
;; XEmacs:
|
||||
(if (fboundp 'replace-in-string)
|
||||
(save-match-data ;; apparently XEmacs needs save-match-data
|
||||
(apply 'replace-in-string args))
|
||||
;; Emacs:
|
||||
(apply 'replace-regexp-in-string args)))
|
||||
(save-match-data ;; apparently XEmacs needs save-match-data
|
||||
(apply 'replace-in-string args))))
|
||||
|
||||
(defun icalendar--read-element (invalue inparams)
|
||||
"Recursively read the next iCalendar element in the current buffer.
|
||||
@ -1549,7 +1553,7 @@ buffer `*icalendar-errors*'."
|
||||
(defun icalendar--convert-ical-to-diary (ical-list diary-file
|
||||
&optional do-not-ask
|
||||
non-marking)
|
||||
"Convert Calendar data to an Emacs diary file.
|
||||
"Convert iCalendar data to an Emacs diary file.
|
||||
Import VEVENTS from the iCalendar object ICAL-LIST and saves them to a
|
||||
DIARY-FILE. If DO-NOT-ASK is nil the user is asked for each event
|
||||
whether to actually import it. NON-MARKING determines whether diary
|
||||
@ -1680,6 +1684,13 @@ written into the buffer `*icalendar-errors*'."
|
||||
(setq error-string (format "%s\n%s\nCannot handle this event: %s"
|
||||
error-val error-string e))
|
||||
(message "%s" error-string))))
|
||||
;; insert final newline
|
||||
(let ((b (find-buffer-visiting diary-file)))
|
||||
(when b
|
||||
(save-current-buffer
|
||||
(set-buffer b)
|
||||
(goto-char (point-max))
|
||||
(insert "\n"))))
|
||||
(if found-error
|
||||
(save-current-buffer
|
||||
(set-buffer (get-buffer-create "*icalendar-errors*"))
|
||||
|
@ -132,7 +132,7 @@
|
||||
;; comint-eol-on-send boolean ...
|
||||
;; comint-process-echoes boolean ...
|
||||
;; comint-scroll-to-bottom-on-input symbol For scroll behavior
|
||||
;; comint-scroll-to-bottom-on-output symbol ...
|
||||
;; comint-move-point-for-output symbol ...
|
||||
;; comint-scroll-show-maximum-output boolean ...
|
||||
;; comint-accum-marker maker For comint-accumulate
|
||||
;;
|
||||
|
@ -679,8 +679,9 @@ if that fails, the doc string with `custom-guess-doc-alist'."
|
||||
|
||||
;;; Sorting.
|
||||
|
||||
;;;###autoload
|
||||
(defcustom custom-browse-sort-alphabetically nil
|
||||
"If non-nil, sort members of each customization group alphabetically."
|
||||
"If non-nil, sort customization group alphabetically in `custom-browse'."
|
||||
:type 'boolean
|
||||
:group 'custom-browse)
|
||||
|
||||
@ -698,8 +699,9 @@ If `last', order groups after non-groups."
|
||||
:type 'boolean
|
||||
:group 'custom-browse)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom custom-buffer-sort-alphabetically nil
|
||||
"If non-nil, sort members of each customization group alphabetically."
|
||||
"If non-nil, sort each customization group alphabetically in Custom buffer."
|
||||
:type 'boolean
|
||||
:group 'custom-buffer)
|
||||
|
||||
@ -712,8 +714,9 @@ If `last', order groups after non-groups."
|
||||
(const :tag "none" nil))
|
||||
:group 'custom-buffer)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom custom-menu-sort-alphabetically nil
|
||||
"If non-nil, sort members of each customization group alphabetically."
|
||||
"If non-nil, sort each customization group alphabetically in menus."
|
||||
:type 'boolean
|
||||
:group 'custom-menu)
|
||||
|
||||
|
@ -536,6 +536,7 @@ For other custom types, this has no effect."
|
||||
(let ((options (get symbol 'custom-options)))
|
||||
(unless (member option options)
|
||||
(put symbol 'custom-options (cons option options)))))
|
||||
(defalias 'custom-add-frequent-value 'custom-add-option)
|
||||
|
||||
(defun custom-add-link (symbol widget)
|
||||
"To the custom option SYMBOL add the link WIDGET."
|
||||
|
@ -3098,15 +3098,18 @@ The idea is to set this buffer-locally in special dired buffers.")
|
||||
;; Modeline display of "by name" or "by date" guarantees the user a
|
||||
;; match with the corresponding regexps. Non-matching switches are
|
||||
;; shown literally.
|
||||
(setq mode-name
|
||||
(let (case-fold-search)
|
||||
(cond ((string-match dired-sort-by-name-regexp dired-actual-switches)
|
||||
"Dired by name")
|
||||
((string-match dired-sort-by-date-regexp dired-actual-switches)
|
||||
"Dired by date")
|
||||
(t
|
||||
(concat "Dired " dired-actual-switches)))))
|
||||
(force-mode-line-update))
|
||||
(when (eq major-mode 'dired-mode)
|
||||
(setq mode-name
|
||||
(let (case-fold-search)
|
||||
(cond ((string-match
|
||||
dired-sort-by-name-regexp dired-actual-switches)
|
||||
"Dired by name")
|
||||
((string-match
|
||||
dired-sort-by-date-regexp dired-actual-switches)
|
||||
"Dired by date")
|
||||
(t
|
||||
(concat "Dired " dired-actual-switches)))))
|
||||
(force-mode-line-update)))
|
||||
|
||||
(defun dired-sort-toggle-or-edit (&optional arg)
|
||||
"Toggle between sort by date/name and refresh the dired buffer.
|
||||
@ -3162,7 +3165,7 @@ set the minor mode accordingly, others appear literally in the mode line.
|
||||
With optional second arg NO-REVERT, don't refresh the listing afterwards."
|
||||
(dired-sort-R-check switches)
|
||||
(setq dired-actual-switches switches)
|
||||
(if (eq major-mode 'dired-mode) (dired-sort-set-modeline))
|
||||
(dired-sort-set-modeline)
|
||||
(or no-revert (revert-buffer)))
|
||||
|
||||
(defvar dired-subdir-alist-pre-R nil
|
||||
|
@ -133,9 +133,13 @@ are `-I REGEXP', to ignore changes whose lines match the REGEXP."
|
||||
(defcustom ediff-diff-options ""
|
||||
"*Options to pass to `ediff-diff-program'.
|
||||
If Unix diff is used as `ediff-diff-program',
|
||||
then a useful option is `-w', to ignore space.
|
||||
Options `-c' and `-i' are not allowed. Case sensitivity can be
|
||||
toggled interactively using \\[ediff-toggle-ignore-case]."
|
||||
then a useful option is `-w', to ignore space.
|
||||
Options `-c', `-u', and `-i' are not allowed. Case sensitivity can be
|
||||
toggled interactively using \\[ediff-toggle-ignore-case].
|
||||
|
||||
This variable is not for customizing the look of the differences produced by
|
||||
the command \\[ediff-show-diff-output]. Use the variable
|
||||
`ediff-custom-diff-options' for that."
|
||||
:set 'ediff-reset-diff-options
|
||||
:type 'string
|
||||
:group 'ediff-diff)
|
||||
@ -254,10 +258,10 @@ one optional arguments, diff-number to refine.")
|
||||
;; ediff-setup-diff-regions-function, which can also have the value
|
||||
;; ediff-setup-diff-regions3, which takes 4 arguments.
|
||||
(defun ediff-setup-diff-regions (file-A file-B file-C)
|
||||
;; looking for '-c', '-i', or a 'c', 'i' among clustered non-long options
|
||||
(if (string-match "^-[ci]\\| -[ci]\\|\\(^\\| \\)-[^- ]+[ci]"
|
||||
;; looking for '-c', '-i', '-u', or 'c', 'i', 'u' among clustered non-long options
|
||||
(if (string-match "^-[ciu]\\| -[ciu]\\|\\(^\\| \\)-[^- ]+[ciu]"
|
||||
ediff-diff-options)
|
||||
(error "Options `-c' and `-i' are not allowed in `ediff-diff-options'"))
|
||||
(error "Options `-c', `-u', and `-i' are not allowed in `ediff-diff-options'"))
|
||||
|
||||
;; create, if it doesn't exist
|
||||
(or (ediff-buffer-live-p ediff-diff-buffer)
|
||||
|
@ -75,7 +75,7 @@ files.")
|
||||
(nil "(afs@hplb.hpl.hp.com)")
|
||||
(nil "<Use-Author-Address-Header@\\[127.1\\]>")
|
||||
(nil "Code Extracted")
|
||||
(nil "Fsf")
|
||||
(nil "\\`FSF")
|
||||
(nil "ISO-2022-JP")
|
||||
("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn")
|
||||
("Jan Dj,Ad(Brv" "Jan D." "Jan Djarv")
|
||||
@ -300,6 +300,8 @@ found) in the repository.")
|
||||
("GETTING.GNU.SOFTWARE" . "FTP")
|
||||
("leim-Makefile" . "leim/Makefile")
|
||||
("leim-Makefile.in" . "leim/Makefile.in")
|
||||
("emacs-lisp/testcover-ses.el" . "tcover-ses.el")
|
||||
("emacs-lisp/testcover-unsafep.el" . "tcover-unsafep.el")
|
||||
("INSTALL-CVS" . "INSTALL.CVS")
|
||||
)
|
||||
"Alist of files which have been renamed during their lifetime.
|
||||
|
@ -319,8 +319,8 @@
|
||||
((eq type 'struct)
|
||||
(setq data (bindat--unpack-group (eval len))))
|
||||
((eq type 'repeat)
|
||||
(let ((index 0))
|
||||
(while (< index len)
|
||||
(let ((index 0) (count len))
|
||||
(while (< index count)
|
||||
(setq data (cons (bindat--unpack-group (nthcdr tail item)) data))
|
||||
(setq index (1+ index)))
|
||||
(setq data (nreverse data))))
|
||||
@ -415,8 +415,8 @@ e.g. corresponding to STRUCT.FIELD1[INDEX2].FIELD3..."
|
||||
(bindat--length-group
|
||||
(if field (bindat-get-field struct field) struct) (eval len)))
|
||||
((eq type 'repeat)
|
||||
(let ((index 0))
|
||||
(while (< index len)
|
||||
(let ((index 0) (count len))
|
||||
(while (< index count)
|
||||
(bindat--length-group
|
||||
(nth index (bindat-get-field struct field))
|
||||
(nthcdr tail item))
|
||||
@ -559,8 +559,8 @@ e.g. corresponding to STRUCT.FIELD1[INDEX2].FIELD3..."
|
||||
(bindat--pack-group
|
||||
(if field (bindat-get-field struct field) struct) (eval len)))
|
||||
((eq type 'repeat)
|
||||
(let ((index 0))
|
||||
(while (< index len)
|
||||
(let ((index 0) (count len))
|
||||
(while (< index count)
|
||||
(bindat--pack-group
|
||||
(nth index (bindat-get-field struct field))
|
||||
(nthcdr tail item))
|
||||
|
@ -274,7 +274,7 @@ With zero or negative ARG turn mode off.
|
||||
(defalias 'easy-mmode-define-global-mode 'define-global-minor-mode)
|
||||
;;;###autoload
|
||||
(defmacro define-global-minor-mode (global-mode mode turn-on &rest keys)
|
||||
"Make GLOBAL-MODE out of the buffer-local minor MODE.
|
||||
"Make a global mode GLOBAL-MODE corresponding to buffer-local minor MODE.
|
||||
TURN-ON is a function that will be called with no args in every buffer
|
||||
and that should try to turn MODE on if applicable for that buffer.
|
||||
KEYS is a list of CL-style keyword arguments. As the minor mode
|
||||
|
@ -443,20 +443,24 @@ When non-nil, NOEXP indicates that CALLBACK cannot be an expression
|
||||
command))
|
||||
|
||||
;;;###autoload
|
||||
(defun easy-menu-change (path name items &optional before)
|
||||
(defun easy-menu-change (path name items &optional before map)
|
||||
"Change menu found at PATH as item NAME to contain ITEMS.
|
||||
PATH is a list of strings for locating the menu that
|
||||
should contain a submenu named NAME.
|
||||
ITEMS is a list of menu items, as in `easy-menu-define'.
|
||||
These items entirely replace the previous items in that submenu.
|
||||
|
||||
If MAP is specified, it should normally be a keymap; nil stands for the local
|
||||
menu-bar keymap. It can also be a symbol, which has earlier been used as the
|
||||
first argument in a call to `easy-menu-define', or the value of such a symbol.
|
||||
|
||||
If the menu located by PATH has no submenu named NAME, add one.
|
||||
If the optional argument BEFORE is present, add it just before
|
||||
the submenu named BEFORE, otherwise add it at the end of the menu.
|
||||
|
||||
To implement dynamic menus, either call this from
|
||||
`menu-bar-update-hook' or use a menu filter."
|
||||
(easy-menu-add-item nil path (easy-menu-create-menu name items) before))
|
||||
(easy-menu-add-item map path (easy-menu-create-menu name items) before))
|
||||
|
||||
;; XEmacs needs the following two functions to add and remove menus.
|
||||
;; In Emacs this is done automatically when switching keymaps, so
|
||||
|
@ -185,13 +185,18 @@ With ARG, do it that many times. Negative arg -N
|
||||
means move forward to Nth following beginning of defun.
|
||||
Returns t unless search stops due to beginning or end of buffer.
|
||||
|
||||
Normally a defun starts when there is a char with open-parenthesis
|
||||
syntax at the beginning of a line. If `defun-prompt-regexp' is
|
||||
non-nil, then a string which matches that regexp may precede the
|
||||
open-parenthesis, and point ends up at the beginning of the line.
|
||||
|
||||
If variable `beginning-of-defun-function' is non-nil, its value
|
||||
is called as a function to find the defun's beginning."
|
||||
is called as a function to find the defun's beginning.
|
||||
|
||||
Normally a defun is assumed to start where there is a char with
|
||||
open-parenthesis syntax at the beginning of a line. If
|
||||
`defun-prompt-regexp' is non-nil, then a string which matches
|
||||
that regexp may precede the open-parenthesis, and point ends up
|
||||
at the beginning of the line.
|
||||
|
||||
If `defun-prompt-regexp' and `open-paren-in-column-0-is-defun-start'
|
||||
are both nil, the function instead finds an open-paren at the
|
||||
outermost level."
|
||||
(interactive "p")
|
||||
(or (not (eq this-command 'beginning-of-defun))
|
||||
(eq last-command 'beginning-of-defun)
|
||||
@ -208,9 +213,9 @@ is non-nil.
|
||||
|
||||
If variable `beginning-of-defun-function' is non-nil, its value
|
||||
is called as a function to find the defun's beginning."
|
||||
(interactive "p") ; change this to "P", maybe, if we ever come to pass ARG
|
||||
; to beginning-of-defun-function.
|
||||
(unless arg (setq arg 1)) ; The call might not be interactive.
|
||||
(interactive "p") ; change this to "P", maybe, if we ever come to pass ARG
|
||||
; to beginning-of-defun-function.
|
||||
(unless arg (setq arg 1))
|
||||
(cond
|
||||
(beginning-of-defun-function
|
||||
(if (> arg 0)
|
||||
@ -230,42 +235,56 @@ is called as a function to find the defun's beginning."
|
||||
nil 'move arg)
|
||||
(progn (goto-char (1- (match-end 0)))) t))
|
||||
|
||||
;; If open-paren-in-column-0-is-defun-start and defun-prompt-regexp
|
||||
;; are both nil, column 0 has no significance - so scan forward
|
||||
;; from BOB to see how nested point is, then carry on from there.
|
||||
;;
|
||||
;; It is generally not a good idea to land up here, because the
|
||||
;; call to scan-lists below can be extremely slow. This is because
|
||||
;; back_comment in syntax.c may have to scan from bob to find the
|
||||
;; beginning of each comment. Fixing this is not trivial -- cyd.
|
||||
|
||||
((eq arg 0))
|
||||
(t
|
||||
;; Column 0 has no significance - so scan forward from BOB to see how
|
||||
;; nested point is, then carry on from there.
|
||||
(let* ((floor (point-min))
|
||||
(ceiling (point-max))
|
||||
(pps-state (let (syntax-begin-function
|
||||
font-lock-beginning-of-syntax-function)
|
||||
(syntax-ppss)))
|
||||
(nesting-depth (nth 0 pps-state)))
|
||||
(let ((floor (point-min))
|
||||
(ceiling (point-max))
|
||||
(arg-+ve (> arg 0)))
|
||||
(save-restriction
|
||||
(widen)
|
||||
;; Get outside of any string or comment.
|
||||
(if (nth 8 pps-state)
|
||||
(goto-char (nth 8 pps-state)))
|
||||
(let ((ppss (let (syntax-begin-function
|
||||
font-lock-beginning-of-syntax-function)
|
||||
(syntax-ppss)))
|
||||
;; position of least enclosing paren, or nil.
|
||||
encl-pos)
|
||||
;; Back out of any comment/string, so that encl-pos will always
|
||||
;; become nil if we're at top-level.
|
||||
(when (nth 8 ppss)
|
||||
(goto-char (nth 8 ppss))
|
||||
(setq ppss (syntax-ppss))) ; should be fast, due to cache.
|
||||
(setq encl-pos (syntax-ppss-toplevel-pos ppss))
|
||||
(if encl-pos (goto-char encl-pos))
|
||||
|
||||
(cond
|
||||
((> arg 0)
|
||||
(when (> nesting-depth 0)
|
||||
(up-list (- nesting-depth))
|
||||
(setq arg (1- arg)))
|
||||
;; We're now outside of any defun.
|
||||
(backward-list arg)
|
||||
(if (< (point) floor) (goto-char floor)))
|
||||
(and encl-pos arg-+ve (setq arg (1- arg)))
|
||||
(and (not encl-pos) (not arg-+ve) (not (looking-at "\\s("))
|
||||
(setq arg (1+ arg)))
|
||||
|
||||
((< arg 0)
|
||||
(cond
|
||||
((> nesting-depth 0)
|
||||
(up-list nesting-depth)
|
||||
(setq arg (1+ arg)))
|
||||
((not (looking-at "\\s("))
|
||||
;; We're between defuns, and not at the start of one.
|
||||
(setq arg (1+ arg))))
|
||||
(forward-list (- arg))
|
||||
(down-list)
|
||||
(backward-char)
|
||||
(if (> (point) ceiling) (goto-char ceiling)))))))))
|
||||
(condition-case nil ; to catch crazy parens.
|
||||
(progn
|
||||
(goto-char (scan-lists (point) (- arg) 0))
|
||||
(if arg-+ve
|
||||
(if (>= (point) floor)
|
||||
t
|
||||
(goto-char floor)
|
||||
nil)
|
||||
;; forward to next (, or trigger the c-c
|
||||
(goto-char (1- (scan-lists (point) 1 -1)))
|
||||
(if (<= (point) ceiling)
|
||||
t
|
||||
(goto-char ceiling)
|
||||
nil)))
|
||||
(error
|
||||
(goto-char (if arg-+ve floor ceiling))
|
||||
nil))))))))
|
||||
|
||||
(defvar end-of-defun-function nil
|
||||
"If non-nil, function for function `end-of-defun' to call.
|
||||
|
@ -53,12 +53,20 @@
|
||||
(nth 0 ppss))
|
||||
|
||||
(defun syntax-ppss-toplevel-pos (ppss)
|
||||
"Return the last preceding position at toplevel.
|
||||
\"At toplevel\" means that it is outside of any syntactic entity:
|
||||
outside of any parentheses, or comments, or strings.
|
||||
Returns nil iff PPSS itself corresponds to a toplevel position."
|
||||
"Get the latest syntactically outermost position found in a syntactic scan.
|
||||
PPSS is a scan state, as returned by `partial-parse-sexp' or `syntax-ppss'.
|
||||
An \"outermost position\" means one that it is outside of any syntactic entity:
|
||||
outside of any parentheses, comments, or strings encountered in the scan.
|
||||
If no such position is recorded in PPSS (because the end of the scan was
|
||||
itself at the outermost level), return nil."
|
||||
;; BEWARE! We rely on the undocumented 9th field. The 9th field currently
|
||||
;; contains the list of positions of the enclosing open-parens.
|
||||
;; I.e. those positions are outside of any string/comment and the first of
|
||||
;; those is outside of any paren (i.e. corresponds to a nil ppss).
|
||||
;; If this list is empty but we are in a string or comment, then the 8th
|
||||
;; field contains a similar "toplevel" position.
|
||||
(or (car (nth 9 ppss))
|
||||
(nth 8 ppss)))
|
||||
(nth 8 ppss)))
|
||||
|
||||
(defsubst syntax-ppss-context (ppss)
|
||||
(cond
|
||||
@ -95,8 +103,7 @@ point (where the PPSS is equivalent to nil).")
|
||||
;; depend on the text after BEG (which is presumably changed). So if
|
||||
;; BEG=(car (nth 10 syntax-ppss-last)) don't reuse that data because the
|
||||
;; assumed nil state at BEG may not be valid any more.
|
||||
(if (<= beg (or (car (nth 10 syntax-ppss-last))
|
||||
(nth 9 syntax-ppss-last)
|
||||
(if (<= beg (or (syntax-ppss-toplevel-pos (cdr syntax-ppss-last))
|
||||
(nth 3 syntax-ppss-last)
|
||||
0))
|
||||
(setq syntax-ppss-last nil)
|
||||
@ -144,22 +151,14 @@ Point is at POS when this function returns."
|
||||
(cond
|
||||
;; Use OLD-PPSS if possible and close enough.
|
||||
((and (not old-pos) old-ppss
|
||||
;; BEWARE! We rely on the undocumented 9th field. The 9th
|
||||
;; field currently contains the list of positions of
|
||||
;; open-parens of the enclosing parens. I.e. those
|
||||
;; positions are outside of any string/comment
|
||||
;; and the first of those is outside of any paren
|
||||
;; (i.e. corresponds to a nil ppss). If this list is empty
|
||||
;; but we are in a string or comment, then the 8th field
|
||||
;; contains a similar "toplevel" position. If `pt-min' is
|
||||
;; too far from `pos', we could try to use other positions
|
||||
;; in (nth 9 old-ppss), but that doesn't seem to happen in
|
||||
;; practice and it would complicate this code (and the
|
||||
;; before-change-function code even more). But maybe it
|
||||
;; would be useful in "degenerate" cases such as when the
|
||||
;; whole file is wrapped in a set of parenthesis.
|
||||
(setq pt-min (or (car (nth 9 old-ppss))
|
||||
(nth 8 old-ppss)
|
||||
;; If `pt-min' is too far from `pos', we could try to use
|
||||
;; other positions in (nth 9 old-ppss), but that doesn't
|
||||
;; seem to happen in practice and it would complicate this
|
||||
;; code (and the before-change-function code even more).
|
||||
;; But maybe it would be useful in "degenerate" cases such
|
||||
;; as when the whole file is wrapped in a set
|
||||
;; of parentheses.
|
||||
(setq pt-min (or (syntax-ppss-toplevel-pos old-ppss)
|
||||
(nth 2 old-ppss)))
|
||||
(<= pt-min pos) (< (- pos pt-min) syntax-ppss-max-span))
|
||||
(incf (car (aref syntax-ppss-stats 1)))
|
||||
|
@ -171,7 +171,9 @@
|
||||
(run-hook-with-args 'viper-before-change-functions beg end))
|
||||
|
||||
(defsubst viper-post-command-sentinel ()
|
||||
(run-hooks 'viper-post-command-hooks)
|
||||
(condition-case conds
|
||||
(run-hooks 'viper-post-command-hooks)
|
||||
(error (viper-message-conditions conds)))
|
||||
(if (eq viper-current-state 'vi-state)
|
||||
(viper-restore-cursor-color 'after-insert-mode)))
|
||||
|
||||
@ -926,8 +928,7 @@ Vi's prefix argument will be used. Otherwise, the prefix argument passed to
|
||||
|
||||
(condition-case nil
|
||||
(let (viper-vi-kbd-minor-mode) ; execute without kbd macros
|
||||
(setq result (eval form))
|
||||
)
|
||||
(setq result (eval form)))
|
||||
(error
|
||||
(signal 'quit nil)))
|
||||
|
||||
@ -1971,9 +1972,16 @@ Undo previous insertion and inserts new."
|
||||
(if (and (eobp)
|
||||
(not (bolp))
|
||||
require-final-newline
|
||||
;; add newline only if we actually edited buffer. otherwise it
|
||||
;; might unintentionally modify binary buffers
|
||||
(buffer-modified-p)
|
||||
(not (viper-is-in-minibuffer))
|
||||
(not buffer-read-only))
|
||||
(insert "\n")))
|
||||
;; text property may be read-only
|
||||
(condition-case nil
|
||||
(insert "\n")
|
||||
(error nil))
|
||||
))
|
||||
))
|
||||
|
||||
(defun viper-yank-defun ()
|
||||
|
@ -1,4 +1,4 @@
|
||||
2006-12-13 Leo <sdl.web@gmail.com>
|
||||
2006-12-13 Leo <sdl.web@gmail.com> (tiny change)
|
||||
|
||||
* erc.el (erc-iswitchb): Temporarily enable iswitchb mode if it
|
||||
isn't active already, instead of leaving it on.
|
||||
|
@ -1876,6 +1876,16 @@ in that case, this function acts as if `enable-local-variables' were t."
|
||||
(if (fboundp 'ucs-set-table-for-input) ; don't lose when building
|
||||
(ucs-set-table-for-input)))
|
||||
|
||||
(defcustom auto-mode-case-fold nil
|
||||
"Non-nil means to try second pass through `auto-mode-alist'.
|
||||
This means that if the first case-sensitive search through the alist fails
|
||||
to find a matching major mode, a second case-insensitive search is made.
|
||||
On systems with case-insensitive file names, this variable is ignored,
|
||||
since only a single case-insensitive search through the alist is made."
|
||||
:group 'files
|
||||
:version "22.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defvar auto-mode-alist
|
||||
;; Note: The entries for the modes defined in cc-mode.el (c-mode,
|
||||
;; c++-mode, java-mode and more) are added through autoload
|
||||
@ -2115,7 +2125,8 @@ of the regular expression. The mode is then determined as the mode
|
||||
associated with that interpreter in `interpreter-mode-alist'.")
|
||||
|
||||
(defvar magic-mode-alist
|
||||
`(;; The < comes before the groups (but the first) to reduce backtracking.
|
||||
`((image-type-auto-detected-p . image-mode)
|
||||
;; The < comes before the groups (but the first) to reduce backtracking.
|
||||
;; TODO: UTF-16 <?xml may be preceded by a BOM 0xff 0xfe or 0xfe 0xff.
|
||||
;; We use [ \t\n] instead of `\\s ' to make regex overflow less likely.
|
||||
(,(let* ((incomment-re "\\(?:[^-]\\|-[^-]\\)")
|
||||
@ -2134,13 +2145,15 @@ associated with that interpreter in `interpreter-mode-alist'.")
|
||||
("%![^V]" . ps-mode)
|
||||
("# xmcd " . conf-unix-mode))
|
||||
"Alist of buffer beginnings vs. corresponding major mode functions.
|
||||
Each element looks like (REGEXP . FUNCTION). After visiting a file,
|
||||
if REGEXP matches the text at the beginning of the buffer,
|
||||
`normal-mode' will call FUNCTION rather than allowing `auto-mode-alist'
|
||||
to decide the buffer's major mode.
|
||||
Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION).
|
||||
After visiting a file, if REGEXP matches the text at the beginning of the
|
||||
buffer, or calling MATCH-FUNCTION returns non-nil, `normal-mode' will
|
||||
call FUNCTION rather than allowing `auto-mode-alist' to decide the buffer's
|
||||
major mode.
|
||||
|
||||
If FUNCTION is nil, then it is not called. (That is a way of saying
|
||||
\"allow `auto-mode-alist' to decide for these files.\")")
|
||||
(put 'magic-mode-alist 'risky-local-variable t)
|
||||
|
||||
(defvar magic-mode-regexp-match-limit 4000
|
||||
"Upper limit on `magic-mode-alist' regexp matches.")
|
||||
@ -2224,7 +2237,9 @@ only set the major mode, if that would change it."
|
||||
(+ (point-min) magic-mode-regexp-match-limit)))
|
||||
(assoc-default nil magic-mode-alist
|
||||
(lambda (re dummy)
|
||||
(looking-at re))))))
|
||||
(if (functionp re)
|
||||
(funcall re)
|
||||
(looking-at re)))))))
|
||||
(set-auto-mode-0 done keep-mode-if-same)
|
||||
;; Compare the filename against the entries in auto-mode-alist.
|
||||
(if buffer-file-name
|
||||
@ -2233,15 +2248,29 @@ only set the major mode, if that would change it."
|
||||
(setq name (file-name-sans-versions name))
|
||||
(while name
|
||||
;; Find first matching alist entry.
|
||||
(let ((case-fold-search
|
||||
(memq system-type '(vax-vms windows-nt cygwin))))
|
||||
(if (and (setq mode (assoc-default name auto-mode-alist
|
||||
'string-match))
|
||||
(consp mode)
|
||||
(cadr mode))
|
||||
(setq mode (car mode)
|
||||
name (substring name 0 (match-beginning 0)))
|
||||
(setq name)))
|
||||
(setq mode
|
||||
(if (memq system-type '(vax-vms windows-nt cygwin))
|
||||
;; System is case-insensitive.
|
||||
(let ((case-fold-search t))
|
||||
(assoc-default name auto-mode-alist
|
||||
'string-match))
|
||||
;; System is case-sensitive.
|
||||
(or
|
||||
;; First match case-sensitively.
|
||||
(let ((case-fold-search nil))
|
||||
(assoc-default name auto-mode-alist
|
||||
'string-match))
|
||||
;; Fallback to case-insensitive match.
|
||||
(and auto-mode-case-fold
|
||||
(let ((case-fold-search t))
|
||||
(assoc-default name auto-mode-alist
|
||||
'string-match))))))
|
||||
(if (and mode
|
||||
(consp mode)
|
||||
(cadr mode))
|
||||
(setq mode (car mode)
|
||||
name (substring name 0 (match-beginning 0)))
|
||||
(setq name))
|
||||
(when mode
|
||||
(set-auto-mode-0 mode keep-mode-if-same)))))))))
|
||||
|
||||
@ -3026,7 +3055,7 @@ BACKUPNAME is the backup file name, which is the old file renamed."
|
||||
(convert-standard-filename
|
||||
"~/%backup%~")))
|
||||
(message "Cannot write backup file; backing up in %s"
|
||||
(file-name-nondirectory backupname))
|
||||
backupname)
|
||||
(sleep-for 1)
|
||||
(backup-buffer-copy real-file-name backupname modes)))
|
||||
(setq buffer-backed-up t)
|
||||
@ -3222,16 +3251,24 @@ doesn't exist, it is created."
|
||||
(defun make-backup-file-name-1 (file)
|
||||
"Subroutine of `make-backup-file-name' and `find-backup-file-name'."
|
||||
(let ((alist backup-directory-alist)
|
||||
elt backup-directory)
|
||||
elt backup-directory abs-backup-directory)
|
||||
(while alist
|
||||
(setq elt (pop alist))
|
||||
(if (string-match (car elt) file)
|
||||
(setq backup-directory (cdr elt)
|
||||
alist nil)))
|
||||
(if (and backup-directory (not (file-exists-p backup-directory)))
|
||||
;; If backup-directory is relative, it should be relative to the
|
||||
;; file's directory. By expanding explicitly here, we avoid
|
||||
;; depending on default-directory.
|
||||
(if backup-directory
|
||||
(setq abs-backup-directory
|
||||
(expand-file-name backup-directory
|
||||
(file-name-directory file))))
|
||||
(if (and abs-backup-directory (not (file-exists-p abs-backup-directory)))
|
||||
(condition-case nil
|
||||
(make-directory backup-directory 'parents)
|
||||
(file-error (setq backup-directory nil))))
|
||||
(make-directory abs-backup-directory 'parents)
|
||||
(file-error (setq backup-directory nil
|
||||
abs-backup-directory nil))))
|
||||
(if (null backup-directory)
|
||||
file
|
||||
(if (file-name-absolute-p backup-directory)
|
||||
@ -3262,9 +3299,7 @@ doesn't exist, it is created."
|
||||
(replace-regexp-in-string "!" "!!" file))
|
||||
backup-directory))
|
||||
(expand-file-name (file-name-nondirectory file)
|
||||
(file-name-as-directory
|
||||
(expand-file-name backup-directory
|
||||
(file-name-directory file))))))))
|
||||
(file-name-as-directory abs-backup-directory))))))
|
||||
|
||||
(defun backup-file-name-p (file)
|
||||
"Return non-nil if FILE is a backup file name (numeric or not).
|
||||
|
@ -1,5 +1,8 @@
|
||||
;;; forms-d2.el --- demo forms-mode -*- no-byte-compile: t -*-
|
||||
|
||||
;; Copyright (C) 1991, 1994, 1995, 1996, 1997, 2001, 2002, 2003,
|
||||
;; 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Johan Vromans <jvromans@squirrel.nl>
|
||||
;; Created: 1989
|
||||
|
||||
|
@ -1,3 +1,63 @@
|
||||
2006-12-30 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
|
||||
|
||||
* gnus-sum.el (gnus-summary-insert-dormant-articles): Fix typo in
|
||||
message.
|
||||
|
||||
2006-12-29 Jouni K. Sepp,Ad(Bnen <jks@iki.fi>
|
||||
|
||||
* nnimap.el (nnimap-expunge-search-string): Mention
|
||||
nnimap-search-uids-not-since-is-evil in docstring.
|
||||
|
||||
2006-12-28 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* spam.el: Revert to make-obsolete-variable because
|
||||
define-obsolete-variable-alias is not supported in Emacs 21.
|
||||
|
||||
2006-12-28 Daiki Ueno <ueno@unixuser.org>
|
||||
|
||||
* gnus-sum.el (gnus-summary-next-article): Make sure we are in the
|
||||
summary buffer.
|
||||
|
||||
2006-12-27 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* spam.el (spam-ifile-path, spam-ifile-database-path)
|
||||
(spam-bogofilter-path): Use define-obsolete-variable-alias instead of
|
||||
make-obsolete-variable.
|
||||
|
||||
2006-12-26 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* message.el (message-make-fqdn): Fix comment.
|
||||
(message-bogus-system-names): Add ".local".
|
||||
|
||||
* spam.el (spam-ifile-path, spam-ifile-program)
|
||||
(spam-ifile-database-path, spam-ifile-database)
|
||||
(spam-bogofilter-path, spam-bogofilter-program): Rename variables.
|
||||
Don't use "path" inappropriately.
|
||||
(spam-spamoracle-database, spam-get-ifile-database-parameter): Fix doc
|
||||
strings.
|
||||
(spam-check-ifile, spam-ifile-register-with-ifile)
|
||||
(spam-check-bogofilter, spam-bogofilter-register-with-bogofilter): Use
|
||||
new variable names.
|
||||
|
||||
* gnus-art.el (gnus-treat-display-x-face, gnus-treat-display-face)
|
||||
(gnus-treat-display-smileys): Simplify using
|
||||
gnus-image-type-available-p.
|
||||
|
||||
* gnus-ems.el (gnus-image-type-available-p): Use display-images-p if
|
||||
available.
|
||||
|
||||
2006-12-22 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* nnrss.el (nnrss-fetch): Replace buffer's contents with the decoded
|
||||
one after turning on the buffer's multibyteness instead of decoding
|
||||
them directly in the unibyte buffer that causes unexpected conversion
|
||||
in Emacs 23 (unicode).
|
||||
|
||||
2006-12-20 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* gnus-group.el (gnus-group-tool-bar-gnome): Exchange connect and
|
||||
disconnect icons. Add help text.
|
||||
|
||||
2006-12-13 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* legacy-gnus-agent.el: Add Copyright notice.
|
||||
@ -20,7 +80,7 @@
|
||||
* gnus-sum.el (gnus-sort-threads, gnus-summary-limit-children):
|
||||
Use `max' to avoid the value of `max-lisp-eval-depth' decreasing.
|
||||
|
||||
2006-12-04 Jouni K. Sepp,Ad(Bnen <jks@iki.fi> (tiny change)
|
||||
2006-12-04 Jouni K. Sepp,Ad(Bnen <jks@iki.fi>
|
||||
|
||||
* mm-url.el (mm-url-predefined-programs): Call curl with correct
|
||||
options.
|
||||
@ -1649,7 +1709,7 @@
|
||||
whitespace removed in revision 7.8. Use concatenated string to
|
||||
protect trailing whitespace.
|
||||
|
||||
2005-10-27 Jouni K Seppanen <jks@iki.fi> (tiny change)
|
||||
2005-10-27 Jouni K. Sepp,Ad(Bnen <jks@iki.fi>
|
||||
|
||||
* nnimap.el (nnimap-search-uids-not-since-is-evil): Add variable.
|
||||
(nnimap-request-expire-articles): Use it to avoid sending 'UID
|
||||
|
@ -1,7 +1,7 @@
|
||||
;;; deuglify.el --- deuglify broken Outlook (Express) articles
|
||||
|
||||
;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2001, 2002 Raymond Scholz
|
||||
;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Raymond Scholz <rscholz@zonix.de>
|
||||
;; Thomas Steffen (unwrapping algorithm,
|
||||
|
@ -1325,12 +1325,11 @@ See Info node `(gnus)Customizing Articles' for details."
|
||||
|
||||
(defcustom gnus-treat-display-x-face
|
||||
(and (not noninteractive)
|
||||
(or (and (fboundp 'image-type-available-p)
|
||||
(image-type-available-p 'xbm)
|
||||
(string-match "^0x" (shell-command-to-string "uncompface"))
|
||||
(executable-find "icontopbm"))
|
||||
(and (featurep 'xemacs)
|
||||
(featurep 'xface)))
|
||||
(gnus-image-type-available-p 'xbm)
|
||||
(if (featurep 'xemacs)
|
||||
(featurep 'xface)
|
||||
(and (string-match "^0x" (shell-command-to-string "uncompface"))
|
||||
(executable-find "icontopbm")))
|
||||
'head)
|
||||
"Display X-Face headers.
|
||||
Valid values are nil, t, `head', `last', an integer or a predicate.
|
||||
@ -1362,10 +1361,7 @@ See Info node `(gnus)Customizing Articles' and Info node
|
||||
|
||||
(defcustom gnus-treat-display-face
|
||||
(and (not noninteractive)
|
||||
(or (and (fboundp 'image-type-available-p)
|
||||
(image-type-available-p 'png))
|
||||
(and (featurep 'xemacs)
|
||||
(featurep 'png)))
|
||||
(gnus-image-type-available-p 'png)
|
||||
'head)
|
||||
"Display Face headers.
|
||||
Valid values are nil, t, `head', `last', an integer or a predicate.
|
||||
@ -1378,12 +1374,7 @@ See Info node `(gnus)Customizing Articles' and Info node
|
||||
:type gnus-article-treat-head-custom)
|
||||
(put 'gnus-treat-display-face 'highlight t)
|
||||
|
||||
(defcustom gnus-treat-display-smileys
|
||||
(if (or (and (featurep 'xemacs)
|
||||
(featurep 'xpm))
|
||||
(and (fboundp 'image-type-available-p)
|
||||
(image-type-available-p 'pbm)))
|
||||
t nil)
|
||||
(defcustom gnus-treat-display-smileys (gnus-image-type-available-p 'xpm)
|
||||
"Display smileys.
|
||||
Valid values are nil, t, `head', `last', an integer or a predicate.
|
||||
See Info node `(gnus)Customizing Articles' and Info node
|
||||
|
@ -1,7 +1,7 @@
|
||||
;;; gnus-diary.el --- Wrapper around the NNDiary Gnus backend
|
||||
|
||||
;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1999, 2000, 2001 Didier Verna.
|
||||
;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
||||
;; 2006 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Didier Verna <didier@xemacs.org>
|
||||
;; Maintainer: Didier Verna <didier@xemacs.org>
|
||||
|
@ -211,7 +211,10 @@
|
||||
|
||||
(defun gnus-image-type-available-p (type)
|
||||
(and (fboundp 'image-type-available-p)
|
||||
(image-type-available-p type)))
|
||||
(image-type-available-p type)
|
||||
(if (fboundp 'display-images-p)
|
||||
(display-images-p)
|
||||
t)))
|
||||
|
||||
(defun gnus-create-image (file &optional type data-p &rest props)
|
||||
(let ((face (plist-get props :face)))
|
||||
|
@ -1018,9 +1018,11 @@ Pre-defined symbols include `gnus-group-tool-bar-gnome' and
|
||||
'((gnus-group-post-news "mail/compose")
|
||||
;; Some useful agent icons? I don't use the agent so agent users should
|
||||
;; suggest useful commands:
|
||||
(gnus-agent-toggle-plugged "connect" t
|
||||
:visible (and gnus-agent (not gnus-plugged)))
|
||||
(gnus-agent-toggle-plugged "disconnect" t
|
||||
:help "Gnus is currently unplugged. Click to work online."
|
||||
:visible (and gnus-agent (not gnus-plugged)))
|
||||
(gnus-agent-toggle-plugged "connect" t
|
||||
:help "Gnus is currently plugged. Click to work offline."
|
||||
:visible (and gnus-agent gnus-plugged))
|
||||
;; FIXME: gnus-agent-toggle-plugged (in gnus-agent-group-make-menu-bar)
|
||||
;; should have a better help text.
|
||||
|
@ -7333,6 +7333,9 @@ If UNREAD, only unread articles are selected.
|
||||
If SUBJECT, only articles with SUBJECT are selected.
|
||||
If BACKWARD, the previous article is selected instead of the next."
|
||||
(interactive "P")
|
||||
;; Make sure we are in the summary buffer.
|
||||
(unless (eq major-mode 'gnus-summary-mode)
|
||||
(set-buffer gnus-summary-buffer))
|
||||
(cond
|
||||
;; Is there such an article?
|
||||
((and (gnus-summary-search-forward unread subject backward)
|
||||
@ -7987,7 +7990,7 @@ article."
|
||||
(interactive)
|
||||
(let ((gnus-verbose (max 6 gnus-verbose)))
|
||||
(if (not gnus-newsgroup-dormant)
|
||||
(gnus-message 3 "No cached articles for this group")
|
||||
(gnus-message 3 "No dormant articles for this group")
|
||||
(gnus-summary-goto-subjects gnus-newsgroup-dormant))))
|
||||
|
||||
(defun gnus-summary-limit-include-dormant ()
|
||||
|
@ -1579,7 +1579,7 @@ functionality to work."
|
||||
(defvar message-send-mail-real-function nil
|
||||
"Internal send mail function.")
|
||||
|
||||
(defvar message-bogus-system-names "^localhost\\."
|
||||
(defvar message-bogus-system-names "^localhost\\.\\|\\.local$"
|
||||
"The regexp of bogus system names.")
|
||||
|
||||
(defcustom message-valid-fqdn-regexp
|
||||
@ -5000,8 +5000,8 @@ give as trustworthy answer as possible."
|
||||
(stringp message-user-fqdn)
|
||||
(string-match message-valid-fqdn-regexp message-user-fqdn)
|
||||
(not (string-match message-bogus-system-names message-user-fqdn)))
|
||||
;; `message-user-fqdn' seems to be valid
|
||||
message-user-fqdn)
|
||||
;; `message-user-fqdn' seems to be valid
|
||||
((and (string-match message-valid-fqdn-regexp system-name)
|
||||
(not (string-match message-bogus-system-names system-name)))
|
||||
;; `system-name' returned the right result.
|
||||
|
@ -375,7 +375,10 @@ and the second %s is replaced by a date criterium.
|
||||
One useful (and perhaps the only useful) value to change this to would
|
||||
be `UID %s NOT SENTSINCE %s' to make nnimap use the Date: header
|
||||
instead of the internal date of messages. See section 6.4.4 of RFC
|
||||
2060 for more information on valid strings.")
|
||||
2060 for more information on valid strings.
|
||||
|
||||
However, if `nnimap-search-uids-not-since-is-evil' is true, this
|
||||
variable has no effect since the search logic is reversed.")
|
||||
|
||||
(defvoo nnimap-importantize-dormant t
|
||||
"If non-nil, mark \"dormant\" articles as \"ticked\" for other IMAP clients.
|
||||
|
@ -418,8 +418,10 @@ otherwise return nil."
|
||||
(nnheader-remove-cr-followed-by-lf)
|
||||
;; Decode text according to the encoding attribute.
|
||||
(when (setq cs (nnrss-get-encoding))
|
||||
(mm-decode-coding-region (point-min) (point-max) cs)
|
||||
(mm-enable-multibyte))
|
||||
(insert (prog1
|
||||
(mm-decode-coding-string (buffer-string) cs)
|
||||
(erase-buffer)
|
||||
(mm-enable-multibyte))))
|
||||
(goto-char (point-min))
|
||||
|
||||
;; Because xml-parse-region can't deal with anything that isn't
|
||||
|
@ -351,14 +351,18 @@ All unmarked article in such group receive the spam mark on group entry."
|
||||
"Spam ifile configuration."
|
||||
:group 'spam)
|
||||
|
||||
(defcustom spam-ifile-path (executable-find "ifile")
|
||||
"File path of the ifile executable program."
|
||||
(make-obsolete-variable 'spam-ifile-path 'spam-ifile-program)
|
||||
;; "22.1" ;; Gnus 5.10.9
|
||||
(defcustom spam-ifile-program (executable-find "ifile")
|
||||
"Name of the ifile program."
|
||||
:type '(choice (file :tag "Location of ifile")
|
||||
(const :tag "ifile is not installed"))
|
||||
:group 'spam-ifile)
|
||||
|
||||
(defcustom spam-ifile-database-path nil
|
||||
"File path of the ifile database."
|
||||
(make-obsolete-variable 'spam-ifile-database-path 'spam-ifile-database)
|
||||
;; "22.1" ;; Gnus 5.10.9
|
||||
(defcustom spam-ifile-database nil
|
||||
"File name of the ifile database."
|
||||
:type '(choice (file :tag "Location of the ifile database")
|
||||
(const :tag "Use the default"))
|
||||
:group 'spam-ifile)
|
||||
@ -386,8 +390,10 @@ your main source of newsgroup names."
|
||||
"Spam bogofilter configuration."
|
||||
:group 'spam)
|
||||
|
||||
(defcustom spam-bogofilter-path (executable-find "bogofilter")
|
||||
"File path of the Bogofilter executable program."
|
||||
(make-obsolete-variable 'spam-bogofilter-path 'spam-bogofilter-program)
|
||||
;; "22.1" ;; Gnus 5.10.9
|
||||
(defcustom spam-bogofilter-program (executable-find "bogofilter")
|
||||
"Name of the Bogofilter program."
|
||||
:type '(choice (file :tag "Location of bogofilter")
|
||||
(const :tag "Bogofilter is not installed"))
|
||||
:group 'spam-bogofilter)
|
||||
@ -423,7 +429,8 @@ your main source of newsgroup names."
|
||||
:group 'spam-bogofilter)
|
||||
|
||||
(defcustom spam-bogofilter-database-directory nil
|
||||
"Directory path of the Bogofilter databases."
|
||||
"Location of the Bogofilter database.
|
||||
When nil, use the default location."
|
||||
:type '(choice (directory
|
||||
:tag "Location of the Bogofilter database directory")
|
||||
(const :tag "Use the default"))
|
||||
@ -434,8 +441,8 @@ your main source of newsgroup names."
|
||||
:group 'spam)
|
||||
|
||||
(defcustom spam-spamoracle-database nil
|
||||
"Location of spamoracle database file. When nil, use the default
|
||||
spamoracle database."
|
||||
"Location of spamoracle database file.
|
||||
When nil, use the default spamoracle database."
|
||||
:type '(choice (directory :tag "Location of spamoracle database file.")
|
||||
(const :tag "Use the default"))
|
||||
:group 'spam-spamoracle)
|
||||
@ -1370,11 +1377,12 @@ functions")
|
||||
;;; check the ifile backend; return nil if the mail was NOT classified
|
||||
;;; as spam
|
||||
|
||||
|
||||
(defun spam-get-ifile-database-parameter ()
|
||||
"Get the command-line parameter for ifile's database from
|
||||
spam-ifile-database-path."
|
||||
(if spam-ifile-database-path
|
||||
(format "--db-file=%s" spam-ifile-database-path)
|
||||
"Return the command-line parameter for ifile's database.
|
||||
See `spam-ifile-database'."
|
||||
(if spam-ifile-database
|
||||
(format "--db-file=%s" spam-ifile-database)
|
||||
nil))
|
||||
|
||||
(defun spam-check-ifile ()
|
||||
@ -1390,7 +1398,7 @@ functions")
|
||||
(save-excursion
|
||||
(set-buffer article-buffer-name)
|
||||
(apply 'call-process-region
|
||||
(point-min) (point-max) spam-ifile-path
|
||||
(point-min) (point-max) spam-ifile-program
|
||||
nil temp-buffer-name nil "-c"
|
||||
(if db-param `(,db-param "-q") `("-q"))))
|
||||
;; check the return now (we're back in the temp buffer)
|
||||
@ -1418,7 +1426,7 @@ Uses `gnus-newsgroup-name' if category is nil (for ham registration)."
|
||||
(when (stringp article-string)
|
||||
(insert article-string))))
|
||||
(apply 'call-process-region
|
||||
(point-min) (point-max) spam-ifile-path
|
||||
(point-min) (point-max) spam-ifile-program
|
||||
nil nil nil
|
||||
add-or-delete-option category
|
||||
(if db `(,db "-h") `("-h"))))))
|
||||
@ -1702,7 +1710,7 @@ REMOVE not nil, remove the ADDRESSES."
|
||||
(set-buffer article-buffer-name)
|
||||
(apply 'call-process-region
|
||||
(point-min) (point-max)
|
||||
spam-bogofilter-path
|
||||
spam-bogofilter-program
|
||||
nil temp-buffer-name nil
|
||||
(if db `("-d" ,db "-v") `("-v"))))
|
||||
(setq return (spam-check-bogofilter-headers score))))
|
||||
@ -1728,7 +1736,7 @@ REMOVE not nil, remove the ADDRESSES."
|
||||
|
||||
(apply 'call-process-region
|
||||
(point-min) (point-max)
|
||||
spam-bogofilter-path
|
||||
spam-bogofilter-program
|
||||
nil nil nil switch
|
||||
(if db `("-d" ,db "-v") `("-v"))))))))
|
||||
|
||||
|
@ -575,8 +575,11 @@ it is displayed along with the global value."
|
||||
(documentation-property alias 'variable-documentation))))
|
||||
(unless (eq alias variable)
|
||||
(princ (format "\nThis variable is an alias for `%s'.\n" alias)))
|
||||
(if (or obsolete safe-var)
|
||||
(terpri))
|
||||
|
||||
(when obsolete
|
||||
(princ "\nThis variable is obsolete")
|
||||
(princ "This variable is obsolete")
|
||||
(if (cdr obsolete) (princ (format " since %s" (cdr obsolete))))
|
||||
(princ ";") (terpri)
|
||||
(princ (if (stringp (car obsolete)) (car obsolete)
|
||||
@ -587,9 +590,8 @@ it is displayed along with the global value."
|
||||
(princ "if its value\nsatisfies the predicate ")
|
||||
(princ (if (byte-code-function-p safe-var)
|
||||
"which is byte-compiled expression.\n"
|
||||
(format "`%s'.\n" safe-var)))
|
||||
(terpri))
|
||||
(princ "Documentation:\n")
|
||||
(format "`%s'.\n" safe-var))))
|
||||
(princ "\nDocumentation:\n")
|
||||
(princ (or doc "Not documented as a variable.")))
|
||||
;; Make a link to customize if this variable can be customized.
|
||||
(if (custom-variable-p variable)
|
||||
|
23
lisp/ido.el
23
lisp/ido.el
@ -1046,6 +1046,9 @@ so that it doesn't interfere with other minibuffer usage.")
|
||||
;; Stores the current ido item type ('file, 'dir, 'buffer, or 'list).
|
||||
(defvar ido-cur-item)
|
||||
|
||||
;;; Stores the current default item
|
||||
(defvar ido-default-item)
|
||||
|
||||
;; Stores the current list of items that will be searched through.
|
||||
;; The list is ordered, so that the most interesting item comes first,
|
||||
;; although by default, the files visible in the current frame are put
|
||||
@ -2589,7 +2592,9 @@ C-x C-f ... C-d enter dired on current directory."
|
||||
"Toggle ignoring files specified with `ido-ignore-files'."
|
||||
(interactive)
|
||||
(if ido-directory-too-big
|
||||
(setq ido-directory-too-big nil)
|
||||
(progn
|
||||
(message "Reading directory...")
|
||||
(setq ido-directory-too-big nil))
|
||||
(setq ido-process-ignore-lists (not ido-process-ignore-lists)))
|
||||
(setq ido-text-init ido-text)
|
||||
(setq ido-exit 'refresh)
|
||||
@ -3577,6 +3582,11 @@ for first matching file."
|
||||
(/= (aref name 0) ?.)))
|
||||
(string-match re name))
|
||||
(cond
|
||||
((and (eq ido-cur-item 'buffer)
|
||||
(or (not (stringp ido-default-item))
|
||||
(not (string= name ido-default-item)))
|
||||
(string= name (buffer-name ido-entry-buffer)))
|
||||
(setq matches (cons item matches)))
|
||||
((and full-re (string-match full-re name))
|
||||
(setq full-matches (cons item full-matches)))
|
||||
((and suffix-re (string-match suffix-re name))
|
||||
@ -3729,7 +3739,8 @@ for first matching file."
|
||||
(set-buffer temp-buf)
|
||||
(setq win (get-buffer-window temp-buf))
|
||||
(if (pos-visible-in-window-p (point-max) win)
|
||||
(if (or ido-completion-buffer-all-completions (boundp 'ido-completion-buffer-full))
|
||||
(if (or ido-completion-buffer-all-completions
|
||||
(boundp 'ido-completion-buffer-full))
|
||||
(set-window-start win (point-min))
|
||||
(with-no-warnings
|
||||
(set (make-local-variable 'ido-completion-buffer-full) t))
|
||||
@ -3742,6 +3753,14 @@ for first matching file."
|
||||
(with-output-to-temp-buffer ido-completion-buffer
|
||||
(let ((completion-list (sort
|
||||
(cond
|
||||
(ido-directory-too-big
|
||||
(message "Reading directory...")
|
||||
(setq ido-directory-too-big nil
|
||||
ido-ignored-list nil
|
||||
ido-cur-list (ido-all-completions)
|
||||
ido-rescan t)
|
||||
(ido-set-matches)
|
||||
(or ido-matches ido-cur-list))
|
||||
(ido-use-merged-list
|
||||
(ido-flatten-merged-list (or ido-matches ido-cur-list)))
|
||||
((or full-list ido-completion-buffer-all-completions)
|
||||
|
@ -35,11 +35,11 @@
|
||||
|
||||
(defconst image-type-header-regexps
|
||||
'(("\\`/[\t\n\r ]*\\*.*XPM.\\*/" . xpm)
|
||||
("\\`P[1-6]" . pbm)
|
||||
("\\`P[1-6][[:space:]]+\\(?:#.*[[:space:]]+\\)*[0-9]+[[:space:]]+[0-9]+" . pbm)
|
||||
("\\`GIF8" . gif)
|
||||
("\\`\211PNG\r\n" . png)
|
||||
("\\`\x89PNG\r\n\x1a\n" . png)
|
||||
("\\`[\t\n\r ]*#define" . xbm)
|
||||
("\\`\\(MM\0\\*\\|II\\*\0\\)" . tiff)
|
||||
("\\`\\(?:MM\0\\*\\|II\\*\0\\)" . tiff)
|
||||
("\\`[\t\n\r ]*%!PS" . postscript)
|
||||
("\\`\xff\xd8" . (image-jpeg-p . jpeg)))
|
||||
"Alist of (REGEXP . IMAGE-TYPE) pairs used to auto-detect image types.
|
||||
@ -63,6 +63,24 @@ a non-nil value, TYPE is the image's type.")
|
||||
When the name of an image file match REGEXP, it is assumed to
|
||||
be of image type IMAGE-TYPE.")
|
||||
|
||||
(defvar image-type-auto-detectable
|
||||
'((pbm . t)
|
||||
(xbm . t)
|
||||
(bmp . maybe)
|
||||
(gif . maybe)
|
||||
(png . maybe)
|
||||
(xpm . maybe)
|
||||
(jpeg . maybe)
|
||||
(tiff . maybe)
|
||||
(postscript . nil))
|
||||
"Alist of (IMAGE-TYPE . AUTODETECT) pairs used to auto-detect image files.
|
||||
\(See `image-type-auto-detected-p').
|
||||
|
||||
AUTODETECT can be
|
||||
- t always auto-detect.
|
||||
- nil never auto-detect.
|
||||
- maybe auto-detect only if the image type is available
|
||||
(see `image-type-available-p').")
|
||||
|
||||
(defvar image-load-path nil
|
||||
"List of locations in which to search for image files.
|
||||
@ -308,6 +326,7 @@ Optional DATA-P non-nil means FILE-OR-DATA is a string containing image data."
|
||||
(error "Invalid image type `%s'" type))
|
||||
type)
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(defun image-type-available-p (type)
|
||||
"Return non-nil if image type TYPE is available.
|
||||
@ -316,6 +335,20 @@ Image types are symbols like `xbm' or `jpeg'."
|
||||
(init-image-library type image-library-alist)))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(defun image-type-auto-detected-p ()
|
||||
"Return t iff the current buffer contains an auto-detectable image.
|
||||
Whether image types are auto-detectable or not depends on the setting
|
||||
of the variable `image-type-auto-detectable'.
|
||||
|
||||
This function is intended to be used from `magic-mode-alist' (which see)."
|
||||
(let* ((type (image-type-from-buffer))
|
||||
(auto (and type (cdr (assq type image-type-auto-detectable)))))
|
||||
(and auto
|
||||
(or (eq auto t)
|
||||
(image-type-available-p type)))))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(defun create-image (file-or-data &optional type data-p &rest props)
|
||||
"Create an image.
|
||||
|
@ -50,7 +50,9 @@ Don't rebind TAB unless you really need to.")
|
||||
"*Controls the operation of the TAB key.
|
||||
If t, hitting TAB always just indents the current line.
|
||||
If nil, hitting TAB indents the current line if point is at the left margin
|
||||
or in the line's indentation, otherwise it insert a \"real\" tab character."
|
||||
or in the line's indentation, otherwise it insert a \"real\" TAB character.
|
||||
Most programming language modes have their own variable to control this,
|
||||
e.g., `c-tab-always-indent', and do not respect this variable."
|
||||
:group 'indent
|
||||
:type '(choice (const nil) (const t) (const always)))
|
||||
|
||||
|
@ -145,7 +145,7 @@ The Lisp code is executed when the node is selected.")
|
||||
:type 'boolean
|
||||
:group 'info)
|
||||
|
||||
(defcustom Info-fontify-maximum-menu-size 100000
|
||||
(defcustom Info-fontify-maximum-menu-size 1000000
|
||||
"*Maximum size of menu to fontify if `font-lock-mode' is non-nil."
|
||||
:type 'integer
|
||||
:group 'info)
|
||||
@ -1551,6 +1551,8 @@ PATH-AND-SUFFIXES is a pair of lists, (DIRECTORIES . SUFFIXES)."
|
||||
(node-regexp "Node: *\\([^,\n]*\\) *[,\n\t]"))
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(or Info-tag-table-marker
|
||||
(error "No Info tags found"))
|
||||
(if (marker-buffer Info-tag-table-marker)
|
||||
(let ((marker Info-tag-table-marker))
|
||||
(set-buffer (marker-buffer marker))
|
||||
@ -3938,7 +3940,6 @@ the variable `Info-file-list-for-emacs'."
|
||||
(goto-char (point-min))
|
||||
(when (and (or not-fontified-p fontify-visited-p)
|
||||
(search-forward "\n* Menu:" nil t)
|
||||
(not (Info-index-node))
|
||||
;; Don't take time to annotate huge menus
|
||||
(< (- (point-max) (point)) Info-fontify-maximum-menu-size))
|
||||
(let ((n 0)
|
||||
|
@ -719,18 +719,18 @@ DEFAULT is the coding system to use by default in the query."
|
||||
(insert "\n")
|
||||
(fill-region-as-paragraph pos (point)))
|
||||
(when rejected
|
||||
(insert "These safely encodes the target text,
|
||||
but it is not recommended for encoding text in this context,
|
||||
(insert "These safely encode the text in the buffer,
|
||||
but are not recommended for encoding text in this context,
|
||||
e.g., for sending an email message.\n ")
|
||||
(dolist (x rejected)
|
||||
(princ " ") (princ x))
|
||||
(insert "\n"))
|
||||
(when unsafe
|
||||
(insert (if rejected "And the others"
|
||||
(insert (if rejected "The other coding systems"
|
||||
"However, each of them")
|
||||
" encountered these problematic characters:\n")
|
||||
" encountered characters it couldn't encode:\n")
|
||||
(dolist (coding unsafe)
|
||||
(insert (format " %s:" (car coding)))
|
||||
(insert (format " %s cannot encode these:" (car coding)))
|
||||
(let ((i 0)
|
||||
(func1
|
||||
#'(lambda (bufname pos)
|
||||
@ -754,6 +754,7 @@ e.g., for sending an email message.\n ")
|
||||
(insert-text-button
|
||||
(cdr elt)
|
||||
:type 'help-xref
|
||||
'face 'link
|
||||
'help-echo
|
||||
"mouse-2, RET: jump to this character"
|
||||
'help-function func1
|
||||
@ -761,6 +762,7 @@ e.g., for sending an email message.\n ")
|
||||
(insert-text-button
|
||||
"..."
|
||||
:type 'help-xref
|
||||
'face 'link
|
||||
'help-echo
|
||||
"mouse-2, RET: next unencodable character"
|
||||
'help-function func2
|
||||
@ -769,19 +771,22 @@ e.g., for sending an email message.\n ")
|
||||
(setq i (1+ i))))
|
||||
(insert "\n"))
|
||||
(insert "\
|
||||
The first problematic character is at point in the displayed buffer,\n"
|
||||
|
||||
Click on a character to jump to the place it appears,\n"
|
||||
(substitute-command-keys "\
|
||||
and \\[universal-argument] \\[what-cursor-position] will give information about it.\n"))))
|
||||
(insert "\nSelect \
|
||||
one of the following safe coding systems, or edit the buffer:\n")
|
||||
where `\\[universal-argument] \\[what-cursor-position]' will give information about it.\n"))))
|
||||
(insert (substitute-command-keys "\nSelect \
|
||||
one of the safe coding systems listed below,\n\
|
||||
or cancel the writing with \\[keyboard-quit] and edit the buffer\n\
|
||||
to remove or modify the problematic characters,\n\
|
||||
or specify any other coding system (and risk losing\n\
|
||||
the problematic characters).\n\n"))
|
||||
(let ((pos (point))
|
||||
(fill-prefix " "))
|
||||
(dolist (x codings)
|
||||
(princ " ") (princ x))
|
||||
(insert "\n")
|
||||
(fill-region-as-paragraph pos (point)))
|
||||
(insert "Or specify any other coding system
|
||||
at the risk of losing the problematic characters.\n")))
|
||||
(fill-region-as-paragraph pos (point)))))
|
||||
|
||||
;; Read a coding system.
|
||||
(setq coding-system
|
||||
|
2134
lisp/ldefs-boot.el
2134
lisp/ldefs-boot.el
File diff suppressed because it is too large
Load Diff
@ -501,7 +501,8 @@ styles."
|
||||
(regexp-quote footnote-end-tag)))
|
||||
nil t)
|
||||
(unless (beginning-of-line) t))
|
||||
(goto-char (point-max)))))
|
||||
(Footnote-goto-char-point-max)
|
||||
(re-search-backward (concat "^" footnote-section-tag-regexp) nil t))))
|
||||
(unless (looking-at "^$")
|
||||
(insert "\n"))
|
||||
(when (eobp)
|
||||
|
@ -374,7 +374,12 @@ pre-mh-loaddefs.el-CMD:
|
||||
# sources only.
|
||||
|
||||
# Need separate version for sh and native cmd.exe
|
||||
bootstrap-clean: bootstrap-clean-$(SHELLTYPE) $(lisp)/loaddefs.el
|
||||
# Note that bootstrap-clean-$(SHELLTYPE) copies ldefs-boot.el to loaddefs.el,
|
||||
# and thus the almost-empty loaddefs.el crafted by the $(lisp)/loaddefs.el
|
||||
# target can NOT be built _after_ bootstrap-clean-$(SHELLTYPE) does its
|
||||
# thing, or else an empty loaddefs.el will overwrite the full one.
|
||||
bootstrap-clean: $(lisp)/loaddefs.el
|
||||
$(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE)
|
||||
|
||||
bootstrap-clean-CMD:
|
||||
# if exist "$(EMACS)" $(MAKE) $(MFLAGS) autoloads
|
||||
|
@ -3977,7 +3977,7 @@ E.g.,
|
||||
ange-ftp-this-dir))
|
||||
(ange-ftp-real-file-name-all-completions file ange-ftp-this-dir)))))
|
||||
|
||||
(defun ange-ftp-file-name-completion (file dir)
|
||||
(defun ange-ftp-file-name-completion (file dir &optional predicate)
|
||||
(let ((ange-ftp-this-dir (expand-file-name dir)))
|
||||
(if (ange-ftp-ftp-name ange-ftp-this-dir)
|
||||
(progn
|
||||
@ -4005,8 +4005,13 @@ E.g.,
|
||||
file
|
||||
(nconc (ange-ftp-generate-root-prefixes)
|
||||
(ange-ftp-real-file-name-all-completions
|
||||
file ange-ftp-this-dir)))
|
||||
(ange-ftp-real-file-name-completion file ange-ftp-this-dir)))))
|
||||
file ange-ftp-this-dir))
|
||||
predicate)
|
||||
(if predicate
|
||||
(ange-ftp-real-file-name-completion
|
||||
file ange-ftp-this-dir predicate)
|
||||
(ange-ftp-real-file-name-completion
|
||||
file ange-ftp-this-dir))))))
|
||||
|
||||
|
||||
(defun ange-ftp-file-name-completion-1 (file tbl dir &optional predicate)
|
||||
|
@ -326,35 +326,24 @@ This variable defaults to the value of `tramp-encoding-shell'."
|
||||
(tramp-login-program "ssh")
|
||||
(tramp-copy-program "scp")
|
||||
(tramp-remote-sh "/bin/sh")
|
||||
(tramp-login-args ("-o" "ControlPath=%t.%%r@%%h:%%p"
|
||||
"-o" "ControlMaster=yes"
|
||||
"-e" "none"))
|
||||
(tramp-copy-args ("-o" "ControlPath=%t.%%r@%%h:%%p"
|
||||
"-o" "ControlMaster=auto"))
|
||||
(tramp-login-args ("-e" "none"))
|
||||
(tramp-copy-args nil)
|
||||
(tramp-copy-keep-date-arg "-p")
|
||||
(tramp-password-end-of-line nil))
|
||||
("scp1" (tramp-connection-function tramp-open-connection-rsh)
|
||||
(tramp-login-program "ssh")
|
||||
(tramp-copy-program "scp")
|
||||
(tramp-remote-sh "/bin/sh")
|
||||
(tramp-login-args ("-o" "ControlPath=%t.%%r@%%h:%%p"
|
||||
"-o" "ControlMaster=yes"
|
||||
"-1" "-e" "none"))
|
||||
(tramp-copy-args ("-o" "ControlPath=%t.%%r@%%h:%%p"
|
||||
"-o" "ControlMaster=auto"
|
||||
"-1"))
|
||||
(tramp-login-args ("-1" "-e" "none"))
|
||||
(tramp-copy-args ("-1"))
|
||||
(tramp-copy-keep-date-arg "-p")
|
||||
(tramp-password-end-of-line nil))
|
||||
("scp2" (tramp-connection-function tramp-open-connection-rsh)
|
||||
(tramp-login-program "ssh")
|
||||
(tramp-copy-program "scp")
|
||||
(tramp-remote-sh "/bin/sh")
|
||||
(tramp-login-args ("-o" "ControlPath=%t.%%r@%%h:%%p"
|
||||
"-o" "ControlMaster=yes"
|
||||
"-2" "-e" "none"))
|
||||
(tramp-copy-args ("-o" "ControlPath=%t.%%r@%%h:%%p"
|
||||
"-o" "ControlMaster=auto"
|
||||
"-2"))
|
||||
(tramp-login-args ("-2" "-e" "none"))
|
||||
(tramp-copy-args ("-2"))
|
||||
(tramp-copy-keep-date-arg "-p")
|
||||
(tramp-password-end-of-line nil))
|
||||
("scp1_old"
|
||||
@ -483,6 +472,17 @@ This variable defaults to the value of `tramp-encoding-shell'."
|
||||
(tramp-copy-args nil)
|
||||
(tramp-copy-keep-date-arg nil)
|
||||
(tramp-password-end-of-line nil))
|
||||
("scpc" (tramp-connection-function tramp-open-connection-rsh)
|
||||
(tramp-login-program "ssh")
|
||||
(tramp-copy-program "scp")
|
||||
(tramp-remote-sh "/bin/sh")
|
||||
(tramp-login-args ("-o" "ControlPath=%t.%%r@%%h:%%p"
|
||||
"-o" "ControlMaster=yes"
|
||||
"-e" "none"))
|
||||
(tramp-copy-args ("-o" "ControlPath=%t.%%r@%%h:%%p"
|
||||
"-o" "ControlMaster=auto"))
|
||||
(tramp-copy-keep-date-arg "-p")
|
||||
(tramp-password-end-of-line nil))
|
||||
("scpx" (tramp-connection-function tramp-open-connection-rsh)
|
||||
(tramp-login-program "ssh")
|
||||
(tramp-copy-program "scp")
|
||||
@ -684,10 +684,39 @@ various functions for details."
|
||||
:type '(repeat (list string function string)))
|
||||
|
||||
(defcustom tramp-default-method
|
||||
(if (and (fboundp 'executable-find)
|
||||
(executable-find "pscp"))
|
||||
"pscp"
|
||||
"scp")
|
||||
;; An external copy method seems to be preferred, because it is much
|
||||
;; more performant for large files, and it hasn't too serious delays
|
||||
;; for small files. But it must be ensured that there aren't
|
||||
;; permanent password queries. Either a password agent like
|
||||
;; "ssh-agent" or "Pageant" shall run, or the optional password.el
|
||||
;; package shall be active for password caching. "scpc" would be
|
||||
;; another good choice because of the "ControlMaster" option, but
|
||||
;; this is a more modern alternative in OpenSSH 4, which cannot be
|
||||
;; taken as default.
|
||||
(let ((e-f (fboundp 'executable-find)))
|
||||
(cond
|
||||
;; PuTTY is installed.
|
||||
((and e-f (funcall 'executable-find "pscp"))
|
||||
(if (or (fboundp 'password-read)
|
||||
;; Pageant is running.
|
||||
(and (fboundp 'w32-window-exists-p)
|
||||
(funcall 'w32-window-exists-p "Pageant" "Pageant")))
|
||||
"pscp"
|
||||
"plink"))
|
||||
;; There is an ssh installation.
|
||||
((and e-f (funcall 'executable-find "scp"))
|
||||
(if (or (fboundp 'password-read)
|
||||
;; ssh-agent is running.
|
||||
(getenv "SSH_AUTH_SOCK")
|
||||
(getenv "SSH_AGENT_PID"))
|
||||
"scp"
|
||||
"ssh"))
|
||||
;; Under Emacs 20, `executable-find' does not exists. So we
|
||||
;; couldn't check whether there is an ssh implementation. Let's
|
||||
;; hope the best.
|
||||
((not e-f) "ssh")
|
||||
;; Fallback.
|
||||
(t "ftp")))
|
||||
"*Default method to use for transferring files.
|
||||
See `tramp-methods' for possibilities.
|
||||
Also see `tramp-default-method-alist'."
|
||||
@ -925,8 +954,10 @@ See also `tramp-yn-prompt-regexp'."
|
||||
:type 'regexp)
|
||||
|
||||
(defcustom tramp-yn-prompt-regexp
|
||||
(concat (regexp-opt '("Store key in cache? (y/n)") t)
|
||||
"\\s-*")
|
||||
(concat
|
||||
(regexp-opt '("Store key in cache? (y/n)"
|
||||
"Update cached key? (y/n, Return cancels connection)") t)
|
||||
"\\s-*")
|
||||
"Regular expression matching all y/n queries which need to be confirmed.
|
||||
The confirmation should be done with y or n.
|
||||
The regexp should match at end of buffer.
|
||||
@ -2044,7 +2075,9 @@ If VAR is nil, then we bind `v' to the structure and `multi-method',
|
||||
;; Enable debugging.
|
||||
(def-edebug-spec with-parsed-tramp-file-name (form symbolp body))
|
||||
;; Highlight as keyword.
|
||||
(font-lock-add-keywords 'emacs-lisp-mode '("\\<with-parsed-tramp-file-name\\>"))
|
||||
(when (functionp 'font-lock-add-keywords)
|
||||
(funcall 'font-lock-add-keywords
|
||||
'emacs-lisp-mode '("\\<with-parsed-tramp-file-name\\>")))
|
||||
|
||||
(defmacro tramp-let-maybe (variable value &rest body)
|
||||
"Let-bind VARIABLE to VALUE in BODY, but only if VARIABLE is not obsolete.
|
||||
@ -2834,17 +2867,18 @@ of."
|
||||
|
||||
|
||||
;; The following isn't needed for Emacs 20 but for 19.34?
|
||||
(defun tramp-handle-file-name-completion (filename directory)
|
||||
(defun tramp-handle-file-name-completion
|
||||
(filename directory &optional predicate)
|
||||
"Like `file-name-completion' for tramp files."
|
||||
(unless (tramp-tramp-file-p directory)
|
||||
(error
|
||||
"tramp-handle-file-name-completion invoked on non-tramp directory `%s'"
|
||||
directory))
|
||||
(with-parsed-tramp-file-name directory nil
|
||||
(try-completion
|
||||
filename
|
||||
(mapcar (lambda (x) (cons x nil))
|
||||
(file-name-all-completions filename directory)))))
|
||||
(try-completion
|
||||
filename
|
||||
(mapcar 'list (file-name-all-completions filename directory))
|
||||
(when predicate
|
||||
(lambda (x) (funcall predicate (expand-file-name (car x) directory))))))
|
||||
|
||||
;; cp, mv and ln
|
||||
|
||||
@ -4494,7 +4528,6 @@ Falls back to normal file name handler if no tramp file name handler exists."
|
||||
"Checks whether method / user name / host name completion is active."
|
||||
(cond
|
||||
(tramp-completion-mode t)
|
||||
((not tramp-unified-filenames) t)
|
||||
((string-match "^/.*:.*:$" file) nil)
|
||||
((string-match
|
||||
(concat tramp-prefix-regexp
|
||||
@ -4503,7 +4536,7 @@ Falls back to normal file name handler if no tramp file name handler exists."
|
||||
(member (match-string 1 file) (mapcar 'car tramp-methods)))
|
||||
((or (equal last-input-event 'tab)
|
||||
;; Emacs
|
||||
(and (integerp last-input-event)
|
||||
(and (wholenump last-input-event)
|
||||
(or
|
||||
;; ?\t has event-modifier 'control
|
||||
(char-equal last-input-event ?\t)
|
||||
@ -4605,10 +4638,14 @@ Falls back to normal file name handler if no tramp file name handler exists."
|
||||
|
||||
;; Method, host name and user name completion for a file.
|
||||
;;;###autoload
|
||||
(defun tramp-completion-handle-file-name-completion (filename directory)
|
||||
(defun tramp-completion-handle-file-name-completion
|
||||
(filename directory &optional predicate)
|
||||
"Like `file-name-completion' for tramp files."
|
||||
(try-completion filename
|
||||
(mapcar 'list (file-name-all-completions filename directory))))
|
||||
(try-completion
|
||||
filename
|
||||
(mapcar 'list (file-name-all-completions filename directory))
|
||||
(when predicate
|
||||
(lambda (x) (funcall predicate (expand-file-name (car x) directory))))))
|
||||
|
||||
;; I misuse a little bit the tramp-file-name structure in order to handle
|
||||
;; completion possibilities for partial methods / user names / host names.
|
||||
@ -5068,13 +5105,23 @@ hosts, or files, disagree."
|
||||
(defun tramp-touch (file time)
|
||||
"Set the last-modified timestamp of the given file.
|
||||
TIME is an Emacs internal time value as returned by `current-time'."
|
||||
(let ((touch-time (format-time-string "%Y%m%d%H%M.%S" time t)))
|
||||
(let* ((utc
|
||||
;; With GNU Emacs, `format-time-string' has an optional
|
||||
;; parameter UNIVERSAL. This is preferred.
|
||||
(and (functionp 'subr-arity)
|
||||
(= 3 (cdr (funcall (symbol-function 'subr-arity)
|
||||
(symbol-function 'format-time-string))))))
|
||||
(touch-time
|
||||
(if utc
|
||||
(format-time-string "%Y%m%d%H%M.%S" time t)
|
||||
(format-time-string "%Y%m%d%H%M.%S" time))))
|
||||
(if (tramp-tramp-file-p file)
|
||||
(with-parsed-tramp-file-name file nil
|
||||
(let ((buf (tramp-get-buffer multi-method method user host)))
|
||||
(unless (zerop (tramp-send-command-and-check
|
||||
multi-method method user host
|
||||
(format "TZ=UTC; export TZ; touch -t %s %s"
|
||||
(format "%s touch -t %s %s"
|
||||
(if utc "TZ=UTC; export TZ;" "")
|
||||
touch-time
|
||||
(tramp-shell-quote-argument localname))
|
||||
t))
|
||||
@ -6943,8 +6990,8 @@ localname (file name on remote host)."
|
||||
item)
|
||||
(while choices
|
||||
(setq item (pop choices))
|
||||
(when (and (string-match (nth 0 item) (or host ""))
|
||||
(string-match (nth 1 item) (or user "")))
|
||||
(when (and (string-match (or (nth 0 item) "") (or host ""))
|
||||
(string-match (or (nth 1 item) "") (or user "")))
|
||||
(setq method (nth 2 item))
|
||||
(setq choices nil)))
|
||||
method))
|
||||
|
@ -30,7 +30,7 @@
|
||||
;; are auto-frobbed from configure.ac, so you should edit that file and run
|
||||
;; "autoconf && ./configure" to change them.
|
||||
|
||||
(defconst tramp-version "2.0.54"
|
||||
(defconst tramp-version "2.0.55"
|
||||
"This version of Tramp.")
|
||||
|
||||
(defconst tramp-bug-report-address "tramp-devel@gnu.org"
|
||||
|
@ -652,19 +652,24 @@ A heading line is one that starts with a `*' (or that
|
||||
(if (< arg 0)
|
||||
(beginning-of-line)
|
||||
(end-of-line))
|
||||
(while (and (not (bobp)) (< arg 0))
|
||||
(while (and (not (bobp))
|
||||
(re-search-backward (concat "^\\(?:" outline-regexp "\\)")
|
||||
nil 'move)
|
||||
(outline-invisible-p)))
|
||||
(setq arg (1+ arg)))
|
||||
(while (and (not (eobp)) (> arg 0))
|
||||
(while (and (not (eobp))
|
||||
(re-search-forward (concat "^\\(?:" outline-regexp "\\)")
|
||||
nil 'move)
|
||||
(outline-invisible-p (match-beginning 0))))
|
||||
(setq arg (1- arg)))
|
||||
(beginning-of-line))
|
||||
(let (found-heading-p)
|
||||
(while (and (not (bobp)) (< arg 0))
|
||||
(while (and (not (bobp))
|
||||
(setq found-heading-p
|
||||
(re-search-backward
|
||||
(concat "^\\(?:" outline-regexp "\\)")
|
||||
nil 'move))
|
||||
(outline-invisible-p)))
|
||||
(setq arg (1+ arg)))
|
||||
(while (and (not (eobp)) (> arg 0))
|
||||
(while (and (not (eobp))
|
||||
(setq found-heading-p
|
||||
(re-search-forward
|
||||
(concat "^\\(?:" outline-regexp "\\)")
|
||||
nil 'move))
|
||||
(outline-invisible-p (match-beginning 0))))
|
||||
(setq arg (1- arg)))
|
||||
(if found-heading-p (beginning-of-line))))
|
||||
|
||||
(defun outline-previous-visible-heading (arg)
|
||||
"Move to the previous heading line.
|
||||
@ -690,6 +695,11 @@ This puts point at the start of the current subtree, and mark at the end."
|
||||
(goto-char beg)))
|
||||
|
||||
|
||||
(defvar outline-isearch-open-invisible-function nil
|
||||
"Function called if `isearch' finishes in an invisible overlay.
|
||||
The function is called with the overlay as its only argument.
|
||||
If nil, `show-entry' is called to reveal the invisible text.")
|
||||
|
||||
(put 'outline 'reveal-toggle-invisible 'outline-reveal-toggle-invisible)
|
||||
(defun outline-flag-region (from to flag)
|
||||
"Hide or show lines from FROM to TO, according to FLAG.
|
||||
@ -698,7 +708,9 @@ If FLAG is nil then text is shown, while if FLAG is t the text is hidden."
|
||||
(when flag
|
||||
(let ((o (make-overlay from to)))
|
||||
(overlay-put o 'invisible 'outline)
|
||||
(overlay-put o 'isearch-open-invisible 'outline-isearch-open-invisible)))
|
||||
(overlay-put o 'isearch-open-invisible
|
||||
(or outline-isearch-open-invisible-function
|
||||
'outline-isearch-open-invisible))))
|
||||
;; Seems only used by lazy-lock. I.e. obsolete.
|
||||
(run-hooks 'outline-view-change-hook))
|
||||
|
||||
|
@ -71,9 +71,7 @@ Whether the passphrase is cached at all is controlled by
|
||||
:group 'pgg
|
||||
:type 'integer)
|
||||
|
||||
(defcustom pgg-passphrase-coding-system
|
||||
(if (boundp 'locale-coding-system)
|
||||
locale-coding-system)
|
||||
(defcustom pgg-passphrase-coding-system nil
|
||||
"Coding system to encode passphrase."
|
||||
:group 'pgg
|
||||
:type 'coding-system)
|
||||
|
@ -52,7 +52,7 @@
|
||||
:type '(choice (const :tag "New `--recipient' option" "--recipient")
|
||||
(const :tag "Old `--remote-user' option" "--remote-user")))
|
||||
|
||||
(defcustom pgg-gpg-use-agent nil
|
||||
(defcustom pgg-gpg-use-agent t
|
||||
"Whether to use gnupg agent for key caching."
|
||||
:group 'pgg-gpg
|
||||
:type 'boolean)
|
||||
@ -94,8 +94,10 @@
|
||||
(if pgg-passphrase-coding-system
|
||||
(progn
|
||||
(setq encoded-passphrase-with-new-line
|
||||
(encode-coding-string passphrase-with-newline
|
||||
pgg-passphrase-coding-system))
|
||||
(encode-coding-string
|
||||
passphrase-with-newline
|
||||
(coding-system-change-eol-conversion
|
||||
pgg-passphrase-coding-system 'unix)))
|
||||
(pgg-clear-string passphrase-with-newline))
|
||||
(setq encoded-passphrase-with-new-line passphrase-with-newline
|
||||
passphrase-with-newline nil))
|
||||
|
@ -531,9 +531,11 @@ that requires a literal mode spec at compile time."
|
||||
;; heuristic that open parens in column 0 are defun starters. Since
|
||||
;; we have c-state-cache, that heuristic isn't useful and only causes
|
||||
;; trouble, so turn it off.
|
||||
(when (memq 'col-0-paren c-emacs-features)
|
||||
(make-local-variable 'open-paren-in-column-0-is-defun-start)
|
||||
(setq open-paren-in-column-0-is-defun-start nil))
|
||||
;; 2006/12/17: This facility is somewhat confused, and doesn't really seem
|
||||
;; helpful. Comment it out for now.
|
||||
;; (when (memq 'col-0-paren c-emacs-features)
|
||||
;; (make-local-variable 'open-paren-in-column-0-is-defun-start)
|
||||
;; (setq open-paren-in-column-0-is-defun-start nil))
|
||||
|
||||
(c-clear-found-types)
|
||||
|
||||
|
@ -79,6 +79,8 @@
|
||||
;; 5) If you wish to call procedures from your program in GDB
|
||||
;; e.g "call myproc ()", "p mysquare (5)" then use level 2 annotations
|
||||
;; "gdb --annotate=2 myprog" to keep source buffer/selected frame fixed.
|
||||
;; 6) After detaching from a process, clicking on the "GO" icon on toolbar
|
||||
;; (gud-go) sends "continue" to GDB (should be "run").
|
||||
|
||||
;;; Problems with watch expressions, GDB/MI:
|
||||
|
||||
@ -708,11 +710,6 @@ With arg, enter name of variable to be watched in the minibuffer."
|
||||
(buffer-substring (region-beginning) (region-end))
|
||||
(tooltip-identifier-from-point (point))))))
|
||||
(speedbar 1)
|
||||
(catch 'already-watched
|
||||
(dolist (var gdb-var-list)
|
||||
(unless (string-match "\\." (car var))
|
||||
(if (string-equal expr (nth 1 var))
|
||||
(throw 'already-watched nil))))
|
||||
(set-text-properties 0 (length expr) nil expr)
|
||||
(gdb-enqueue-input
|
||||
(list
|
||||
@ -720,7 +717,7 @@ With arg, enter name of variable to be watched in the minibuffer."
|
||||
(concat
|
||||
"server interpreter mi \"-var-create - * " expr "\"\n")
|
||||
(concat"-var-create - * " expr "\n"))
|
||||
`(lambda () (gdb-var-create-handler ,expr))))))))
|
||||
`(lambda () (gdb-var-create-handler ,expr)))))))
|
||||
(message "gud-watch is a no-op in this mode."))))
|
||||
|
||||
(defconst gdb-var-create-regexp
|
||||
@ -849,32 +846,24 @@ type_changed=\".*?\".*?}")
|
||||
(interactive)
|
||||
(if (memq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
|
||||
'(gdbmi gdba))
|
||||
(let ((text (speedbar-line-text)))
|
||||
;; Can't use \\S-+ for whitespace because
|
||||
;; speedbar has a whacky syntax table.
|
||||
(string-match "\\([^ \t]+\\)" text)
|
||||
(let ((expr (match-string 1 text)) var varnum)
|
||||
(catch 'expr-found
|
||||
(dolist (var1 gdb-var-list)
|
||||
(when (string-equal expr (nth 1 var1))
|
||||
(setq var var1)
|
||||
(setq varnum (car var1))
|
||||
(throw 'expr-found nil))))
|
||||
(unless (string-match "\\." (car var))
|
||||
(gdb-enqueue-input
|
||||
(list
|
||||
(if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
|
||||
'gdba)
|
||||
(concat "server interpreter mi \"-var-delete " varnum "\"\n")
|
||||
(concat "-var-delete " varnum "\n"))
|
||||
'ignore))
|
||||
(setq gdb-var-list (delq var gdb-var-list))
|
||||
(dolist (varchild gdb-var-list)
|
||||
(if (string-match (concat (car var) "\\.") (car varchild))
|
||||
(setq gdb-var-list (delq varchild gdb-var-list)))))))))
|
||||
(let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list))
|
||||
(varnum (car var)))
|
||||
(if (string-match "\\." (car var))
|
||||
(message-box "Can only delete a root expression")
|
||||
(gdb-enqueue-input
|
||||
(list
|
||||
(if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer)
|
||||
'gdba)
|
||||
(concat "server interpreter mi \"-var-delete " varnum "\"\n")
|
||||
(concat "-var-delete " varnum "\n"))
|
||||
'ignore))
|
||||
(setq gdb-var-list (delq var gdb-var-list))
|
||||
(dolist (varchild gdb-var-list)
|
||||
(if (string-match (concat (car var) "\\.") (car varchild))
|
||||
(setq gdb-var-list (delq varchild gdb-var-list))))))))
|
||||
|
||||
(defun gdb-var-delete-children (varnum)
|
||||
"Delete children of variable object point from the speedbar."
|
||||
"Delete children of variable object at point from the speedbar."
|
||||
(gdb-enqueue-input
|
||||
(list
|
||||
(if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
|
||||
@ -1015,7 +1004,7 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'."
|
||||
'gdb-partial-output-name)
|
||||
|
||||
(defun gdb-partial-output-name ()
|
||||
(concat "*partial-output-"
|
||||
(concat " *partial-output-"
|
||||
(gdb-get-target-string)
|
||||
"*"))
|
||||
|
||||
@ -1401,7 +1390,7 @@ sink to `user' in `gdb-stopping', that is fine."
|
||||
(if (and gdb-frame-begin gdb-printing)
|
||||
(setq gud-overlay-arrow-position gud-old-arrow)
|
||||
;;Pop up GUD buffer to display current frame when it doesn't have source
|
||||
;;information i.e id not compiled with -g as with libc routines generally.
|
||||
;;information i.e if not compiled with -g as with libc routines generally.
|
||||
(if gdb-same-frame
|
||||
(gdb-display-gdb-buffer)
|
||||
(gdb-frame-gdb-buffer))
|
||||
@ -1415,6 +1404,7 @@ sink to `user' in `gdb-stopping', that is fine."
|
||||
(gdb-invalidate-frames)
|
||||
'delete))))))
|
||||
(unless (member gdb-inferior-status '("exited" "signal"))
|
||||
(setq gdb-active-process t) ;Just for attaching case.
|
||||
(setq gdb-inferior-status "stopped")
|
||||
(gdb-force-mode-line-update
|
||||
(propertize gdb-inferior-status 'face font-lock-warning-face)))
|
||||
@ -1785,7 +1775,7 @@ static char *magick[] = {
|
||||
(dolist (buffer (buffer-list))
|
||||
(with-current-buffer buffer
|
||||
(if (and (memq gud-minor-mode '(gdba gdbmi))
|
||||
(not (string-match "\\`\\*.+\\*\\'" (buffer-name))))
|
||||
(not (string-match "\\` ?\\*.+\\*\\'" (buffer-name))))
|
||||
(gdb-remove-breakpoint-icons (point-min) (point-max)))))
|
||||
(with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer)
|
||||
(save-excursion
|
||||
@ -2934,7 +2924,7 @@ Kills the gdb buffers, and resets variables and the source buffers."
|
||||
(unless (eq buffer gud-comint-buffer)
|
||||
(with-current-buffer buffer
|
||||
(if (memq gud-minor-mode '(gdbmi gdba))
|
||||
(if (string-match "\\`\\*.+\\*\\'" (buffer-name))
|
||||
(if (string-match "\\` ?\\*.+\\*\\'" (buffer-name))
|
||||
(kill-buffer nil)
|
||||
(gdb-remove-breakpoint-icons (point-min) (point-max) t)
|
||||
(setq gud-minor-mode nil)
|
||||
|
@ -1890,7 +1890,7 @@ To revert all these variables to the global values, use
|
||||
command `sh-reset-indent-vars-to-global-values'."
|
||||
(interactive)
|
||||
(mapcar 'make-local-variable sh-var-list)
|
||||
(message "Indentation variable are now local."))
|
||||
(message "Indentation variables are now local."))
|
||||
|
||||
(defun sh-reset-indent-vars-to-global-values ()
|
||||
"Reset local indentation variables to the global values.
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
;; Author: Alex Schroeder <alex@gnu.org>
|
||||
;; Maintainer: Michael Mauger <mmaug@yahoo.com>
|
||||
;; Version: 2.0.1
|
||||
;; Version: 2.0.2
|
||||
;; Keywords: comm languages processes
|
||||
;; URL: http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/lisp/progmodes/sql.el
|
||||
;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?SqlMode
|
||||
@ -30,26 +30,40 @@
|
||||
;;; Commentary:
|
||||
|
||||
;; Please send bug reports and bug fixes to the mailing list at
|
||||
;; sql.el@gnu.org. If you want to subscribe to the mailing list, send
|
||||
;; mail to sql.el-request@gnu.org with `subscribe sql.el FIRSTNAME
|
||||
;; LASTNAME' in the mail body.
|
||||
;; help-gnu-emacs@gnu.org. If you want to subscribe to the mailing
|
||||
;; list, see the web page at
|
||||
;; http://lists.gnu.org/mailman/listinfo/help-gnu-emacs for
|
||||
;; instructions. I monitor this list actively. If you send an e-mail
|
||||
;; to Alex Schroeder it usually makes it to me when Alex has a chance
|
||||
;; to forward them along (Thanks, Alex).
|
||||
|
||||
;; This file provides a sql-mode and a sql-interactive-mode. My goals
|
||||
;; were two simple modes providing syntactic hilighting. The
|
||||
;; interactive mode had to provide a command-line history; the other
|
||||
;; mode had to provide "send region/buffer to SQL interpreter"
|
||||
;; functions. "simple" in this context means easy to use, easy to
|
||||
;; maintain and little or no bells and whistles.
|
||||
;; This file provides a sql-mode and a sql-interactive-mode. The
|
||||
;; original goals were two simple modes providing syntactic
|
||||
;; highlighting. The interactive mode had to provide a command-line
|
||||
;; history; the other mode had to provide "send region/buffer to SQL
|
||||
;; interpreter" functions. "simple" in this context means easy to
|
||||
;; use, easy to maintain and little or no bells and whistles. This
|
||||
;; has changed somewhat as experience with the mode has accumulated.
|
||||
|
||||
;; Support for different flavors of SQL and command interpreters was
|
||||
;; available in early versions of sql.el. This support has been
|
||||
;; extended and formalized in later versions. Part of the impetus for
|
||||
;; the improved support of SQL flavors was borne out of the current
|
||||
;; maintainer's consulting experience. In the past fifteen years, I
|
||||
;; have used Oracle, Sybase, Informix, MySQL, Postgres, and SQLServer.
|
||||
;; On some assignments, I have used two or more of these concurrently.
|
||||
|
||||
;; If anybody feels like extending this sql mode, take a look at the
|
||||
;; above mentioned modes and write a sqlx-mode on top of this one. If
|
||||
;; this proves to be difficult, please suggest changes that will
|
||||
;; facilitate your plans.
|
||||
;; facilitate your plans. Facilities have been provided to add
|
||||
;; products and product-specific configuration.
|
||||
|
||||
;; sql-interactive-mode is used to interact with a SQL interpreter
|
||||
;; process in a SQLi buffer (usually called `*SQL*'). The SQLi buffer
|
||||
;; is created by calling a SQL interpreter-specific entry function. Do
|
||||
;; *not* call sql-interactive-mode by itself.
|
||||
;; is created by calling a SQL interpreter-specific entry function or
|
||||
;; sql-product-interactive. Do *not* call sql-interactive-mode by
|
||||
;; itself.
|
||||
|
||||
;; The list of currently supported interpreters and the corresponding
|
||||
;; entry function used to create the SQLi buffers is shown with
|
||||
@ -850,7 +864,7 @@ Based on `comint-mode-map'.")
|
||||
(define-abbrev-table 'sql-mode-abbrev-table nil))
|
||||
|
||||
(mapcar
|
||||
;; In Emacs 21.3+, provide SYSTEM-FLAG to define-abbrev.
|
||||
;; In Emacs 22+, provide SYSTEM-FLAG to define-abbrev.
|
||||
'(lambda (abbrev)
|
||||
(let ((name (car abbrev))
|
||||
(expansion (cdr abbrev)))
|
||||
@ -858,13 +872,13 @@ Based on `comint-mode-map'.")
|
||||
(define-abbrev sql-mode-abbrev-table name expansion nil 0 t)
|
||||
(error
|
||||
(define-abbrev sql-mode-abbrev-table name expansion)))))
|
||||
'(("ins" "insert")
|
||||
("upd" "update")
|
||||
("del" "delete")
|
||||
("sel" "select")
|
||||
("proc" "procedure")
|
||||
("func" "function")
|
||||
("cr" "create")))
|
||||
'(("ins" . "insert")
|
||||
("upd" . "update")
|
||||
("del" . "delete")
|
||||
("sel" . "select")
|
||||
("proc" . "procedure")
|
||||
("func" . "function")
|
||||
("cr" . "create")))
|
||||
|
||||
;; Syntax Table
|
||||
|
||||
@ -873,13 +887,15 @@ Based on `comint-mode-map'.")
|
||||
;; C-style comments /**/ (see elisp manual "Syntax Flags"))
|
||||
(modify-syntax-entry ?/ ". 14" table)
|
||||
(modify-syntax-entry ?* ". 23" table)
|
||||
;; double-dash starts comment
|
||||
;; double-dash starts comments
|
||||
(modify-syntax-entry ?- ". 12b" table)
|
||||
;; newline and formfeed end coments
|
||||
;; newline and formfeed end comments
|
||||
(modify-syntax-entry ?\n "> b" table)
|
||||
(modify-syntax-entry ?\f "> b" table)
|
||||
;; single quotes (') quotes delimit strings
|
||||
;; single quotes (') delimit strings
|
||||
(modify-syntax-entry ?' "\"" table)
|
||||
;; double quotes (") don't delimit strings
|
||||
(modify-syntax-entry ?\" "." table)
|
||||
;; backslash is no escape character
|
||||
(modify-syntax-entry ?\\ "." table)
|
||||
table)
|
||||
@ -888,12 +904,13 @@ Based on `comint-mode-map'.")
|
||||
;; Font lock support
|
||||
|
||||
(defvar sql-mode-font-lock-object-name
|
||||
(list (concat "^\\s-*\\(create\\|drop\\|alter\\)\\s-+" ;; lead off with CREATE, DROP or ALTER
|
||||
"\\(\\w+\\s-+\\)*" ;; optional intervening keywords
|
||||
"\\(table\\|view\\|package\\(\\s-+body\\)?\\|proc\\(edure\\)?"
|
||||
"\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+"
|
||||
"\\(\\w+\\)")
|
||||
6 'font-lock-function-name-face)
|
||||
(eval-when-compile
|
||||
(list (concat "^\\s-*\\(?:create\\|drop\\|alter\\)\\s-+" ;; lead off with CREATE, DROP or ALTER
|
||||
"\\(?:\\w+\\s-+\\)*" ;; optional intervening keywords
|
||||
"\\(?:table\\|view\\|\\(?:package\\|type\\)\\(?:\\s-+body\\)?\\|proc\\(?:edure\\)?"
|
||||
"\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+"
|
||||
"\\(\\w+\\)")
|
||||
1 'font-lock-function-name-face))
|
||||
|
||||
"Pattern to match the names of top-level objects.
|
||||
|
||||
|
@ -75,6 +75,7 @@ SIDE must be the symbol `left' or `right'."
|
||||
;;;; Helpful functions for enabling and disabling scroll bars.
|
||||
|
||||
(defvar scroll-bar-mode)
|
||||
(defvar previous-scroll-bar-mode nil)
|
||||
|
||||
(defvar scroll-bar-mode-explicit nil
|
||||
"Non-nil means `set-scroll-bar-mode' should really do something.
|
||||
@ -85,6 +86,9 @@ This is nil while loading `scroll-bar.el', and t afterward.")
|
||||
|
||||
(defun set-scroll-bar-mode (value)
|
||||
"Set `scroll-bar-mode' to VALUE and put the new value into effect."
|
||||
(if scroll-bar-mode
|
||||
(setq previous-scroll-bar-mode scroll-bar-mode))
|
||||
|
||||
(setq scroll-bar-mode value)
|
||||
|
||||
(when scroll-bar-mode-explicit
|
||||
@ -137,7 +141,8 @@ turn off scroll bars; otherwise, turn on scroll bars."
|
||||
(not scroll-bar-mode)
|
||||
(setq flag (prefix-numeric-value flag))
|
||||
(or (not (numberp flag)) (>= flag 0)))
|
||||
default-frame-scroll-bars)))
|
||||
(or previous-scroll-bar-mode
|
||||
default-frame-scroll-bars))))
|
||||
|
||||
(defun toggle-scroll-bar (arg)
|
||||
"Toggle whether or not the selected frame has vertical scroll bars.
|
||||
|
@ -706,8 +706,8 @@ Leave one space or none, according to the context."
|
||||
|
||||
(defun delete-horizontal-space (&optional backward-only)
|
||||
"Delete all spaces and tabs around point.
|
||||
If BACKWARD-ONLY is non-nil, only delete spaces before point."
|
||||
(interactive "*")
|
||||
If BACKWARD-ONLY is non-nil, only delete them before point."
|
||||
(interactive "*P")
|
||||
(let ((orig-pos (point)))
|
||||
(delete-region
|
||||
(if backward-only
|
||||
|
@ -1206,6 +1206,7 @@ Values less than twice `fancy-splash-delay' are ignored."
|
||||
(defvar fancy-splash-help-echo nil)
|
||||
(defvar fancy-splash-stop-time nil)
|
||||
(defvar fancy-splash-outer-buffer nil)
|
||||
(defvar fancy-splash-last-input-event nil)
|
||||
|
||||
(defun fancy-splash-insert (&rest args)
|
||||
"Insert text into the current buffer, with faces.
|
||||
@ -1363,6 +1364,14 @@ mouse."
|
||||
(push last-command-event unread-command-events))
|
||||
(throw 'exit nil))
|
||||
|
||||
(defun fancy-splash-special-event-action ()
|
||||
"Save the last event and stop displaying the splash screen buffer.
|
||||
This is an internal function used to turn off the splash screen after
|
||||
the user caused an input event that is bound in `special-event-map'"
|
||||
(interactive)
|
||||
(setq fancy-splash-last-input-event last-input-event)
|
||||
(throw 'exit nil))
|
||||
|
||||
|
||||
(defun fancy-splash-screens (&optional hide-on-input)
|
||||
"Display fancy splash screens when Emacs starts."
|
||||
@ -1372,6 +1381,7 @@ mouse."
|
||||
splash-buffer
|
||||
(old-minor-mode-map-alist minor-mode-map-alist)
|
||||
(old-emulation-mode-map-alists emulation-mode-map-alists)
|
||||
(old-special-event-map special-event-map)
|
||||
(frame (fancy-splash-frame))
|
||||
timer)
|
||||
(save-selected-window
|
||||
@ -1387,6 +1397,20 @@ mouse."
|
||||
(define-key map [t] 'fancy-splash-default-action)
|
||||
(define-key map [mouse-movement] 'ignore)
|
||||
(define-key map [mode-line t] 'ignore)
|
||||
;; Temporarily bind special events to
|
||||
;; fancy-splash-special-event-action so as to stop
|
||||
;; displaying splash screens with such events.
|
||||
;; Otherwise, drag-n-drop into splash screens may
|
||||
;; leave us in recursive editing with invisible
|
||||
;; cursors for a while.
|
||||
(setq special-event-map (make-sparse-keymap))
|
||||
(map-keymap
|
||||
(lambda (key def)
|
||||
(define-key special-event-map (vector key)
|
||||
(if (eq def 'ignore)
|
||||
'ignore
|
||||
'fancy-splash-special-event-action)))
|
||||
old-special-event-map)
|
||||
(setq display-hourglass nil
|
||||
minor-mode-map-alist nil
|
||||
emulation-mode-map-alists nil
|
||||
@ -1403,8 +1427,15 @@ mouse."
|
||||
(cancel-timer timer)
|
||||
(setq display-hourglass old-hourglass
|
||||
minor-mode-map-alist old-minor-mode-map-alist
|
||||
emulation-mode-map-alists old-emulation-mode-map-alists)
|
||||
(kill-buffer splash-buffer)))))
|
||||
emulation-mode-map-alists old-emulation-mode-map-alists
|
||||
special-event-map old-special-event-map)
|
||||
(kill-buffer splash-buffer)
|
||||
(when fancy-splash-last-input-event
|
||||
(setq last-input-event fancy-splash-last-input-event
|
||||
fancy-splash-last-input-event nil)
|
||||
(command-execute (lookup-key special-event-map
|
||||
(vector last-input-event))
|
||||
nil (vector last-input-event) t))))))
|
||||
;; If hide-on-input is nil, don't hide the buffer on input.
|
||||
(if (or (window-minibuffer-p)
|
||||
(window-dedicated-p (selected-window)))
|
||||
|
@ -2014,6 +2014,22 @@ the echo area or in a buffer where the cursor is not displayed."
|
||||
(mac-split-string-by-property-change string)
|
||||
""))
|
||||
|
||||
(defun mac-keyboard-translate-char (ch)
|
||||
(if (and (char-valid-p ch)
|
||||
(or (char-table-p keyboard-translate-table)
|
||||
(and (or (stringp keyboard-translate-table)
|
||||
(vectorp keyboard-translate-table))
|
||||
(> (length keyboard-translate-table) ch))))
|
||||
(or (aref keyboard-translate-table ch) ch)
|
||||
ch))
|
||||
|
||||
(defun mac-unread-string (string)
|
||||
;; Unread characters and insert them in a keyboard macro being
|
||||
;; defined.
|
||||
(apply 'isearch-unread
|
||||
(mapcar 'mac-keyboard-translate-char
|
||||
(mac-replace-untranslated-utf-8-chars string))))
|
||||
|
||||
(defun mac-ts-update-active-input-area (event)
|
||||
"Update Mac TSM active input area according to EVENT.
|
||||
The confirmed text is converted to Emacs input events and pushed
|
||||
@ -2092,11 +2108,7 @@ either in the current buffer or in the echo area."
|
||||
(point) (point) (current-buffer))
|
||||
(overlay-put mac-ts-active-input-overlay 'before-string
|
||||
active-input-string))
|
||||
;; Unread confirmed characters and insert them in a keyboard
|
||||
;; macro being defined.
|
||||
(apply 'isearch-unread
|
||||
(append (mac-replace-untranslated-utf-8-chars
|
||||
(funcall decode-fun confirmed coding)) '())))
|
||||
(mac-unread-string (funcall decode-fun confirmed coding)))
|
||||
;; The event is successfully processed. Sync the sequence number.
|
||||
(setq mac-ts-update-active-input-area-seqno (1+ seqno))))
|
||||
|
||||
@ -2109,11 +2121,7 @@ either in the current buffer or in the echo area."
|
||||
(coding (or (cdr (assq (car script-language)
|
||||
mac-script-code-coding-systems))
|
||||
'mac-roman)))
|
||||
;; Unread characters and insert them in a keyboard macro being
|
||||
;; defined.
|
||||
(apply 'isearch-unread
|
||||
(append (mac-replace-untranslated-utf-8-chars
|
||||
(mac-utxt-to-string text coding)) '()))))
|
||||
(mac-unread-string (mac-utxt-to-string text coding))))
|
||||
|
||||
;; kEventClassTextInput/kEventTextInputUpdateActiveInputArea
|
||||
(define-key mac-apple-event-map [text-input update-active-input-area]
|
||||
|
@ -2463,6 +2463,10 @@ order until succeed.")
|
||||
(if res-selection-timeout
|
||||
(setq x-selection-timeout (string-to-number res-selection-timeout))))
|
||||
|
||||
;; Set scroll bar mode to right if set by X resources. Default is left.
|
||||
(if (equal (x-get-resource "verticalScrollBars" "ScrollBars") "right")
|
||||
(customize-set-variable 'scroll-bar-mode 'right))
|
||||
|
||||
(defun x-win-suspend-error ()
|
||||
(error "Suspending an Emacs running under X makes no sense"))
|
||||
(add-hook 'suspend-hook 'x-win-suspend-error)
|
||||
|
@ -767,7 +767,7 @@ If `fill-paragraph-function' is nil, return the `fill-prefix' used for filling."
|
||||
(list (if current-prefix-arg 'full))))
|
||||
;; First try fill-paragraph-function.
|
||||
(or (and (or fill-paragraph-function
|
||||
(and (window-minibuffer-p (selected-window))
|
||||
(and (minibufferp (current-buffer))
|
||||
(= 1 (point-min))))
|
||||
(let ((function (or fill-paragraph-function
|
||||
;; In the minibuffer, don't count the width
|
||||
@ -843,14 +843,16 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'."
|
||||
(commark
|
||||
(comment-string-strip (buffer-substring comstart comin) nil t))
|
||||
(comment-re
|
||||
(if (string-match comment-start-skip (concat commark "a"))
|
||||
;; `commark' is surrounded with arbitrary text (`\0' and `a')
|
||||
;; to make sure it can be used as an optimization of
|
||||
;; `comment-start-skip' in the middle of a line. For example,
|
||||
;; `commark' can't be used with the "@c" in TeXinfo (hence
|
||||
;; the `a') or with the "C" at BOL in Fortran (hence the `\0').
|
||||
(if (string-match comment-start-skip (concat "\0" commark "a"))
|
||||
(concat "[ \t]*" (regexp-quote commark)
|
||||
;; Make sure we only match comments that use
|
||||
;; the exact same comment marker.
|
||||
"[^" (substring commark -1) "]")
|
||||
;; If the commark needs to be followed by some special
|
||||
;; set of characters (like @c in TeXinfo), we can't
|
||||
;; rely just on `commark'.
|
||||
(concat "[ \t]*\\(?:" comment-start-skip "\\)")))
|
||||
(comment-fill-prefix ; Compute a fill prefix.
|
||||
(save-excursion
|
||||
|
@ -5,7 +5,7 @@
|
||||
;; Author: Carsten Dominik <dominik at science dot uva dot nl>
|
||||
;; Keywords: outlines, hypermedia, calendar, wp
|
||||
;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
|
||||
;; Version: 4.56b
|
||||
;; Version: 4.56e
|
||||
;;
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
@ -114,7 +114,7 @@
|
||||
|
||||
;;; Customization variables
|
||||
|
||||
(defvar org-version "4.56b"
|
||||
(defvar org-version "4.56e"
|
||||
"The version number of the file org.el.")
|
||||
(defun org-version ()
|
||||
(interactive)
|
||||
@ -3211,6 +3211,9 @@ The following commands are available:
|
||||
;; Paragraphs and auto-filling
|
||||
(org-set-autofill-regexps)
|
||||
(org-update-radio-target-regexp)
|
||||
;; Make isearch reveal context after success
|
||||
(org-set-local 'outline-isearch-open-invisible-function
|
||||
(lambda (&rest ignore) (org-show-context nil t)))
|
||||
|
||||
(if (and org-insert-mode-line-in-empty-file
|
||||
(interactive-p)
|
||||
@ -3238,7 +3241,7 @@ The following commands are available:
|
||||
(defsubst org-current-line (&optional pos)
|
||||
(save-excursion
|
||||
(and pos (goto-char pos))
|
||||
(+ (if (bolp) 1 0) (count-lines (point-min) (point)))))
|
||||
(+ (if (bolp) 1 0) (count-lines 1 (point)))))
|
||||
|
||||
(defun org-current-time ()
|
||||
"Current time, possibly rounded to `org-time-stamp-rounding-minutes'."
|
||||
@ -5691,6 +5694,7 @@ When SIBLINGS is non-nil, show all siblings on each hierarchy level."
|
||||
(save-excursion
|
||||
(and (if heading-p (org-goto-sibling) (outline-next-heading))
|
||||
(org-flag-heading nil))))
|
||||
(when siblings (org-show-siblings))
|
||||
(when hierarchy-p
|
||||
;; show all higher headings, possibly with siblings
|
||||
(save-excursion
|
||||
@ -5699,12 +5703,15 @@ When SIBLINGS is non-nil, show all siblings on each hierarchy level."
|
||||
(error nil))
|
||||
(not (bobp)))
|
||||
(org-flag-heading nil)
|
||||
(when siblings
|
||||
(save-excursion
|
||||
(while (org-goto-sibling) (org-flag-heading nil)))
|
||||
(save-excursion
|
||||
(while (org-goto-sibling 'previous)
|
||||
(org-flag-heading nil))))))))))
|
||||
(when siblings (org-show-siblings))))))))
|
||||
|
||||
(defun org-show-siblings ()
|
||||
"Show all siblings of the current headline."
|
||||
(save-excursion
|
||||
(while (org-goto-sibling) (org-flag-heading nil)))
|
||||
(save-excursion
|
||||
(while (org-goto-sibling 'previous)
|
||||
(org-flag-heading nil))))
|
||||
|
||||
(defun org-reveal (&optional siblings)
|
||||
"Show current entry, hierarchy above it, and the following headline.
|
||||
@ -12375,11 +12382,11 @@ with `org-table-paste-rectangle'."
|
||||
(rpl (if cut " " nil)))
|
||||
(goto-char beg)
|
||||
(org-table-check-inside-data-field)
|
||||
(setq l01 (count-lines (point-min) (point))
|
||||
(setq l01 (org-current-line)
|
||||
c01 (org-table-current-column))
|
||||
(goto-char end)
|
||||
(org-table-check-inside-data-field)
|
||||
(setq l02 (count-lines (point-min) (point))
|
||||
(setq l02 (org-current-line)
|
||||
c02 (org-table-current-column))
|
||||
(setq l1 (min l01 l02) l2 (max l01 l02)
|
||||
c1 (min c01 c02) c2 (max c01 c02))
|
||||
@ -12410,7 +12417,7 @@ lines."
|
||||
(error "First cut/copy a region to paste!"))
|
||||
(org-table-check-inside-data-field)
|
||||
(let* ((clip org-table-clip)
|
||||
(line (count-lines (point-min) (point)))
|
||||
(line (org-current-line))
|
||||
(col (org-table-current-column))
|
||||
(org-enable-table-editor t)
|
||||
(org-table-automatic-realign nil)
|
||||
@ -16278,6 +16285,7 @@ The images can be removed again with \\[org-ctrl-c-ctrl-c]."
|
||||
(define-key org-mode-map [(tab)] 'org-cycle)
|
||||
(define-key org-mode-map [(control tab)] 'org-force-cycle-archived)
|
||||
(define-key org-mode-map [(meta tab)] 'org-complete)
|
||||
(define-key org-mode-map "\M-\t" 'org-complete)
|
||||
;; The following line is necessary under Suse GNU/Linux
|
||||
(unless (featurep 'xemacs)
|
||||
(define-key org-mode-map [S-iso-lefttab] 'org-shifttab))
|
||||
|
368
lisp/tutorial.el
368
lisp/tutorial.el
@ -33,21 +33,11 @@
|
||||
;;; Code:
|
||||
|
||||
(require 'help-mode) ;; for function help-buffer
|
||||
(eval-when-compile (require 'cl))
|
||||
|
||||
(defface tutorial-warning-face
|
||||
'((((class color) (min-colors 88) (background light))
|
||||
(:foreground "Red1" :weight bold))
|
||||
(((class color) (min-colors 88) (background dark))
|
||||
(:foreground "Pink" :weight bold))
|
||||
(((class color) (min-colors 16) (background light))
|
||||
(:foreground "Red1" :weight bold))
|
||||
(((class color) (min-colors 16) (background dark))
|
||||
(:foreground "Pink" :weight bold))
|
||||
(((class color) (min-colors 8)) (:foreground "red"))
|
||||
(t (:inverse-video t :weight bold)))
|
||||
'((t :inherit font-lock-warning-face))
|
||||
"Face used to highlight warnings in the tutorial."
|
||||
:group 'font-lock-faces)
|
||||
:group 'help)
|
||||
|
||||
(defvar tutorial--point-before-chkeys 0
|
||||
"Point before display of key changes.")
|
||||
@ -168,8 +158,7 @@ options:
|
||||
where
|
||||
" to get the function `"
|
||||
(format "%s" db)
|
||||
"'."))
|
||||
)
|
||||
"'.")))
|
||||
(fill-region (point-min) (point)))))
|
||||
(print-help-return-message))))
|
||||
|
||||
@ -213,110 +202,83 @@ LEFT and RIGHT are the elements to compare."
|
||||
((and (symbolp cx)
|
||||
(symbolp cy))
|
||||
(string< (symbol-name cy)
|
||||
(symbol-name cx)))
|
||||
))))
|
||||
(symbol-name cx)))))))
|
||||
|
||||
(defconst tutorial--default-keys
|
||||
(let* (
|
||||
;; On window system suspend Emacs is replaced in the
|
||||
;; default keymap so honor this here.
|
||||
(suspend-emacs (if window-system
|
||||
;; On window system, `suspend-emacs' is replaced in the default
|
||||
;; keymap
|
||||
(let* ((suspend-emacs (if window-system
|
||||
'iconify-or-deiconify-frame
|
||||
'suspend-emacs))
|
||||
(default-keys
|
||||
`(
|
||||
;; These are not mentioned but are basic:
|
||||
(ESC-prefix [27])
|
||||
`((ESC-prefix [27])
|
||||
(Control-X-prefix [?\C-x])
|
||||
(mode-specific-command-prefix [?\C-c])
|
||||
|
||||
(save-buffers-kill-emacs [?\C-x ?\C-c])
|
||||
|
||||
|
||||
;; * SUMMARY
|
||||
(scroll-up [?\C-v])
|
||||
(scroll-down [?\M-v])
|
||||
(recenter [?\C-l])
|
||||
|
||||
|
||||
;; * BASIC CURSOR CONTROL
|
||||
(forward-char [?\C-f])
|
||||
(backward-char [?\C-b])
|
||||
|
||||
(forward-word [?\M-f])
|
||||
(backward-word [?\M-b])
|
||||
|
||||
(next-line [?\C-n])
|
||||
(previous-line [?\C-p])
|
||||
|
||||
(move-beginning-of-line [?\C-a])
|
||||
(move-end-of-line [?\C-e])
|
||||
|
||||
(backward-sentence [?\M-a])
|
||||
(forward-sentence [?\M-e])
|
||||
|
||||
(newline "\r")
|
||||
|
||||
(beginning-of-buffer [?\M-<])
|
||||
(end-of-buffer [?\M->])
|
||||
|
||||
(universal-argument [?\C-u])
|
||||
|
||||
|
||||
;; * WHEN EMACS IS HUNG
|
||||
(keyboard-quit [?\C-g])
|
||||
|
||||
|
||||
;; * DISABLED COMMANDS
|
||||
(downcase-region [?\C-x ?\C-l])
|
||||
|
||||
|
||||
;; * WINDOWS
|
||||
(delete-other-windows [?\C-x ?1])
|
||||
;; C-u 0 C-l
|
||||
;; Type CONTROL-h k CONTROL-f.
|
||||
|
||||
|
||||
;; * INSERTING AND DELETING
|
||||
;; C-u 8 * to insert ********.
|
||||
|
||||
(delete-backward-char [backspace])
|
||||
(delete-backward-char "\d")
|
||||
(delete-char [?\C-d])
|
||||
|
||||
(backward-kill-word [(meta backspace)])
|
||||
(kill-word [?\M-d])
|
||||
|
||||
(kill-line [?\C-k])
|
||||
(kill-sentence [?\M-k])
|
||||
|
||||
(set-mark-command [?\C-@])
|
||||
(set-mark-command [?\C- ])
|
||||
(kill-region [?\C-w])
|
||||
(yank [?\C-y])
|
||||
(yank-pop [?\M-y])
|
||||
|
||||
|
||||
;; * UNDO
|
||||
(advertised-undo [?\C-x ?u])
|
||||
(advertised-undo [?\C-x ?u])
|
||||
|
||||
|
||||
;; * FILES
|
||||
(find-file [?\C-x ?\C-f])
|
||||
(save-buffer [?\C-x ?\C-s])
|
||||
|
||||
|
||||
;; * BUFFERS
|
||||
(list-buffers [?\C-x ?\C-b])
|
||||
(switch-to-buffer [?\C-x ?b])
|
||||
(save-some-buffers [?\C-x ?s])
|
||||
|
||||
|
||||
;; * EXTENDING THE COMMAND SET
|
||||
;; C-x Character eXtend. Followed by one character.
|
||||
(execute-extended-command [?\M-x])
|
||||
|
||||
;; C-x C-f Find file
|
||||
;; C-x C-s Save file
|
||||
;; C-x s Save some buffers
|
||||
@ -326,44 +288,35 @@ LEFT and RIGHT are the elements to compare."
|
||||
;; C-x 1 Delete all but one window
|
||||
;; C-x u Undo
|
||||
|
||||
|
||||
;; * MODE LINE
|
||||
(describe-mode [?\C-h ?m])
|
||||
|
||||
(set-fill-column [?\C-x ?f])
|
||||
(fill-paragraph [?\M-q])
|
||||
|
||||
|
||||
;; * SEARCHING
|
||||
(isearch-forward [?\C-s])
|
||||
(isearch-backward [?\C-r])
|
||||
|
||||
|
||||
;; * MULTIPLE WINDOWS
|
||||
(split-window-vertically [?\C-x ?2])
|
||||
(scroll-other-window [?\C-\M-v])
|
||||
(other-window [?\C-x ?o])
|
||||
(find-file-other-window [?\C-x ?4 ?\C-f])
|
||||
|
||||
|
||||
;; * RECURSIVE EDITING LEVELS
|
||||
(keyboard-escape-quit [27 27 27])
|
||||
|
||||
|
||||
;; * GETTING MORE HELP
|
||||
;; The most basic HELP feature is C-h c
|
||||
(describe-key-briefly [?\C-h ?c])
|
||||
(describe-key [?\C-h ?k])
|
||||
|
||||
|
||||
;; * MORE FEATURES
|
||||
;; F10
|
||||
|
||||
|
||||
;; * CONCLUSION
|
||||
;;(iconify-or-deiconify-frame [?\C-z])
|
||||
(,suspend-emacs [?\C-z])
|
||||
)))
|
||||
(,suspend-emacs [?\C-z]))))
|
||||
(sort default-keys 'tutorial--sort-keys))
|
||||
"Default Emacs key bindings that the tutorial depends on.")
|
||||
|
||||
@ -374,7 +327,6 @@ LEFT and RIGHT are the elements to compare."
|
||||
(interactive-p))
|
||||
(with-current-buffer (help-buffer)
|
||||
(let* ((tutorial-buffer (button-get button 'tutorial-buffer))
|
||||
;;(tutorial-arg (button-get button 'tutorial-arg))
|
||||
(explain-key-desc (button-get button 'explain-key-desc))
|
||||
(changed-keys (with-current-buffer tutorial-buffer
|
||||
(save-excursion
|
||||
@ -384,7 +336,7 @@ LEFT and RIGHT are the elements to compare."
|
||||
(when changed-keys
|
||||
(insert
|
||||
"The following key bindings used in the tutorial had been changed
|
||||
from Emacs default in the " (buffer-name tutorial-buffer) " buffer:\n\n" )
|
||||
from the Emacs default in the " (buffer-name tutorial-buffer) " buffer:\n\n" )
|
||||
(let ((frm " %-9s %-27s %-11s %s\n"))
|
||||
(insert (format frm "Key" "Standard Binding" "Is Now On" "Remark")))
|
||||
(dolist (tk changed-keys)
|
||||
@ -405,7 +357,7 @@ from Emacs default in the " (buffer-name tutorial-buffer) " buffer:\n\n" )
|
||||
(insert " " key-txt " ")
|
||||
(setq tot-len (length key-txt))
|
||||
(when (> 9 tot-len)
|
||||
(insert (make-string (- 9 tot-len) ? ))
|
||||
(insert (make-string (- 9 tot-len) ?\s))
|
||||
(setq tot-len 9))
|
||||
;; Insert a link describing the old binding:
|
||||
(insert-button def-fun-txt
|
||||
@ -417,7 +369,7 @@ from Emacs default in the " (buffer-name tutorial-buffer) " buffer:\n\n" )
|
||||
'follow-link t)
|
||||
(setq tot-len (+ tot-len (length def-fun-txt)))
|
||||
(when (> 36 tot-len)
|
||||
(insert (make-string (- 36 tot-len) ? )))
|
||||
(insert (make-string (- 36 tot-len) ?\s)))
|
||||
(when (listp where)
|
||||
(setq where "list"))
|
||||
;; Tell where the old binding is now:
|
||||
@ -438,29 +390,18 @@ from Emacs default in the " (buffer-name tutorial-buffer) " buffer:\n\n" )
|
||||
(insert "\n")))))
|
||||
|
||||
(insert "
|
||||
It is legitimate to change key bindings, but changed bindings do not
|
||||
correspond to what the tutorial says. (See also " )
|
||||
(insert-button "Key Binding Conventions"
|
||||
'action
|
||||
(lambda(button) (interactive)
|
||||
(info
|
||||
"(elisp) Key Binding Conventions")
|
||||
(message "Type C-x 0 to close the new window"))
|
||||
'follow-link t)
|
||||
(insert ".)\n\n")
|
||||
It is OK to change key bindings, but changed bindings do not
|
||||
correspond to what the tutorial says.\n\n")
|
||||
(print-help-return-message)))))
|
||||
|
||||
(defun tutorial--find-changed-keys (default-keys)
|
||||
"Find the key bindings that have changed.
|
||||
Check if the default Emacs key bindings that the tutorial depends
|
||||
on have been changed.
|
||||
"Find the key bindings used in the tutorial that have changed.
|
||||
Return a list with elements of the form
|
||||
|
||||
Return a list with the keys that have been changed. The element
|
||||
of this list have the following format:
|
||||
'(KEY DEF-FUN DEF-FUN-TXT WHERE REMARK QUIET)
|
||||
|
||||
\(list KEY DEF-FUN DEF-FUN-TXT WHERE REMARK)
|
||||
where
|
||||
|
||||
Where
|
||||
KEY is a key sequence whose standard binding has been changed
|
||||
DEF-FUN is the standard binding of KEY
|
||||
DEF-FUN-TXT is a short descriptive text for DEF-FUN
|
||||
@ -477,9 +418,10 @@ Where
|
||||
rest of the list is used to show information when
|
||||
the user clicks the link.
|
||||
|
||||
KEY-FUN is the actual binding for KEY."
|
||||
KEY-FUN is the actual binding for KEY.
|
||||
QUIET is t if this changed keybinding should be handled quietly.
|
||||
This is used by `tutorial--display-changes'."
|
||||
(let (changed-keys remark)
|
||||
;; (default-keys tutorial--default-keys))
|
||||
(dolist (kdf default-keys)
|
||||
;; The variables below corresponds to those with the same names
|
||||
;; described in the doc string.
|
||||
@ -518,26 +460,21 @@ Where
|
||||
(setq remark (list "cua-mode, more info" 'cua-mode))
|
||||
nil)
|
||||
((and cua-mode
|
||||
(or
|
||||
(and (eq def-fun 'ESC-prefix)
|
||||
(equal key-fun
|
||||
(or (and (eq def-fun 'ESC-prefix)
|
||||
(equal key-fun
|
||||
`(keymap
|
||||
(118 . cua-repeat-replace-region))))
|
||||
(and (eq def-fun 'mode-specific-command-prefix)
|
||||
(equal key-fun
|
||||
'(keymap
|
||||
(timeout . copy-region-as-kill))))
|
||||
(and (eq def-fun 'Control-X-prefix)
|
||||
(equal key-fun
|
||||
'(keymap (timeout . kill-region))))))
|
||||
(118 . cua-repeat-replace-region)))
|
||||
(setq def-fun-txt "\"ESC prefix\""))
|
||||
(and (eq def-fun 'mode-specific-command-prefix)
|
||||
(equal key-fun
|
||||
'(keymap
|
||||
(timeout . copy-region-as-kill)))
|
||||
(setq def-fun-txt "\"C-c prefix\""))
|
||||
(and (eq def-fun 'Control-X-prefix)
|
||||
(equal key-fun
|
||||
'(keymap (timeout . kill-region)))
|
||||
(setq def-fun-txt "\"C-x prefix\""))))
|
||||
(setq remark (list "cua-mode replacement" 'cua-mode))
|
||||
(cond
|
||||
((eq def-fun 'mode-specific-command-prefix)
|
||||
(setq def-fun-txt "\"C-c prefix\""))
|
||||
((eq def-fun 'Control-X-prefix)
|
||||
(setq def-fun-txt "\"C-x prefix\""))
|
||||
((eq def-fun 'ESC-prefix)
|
||||
(setq def-fun-txt "\"ESC prefix\"")))
|
||||
(setq where "Same key")
|
||||
nil)
|
||||
;; viper-mode specials:
|
||||
@ -567,124 +504,110 @@ Where
|
||||
key-fun def-fun key where))
|
||||
nil))
|
||||
(add-to-list 'changed-keys
|
||||
(list key def-fun def-fun-txt where remark)))))
|
||||
(list key def-fun def-fun-txt where remark nil)))))
|
||||
changed-keys))
|
||||
|
||||
(defvar tutorial--tab-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map [tab] 'forward-button)
|
||||
(define-key map [(shift tab)] 'backward-button)
|
||||
(define-key map [(meta tab)] 'backward-button)
|
||||
map)
|
||||
"Keymap that allows tabbing between buttons.")
|
||||
(defun tutorial--key-description (key)
|
||||
(let ((desc (key-description key)))
|
||||
(cond ((string= "ESC" desc) "<ESC>")
|
||||
((string= "RET" desc) "<Return>")
|
||||
((string= "DEL" desc) "<Delback>")
|
||||
(t desc))))
|
||||
|
||||
(defun tutorial--display-changes (changed-keys)
|
||||
(defun tutorial--display-changes ()
|
||||
"Display changes to some default key bindings.
|
||||
If some of the default key bindings that the tutorial depends on
|
||||
have been changed then display the changes in the tutorial buffer
|
||||
with some explanatory links.
|
||||
|
||||
CHANGED-KEYS should be a list in the format returned by
|
||||
`tutorial--find-changed-keys'."
|
||||
(when (or changed-keys
|
||||
(boundp 'viper-mode-string))
|
||||
with some explanatory links."
|
||||
(let* ((changed-keys (tutorial--find-changed-keys
|
||||
tutorial--default-keys))
|
||||
;; Alist of element (DESC . CK) where DESC is the
|
||||
;; key-description of a changed key and CK is the
|
||||
;; corresponding element in `changed-keys'.
|
||||
(changed-keys-alist
|
||||
(mapcar (lambda (ck) (cons (tutorial--key-description (car ck)) ck))
|
||||
changed-keys))
|
||||
changed-key
|
||||
(start (point))
|
||||
(case-fold-search nil)
|
||||
(keybindings-regexp
|
||||
(concat "[[:space:]]\\("
|
||||
(mapconcat (lambda (kdf) (regexp-quote
|
||||
(tutorial--key-description
|
||||
(nth 1 kdf))))
|
||||
tutorial--default-keys
|
||||
"\\|")
|
||||
"\\)[[:punct:][:space:]]")))
|
||||
;; Need the custom button face for viper buttons:
|
||||
(when (boundp 'viper-mode-string)
|
||||
(require 'cus-edit))
|
||||
(let ((start (point))
|
||||
end
|
||||
(head (get-lang-string tutorial--lang 'tut-chgdhead))
|
||||
(head2 (get-lang-string tutorial--lang 'tut-chgdhead2)))
|
||||
(when (and head head2)
|
||||
(goto-char tutorial--point-before-chkeys)
|
||||
(insert head)
|
||||
(insert-button head2
|
||||
'tutorial-buffer
|
||||
(current-buffer)
|
||||
;;'tutorial-arg arg
|
||||
'action
|
||||
'tutorial--detailed-help
|
||||
'follow-link t
|
||||
'face 'link)
|
||||
(insert "]\n\n" )
|
||||
(when changed-keys
|
||||
(dolist (tk changed-keys)
|
||||
(let* ((def-fun (nth 1 tk))
|
||||
(key (nth 0 tk))
|
||||
(def-fun-txt (nth 2 tk))
|
||||
(where (nth 3 tk))
|
||||
(remark (nth 4 tk))
|
||||
(rem-fun (command-remapping def-fun))
|
||||
(key-txt (key-description key))
|
||||
(key-fun (key-binding key))
|
||||
tot-len)
|
||||
(unless (eq def-fun key-fun)
|
||||
;; Mark the key in the tutorial text
|
||||
(unless (string= "Same key" where)
|
||||
(let ((here (point))
|
||||
(case-fold-search nil)
|
||||
(key-desc (key-description key)))
|
||||
(cond ((string= "ESC" key-desc)
|
||||
(setq key-desc "<ESC>"))
|
||||
((string= "RET" key-desc)
|
||||
(setq key-desc "<Return>"))
|
||||
((string= "DEL" key-desc)
|
||||
(setq key-desc "<Delback>")))
|
||||
(while (re-search-forward
|
||||
(concat "[[:space:]]\\("
|
||||
(regexp-quote key-desc)
|
||||
"\\)[[:space:]]") nil t)
|
||||
(put-text-property (match-beginning 1)
|
||||
(match-end 1)
|
||||
'tutorial-remark 'only-colored)
|
||||
(put-text-property (match-beginning 1)
|
||||
(match-end 1)
|
||||
'face 'tutorial-warning-face)
|
||||
(forward-line)
|
||||
(let ((s (get-lang-string tutorial--lang 'tut-chgdkey))
|
||||
(s2 (get-lang-string tutorial--lang 'tut-chgdkey2))
|
||||
(start (point))
|
||||
end)
|
||||
(when (and s s2)
|
||||
(setq s (format s key-desc where s2))
|
||||
(insert s)
|
||||
(insert-button s2
|
||||
'tutorial-buffer
|
||||
(current-buffer)
|
||||
;;'tutorial-arg arg
|
||||
'action
|
||||
'tutorial--detailed-help
|
||||
'explain-key-desc key-desc
|
||||
'follow-link t
|
||||
'face 'link)
|
||||
(insert "] **")
|
||||
(insert "\n")
|
||||
(setq end (point))
|
||||
(put-text-property start end 'local-map tutorial--tab-map)
|
||||
;; Add a property so we can remove the remark:
|
||||
(put-text-property start end 'tutorial-remark t)
|
||||
(put-text-property start end
|
||||
'face 'tutorial-warning-face)
|
||||
(put-text-property start end 'read-only t))))
|
||||
(goto-char here)))))))
|
||||
(if (boundp 'viper-mode-string) (require 'cus-edit))
|
||||
|
||||
(if (or changed-keys (boundp 'viper-mode-string))
|
||||
(let ((head (get-lang-string tutorial--lang 'tut-chgdhead))
|
||||
(head2 (get-lang-string tutorial--lang 'tut-chgdhead2)))
|
||||
(when (and head head2)
|
||||
(goto-char tutorial--point-before-chkeys)
|
||||
(insert head " [")
|
||||
(insert-button head2 'tutorial-buffer (current-buffer)
|
||||
'action 'tutorial--detailed-help
|
||||
'follow-link t 'face 'link)
|
||||
(insert "]\n\n")
|
||||
(add-text-properties tutorial--point-before-chkeys (point)
|
||||
'(tutorial-remark remark
|
||||
face tutorial-warning-face
|
||||
read-only t)))))
|
||||
|
||||
(setq end (point))
|
||||
;; Make the area with information about change key
|
||||
;; bindings stand out:
|
||||
(put-text-property start end 'tutorial-remark t)
|
||||
(put-text-property start end
|
||||
'face 'tutorial-warning-face)
|
||||
;; Make it possible to use Tab/S-Tab between fields in
|
||||
;; this area:
|
||||
(put-text-property start end 'local-map tutorial--tab-map)
|
||||
(setq tutorial--point-after-chkeys (point-marker))
|
||||
;; Make this area read-only:
|
||||
(put-text-property start end 'read-only t)))))
|
||||
;; Scan the tutorial for all key sequences.
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward keybindings-regexp (point-max) t)
|
||||
;; Then highlight each rebound key sequence.
|
||||
;; This avoids issuing a warning for, e.g., C-x C-b if C-b is rebound.
|
||||
(setq changed-key (assoc (match-string 1) changed-keys-alist))
|
||||
(and changed-key
|
||||
(not (get-text-property (match-beginning 1) 'tutorial-remark))
|
||||
(let* ((desc (car changed-key))
|
||||
(ck (cdr changed-key))
|
||||
(key (nth 0 ck))
|
||||
(def-fun (nth 1 ck))
|
||||
(where (nth 3 ck))
|
||||
s1 s2 help-string)
|
||||
(unless (string= where "Same key")
|
||||
(setq tutorial--point-after-chkeys (point-marker)
|
||||
s1 (get-lang-string tutorial--lang 'tut-chgdkey)
|
||||
s2 (get-lang-string tutorial--lang 'tut-chgdkey2)
|
||||
help-string (and s1 s2 (format s1 desc where)))
|
||||
(add-text-properties (match-beginning 1) (match-end 1)
|
||||
'(face tutorial-warning-face
|
||||
tutorial-remark key-sequence))
|
||||
(if help-string
|
||||
(if (nth 5 ck)
|
||||
;; Put help string in the tooltip.
|
||||
(put-text-property (match-beginning 1) (match-end 1)
|
||||
'help-echo help-string)
|
||||
;; Put help string in the buffer.
|
||||
(save-excursion
|
||||
(setcar (nthcdr 5 ck) t)
|
||||
(forward-line)
|
||||
;; Two or more changed keys were on the same line.
|
||||
(while (eq (get-text-property (point) 'tutorial-remark)
|
||||
'remark)
|
||||
(forward-line))
|
||||
(setq start (point))
|
||||
(insert "** " help-string " [")
|
||||
(insert-button s2 'tutorial-buffer (current-buffer)
|
||||
'action 'tutorial--detailed-help
|
||||
'explain-key-desc desc 'follow-link t
|
||||
'face 'link)
|
||||
(insert "] **\n")
|
||||
(add-text-properties start (point)
|
||||
'(tutorial-remark remark
|
||||
rear-nonsticky t
|
||||
face tutorial-warning-face
|
||||
read-only t)))))))))))
|
||||
|
||||
(defun tutorial--saved-dir ()
|
||||
"Directory where to save tutorials."
|
||||
(expand-file-name ".emacstut" "~/"))
|
||||
"Directory to which tutorials are saved."
|
||||
(expand-file-name "tutorial"
|
||||
(if (eq system-type 'ms-dos) "~/_emacs.d/" "~/.emacs.d/")))
|
||||
|
||||
(defun tutorial--saved-file ()
|
||||
"File name in which to save tutorials."
|
||||
@ -711,11 +634,8 @@ CHANGED-KEYS should be a list in the format returned by
|
||||
(unless prop-end
|
||||
(setq prop-end (point-max)))
|
||||
(goto-char prop-end)
|
||||
(if (eq prop-val 'only-colored)
|
||||
(put-text-property prop-start prop-end 'face '(:background nil))
|
||||
(let ((orig-text (get-text-property prop-start 'tutorial-orig)))
|
||||
(delete-region prop-start prop-end)
|
||||
(when orig-text (insert orig-text))))))))
|
||||
(unless (eq prop-val 'key-sequence)
|
||||
(delete-region prop-start prop-end))))))
|
||||
|
||||
(defun tutorial--save-tutorial ()
|
||||
"Save the tutorial buffer.
|
||||
@ -724,9 +644,10 @@ showing changed keys. It also saves the point position and the
|
||||
position where the display of changed bindings was inserted."
|
||||
;; This runs in a hook so protect it:
|
||||
(condition-case err
|
||||
(tutorial--save-tutorial-to (tutorial--saved-file))
|
||||
(error (message "Error saving tutorial state: %s" (error-message-string err))
|
||||
(sit-for 4))))
|
||||
(if (y-or-n-p "Save your position in the tutorial? ")
|
||||
(tutorial--save-tutorial-to (tutorial--saved-file)))
|
||||
(error (message "Error saving tutorial state: %s"
|
||||
(error-message-string err)))))
|
||||
|
||||
(defun tutorial--save-tutorial-to (saved-file)
|
||||
"Save the tutorial buffer to SAVED-FILE.
|
||||
@ -908,13 +829,7 @@ Run the Viper tutorial? "))
|
||||
(forward-line)
|
||||
(setq tutorial--point-before-chkeys (point-marker)))
|
||||
|
||||
|
||||
;; Check if there are key bindings that may disturb the
|
||||
;; tutorial. If so tell the user.
|
||||
(let ((changed-keys (tutorial--find-changed-keys tutorial--default-keys)))
|
||||
(when changed-keys
|
||||
(tutorial--display-changes changed-keys)))
|
||||
|
||||
(tutorial--display-changes)
|
||||
|
||||
;; Clear message:
|
||||
(unless dont-ask-for-revert
|
||||
@ -971,22 +886,17 @@ Run the Viper tutorial? "))
|
||||
;; are currently only used in the tutorial.
|
||||
|
||||
(defconst lang-strings
|
||||
'(
|
||||
("English" .
|
||||
(
|
||||
(tut-chgdkey . "** The key %s has been rebound, but you can use %s instead [")
|
||||
(tut-chgdkey2 . "More information")
|
||||
'(("English" .
|
||||
((tut-chgdkey . "%s has been rebound, but you can use %s instead")
|
||||
(tut-chgdkey2 . "More")
|
||||
(tut-chgdhead . "
|
||||
NOTICE: The main purpose of the Emacs tutorial is to teach you
|
||||
the most important standard Emacs commands (key bindings).
|
||||
However, your Emacs has been customized by changing some of
|
||||
these basic editing commands, so it doesn't correspond to the
|
||||
tutorial. We have inserted colored notices where the altered
|
||||
commands have been introduced. [")
|
||||
(tut-chgdhead2 . "Details")
|
||||
)
|
||||
)
|
||||
)
|
||||
commands have been introduced.")
|
||||
(tut-chgdhead2 . "More"))))
|
||||
"Language specific strings for Emacs.
|
||||
This is an association list with the keys equal to the strings
|
||||
that can be returned by `read-language-name'. The elements in
|
||||
|
@ -2,6 +2,18 @@
|
||||
|
||||
* url-gw.el (url-gateway-nslookup-program): Doc fix.
|
||||
|
||||
2006-12-08 Magnus Henoch <mange@freemail.hu>
|
||||
|
||||
* url-proxy.el (url-proxy-object): New variable.
|
||||
(url-proxy): Bind it instead of `proxy-object'.
|
||||
|
||||
* url-http.el (url-http-create-request): Remove url argument, use
|
||||
the buffer-local variable `url-http-target-url' instead. Both
|
||||
callers updated. Simplify proxy handling.
|
||||
(url-http): Don't make proxy-object buffer local.
|
||||
|
||||
* url.el (url-retrieve-internal): Bind url-proxy-object to nil.
|
||||
|
||||
2006-11-26 Magnus Henoch <mange@freemail.hu>
|
||||
|
||||
* url-http.el (url-http-wait-for-headers-change-function): Use
|
||||
@ -1734,9 +1746,14 @@
|
||||
|
||||
* Initial checkin of rewritten URL library.
|
||||
|
||||
Local variables:
|
||||
coding: utf-8
|
||||
add-log-time-zone-rule: t
|
||||
End:
|
||||
;; Local variables:
|
||||
;; coding: utf-8
|
||||
;; add-log-time-zone-rule: t
|
||||
;; End:
|
||||
|
||||
Copyright (C) 1999, 2001, 2002, 2004, 2005,
|
||||
2006 Free Software Foundation, Inc.
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted provided the copyright notice and this notice are preserved.
|
||||
|
||||
;; arch-tag: ac117078-3091-4533-be93-098162ac2926
|
||||
|
@ -406,6 +406,20 @@ Return non-nil if FILE is unchanged."
|
||||
|
||||
(defun vc-arch-init-version () nil)
|
||||
|
||||
;;; Less obvious implementations.
|
||||
|
||||
(defun vc-arch-find-version (file rev buffer)
|
||||
(let ((out (make-temp-file "vc-out")))
|
||||
(unwind-protect
|
||||
(progn
|
||||
(with-temp-buffer
|
||||
(vc-arch-command (current-buffer) 1 nil "file-diffs" file rev)
|
||||
(call-process-region (point-min) (point-max)
|
||||
"patch" nil nil nil "-R" "-o" out file))
|
||||
(with-current-buffer buffer
|
||||
(insert-file-contents out)))
|
||||
(delete-file out))))
|
||||
|
||||
(provide 'vc-arch)
|
||||
|
||||
;; arch-tag: a35c7c1c-5237-429d-88ef-3d718fd2e704
|
||||
|
@ -625,9 +625,10 @@ the user should be returned; if REGEXP is non-nil that means to return
|
||||
a regexp for matching all such backup files, regardless of the version."
|
||||
(if regexp
|
||||
(concat (regexp-quote (file-name-nondirectory file))
|
||||
"\\.~[0-9.]+" (unless manual "\\.") "~")
|
||||
"\\.~.+" (unless manual "\\.") "~")
|
||||
(expand-file-name (concat (file-name-nondirectory file)
|
||||
".~" (or rev (vc-workfile-version file))
|
||||
".~" (subst-char-in-string
|
||||
?/ ?_ (or rev (vc-workfile-version file)))
|
||||
(unless manual ".") "~")
|
||||
(file-name-directory file))))
|
||||
|
||||
|
@ -240,28 +240,28 @@ On Windows and DOS, replace invalid characters. On DOS, make
|
||||
sure to obey the 8.3 limitations. On Windows, turn Cygwin names
|
||||
into native names, and also turn slashes into backslashes if the
|
||||
shell requires it (see `w32-shell-dos-semantics')."
|
||||
(let ((name
|
||||
(save-match-data
|
||||
(if (string-match "\\`/cygdrive/\\([a-zA-Z]\\)/" filename)
|
||||
(save-match-data
|
||||
(let ((name
|
||||
(if (string-match "\\`/cygdrive/\\([a-zA-Z]\\)/" filename)
|
||||
(replace-match "\\1:/" t nil filename)
|
||||
(copy-sequence filename))))
|
||||
(start 0))
|
||||
;; leave ':' if part of drive specifier
|
||||
(if (and (> (length name) 1)
|
||||
(eq (aref name 1) ?:))
|
||||
(setq start 2))
|
||||
;; destructively replace invalid filename characters with !
|
||||
(while (string-match "[?*:<>|\"\000-\037]" name start)
|
||||
(aset name (match-beginning 0) ?!)
|
||||
(setq start (match-end 0)))
|
||||
;; convert directory separators to Windows format
|
||||
;; (but only if the shell in use requires it)
|
||||
(when (w32-shell-dos-semantics)
|
||||
(setq start 0)
|
||||
(while (string-match "/" name start)
|
||||
(aset name (match-beginning 0) ?\\)
|
||||
(setq start (match-end 0))))
|
||||
name))
|
||||
(copy-sequence filename)))
|
||||
(start 0))
|
||||
;; leave ':' if part of drive specifier
|
||||
(if (and (> (length name) 1)
|
||||
(eq (aref name 1) ?:))
|
||||
(setq start 2))
|
||||
;; destructively replace invalid filename characters with !
|
||||
(while (string-match "[?*:<>|\"\000-\037]" name start)
|
||||
(aset name (match-beginning 0) ?!)
|
||||
(setq start (match-end 0)))
|
||||
;; convert directory separators to Windows format
|
||||
;; (but only if the shell in use requires it)
|
||||
(when (w32-shell-dos-semantics)
|
||||
(setq start 0)
|
||||
(while (string-match "/" name start)
|
||||
(aset name (match-beginning 0) ?\\)
|
||||
(setq start (match-end 0))))
|
||||
name)))
|
||||
|
||||
;;; Fix interface to (X-specific) mouse.el
|
||||
(defun x-set-selection (type data)
|
||||
|
@ -2102,6 +2102,18 @@ No external programs are used."
|
||||
(interactive) ; mainly for testing
|
||||
(WoMan-log-begin)
|
||||
(run-hooks 'woman-pre-format-hook)
|
||||
|
||||
;; look for macro sets that woman cannot handle:
|
||||
(goto-char (point-min))
|
||||
(let ((case-fold-search nil))
|
||||
(unless (and (re-search-forward "^\\.SH[ \n]" (point-max) t)
|
||||
(progn (goto-char (point-min))
|
||||
(re-search-forward "^\\.TH[ \n]" (point-max) t))
|
||||
(progn (goto-char (point-min))
|
||||
(not (re-search-forward "^\\.\\([pnil]p\\|sh\\)[ \n]"
|
||||
(point-max) t))))
|
||||
(error "WoMan can only format manpages written in the an format")))
|
||||
|
||||
(and (boundp 'font-lock-mode) font-lock-mode (font-lock-mode -1))
|
||||
;; (fundamental-mode)
|
||||
(let ((start-time (current-time)) ; (HIGH LOW MICROSEC)
|
||||
|
@ -1,3 +1,61 @@
|
||||
2006-12-30 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* keymaps.texi (Tool Bar): Describe `grow-only' value of
|
||||
`auto-resize-tool-bars'.
|
||||
|
||||
2006-12-30 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* keymaps.texi (Active Keymaps): Fix previous change.
|
||||
|
||||
2006-12-30 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* keymaps.texi (Active Keymaps): Make xref to lookup-key.
|
||||
|
||||
2006-12-30 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* processes.texi (Bindat Spec): Clarify using field names in
|
||||
length specifications.
|
||||
|
||||
2006-12-29 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* processes.texi (Bindat Spec): Explain eval forms and lengths better.
|
||||
Add count and index variables for eval forms in repeat blocks.
|
||||
|
||||
2006-12-24 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* customize.texi (Variable Definitions): Document
|
||||
new name custom-add-frequent-value.
|
||||
|
||||
2006-12-19 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* commands.texi (Misc Events): User signals now result in sigusr1
|
||||
and sigusr2 events which are handled through special-event-map.
|
||||
(Special Events): User signals and drag-n-drop are special.
|
||||
|
||||
2006-12-17 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* loading.texi (Named Features): Explain subfeatures better.
|
||||
|
||||
* customize.texi: Use "option" only for user options.
|
||||
For the keyword values inside defcustom etc, say "keywords".
|
||||
For :options value's elements, say "elements".
|
||||
:group should not be omitted.
|
||||
|
||||
* syntax.texi (Parsing Expressions): Split up node.
|
||||
(Motion via Parsing, Position Parse, Parser State)
|
||||
(Low-Level Parsing, Control Parsing): New subnodes.
|
||||
(Parser State): Document syntax-ppss-toplevel-pos.
|
||||
|
||||
* positions.texi (List Motion): Punctuation fix.
|
||||
|
||||
* files.texi (File Name Completion): Document PREDICATE arg
|
||||
to file-name-completion.
|
||||
|
||||
2006-12-16 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* internals.texi (Building Emacs, Writing Emacs Primitives): Add
|
||||
index entries.
|
||||
|
||||
2006-12-11 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* modes.texi (Font Lock Basics): Explain how nil for font-lock-defaults
|
||||
@ -395,7 +453,7 @@
|
||||
|
||||
2006-07-31 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* modes.texi (Minor Mode Conventions): Update link for add-to-list.
|
||||
* modes.texi (Minor Mode Conventions): Update xref for add-to-list.
|
||||
|
||||
* lists.texi (Sets And Lists): Likewise.
|
||||
|
||||
|
@ -1586,14 +1586,33 @@ The precise meaning of the event parameters and the way these
|
||||
parameters are used to display the help-echo text are described in
|
||||
@ref{Text help-echo}.
|
||||
|
||||
@cindex @code{signal usr1} event
|
||||
@cindex @code{signal usr2} event
|
||||
@cindex @code{sigusr1} event
|
||||
@cindex @code{sigusr2} event
|
||||
@cindex user signals
|
||||
@item signal usr1
|
||||
@itemx signal usr2
|
||||
These event sequences are generated when the Emacs process receives
|
||||
@item sigusr1
|
||||
@itemx sigusr2
|
||||
These events are generated when the Emacs process receives
|
||||
the signals @code{SIGUSR1} and @code{SIGUSR2}. They contain no
|
||||
additional data because signals do not carry additional information.
|
||||
|
||||
To catch a user signal, bind the corresponding event to an interactive
|
||||
command in the @code{special-event-map} (@pxref{Active Keymaps}).
|
||||
The command is called with no arguments, and the specific signal event is
|
||||
available in @code{last-input-event}. For example:
|
||||
|
||||
@example
|
||||
(defun sigusr-handler ()
|
||||
(interactive)
|
||||
(message "Caught signal %S" last-input-event))
|
||||
|
||||
(define-key special-event-map [sigusr1] 'sigusr-handler)
|
||||
@end example
|
||||
|
||||
To test the signal handler, you can make Emacs send a signal to itself:
|
||||
|
||||
@example
|
||||
(signal-process (emacs-pid) 'sigusr1)
|
||||
@end example
|
||||
@end table
|
||||
|
||||
If one of these events arrives in the middle of a key sequence---that
|
||||
@ -2634,8 +2653,9 @@ These events do, however, appear in @code{last-input-event} immediately
|
||||
after they are read, and this is the way for the event's definition to
|
||||
find the actual event.
|
||||
|
||||
The events types @code{iconify-frame}, @code{make-frame-visible} and
|
||||
@code{delete-frame} are normally handled in this way. The keymap which
|
||||
The events types @code{iconify-frame}, @code{make-frame-visible},
|
||||
@code{delete-frame}, @code{drag-n-drop}, and user signals like
|
||||
@code{sigusr1} are normally handled in this way. The keymap which
|
||||
defines how to handle special events---and which events are special---is
|
||||
in the variable @code{special-event-map} (@pxref{Active Keymaps}).
|
||||
|
||||
|
@ -135,13 +135,13 @@ any effect unless the code which implements the mode is loaded.
|
||||
|
||||
@item :version @var{version}
|
||||
@kindex version@r{, customization keyword}
|
||||
This option specifies that the item was first introduced in Emacs
|
||||
This keyword specifies that the item was first introduced in Emacs
|
||||
version @var{version}, or that its default value was changed in that
|
||||
version. The value @var{version} must be a string.
|
||||
|
||||
@item :package-version '(@var{package} . @var{version})
|
||||
@kindex package-version@r{, customization keyword}
|
||||
This option specifies that the item was first introduced in
|
||||
This keyword specifies that the item was first introduced in
|
||||
@var{package} version @var{version}, or that its meaning or default
|
||||
value was changed in that version. The value of @var{package} is a
|
||||
symbol and @var{version} is a string.
|
||||
@ -289,7 +289,9 @@ evaluate at any time. We recommend avoiding backquotes in
|
||||
@var{standard}, because they are not expanded when editing the value,
|
||||
so list values will appear to have the wrong structure.
|
||||
|
||||
If you specify the @code{:set} option, to make the variable take other
|
||||
Every @code{defcustom} should specify @code{:group} at least once.
|
||||
|
||||
If you specify the @code{:set} keyword, to make the variable take other
|
||||
special actions when set through the customization buffer, the
|
||||
variable's documentation string should tell the user specifically how
|
||||
to do the same job in hand-written Lisp code.
|
||||
@ -309,9 +311,9 @@ Use @var{type} as the data type for this option. It specifies which
|
||||
values are legitimate, and how to display the value.
|
||||
@xref{Customization Types}, for more information.
|
||||
|
||||
@item :options @var{list}
|
||||
@item :options @var{value-list}
|
||||
@kindex options@r{, @code{defcustom} keyword}
|
||||
Specify @var{list} as the list of reasonable values for use in this
|
||||
Specify the list of reasonable values for use in this
|
||||
option. The user is not restricted to using only these values, but they
|
||||
are offered as convenient alternatives.
|
||||
|
||||
@ -399,7 +401,7 @@ setting this variable until after those others have been handled. Use
|
||||
those other variables already have their intended values.
|
||||
@end table
|
||||
|
||||
The @code{:require} option is useful for an option that turns on the
|
||||
The @code{:require} keyword is useful for an option that turns on the
|
||||
operation of a certain feature. Assuming that the package is coded to
|
||||
check the value of the option, you still need to arrange for the package
|
||||
to be loaded. You can do that with @code{:require}. @xref{Common
|
||||
@ -413,25 +415,26 @@ Keywords}. Here is an example, from the library @file{saveplace.el}:
|
||||
:group 'save-place)
|
||||
@end example
|
||||
|
||||
If a customization item has a type such as @code{hook} or @code{alist},
|
||||
which supports @code{:options}, you can add additional options to the
|
||||
item, outside the @code{defcustom} declaration, by calling
|
||||
@code{custom-add-option}. For example, if you define a function
|
||||
@code{my-lisp-mode-initialization} intended to be called from
|
||||
If a customization item has a type such as @code{hook} or
|
||||
@code{alist}, which supports @code{:options}, you can add additional
|
||||
values to the list from outside the @code{defcustom} declaration by
|
||||
calling @code{custom-add-frequent-value}. For example, if you define a
|
||||
function @code{my-lisp-mode-initialization} intended to be called from
|
||||
@code{emacs-lisp-mode-hook}, you might want to add that to the list of
|
||||
options for @code{emacs-lisp-mode-hook}, but not by editing its
|
||||
definition. You can do it thus:
|
||||
reasonable values for @code{emacs-lisp-mode-hook}, but not by editing
|
||||
its definition. You can do it thus:
|
||||
|
||||
@example
|
||||
(custom-add-option 'emacs-lisp-mode-hook
|
||||
'my-lisp-mode-initialization)
|
||||
(custom-add-frequent-value 'emacs-lisp-mode-hook
|
||||
'my-lisp-mode-initialization)
|
||||
@end example
|
||||
|
||||
@defun custom-add-option symbol option
|
||||
To the customization @var{symbol}, add @var{option}.
|
||||
@defun custom-add-frequent-value symbol value
|
||||
For the customization option @var{symbol}, add @var{value} to the
|
||||
list of reasonable values.
|
||||
|
||||
The precise effect of adding @var{option} depends on the customization
|
||||
type of @var{symbol}.
|
||||
The precise effect of adding a value depends on the customization type
|
||||
of @var{symbol}.
|
||||
@end defun
|
||||
|
||||
Internally, @code{defcustom} uses the symbol property
|
||||
@ -567,9 +570,9 @@ value), with a checkbox to include or exclude or disable the key/value
|
||||
pair from the alist. The user will not be able to edit the keys
|
||||
specified by the @code{:options} keyword argument.
|
||||
|
||||
The argument to the @code{:options} keywords should be a list of option
|
||||
specifications. Ordinarily, the options are simply atoms, which are the
|
||||
specified keys. For example:
|
||||
The argument to the @code{:options} keywords should be a list of
|
||||
specifications for reasonable keys in the alist. Ordinarily, they are
|
||||
simply atoms, which stand for themselves as. For example:
|
||||
|
||||
@smallexample
|
||||
:options '("foo" "bar" "baz")
|
||||
@ -579,11 +582,11 @@ specified keys. For example:
|
||||
specifies that there are three ``known'' keys, namely @code{"foo"},
|
||||
@code{"bar"} and @code{"baz"}, which will always be shown first.
|
||||
|
||||
You may want to restrict the value type for specific keys, for example,
|
||||
the value associated with the @code{"bar"} key can only be an integer.
|
||||
You can specify this by using a list instead of an atom in the option
|
||||
specification. The first element will specify the key, like before,
|
||||
while the second element will specify the value type.
|
||||
You may want to restrict the value type for specific keys, for
|
||||
example, the value associated with the @code{"bar"} key can only be an
|
||||
integer. You can specify this by using a list instead of an atom in
|
||||
the list. The first element will specify the key, like before, while
|
||||
the second element will specify the value type. For example:
|
||||
|
||||
@smallexample
|
||||
:options '("foo" ("bar" integer) "baz")
|
||||
|
@ -7,7 +7,7 @@
|
||||
@c Version of the manual and of Emacs.
|
||||
@c Please remember to update the edition number in README as well.
|
||||
@set VERSION 2.9
|
||||
@set EMACSVER 22.0.91
|
||||
@set EMACSVER 22.0.92
|
||||
|
||||
@dircategory Emacs
|
||||
@direntry
|
||||
|
@ -2232,10 +2232,13 @@ default directory, and has five files whose names begin with @samp{f}:
|
||||
@end example
|
||||
@end defun
|
||||
|
||||
@defun file-name-completion filename directory
|
||||
@defun file-name-completion filename directory &optional predicate
|
||||
This function completes the file name @var{filename} in directory
|
||||
@var{directory}. It returns the longest prefix common to all file names
|
||||
in directory @var{directory} that start with @var{filename}.
|
||||
in directory @var{directory} that start with @var{filename}. If
|
||||
@var{predicate} is non-@code{nil} then it ignores possible completions
|
||||
that don't satisfy @var{predicate}, after calling that function
|
||||
with one argument, the expanded absolute file name.
|
||||
|
||||
If only one match exists and @var{filename} matches it exactly, the
|
||||
function returns @code{t}. The function returns @code{nil} if directory
|
||||
|
@ -44,6 +44,7 @@ the real runnable Emacs executable. These arguments direct
|
||||
environment, resulting in an Emacs that is still impure but no longer
|
||||
bare.
|
||||
|
||||
@cindex dumping Emacs
|
||||
It takes a substantial time to load the standard Lisp files. Luckily,
|
||||
you don't have to do this each time you run Emacs; @file{temacs} can
|
||||
dump out an executable program called @file{emacs} that has these files
|
||||
@ -86,6 +87,7 @@ calling @code{Snarf-documentation} (@pxref{Definition of
|
||||
Snarf-documentation,, Accessing Documentation}).
|
||||
|
||||
@cindex @file{site-init.el}
|
||||
@cindex preloading additional functions and variables
|
||||
You can specify other Lisp expressions to execute just before dumping
|
||||
by putting them in a library named @file{site-init.el}. This file is
|
||||
executed after the documentation strings are found.
|
||||
@ -491,6 +493,7 @@ Emacs session.
|
||||
@node Writing Emacs Primitives
|
||||
@appendixsec Writing Emacs Primitives
|
||||
@cindex primitive function internals
|
||||
@cindex writing Emacs primitives
|
||||
|
||||
Lisp primitives are Lisp functions implemented in C. The details of
|
||||
interfacing the C function so that Lisp can call it are handled by a few
|
||||
@ -539,6 +542,7 @@ usage: (or CONDITIONS ...) */)
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
@cindex @code{DEFUN}, C macro to define Lisp primitives
|
||||
Let's start with a precise explanation of the arguments to the
|
||||
@code{DEFUN} macro. Here is a template for them:
|
||||
|
||||
@ -619,6 +623,8 @@ receives exactly two arguments: the first is the number of Lisp
|
||||
arguments, and the second is the address of a block containing their
|
||||
values. They have types @code{int} and @w{@code{Lisp_Object *}}.
|
||||
|
||||
@cindex @code{GCPRO} and @code{UNGCPRO}
|
||||
@cindex protect C variables from garbage collection
|
||||
Within the function @code{For} itself, note the use of the macros
|
||||
@code{GCPRO1} and @code{UNGCPRO}. @code{GCPRO1} is used to
|
||||
``protect'' a variable from garbage collection---to inform the garbage
|
||||
@ -672,6 +678,7 @@ macro. (This definition is used because those systems put all variables
|
||||
declared static in a place that becomes read-only after dumping, whether
|
||||
they have initializers or not.)
|
||||
|
||||
@cindex @code{defsubr}, Lisp symbol for a primitive
|
||||
Defining the C function is not enough to make a Lisp primitive
|
||||
available; you must also create the Lisp symbol for the primitive and
|
||||
store a suitable subr object in its function cell. The code looks like
|
||||
@ -696,6 +703,8 @@ of these functions are called, and add a call to
|
||||
|
||||
@anchor{Defining Lisp variables in C}
|
||||
@vindex byte-boolean-vars
|
||||
@cindex defining Lisp variables in C
|
||||
@cindex @code{DEFVAR_INT}, @code{DEFVAR_LISP}, @code{DEFVAR_BOOL}
|
||||
The function @code{syms_of_@var{filename}} is also the place to define
|
||||
any C variables that are to be visible as Lisp variables.
|
||||
@code{DEFVAR_LISP} makes a C variable of type @code{Lisp_Object} visible
|
||||
@ -706,6 +715,7 @@ with a value that is either @code{t} or @code{nil}. Note that variables
|
||||
defined with @code{DEFVAR_BOOL} are automatically added to the list
|
||||
@code{byte-boolean-vars} used by the byte compiler.
|
||||
|
||||
@cindex @code{staticpro}, protect file-scope variables from GC
|
||||
If you define a file-scope C variable of type @code{Lisp_Object},
|
||||
you must protect it from garbage-collection by calling @code{staticpro}
|
||||
in @code{syms_of_@var{filename}}, like this:
|
||||
|
@ -669,7 +669,7 @@ current active keymaps. The result is @code{nil} if @var{key} is
|
||||
undefined in the keymaps.
|
||||
|
||||
The argument @var{accept-defaults} controls checking for default
|
||||
bindings, as in @code{lookup-key} (above).
|
||||
bindings, as in @code{lookup-key} (@pxref{Functions for Key Lookup}).
|
||||
|
||||
When commands are remapped (@pxref{Remapping Commands}),
|
||||
@code{key-binding} normally processes command remappings so as to
|
||||
@ -2540,6 +2540,11 @@ zero value suppresses the tool bar. If the value is nonzero, and
|
||||
@code{auto-resize-tool-bars} is non-@code{nil}, the tool bar expands and
|
||||
contracts automatically as needed to hold the specified contents.
|
||||
|
||||
If the value of @code{auto-resize-tool-bars} is @code{grow-only},
|
||||
the tool bar expands automatically, but does not contract automatically.
|
||||
To contract the tool bar, the user has to redraw the frame by entering
|
||||
@kbd{C-l}.
|
||||
|
||||
The tool bar contents are controlled by a menu keymap attached to a
|
||||
fake ``function key'' called @code{tool-bar} (much like the way the menu
|
||||
bar is controlled). So you define a tool bar item using
|
||||
@ -2667,6 +2672,10 @@ specifies the local map to make the definition in. The argument
|
||||
If this variable is non-@code{nil}, the tool bar automatically resizes to
|
||||
show all defined tool bar items---but not larger than a quarter of the
|
||||
frame's height.
|
||||
|
||||
If the value is @code{grow-only}, the tool bar expands automatically,
|
||||
but does not contract automatically. To contract the tool bar, the
|
||||
user has to redraw the frame by entering @kbd{C-l}.
|
||||
@end defvar
|
||||
|
||||
@defvar auto-raise-tool-bar-buttons
|
||||
|
@ -726,8 +726,14 @@ The argument @var{feature} must be a symbol. @code{provide} returns
|
||||
@var{feature}.
|
||||
|
||||
If provided, @var{subfeatures} should be a list of symbols indicating
|
||||
a set of specific subfeatures provided by this version of @var{feature}.
|
||||
You can test the presence of a subfeature using @code{featurep}.
|
||||
a set of specific subfeatures provided by this version of
|
||||
@var{feature}. You can test the presence of a subfeature using
|
||||
@code{featurep}. The idea of subfeatures is that you use them when a
|
||||
package (which is one @var{feature}) is complex enough to make it
|
||||
useful to give names to various parts or functionalities of the
|
||||
package, which might or might not be loaded, or might or might not be
|
||||
present in a given version. @xref{Network Feature Testing}, for
|
||||
an example.
|
||||
|
||||
@smallexample
|
||||
features
|
||||
|
@ -677,7 +677,7 @@ deeper in parentheses (@minus{}@var{arg} levels).
|
||||
@deffn Command forward-sexp &optional arg
|
||||
This function moves forward across @var{arg} (default 1) balanced expressions.
|
||||
Balanced expressions include both those delimited by parentheses and
|
||||
other kinds, such as words and string constants
|
||||
other kinds, such as words and string constants.
|
||||
@xref{Parsing Expressions}. For example,
|
||||
|
||||
@example
|
||||
|
@ -2144,7 +2144,7 @@ Unsigned integer in little endian order, with length 2, 3 and 4, respectively.
|
||||
String of length @var{len}.
|
||||
|
||||
@item strz @var{len}
|
||||
Zero-terminated string of length @var{len}.
|
||||
Zero-terminated string, in a fixed-size field with length @var{len}.
|
||||
|
||||
@item vec @var{len}
|
||||
Vector of @var{len} bytes.
|
||||
@ -2166,6 +2166,16 @@ unpacked or packed. The result of the evaluation should be one of the
|
||||
above-listed type specifications.
|
||||
@end table
|
||||
|
||||
For a fixed-size field, the length @var{len} is given as an integer
|
||||
specifying the number of bytes in the field.
|
||||
|
||||
When the length of a field is not fixed, it typically depends on the
|
||||
value of a preceding field. In this case, the length @var{len} can be
|
||||
given either as a list @code{(@var{name} ...)} identifying a
|
||||
@dfn{field name} in the format specified for @code{bindat-get-field}
|
||||
below, or by an expression @code{(eval @var{form})} where @var{form}
|
||||
should evaluate to an integer, specifying the field length.
|
||||
|
||||
A field specification generally has the form @code{([@var{name}]
|
||||
@var{handler})}. The square braces indicate that @var{name} is
|
||||
optional. (Don't use names that are symbols meaningful as type
|
||||
@ -2184,21 +2194,6 @@ Unpack/pack this field according to the type specification @var{type}.
|
||||
@item eval @var{form}
|
||||
Evaluate @var{form}, a Lisp expression, for side-effect only. If the
|
||||
field name is specified, the value is bound to that field name.
|
||||
@var{form} can access and update these dynamically bound variables:
|
||||
|
||||
@table @code
|
||||
@item bindat-raw
|
||||
The data as a byte array.
|
||||
|
||||
@item bindat-idx
|
||||
Current index into bindat-raw of the unpacking or packing operation.
|
||||
|
||||
@item struct
|
||||
Alist.
|
||||
|
||||
@item last
|
||||
Value of the last field processed.
|
||||
@end table
|
||||
|
||||
@item fill @var{len}
|
||||
Skip @var{len} bytes. In packing, this leaves them unchanged,
|
||||
@ -2235,9 +2230,37 @@ of @var{form}. A non-@code{nil} result indicates a match.
|
||||
@item repeat @var{count} @var{field-specs}@dots{}
|
||||
Process the @var{field-specs} recursively, in order, then repeat
|
||||
starting from the first one, processing all the specs @var{count}
|
||||
times overall. @var{count} may be an integer, or a list of one
|
||||
element that names a previous field. For correct operation, each spec
|
||||
in @var{field-specs} must include a name.
|
||||
times overall. The @var{count} is given using the same formats as a
|
||||
field length---if an @code{eval} form is used, it is evaluated just once.
|
||||
For correct operation, each spec in @var{field-specs} must include a name.
|
||||
@end table
|
||||
|
||||
For the @code{(eval @var{form})} forms used in a bindat specification,
|
||||
the @var{form} can access and update these dynamically bound variables
|
||||
during evaluation:
|
||||
|
||||
@table @code
|
||||
@item last
|
||||
Value of the last field processed.
|
||||
|
||||
@item bindat-raw
|
||||
The data as a byte array.
|
||||
|
||||
@item bindat-idx
|
||||
Current index into bindat-raw of the unpacking or packing operation.
|
||||
|
||||
@item struct
|
||||
The alist containing the structured data that have been unpacked so
|
||||
far, or the entire structure being packed. You can use
|
||||
@code{bindat-get-field} to access specific fields of this structure.
|
||||
|
||||
@item count
|
||||
@itemx index
|
||||
Inside a @code{repeat} block, these contain the maximum number of
|
||||
repetitions (as specified by the @var{count} parameter), and the
|
||||
current repetition number (counting from 0). Setting @code{count} to
|
||||
zero will terminate the inner-most repeat block after the current
|
||||
repetition has completed.
|
||||
@end table
|
||||
|
||||
@node Bindat Functions
|
||||
|
@ -597,26 +597,26 @@ expression prefix syntax class, and characters with the @samp{p} flag.
|
||||
@end defun
|
||||
|
||||
@node Parsing Expressions
|
||||
@section Parsing Balanced Expressions
|
||||
@section Parsing Expressions
|
||||
|
||||
Here are several functions for parsing and scanning balanced
|
||||
This section describes functions for parsing and scanning balanced
|
||||
expressions, also known as @dfn{sexps}. Basically, a sexp is either a
|
||||
balanced parenthetical grouping, or a symbol name (a sequence of
|
||||
characters whose syntax is either word constituent or symbol
|
||||
constituent). However, characters whose syntax is expression prefix
|
||||
are treated as part of the sexp if they appear next to it.
|
||||
balanced parenthetical grouping, a string, or a symbol name (a
|
||||
sequence of characters whose syntax is either word constituent or
|
||||
symbol constituent). However, characters whose syntax is expression
|
||||
prefix are treated as part of the sexp if they appear next to it.
|
||||
|
||||
The syntax table controls the interpretation of characters, so these
|
||||
functions can be used for Lisp expressions when in Lisp mode and for C
|
||||
expressions when in C mode. @xref{List Motion}, for convenient
|
||||
higher-level functions for moving over balanced expressions.
|
||||
|
||||
A syntax table only describes how each character changes the state
|
||||
of the parser, rather than describing the state itself. For example,
|
||||
a string delimiter character toggles the parser state between
|
||||
``in-string'' and ``in-code'' but the characters inside the string do
|
||||
not have any particular syntax to identify them as such. For example
|
||||
(note that 15 is the syntax code for generic string delimiters),
|
||||
A character's syntax controls how it changes the state of the
|
||||
parser, rather than describing the state itself. For example, a
|
||||
string delimiter character toggles the parser state between
|
||||
``in-string'' and ``in-code,'' but the syntax of characters does not
|
||||
directly say whether they are inside a string. For example (note that
|
||||
15 is the syntax code for generic string delimiters),
|
||||
|
||||
@example
|
||||
(put-text-property 1 9 'syntax-table '(15 . nil))
|
||||
@ -627,46 +627,128 @@ does not tell Emacs that the first eight chars of the current buffer
|
||||
are a string, but rather that they are all string delimiters. As a
|
||||
result, Emacs treats them as four consecutive empty string constants.
|
||||
|
||||
Every time you use the parser, you specify it a starting state as
|
||||
well as a starting position. If you omit the starting state, the
|
||||
default is ``top level in parenthesis structure,'' as it would be at
|
||||
the beginning of a function definition. (This is the case for
|
||||
@code{forward-sexp}, which blindly assumes that the starting point is
|
||||
in such a state.)
|
||||
@menu
|
||||
* Motion via Parsing:: Motion functions that work by parsing.
|
||||
* Position Parse:: Determining the syntactic state of a position.
|
||||
* Parser State:: How Emacs represents a syntactic state.
|
||||
* Low-Level Parsing:: Parsing across a specified region.
|
||||
* Control Parsing:: Parameters that affect parsing.
|
||||
@end menu
|
||||
|
||||
@defun parse-partial-sexp start limit &optional target-depth stop-before state stop-comment
|
||||
This function parses a sexp in the current buffer starting at
|
||||
@var{start}, not scanning past @var{limit}. It stops at position
|
||||
@var{limit} or when certain criteria described below are met, and sets
|
||||
point to the location where parsing stops. It returns a value
|
||||
describing the status of the parse at the point where it stops.
|
||||
@node Motion via Parsing
|
||||
@subsection Motion Commands Based on Parsing
|
||||
|
||||
If @var{state} is @code{nil}, @var{start} is assumed to be at the top
|
||||
level of parenthesis structure, such as the beginning of a function
|
||||
definition. Alternatively, you might wish to resume parsing in the
|
||||
middle of the structure. To do this, you must provide a @var{state}
|
||||
argument that describes the initial status of parsing.
|
||||
This section describes simple point-motion functions that operate
|
||||
based on parsing expressions.
|
||||
|
||||
@cindex parenthesis depth
|
||||
If the third argument @var{target-depth} is non-@code{nil}, parsing
|
||||
stops if the depth in parentheses becomes equal to @var{target-depth}.
|
||||
The depth starts at 0, or at whatever is given in @var{state}.
|
||||
@defun scan-lists from count depth
|
||||
This function scans forward @var{count} balanced parenthetical groupings
|
||||
from position @var{from}. It returns the position where the scan stops.
|
||||
If @var{count} is negative, the scan moves backwards.
|
||||
|
||||
If the fourth argument @var{stop-before} is non-@code{nil}, parsing
|
||||
stops when it comes to any character that starts a sexp. If
|
||||
@var{stop-comment} is non-@code{nil}, parsing stops when it comes to the
|
||||
start of a comment. If @var{stop-comment} is the symbol
|
||||
@code{syntax-table}, parsing stops after the start of a comment or a
|
||||
string, or the end of a comment or a string, whichever comes first.
|
||||
If @var{depth} is nonzero, parenthesis depth counting begins from that
|
||||
value. The only candidates for stopping are places where the depth in
|
||||
parentheses becomes zero; @code{scan-lists} counts @var{count} such
|
||||
places and then stops. Thus, a positive value for @var{depth} means go
|
||||
out @var{depth} levels of parenthesis.
|
||||
|
||||
@cindex parse state
|
||||
The fifth argument @var{state} is a ten-element list of the same form
|
||||
as the value of this function, described below. The return value of
|
||||
one call may be used to initialize the state of the parse on another
|
||||
call to @code{parse-partial-sexp}.
|
||||
Scanning ignores comments if @code{parse-sexp-ignore-comments} is
|
||||
non-@code{nil}.
|
||||
|
||||
The result is a list of ten elements describing the final state of
|
||||
the parse:
|
||||
If the scan reaches the beginning or end of the buffer (or its
|
||||
accessible portion), and the depth is not zero, an error is signaled.
|
||||
If the depth is zero but the count is not used up, @code{nil} is
|
||||
returned.
|
||||
@end defun
|
||||
|
||||
@defun scan-sexps from count
|
||||
This function scans forward @var{count} sexps from position @var{from}.
|
||||
It returns the position where the scan stops. If @var{count} is
|
||||
negative, the scan moves backwards.
|
||||
|
||||
Scanning ignores comments if @code{parse-sexp-ignore-comments} is
|
||||
non-@code{nil}.
|
||||
|
||||
If the scan reaches the beginning or end of (the accessible part of) the
|
||||
buffer while in the middle of a parenthetical grouping, an error is
|
||||
signaled. If it reaches the beginning or end between groupings but
|
||||
before count is used up, @code{nil} is returned.
|
||||
@end defun
|
||||
|
||||
@defun forward-comment count
|
||||
This function moves point forward across @var{count} complete comments
|
||||
(that is, including the starting delimiter and the terminating
|
||||
delimiter if any), plus any whitespace encountered on the way. It
|
||||
moves backward if @var{count} is negative. If it encounters anything
|
||||
other than a comment or whitespace, it stops, leaving point at the
|
||||
place where it stopped. This includes (for instance) finding the end
|
||||
of a comment when moving forward and expecting the beginning of one.
|
||||
The function also stops immediately after moving over the specified
|
||||
number of complete comments. If @var{count} comments are found as
|
||||
expected, with nothing except whitespace between them, it returns
|
||||
@code{t}; otherwise it returns @code{nil}.
|
||||
|
||||
This function cannot tell whether the ``comments'' it traverses are
|
||||
embedded within a string. If they look like comments, it treats them
|
||||
as comments.
|
||||
@end defun
|
||||
|
||||
To move forward over all comments and whitespace following point, use
|
||||
@code{(forward-comment (buffer-size))}. @code{(buffer-size)} is a good
|
||||
argument to use, because the number of comments in the buffer cannot
|
||||
exceed that many.
|
||||
|
||||
@node Position Parse
|
||||
@subsection Finding the Parse State for a Position
|
||||
|
||||
For syntactic analysis, such as in indentation, often the useful
|
||||
thing is to compute the syntactic state corresponding to a given buffer
|
||||
position. This function does that conveniently.
|
||||
|
||||
@defun syntax-ppss &optional pos
|
||||
This function returns the parser state (see next section) that the
|
||||
parser would reach at position @var{pos} starting from the beginning
|
||||
of the buffer. This is equivalent to @code{(parse-partial-sexp
|
||||
(point-min) @var{pos})}, except that @code{syntax-ppss} uses a cache
|
||||
to speed up the computation. Due to this optimization, the 2nd value
|
||||
(previous complete subexpression) and 6th value (minimum parenthesis
|
||||
depth) of the returned parser state are not meaningful.
|
||||
@end defun
|
||||
|
||||
@code{syntax-ppss} automatically hooks itself to
|
||||
@code{before-change-functions} to keep its cache consistent. But
|
||||
updating can fail if @code{syntax-ppss} is called while
|
||||
@code{before-change-functions} is temporarily let-bound, or if the
|
||||
buffer is modified without obeying the hook, such as when using
|
||||
@code{inhibit-modification-hooks}. For this reason, it is sometimes
|
||||
necessary to flush the cache manually.
|
||||
|
||||
@defun syntax-ppss-flush-cache beg
|
||||
This function flushes the cache used by @code{syntax-ppss}, starting at
|
||||
position @var{beg}.
|
||||
@end defun
|
||||
|
||||
Major modes can make @code{syntax-ppss} run faster by specifying
|
||||
where it needs to start parsing.
|
||||
|
||||
@defvar syntax-begin-function
|
||||
If this is non-@code{nil}, it should be a function that moves to an
|
||||
earlier buffer position where the parser state is equivalent to
|
||||
@code{nil}---in other words, a position outside of any comment,
|
||||
string, or parenthesis. @code{syntax-ppss} uses it to further
|
||||
optimize its computations, when the cache gives no help.
|
||||
@end defvar
|
||||
|
||||
@node Parser State
|
||||
@subsection Parser State
|
||||
@cindex parser state
|
||||
|
||||
A @dfn{parser state} is a list of ten elements describing the final
|
||||
state of parsing text syntactically as part of an expression. The
|
||||
parsing functions in the following sections return a parser state as
|
||||
the value, and in some cases accept one as an argument also, so that
|
||||
you can resume parsing after it stops. Here are the meanings of the
|
||||
elements of the parser state:
|
||||
|
||||
@enumerate 0
|
||||
@item
|
||||
@ -721,81 +803,65 @@ data is subject to change; it is used if you pass this list
|
||||
as the @var{state} argument to another call.
|
||||
@end enumerate
|
||||
|
||||
Elements 1, 2, and 6 are ignored in the argument @var{state}. Element
|
||||
8 is used only to set the corresponding element of the return value,
|
||||
in certain simple cases. Element 9 is used only to set element 1 of
|
||||
the return value, in trivial cases where parsing starts and stops
|
||||
within the same pair of parentheses.
|
||||
Elements 1, 2, and 6 are ignored in a state which you pass as an
|
||||
argument to continue parsing, and elements 8 and 9 are used only in
|
||||
trivial cases. Those elements serve primarily to convey information
|
||||
to the Lisp program which does the parsing.
|
||||
|
||||
@cindex indenting with parentheses
|
||||
This function is most often used to compute indentation for languages
|
||||
that have nested parentheses.
|
||||
One additional piece of useful information is available from a
|
||||
parser state using this function:
|
||||
|
||||
@defun syntax-ppss-toplevel-pos state
|
||||
This function extracts, from parser state @var{state}, the last
|
||||
position scanned in the parse which was at top level in grammatical
|
||||
structure. ``At top level'' means outside of any parentheses,
|
||||
comments, or strings.
|
||||
|
||||
The value is @code{nil} if @var{state} represents a parse which has
|
||||
arrived at a top level position.
|
||||
@end defun
|
||||
|
||||
@defun syntax-ppss &optional pos
|
||||
This function returns the state that the parser would have at position
|
||||
@var{pos}, if it were started with a default start state at the
|
||||
beginning of the buffer. Thus, it is equivalent to
|
||||
@code{(parse-partial-sexp (point-min) @var{pos})}, except that
|
||||
@code{syntax-ppss} uses a cache to speed up the computation. Also,
|
||||
the 2nd value (previous complete subexpression) and 6th value (minimum
|
||||
parenthesis depth) of the returned state are not meaningful.
|
||||
We have provided this access function rather than document how the
|
||||
data is represented in the state, because we plan to change the
|
||||
representation in the future.
|
||||
|
||||
@node Low-Level Parsing
|
||||
@subsection Low-Level Parsing
|
||||
|
||||
The most basic way to use the expression parser is to tell it
|
||||
to start at a given position with a certain state, and parse up to
|
||||
a specified end position.
|
||||
|
||||
@defun parse-partial-sexp start limit &optional target-depth stop-before state stop-comment
|
||||
This function parses a sexp in the current buffer starting at
|
||||
@var{start}, not scanning past @var{limit}. It stops at position
|
||||
@var{limit} or when certain criteria described below are met, and sets
|
||||
point to the location where parsing stops. It returns a parser state
|
||||
describing the status of the parse at the point where it stops.
|
||||
|
||||
@cindex parenthesis depth
|
||||
If the third argument @var{target-depth} is non-@code{nil}, parsing
|
||||
stops if the depth in parentheses becomes equal to @var{target-depth}.
|
||||
The depth starts at 0, or at whatever is given in @var{state}.
|
||||
|
||||
If the fourth argument @var{stop-before} is non-@code{nil}, parsing
|
||||
stops when it comes to any character that starts a sexp. If
|
||||
@var{stop-comment} is non-@code{nil}, parsing stops when it comes to the
|
||||
start of a comment. If @var{stop-comment} is the symbol
|
||||
@code{syntax-table}, parsing stops after the start of a comment or a
|
||||
string, or the end of a comment or a string, whichever comes first.
|
||||
|
||||
If @var{state} is @code{nil}, @var{start} is assumed to be at the top
|
||||
level of parenthesis structure, such as the beginning of a function
|
||||
definition. Alternatively, you might wish to resume parsing in the
|
||||
middle of the structure. To do this, you must provide a @var{state}
|
||||
argument that describes the initial status of parsing. The value
|
||||
returned by a previous call to @code{parse-partial-sexp} will do
|
||||
nicely.
|
||||
@end defun
|
||||
|
||||
@defun syntax-ppss-flush-cache beg
|
||||
This function flushes the cache used by @code{syntax-ppss}, starting at
|
||||
position @var{beg}.
|
||||
|
||||
When @code{syntax-ppss} is called, it automatically hooks itself
|
||||
to @code{before-change-functions} to keep its cache consistent.
|
||||
But this can fail if @code{syntax-ppss} is called while
|
||||
@code{before-change-functions} is temporarily let-bound, or if the
|
||||
buffer is modified without obeying the hook, such as when using
|
||||
@code{inhibit-modification-hooks}. For this reason, it is sometimes
|
||||
necessary to flush the cache manually.
|
||||
@end defun
|
||||
|
||||
@defvar syntax-begin-function
|
||||
If this is non-@code{nil}, it should be a function that moves to an
|
||||
earlier buffer position where the parser state is equivalent to
|
||||
@code{nil}---in other words, a position outside of any comment,
|
||||
string, or parenthesis. @code{syntax-ppss} uses it to supplement its
|
||||
cache.
|
||||
@end defvar
|
||||
|
||||
@defun scan-lists from count depth
|
||||
This function scans forward @var{count} balanced parenthetical groupings
|
||||
from position @var{from}. It returns the position where the scan stops.
|
||||
If @var{count} is negative, the scan moves backwards.
|
||||
|
||||
If @var{depth} is nonzero, parenthesis depth counting begins from that
|
||||
value. The only candidates for stopping are places where the depth in
|
||||
parentheses becomes zero; @code{scan-lists} counts @var{count} such
|
||||
places and then stops. Thus, a positive value for @var{depth} means go
|
||||
out @var{depth} levels of parenthesis.
|
||||
|
||||
Scanning ignores comments if @code{parse-sexp-ignore-comments} is
|
||||
non-@code{nil}.
|
||||
|
||||
If the scan reaches the beginning or end of the buffer (or its
|
||||
accessible portion), and the depth is not zero, an error is signaled.
|
||||
If the depth is zero but the count is not used up, @code{nil} is
|
||||
returned.
|
||||
@end defun
|
||||
|
||||
@defun scan-sexps from count
|
||||
This function scans forward @var{count} sexps from position @var{from}.
|
||||
It returns the position where the scan stops. If @var{count} is
|
||||
negative, the scan moves backwards.
|
||||
|
||||
Scanning ignores comments if @code{parse-sexp-ignore-comments} is
|
||||
non-@code{nil}.
|
||||
|
||||
If the scan reaches the beginning or end of (the accessible part of) the
|
||||
buffer while in the middle of a parenthetical grouping, an error is
|
||||
signaled. If it reaches the beginning or end between groupings but
|
||||
before count is used up, @code{nil} is returned.
|
||||
@end defun
|
||||
@node Control Parsing
|
||||
@subsection Parameters to Control Parsing
|
||||
|
||||
@defvar multibyte-syntax-as-symbol
|
||||
If this variable is non-@code{nil}, @code{scan-sexps} treats all
|
||||
@ -817,29 +883,6 @@ The behavior of @code{parse-partial-sexp} is also affected by
|
||||
You can use @code{forward-comment} to move forward or backward over
|
||||
one comment or several comments.
|
||||
|
||||
@defun forward-comment count
|
||||
This function moves point forward across @var{count} complete comments
|
||||
(that is, including the starting delimiter and the terminating
|
||||
delimiter if any), plus any whitespace encountered on the way. It
|
||||
moves backward if @var{count} is negative. If it encounters anything
|
||||
other than a comment or whitespace, it stops, leaving point at the
|
||||
place where it stopped. This includes (for instance) finding the end
|
||||
of a comment when moving forward and expecting the beginning of one.
|
||||
The function also stops immediately after moving over the specified
|
||||
number of complete comments. If @var{count} comments are found as
|
||||
expected, with nothing except whitespace between them, it returns
|
||||
@code{t}; otherwise it returns @code{nil}.
|
||||
|
||||
This function cannot tell whether the ``comments'' it traverses are
|
||||
embedded within a string. If they look like comments, it treats them
|
||||
as comments.
|
||||
@end defun
|
||||
|
||||
To move forward over all comments and whitespace following point, use
|
||||
@code{(forward-comment (buffer-size))}. @code{(buffer-size)} is a good
|
||||
argument to use, because the number of comments in the buffer cannot
|
||||
exceed that many.
|
||||
|
||||
@node Standard Syntax Tables
|
||||
@section Some Standard Syntax Tables
|
||||
|
||||
|
@ -1314,7 +1314,7 @@
|
||||
|
||||
|
||||
;; Local Variables:
|
||||
;; coding: iso-2022-7bit-unix
|
||||
;; coding: iso-2022-7bit
|
||||
;; add-log-time-zone-rule: t
|
||||
;; End:
|
||||
|
||||
|
@ -863,7 +863,7 @@
|
||||
* src/macterm.c: New file.
|
||||
|
||||
;; Local Variables:
|
||||
;; coding: iso-2022-7bit-unix
|
||||
;; coding: iso-2022-7bit
|
||||
;; add-log-time-zone-rule: t
|
||||
;; End:
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
||||
CFBundleName = "Emacs";
|
||||
CFBundleShortVersionString = "22.0.91";
|
||||
CFBundleGetInfoString = "22.0.91, Copyright (C) 2006 Free Software Foundation, Inc.";
|
||||
CFBundleShortVersionString = "22.0.92";
|
||||
CFBundleGetInfoString = "22.0.92, Copyright (C) 2006 Free Software Foundation, Inc.";
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user