1
0
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:
Miles Bader 2007-01-01 03:21:06 +00:00
commit 4c34eeeee5
161 changed files with 12596 additions and 10070 deletions

220
AUTHORS
View File

@ -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
View File

@ -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>

View File

@ -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
View File

@ -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

View File

@ -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

15114
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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
View File

@ -24,3 +24,4 @@ makefile
blessmail
*-spd
*.pdb
stamp_BLD

View File

@ -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>

View File

@ -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)

View File

@ -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);

View File

@ -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

View File

@ -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.

View File

@ -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'

View File

@ -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)

View File

@ -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

View File

@ -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:

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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*"))

View File

@ -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
;;

View File

@ -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)

View File

@ -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."

View File

@ -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

View File

@ -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)

View File

@ -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.

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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)))

View File

@ -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 ()

View File

@ -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.

View File

@ -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).

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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>

View File

@ -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)))

View File

@ -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.

View File

@ -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 ()

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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"))))))))

View File

@ -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)

View File

@ -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)

View File

@ -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.

View File

@ -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)))

View File

@ -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)

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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))

View File

@ -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"

View File

@ -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))

View File

@ -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)

View File

@ -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))

View File

@ -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)

View File

@ -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)

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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)))

View File

@ -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]

View File

@ -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)

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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))))

View 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)

View File

@ -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)

View File

@ -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.

View File

@ -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}).

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1314,7 +1314,7 @@
;; Local Variables:
;; coding: iso-2022-7bit-unix
;; coding: iso-2022-7bit
;; add-log-time-zone-rule: t
;; End:

View File

@ -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:

View File

@ -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