Patches applied:

 * emacs@sv.gnu.org/emacs--devo--0--patch-351
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-352
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-353
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-354
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-355
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-356
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-357
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-358
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-359
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-360
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-361
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-362
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-363
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-364
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-365
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-366
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-367
   Merge from gnus--rel--5.10

 * emacs@sv.gnu.org/emacs--devo--0--patch-368
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-369
   Update from CVS

 * emacs@sv.gnu.org/emacs--devo--0--patch-370
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-115
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-116
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-117
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-118
   Merge from emacs--devo--0

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-119
   Update from CVS

 * emacs@sv.gnu.org/gnus--rel--5.10--patch-120
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-573
This commit is contained in:
Karoly Lorentey 2006-07-29 09:59:12 +00:00
commit 251bc578cc
189 changed files with 9111 additions and 3493 deletions

View file

@ -1,3 +1,9 @@
2006-07-14 Eli Zaretskii <eliz@gnu.org>
* configure.in (PKG_CHECK_MODULES): Redirect the output of
$PKG_CONFIG --exists "$2" to config.log.
* configure: Regenerated.
2006-07-14 Kim F. Storm <storm@cua.dk>
* AUTHORS: Regenerate.

View file

@ -1,3 +1,11 @@
2006-07-17 Reiner Steib <Reiner.Steib@gmx.de>
* FOR-RELEASE: Update refcard section.
2006-07-14 Kim F. Storm <storm@cua.dk>
* FOR-RELEASE (BUGS): High cpu load on windows server sockets fixed.
2006-07-09 Kim F. Storm <storm@cua.dk>
* README: Use outline format. Add FOR-RELEASE.
@ -56,7 +64,7 @@
2006-01-27 Chong Yidong <cyd@stupidchicken.com>
* FOR-RELEASE: string allocation bugs fixed.
* FOR-RELEASE: String allocation bugs fixed.
2005-12-13 Bill Wohler <wohler@newt.com>

View file

@ -4,8 +4,6 @@ Tasks needed before the next release.
** Update release dates of manuals.
** Get rid of overfull and underfull boxes in manuals.
** Check for widow and orphan lines in manuals;
make sure all the pages really look ok in the manual as formatted.
@ -18,12 +16,12 @@ make sure all the pages really look ok in the manual as formatted.
Requests to have been sent out on 2006-05-23 (Reiner Steib).
LANG Translator Status
cs Pavel Janík No response
cs Pavel Janík Can't work on it now.
de Sven Joachim Done
fr Eric Jacoboni Done (layout might be improved)
pl Włodek Bzyl Done
pt-br Rodrigo Real Done
ru Alex Ott Working
ru Alex Ott Done
sk Miroslav Vaško No response
Reminders sent out on 2006-06-08.
@ -41,21 +39,12 @@ and KDE projects, to use the new Emacs icons in etc/images/icons.
'(hscroll-step 1)
)
** TCP server processes do not work on Windows.
** David Kastrup's report on strange scrolling of large images.
TCP/IP server processes created with `make-network-process' consume
excesive CPU on some Windows environments. Usages of 50% and 100%
CPU time have been observed on different Window XP configurations.
Seems to be a problem in sys_select in w32proc.c.
In its current form, it sys_select says the socket is ready, so we
call server_accept_connection which again calls accept() which returns
-1 with errno == WSAEWOULDBLOCK (10035) indicating that there is no
pending connection to accept.
It seems that to fix this, w32 server sockets must use WSAAsyncSelect
+ FD_ACCEPT to request notifications of incoming connections...
** Jorgen Schaefer <forcer@forcix.cx>'s June 18 bug report about
fields and invisible overlays needs attention from a field expert.
** Implement buffer-chars-modified-tick.
* DOCUMENTATION
@ -69,16 +58,16 @@ people who have checked it.
SECTION READERS
----------------------------------
lispref/abbrevs.texi "Luc Teirlinck" Chong Yidong
lispref/advice.texi joakim@verona.se Chong Yidong
lispref/anti.texi Chong Yidong
lispref/advice.texi Joakim Verona Chong Yidong
lispref/anti.texi Chong Yidong Kim F. Storm
lispref/backups.texi "Luc Teirlinck" Chong Yidong
lispref/buffers.texi "Luc Teirlinck" Chong Yidong
lispref/calendar.texi Joakim Verona <joakim@verona.se> Chong Yidong
lispref/calendar.texi Joakim Verona Chong Yidong
lispref/commands.texi "Luc Teirlinck" Chong Yidong
lispref/compile.texi "Luc Teirlinck" Chong Yidong
lispref/control.texi "Luc Teirlinck" Chong Yidong
lispref/customize.texi Chong Yidong "Luc Teirlinck"
lispref/debugging.texi Joakim Verona <joakim@verona.se> Lute Kamstra
lispref/debugging.texi Joakim Verona Lute Kamstra
lispref/display.texi Chong Yidong Jason Rumney
lispref/edebug.texi Chong Yidong "Luc Teirlinck"
lispref/elisp.texi "Luc Teirlinck" Lute Kamstra
@ -97,7 +86,7 @@ lispref/lists.texi "Luc Teirlinck" Chong Yidong
lispref/loading.texi "Luc Teirlinck" Chong Yidong
lispref/locals.texi Chong Yidong Nick Roberts
lispref/macros.texi "Luc Teirlinck" Chong Yidong
lispref/maps.texi Chong Yidong
lispref/maps.texi Chong Yidong Kim F. Storm
lispref/markers.texi "Luc Teirlinck" Chong Yidong
lispref/minibuf.texi "Luc Teirlinck" Chong Yidong
lispref/modes.texi Chong Yidong

4
configure vendored
View file

@ -5675,7 +5675,7 @@ fi
echo "$as_me:$LINENO: checking for $ALSA_MODULES" >&5
echo $ECHO_N "checking for $ALSA_MODULES... $ECHO_C" >&6
if $PKG_CONFIG --exists "$ALSA_MODULES" 2> /dev/null; then
if $PKG_CONFIG --exists "$ALSA_MODULES" 2>&5; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
succeeded=yes
@ -10319,7 +10319,7 @@ echo "$as_me: error:
echo "$as_me:$LINENO: checking for $GTK_MODULES" >&5
echo $ECHO_N "checking for $GTK_MODULES... $ECHO_C" >&6
if $PKG_CONFIG --exists "$GTK_MODULES" 2> /dev/null; then
if $PKG_CONFIG --exists "$GTK_MODULES" 2>&5; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
succeeded=yes

View file

@ -1500,7 +1500,7 @@ AC_DEFUN([PKG_CHECK_MODULES], [
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
AC_MSG_CHECKING(for $2)
if $PKG_CONFIG --exists "$2" 2> /dev/null; then
if $PKG_CONFIG --exists "$2" 2>&5; then
AC_MSG_RESULT(yes)
succeeded=yes

View file

@ -1,3 +1,19 @@
2006-07-17 Reiner Steib <Reiner.Steib@gmx.de>
* ru-refcard.ps: Regenerate.
2006-07-17 Alex Ott <alexott@gmail.com>
* ru-refcard.tex: Update for Emacs 22.
2006-07-14 Kim F. Storm <storm@cua.dk>
* PROBLEMS: Emacs now requires ws2_32.dll on Windows.
2006-07-14 K,Aa(Broly L,Bu(Brentey <lorentey@elte.hu>
* HELLO: Update Hungarian sample.
2006-07-12 Michael Olson <mwolson@gnu.org>
* ERC-NEWS: Update for ERC 5.1.3.

View file

@ -238,6 +238,11 @@ automatically at startup, if it exists. When Emacs offers to save
modified buffers, it saves the abbrevs too if they have changed. It
can do this either silently or asking for confirmation first,
according to the value of `save-abbrevs'.
+++
** If the environment variable EMAIL is defined, Emacs now uses its value
to compute the default value of `use-mail-address', in preference to
concatenation of `user-login-name' with the name of your host machine.
* Incompatible Editing Changes in Emacs 22.1
@ -2011,10 +2016,22 @@ discretionary handling of edits of concealed text, undo concerns, etc.
- repaired retention of topic body hanging indent upon topic depth shifts
- refuse to create "containment discontinuities", where a
topic is shifted deeper than the offspring-depth of its' container
- auto-fill-mode is now left inactive when allout-mode starts, if it
already was inactive. also, `allout-inhibit-auto-fill' custom
configuration variable makes it easy to disable auto fill in allout
outlines in general or on a per-buffer basis.
- new hook `allout-mode-deactivate-hook', for coordinating with
deactivation of allout-mode.
- bulleting variation is simpler and more accommodating, both in the
default behavior and in ability to vary when creating new topics
- many internal fixes and refinements
- many module and function docstring clarifications
- mode deactivation now does cleans up effectively, more properly
restoring affected variables and hooks to former state, removing
overlays, etc.
- included a few unit-tests for interior functionality. developers can
have them automatically run at the end of module load by customizing
the option `allout-run-unit-tests-on-load'.
- many, many minor tweaks and fixes. many internal fixes and
refinements of docstrings.
- version number incremented to 2.2
** The variable `woman-topic-at-point' was renamed
@ -3828,6 +3845,12 @@ If it is non-nil, the function lists only faces matching this regexp.
`string-or-null-p' returns non-nil iff OBJECT is a string or nil.
`booleanp' returns non-nil iff OBJECT is a t or nil.
+++
*** New hook `command-error-function'.
By setting this variable to a function, you can control
how the editor command loop shows the user an error message.
** Lisp code indentation features:
+++
@ -4385,6 +4408,12 @@ name handlers. This will be exploited for remote files mainly.
** Input changes:
+++
*** The functions `read-event', `read-char', and `read-char-exclusive'
have a new optional argument SECONDS. If non-nil, this specifies a
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
the up-event that was discarded in case the last key sequence read for a
@ -4506,6 +4535,8 @@ example,
(kbd "C-x C-f") => "\^x\^f"
Actually, this format has existed since Emacs 20.1.
*** Interactive commands can be remapped through keymaps.
This is an alternative to using `defadvice' or `substitute-key-definition'
@ -4592,6 +4623,8 @@ Lisp packages using many minor mode keymaps can now maintain their own
keymap alist separate from `minor-mode-map-alist' by adding their
keymap alist to this list.
*** The definition of a key-binding passed to define-key can use XEmacs-style
key-sequences, such as [(control a)].
** Abbrev changes:
+++

View file

@ -929,12 +929,12 @@ make it compiled by the latest Emacs.
+ ;; The only way the function is used in this package is included
+ ;; in `mucs-package-definition-end-hook' value, where it must
+ ;; return (possibly empty) *list* of forms. Do this. Do not rely
+ ;; on byte compiler to remove extra `progn's in `(progn ...)'
+ ;; on byte compiler to remove extra `progn's in `(progn ...)'
+ ;; form.
+ `((setq mucs-ccl-facility-alist
+ (quote ,mucs-ccl-facility-alist))
+ ,@result)))
;;; Add hook for embedding translation informations to a package.
(add-hook 'mucs-package-definition-end-hook
@ -2023,6 +2023,15 @@ to allocate ptys reliably.
* Runtime problems specific to MS-Windows
** Windows 95 and networking.
To support server sockets, Emacs 22.1 loads ws2_32.dll. If this file
is missing, all Emacs networking features are disabled.
Old versions of Windows 95 may not have the required DLL. To use
Emacs' networking features on Windows 95, you must install the
"Windows Socket 2" update available from MicroSoft's support Web.
** Emacs exits with "X protocol error" when run with an X server for MS-Windows.
A certain X server for Windows had a bug which caused this.
@ -2463,7 +2472,7 @@ command when running temacs like this:
setarch i386 ./temacs --batch --load loadup [dump|bootstrap]
*** Fedora Core 4 GNU/Linux: Segfault during dumping.
In addition to exec-shield explained above "Linux: Segfault during
@ -2477,7 +2486,7 @@ command:
or
setarch i386 -R make bootstrap
setarch i386 -R make bootstrap
*** Fatal signal in the command temacs -l loadup inc dump.

File diff suppressed because it is too large Load diff

View file

@ -19,7 +19,7 @@
\newlength{\ColThreeWidth}
\setlength{\ColThreeWidth}{25mm}
\newcommand{\versionnumber}[0]{2.2}
\newcommand{\versionnumber}[0]{2.3}
\newcommand{\nyear}[0]{2006}
\newcommand\shortcopyrightnotice[0]{\vskip 1ex plus 2 fill
@ -29,9 +29,9 @@
\newcommand\copyrightnotice[0]{
\vskip 1ex plus 2 fill\begingroup\footnotesize
\centerline{Copyright \copyright\ \nyear\ Free Software Foundation, Inc.}
\centerline{v\versionnumber{} for GNU Emacs version 21, June \nyear}
\centerline{v\versionnumber{} for GNU Emacs version 22, June \nyear}
\centerline{designed by Stephen Gildea}
\centerline{Перевод Alex Ott <ottalex at narod.ru>}
\centerline{Перевод Alex Ott <alexott@gmail.com>}
Permission is granted to make and distribute copies of
this card provided the copyright notice and this permission notice
@ -53,14 +53,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
%\begin{multicols}{3}
\centerline{Справочная карта по GNU Emacs}
\centerline{(для версии 21)}
\centerline{Справочник команд GNU Emacs}
\centerline{(для версии 22)}
\section{Запуск Emacs}
Для запуска GNU Emacs 21, просто наберите имя программы: \kbd{emacs}
О том, как открывать файлы, читайте далее в разделе Файлы.
Для запуска GNU Emacs 22, просто наберите имя программы: \kbd{emacs}
\section{Выход из Emacs}
@ -72,28 +70,28 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
\section{Файлы}
\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
{\bf открыть} файл в буфере Emacs & \kbd{C-x C-f} \\
{\bf открыть} файл в Emacs & \kbd{C-x C-f} \\
{\bf сохранить} файл обратно на диск & \kbd{C-x C-s} \\
сохранить {\bf все} файлы & \kbd{C-x s} \\
{\bf вставить} содержимое другого файла в текущий буфер & \kbd{C-x i} \\
открыть нужный вам файл вместо текущего & \kbd{C-x C-v} \\
сохранить буфер в указанном файле & \kbd{C-x C-w} \\
Включить/выключить состояние буфера ``только для чтения'' & \kbd{C-x C-q} \\
Переключить состояние буфера ``только для чтения'' & \kbd{C-x C-q} \\
\end{tabular}
\section{Получение помощи}
Справочная система достаточно проста. Hажмите \kbd{C-h} (или \kbd{F1}) и
следуйте инструкциям. Если вы в первый раз работаете с Emacs, наберите
следуйте инструкциям. Если вы в первый раз работаете с Emacs, то наберите
\kbd{C-u C-h t Russian RET} для вызова {\bf учебника}.
\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
Закрыть окно справки & \kbd{C-x 1} \\
Скрыть окно справки & \kbd{C-x 1} \\
Прокрутить окно справки & \kbd{C-M-v} \\
apropos: показать команды, соответствующие строке & \kbd{C-h a} \\
показать имя функции, которая запускается клавишей & \kbd{C-h c} \\
описать функцию & \kbd{C-h f} \\
показать имя функции, которая запускается клавишей & \kbd{C-h k} \\
получить информацию о функции & \kbd{C-h f} \\
получить информацию о режиме & \kbd{C-h m} \\
\end{tabular}
@ -102,7 +100,7 @@ apropos:
\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
{\bf прервать} частично набранную или исполняемую команду & \kbd{C-g} \\
{\bf восстановить} файл, потерянный при крахе системы & \kbd{M-x recover-file} \\
{\bf отменить} нежелательные изменения & \kbd{C-x u {\rm или} C-\_} \\
{\bf отменить} нежелательные изменения & \kbd{C-x u, C-\_ {\rm или} C-/} \\
восстановить буфер в первоначальное состояние & \kbd{M-x revert-buffer} \\
перерисовать заполненный мусором экран & \kbd{C-l} \\
\end{tabular}
@ -112,7 +110,7 @@ apropos:
\begin{tabular}{p{\ColWidth}p{\ColThreeWidth}p{\ColThreeWidth}}
поиск вперед & \kbd{C-s} \\
поиск назад & \kbd{C-r} \\
поиск по регулярному выражению & \kbd{C-M-s} \\
поиск по регулярному выражению вперед & \kbd{C-M-s} \\
поиск по регулярному выражению назад & \kbd{C-M-r} \\
выбрать предыдущую строку поиска & \kbd{M-p} \\
@ -124,7 +122,7 @@ apropos:
Для повтора поиска в любом направлении используйте клавиши \kbd{C-s} или
\kbd{C-r}. Если Emacs все еще производит поиск, \kbd{C-g} отменит только
несделанную часть.
не выполненную часть.
\section{Перемещение}
@ -148,7 +146,7 @@ apropos:
прокрутка экрана вверх & \kbd{M-v} \\
прокрутка влево & \kbd{C-x <} \\
прокрутка вправо & \kbd{C-x >} \\
прокрутка текущей строки в центр экрана & \kbd{C-u C-l} \\
установка текущей строки в центр экрана & \kbd{C-u C-l} \\
\end{tabular}
\section{Уничтожение и удаление}
@ -175,8 +173,8 @@ apropos:
\section{Пометка}
\begin{tabular}{p{\ColWidth}l}
установить пометки & \kbd{C-@ {\rm or} C-SPC} \\
обменять местами курсор и пометку & \kbd{C-x C-x} \\
установить пометки & \kbd{C-@ {\rm или} C-SPC} \\
поменять местами курсор и пометку & \kbd{C-x C-x} \\
пометить {\it arg\/} {\bf слов} & \kbd{M-@} \\
пометить {\bf параграф} & \kbd{M-h} \\
@ -193,7 +191,7 @@ apropos:
с использованием регулярных выражений & \kbd{M-x query-replace-regexp} \\
\end{tabular}
В режиме интерактивной замены пользователю доступны следующие ответы:
В режиме интерактивной замены пользователю доступны следующие команды:
\begin{tabular}{p{\ColWidth}l}
{\bf заменить} данное соответствие, перейти к следующему & \kbd{SPC} \\
@ -201,14 +199,14 @@ apropos:
{\bf пропустить} соответствие без замены & \kbd{DEL} \\
заменить все оставшиеся соответствия & \kbd{!} \\
{\bf вернуться} к предыдущему соответствию & \kbd{\^} \\
{\bf выйти} из режима замена с запросом & \kbd{RET} \\
{\bf выйти} из режима ``замена с запросом'' & \kbd{RET} \\
войти в режим рекурсивного редактирования (для выхода используется \kbd{C-M-c}) & \kbd{C-r} \\
\end{tabular}
\section{Множество окон}
\section{Использование нескольких окон}
Команды, приведенные во втором столбце, применяются к другому
(неактивному) окну.
фрэйму (окну используемой оконной системы).
\begin{tabular}{p{\ColWidth}l}
удалить все остальные окна & \kbd{C-x 1} \\
@ -256,11 +254,11 @@ apropos:
удалить пустое пространство вокруг курсора & \kbd{M-$\backslash$} \\
поместить только один пробел в позиции курсора & \kbd{M-SPC} \\
заполнить текущий параграф & \kbd{M-q} \\
отформатировать текущий параграф & \kbd{M-q} \\
установить столбец заполнения & \kbd{C-x f} \\
установить префикс заполнения каждой строки & \kbd{C-x .} \\
установить начертание & \kbd{M-g} \\
установить начертание (face) & \kbd{M-g} \\
\end{tabular}
\section{Изменение регистра}
@ -283,8 +281,8 @@ apropos:
дополнить до одного слова & \kbd{SPC} \\
дополнить и выполнить & \kbd{RET} \\
показать возможные дополнения & \kbd{?} \\
выбрать предыдущий ввод в минибуфер & \kbd{M-p} \\
выбрать следующий ввод в минибуфер & \kbd{M-n} \\
выбрать предыдущую строку из истории ввода & \kbd{M-p} \\
выбрать следующую строку из истории ввода & \kbd{M-n} \\
поиск в истории по регулярному выражению в обратном напрвлении & \kbd{M-r} \\
поиск в истории по регулярному выражению в прямом напрвлении & \kbd{M-s} \\
прервать команду & \kbd{C-g} \\
@ -302,7 +300,7 @@ apropos:
уничтожить буфер & \kbd{C-x k} \\
\end{tabular}
\section{Обмен местами}
\section{Перестановка данных}
\begin{tabular}{p{\ColWidth}l}
обменять местами {\bf символы} & \kbd{C-t} \\
@ -311,7 +309,7 @@ apropos:
обменять местами {\bf выражения} & \kbd{C-M-t} \\
\end{tabular}
\section{Проверка грамматики}
\section{Проверка правописания}
\begin{tabular}{p{\ColWidth}l}
проверить текущее слово & \kbd{M-\$} \\
@ -324,7 +322,7 @@ apropos:
\begin{tabular}{p{\ColWidth}l}
найти определение тега & \kbd{M-.} \\
найти следующее вхождение тега & \kbd{C-u M-.} \\
указать новый файл с тегами & \kbd{M-x visit-tags-table} \\
использовать новый файл с тегами & \kbd{M-x visit-tags-table} \\
поиск по шаблону по всей таблице тегов & \kbd{M-x tags-search} \\
выполнить query-replace над всеми файлами & \kbd{M-x tags-query-replace} \\
@ -395,7 +393,7 @@ apropos:
\section{Международные наборы символов}
\begin{tabular}{p{\ColWidth}l}
выбрать язык & \kbd{M-x set-language-environment} \\
выбрать язык & \kbd{C-x RET l} \\
показать все возможные методы ввода & \kbd{M-x list-input-methods} \\
разрешить или запретить метод ввода & \kbd{C-$\backslash$} \\
установить систему кодирования для следующей команды & \kbd{C-x RET c} \\
@ -407,7 +405,7 @@ apropos:
\begin{tabular}{p{\ColWidth}l}
запустить систему доступа к документации & \kbd{C-h i} \\
найти указанную функцию или переменную в документации & \kbd{C-h C-i} \\
найти указанную функцию или переменную в документации & \kbd{C-h S} \\
\end{tabular}
Перемещение внутри узла (нодами):
@ -424,11 +422,12 @@ apropos:
{\bf следующий} узел & \kbd{n} \\
{\bf предыдущий} узел & \kbd{p} \\
перейти к {\bf верхнему} узлу & \kbd{u} \\
выбрать меню по имени & \kbd{m} \\
выбрать пункт меню по имени & \kbd{m} \\
выбрать {\it n\/}-й пункт меню по номеру (1--9) & \kbd{{\it n}} \\
перейти по ссылке (возврат с помощью \kbd{l}) & \kbd{f} \\
перейти по ссылке (возврат с помощью \kbd{l}) & \kbd{f} \\
возвратится к последнему просмотренному узлу & \kbd{l} \\
возвратится к узлу-каталогу & \kbd{d} \\
Перейти к верхему узлу файла & \kbd{t} \\
перейти к узлу, заданному именем & \kbd{g} \\
\end{tabular}
@ -436,8 +435,8 @@ apropos:
\begin{tabular}{p{\ColWidth}l}
запустить {\bf учебник} по системе документации & \kbd{h} \\
поиск темы в индексе & \kbd{i} \\
поиск в узлах с помощью регулярных выражений & \kbd{s} \\
% look up a subject in the indices & \kbd{i} % FIXME
{\bf прекратить работу} с документацией & \kbd{q} \\
\end{tabular}
@ -481,7 +480,7 @@ apropos:
% The intended audience here is the person who wants to make simple
% customizations and knows Lisp syntax.
Создать глобальное назначение ключей на Emacs Lisp (пример):
Создание глобальных привязок клавиш (ключей) на Emacs Lisp (примеры):
\begin{verbatim}
(global-set-key "\C-cg" 'goto-line)

View file

@ -1,3 +1,14 @@
2006-07-20 Andreas Schwab <schwab@suse.de>
* fakemail.c (fatal): Drop second parameter and treat first
parameter as a plain string. Callers changed.
2006-07-18 Dan Nicolaescu <dann@ics.uci.edu>
* ebrowse.c (usage, version): Mark as NO_RETURN.
* emacsclient.c (print_help_and_exit): Likewise.
2006-07-10 Francesco Potort,Al(B <pot@gnu.org>
* etags.c (absolute_filename): Free unused space (cosmetic change).

View file

@ -533,6 +533,8 @@ struct sym *parse_qualified_ident_or_type P_ ((char **));
void parse_qualified_param_ident_or_type P_ ((char **));
int globals P_ ((int));
void yyerror P_ ((char *, char *));
void usage P_ ((int)) NO_RETURN;
void version P_ (()) NO_RETURN;

View file

@ -106,7 +106,7 @@ const char * alternate_editor = NULL;
/* If non-NULL, the filename of the UNIX socket. */
char *socket_name = NULL;
void print_help_and_exit ();
void print_help_and_exit () NO_RETURN;
struct option longopts[] =
{

View file

@ -175,10 +175,10 @@ error (s1, s2)
/* Print error message and exit. */
static void
fatal (s1, s2)
char *s1, *s2;
fatal (s1)
char *s1;
{
error (s1, s2);
error ("%s", s1);
exit (EXIT_FAILURE);
}
@ -190,7 +190,7 @@ xmalloc (size)
{
long *result = (long *) malloc (((unsigned) size));
if (result == ((long *) NULL))
fatal ("virtual memory exhausted", 0);
fatal ("virtual memory exhausted");
return result;
}
@ -377,7 +377,7 @@ make_file_preface ()
tm = localtime (&idiotic_interface);
if (! (tm && TM_YEAR_IN_ASCTIME_RANGE (tm->tm_year)
&& (the_date = asctime (tm))))
fatal ("current time is out of range", 0);
fatal ("current time is out of range");
/* the_date has an unwanted newline at the end */
date_length = strlen (the_date) - 1;
the_date[date_length] = '\0';

View file

@ -1,3 +1,393 @@
2006-07-28 Nick Roberts <nickrob@snap.net.nz>
* Makefile.in (recompile): Update comment to reflect change
on 2004-04-21.
2006-07-27 Richard Stallman <rms@gnu.org>
* cus-edit.el (customize-package-emacs-version-alist): Doc fix.
(customize-package-emacs-version): Change msg when pkg has no entry.
(custom-no-edit): On a button, do like widget-button-press.
2006-07-27 Dan Nicolaescu <dann@ics.uci.edu>
* term/xterm.el (terminal-init-xterm): Fix bindings for C-tab,
S-tab and C-S-tab.
2006-07-28 Nick Roberts <nickrob@snap.net.nz>
* progmodes/which-func.el (which-function): Fix documentation/
comment typo.
2006-07-26 Richard Stallman <rms@gnu.org>
* textmodes/ispell.el (ispell-word): If we replace the word,
move point to the end. Insert before deleting.
2006-07-26 Chong Yidong <cyd@stupidchicken.com>
* subr.el (sit-for): Use new SECONDS arg of read-event instead of
a timer.
2006-07-26 Mathias Dahl <mathias.dahl@gmail.com>
* tumme.el (tumme-backward-image): Add prefix argument. Add error
when at first image.
(tumme-forward-image): Add prefix argument. Add error when at last
image.
2006-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
* tabify.el (tabify-regexp): Use more specific regexps.
(tabify): Avoid modifying the buffer unnecessarily.
2006-07-25 Mathias Dahl <mathias.dahl@gmail.com>
* tumme.el (tumme-track-original-file): Add `buffer-live-p' check.
(tumme-format-properties-string): Handle empty `buf'.
(tumme-get-comment): Change variable names inside `let'. Add
missing `let' variable that cause font-lock problems.
(tumme-write-comments): Change variable names inside `let'. Add
missing `let' variable that cause font-lock problems.
(tumme-forward-image): Rename from `tumme-forward-char'.
(tumme-backward-image): Rename from `tumme-backward-char'.
2006-07-25 Masatake YAMATO <jet@gyve.org>
* progmodes/ld-script.el (ld-script-keywords)
(ld-script-font-lock-keywords, ld-script-builtins): Update keywords
and add comments.
2006-07-25 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdb-set-gud-minor-mode-existing-buffers)
(gdb-resync, gdb-prompt, gdb-starting, gdb-exited, gdb-stopped)
(gdb-set-gud-minor-mode-existing-buffers-1): Use different faces
for status indicator.
2006-07-24 Richard Stallman <rms@gnu.org>
* xml.el (xml-parse-file): Clean up, and use with-temp-buffer.
* subr.el (dolist, dotimes): Use interned symbols for locals.
(--dotimes-limit--, --dolist-tail--): New defvars.
(looking-back): Doc fix.
* replace.el (replace-match-string-symbols): Handle dotted lists.
2006-07-24 mathias <mathias@mattis>
* tumme.el (tumme-write-tags): Add.
(tumme-write-comments): Add.
(tumme-tag-files): Change to use `tumme-write-tags'.
(tumme-tag-thumbnail): Change to use `tumme-write-tags'.
(tumme-dired-comment-files): Change to use `tumme-write-comments'.
(tumme-save-information-from-widgets): Change to use
`tumme-write-comments' and `tumme-write-tags'.
(tumme-comment-thumbnail): Change to use `tumme-write-comments'.
(tumme-write-tag): Remove.
(tumme-write-comment): Remove.
(tumme-display-previous-thumbnail-original): Remove empty line.
(tumme-widget-list): Add punctuation.
2006-07-24 mathias <mathias.dahl@gmail.com>
* tumme.el (tumme-line-up): Add an extra check for end of buffer.
2006-07-24 Daiki Ueno <ueno@unixuser.org>
* pgg-def.el (pgg-truncate-key-identifier): Truncate the key ID to 8
letters from the end. Thanks to "David Smith" <davidsmith@acm.org> and
andreas@altroot.de (Andreas V,Av(Bgele)
2006-07-23 Thien-Thi Nguyen <ttn@gnu.org>
* mouse.el (mouse-on-link-p): Doc fix.
2006-07-23 Nick Roberts <nickrob@snap.net.nz>
* emacs-lisp/find-func.el (find-function-search-for-symbol):
Handle "C-h f `".
2006-07-22 Dan Nicolaescu <dann@ics.uci.edu>
* ibuffer.el (ibuffer-formats): Use left alignment for the mode
column.
2006-07-22 Matt Hodges <MPHodges@member.fsf.org>
* textmodes/table.el: Add move-beginning-of-line and
move-end-of-line to Point Motion Only Group.
2006-07-22 Eric Hanchrow <offby1@blarg.net>
* progmodes/delphi.el (delphi-fill-comment): Use save-restriction.
2006-07-22 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org>
* startup.el (user-mail-address): Initialize from the `EMAIL'
environment variable first. Document this.
(command-line): Ditto.
2006-07-22 Nick Roberts <nickrob@snap.net.nz>
* help-mode.el (help-function-def, help-variable-def)
(help-face-def): Print a message in the minibuffer.
2006-07-21 Dan Nicolaescu <dann@ics.uci.edu>
* term/xterm.el (terminal-init-xterm): Fix key bindings
syntax. Bind S-return, C-M-., C-TAB, S-TAB and C-S-TAB.
2006-07-21 Eli Zaretskii <eliz@gnu.org>
* dos-w32.el (find-buffer-file-type-coding-system): Support calls
where `(nth 1 command)' is a cons cell. Doc fix.
* textmodes/po.el (po-find-charset): Doc fix.
2006-07-21 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-unprotected, allout-e-o-prefix-p)
(allout-beginning-of-current-line, allout-end-of-current-line)
(allout-next-visible-heading, allout-open-topic)
(allout-kill-topic, allout-yank-processing, allout-resolve-xref)
(allout-flag-current-subtree, allout-show-to-offshoot)
(allout-hide-current-entry, allout-show-current-branches)
(allout-hide-region-body, allout-old-expose-topic)
(allout-listify-exposed, allout-latex-verbatim-quote-curr-line)
(allout-mark-topic, allout-adjust-file-variable): Enclose scopes
containing `beginning-of-line' and `end-of-line' with
`inhibit-field-text-motion' t.
2006-07-21 Eli Zaretskii <eliz@gnu.org>
* frame.el (focus-follows-mouse): Document that it doesn't have
any effect on MS-Windows.
2006-07-20 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/sh-script.el (sh-quoted-subshell): Further fix last change.
2006-07-20 Jay Belanger <belanger@truman.edu>
* calc.el (calc-previous-alg-entry): Remove variable.
* calc-aent.el (calc-alg-entry-history, calc-quick-calc-history):
New variables.
(calc-alg-entry): Use `calc-alg-entry-history'.
(calc-do-quick-calc): Use `calc-quick-calc-history'.
Remove reference to `calc-previous-alg-entry'.
(calcAlg-edit, calcAlg-enter): Remove reference to
`calc-previous-alg-entry'.
(calcAlg-previous): Use `previous-history-element' instead of
`calc-previous-alg-entry'.
(calc-do-alg-entry): Use history when calling `read-from-minibuffer'.
Change keybinding for `calcAlg-plus-minus', add keybindings for
`previous-history-element' and `next-history-element'.
* calc-rewr.el (calc-match): Remove reference to
`calc-previous-alg-entry'.
* calc-sel.el (calc-selection-history): New variable.
(calc-enter-selection, calc-sel-mult-both-sides)
(calc-sel-add-both-sides): Use `calc-selection-history'.
* calc-map.el (calc-get-operator-history): New variable.
(calc-get-operator): Use `calc-get-operator-history'.
* calcalg3.el (calc-curve-fit-history): New variable.
(calc-curve-fit): Use `calc-curve-fit-history'.
2006-07-20 Kenichi Handa <handa@m17n.org>
* international/mule-cmds.el (select-safe-coding-system): Fix the
way of deciding eol-type of the coding system.
2006-07-20 Alan Mackenzie <acm@muc.de>
* progmodes/cc-langs.el (c-emacs-variable-inits): New variable.
(c-lang-setvar): New macro.
(c-make-init-lang-vars-fun): Use the initialization forms in
c-emacs-variable-inits in addition to those in c-lang-variable-inits.
(comment-start, comment-end, comment-start-skip): Change these from
c-lang-defvar's to c-lang-setvar's.
* progmodes/cc-mode.el (c-make-emacs-variables-local): New macro,
which calls make-local-variable on the elements of
c-emacs-variable-inits.
(c-init-language-vars-for): Call this new macro.
2006-07-19 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/compile.el (compilation-error-regexp-alist-alist) <gnu>:
Try to rule out false positives due to time stamps.
(compilation-mode-font-lock-keywords): Remove rules made redundant
because of the above change. Add `segmentation fault' to the known and
highlighted compilation termination messages.
2006-07-19 Kim F. Storm <storm@cua.dk>
* progmodes/grep.el (grep-find-ignored-directories):
Add .svn and _darcs to list.
2006-07-19 Mathias Dahl <mathias.dahl@gmail.com>
* dired.el (dired-mode-map): Add key binding `C-te' for
`tumme-dired-edit-comment-and-tags'.
* tumme.el (tumme-display-thumbnail-original-image): Make sure
image display buffer is displayed before call to
`tumme-display-image.
(tumme-dired-display-image): Make sure image display buffer is
displayed before call to `tumme-display-image.
(tumme-mouse-display-image): Make sure image display buffer is
displayed before call to `tumme-display-image.
(tumme-widget-list): Add.
(tumme-dired-edit-comment-and-tags): Add.
(tumme-save-information-from-widgets): Add.
2006-07-19 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/sh-script.el (sh-quoted-subshell): Fix last change.
2006-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/sh-script.el (sh-font-lock-keywords-1):
Revert inadvertently installed patch hunk.
* progmodes/compile.el (compilation-find-file): Handle the
cases where the user selects a non-existent file.
2006-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
* bindings.el (minibuffer-local-map): Rebind TAB so it inserts a \t.
2006-07-17 Chong Yidong <cyd@stupidchicken.com>
* subr.el (sit-for): Just sleep-for if noninteractive.
2006-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/autoload.el (make-autoload): Use new arg.
* custom.el (custom-autoload): Add `noset' argument.
(custom-push-theme): Don't autoload the variable, let callers do it.
(custom-theme-set-variables): Autoload the variable if necessary.
* cus-edit.el (custom-variable-state-set): If the variable was
originally set outside custom, but to the same value as the default,
consider it to be standard.
* Makefile.in (mh-loaddefs.el): Finish setting up the default empty
file *before* telling Emacs to add the autoloads, in case it fails.
* progmodes/sh-script.el (sh-quoted-subshell): Don't match escaped `.
Use `cond', push', and `dolist'.
2006-07-17 Richard Stallman <rms@gnu.org>
* image-mode.el (tar-superior-buffer, archive-superior-buffer):
Add defvars to silence warnings.
2006-07-17 Chong Yidong <cyd@stupidchicken.com>
* progmodes/compile.el (compilation-mode-font-lock-keywords):
Don't highlight "Compiling file" messages as error.
* dired-aux.el (dired-compress-file): Confirm again if gzipped
file already exists.
2006-07-16 Thien-Thi Nguyen <ttn@gnu.org>
* find-file.el (ff-special-constructs): Doc fix. Also, for C/C++
entry, don't assign to free var; simply return the extracted filename.
(ff-treat-as-special): Incorporate common preamble from callers.
(ff-other-file-name, ff-find-the-other-file):
Update call to ff-treat-as-special.
* progmodes/ada-mode.el (ada-mode): Rewrite ff-special-constructs init.
2006-07-16 Mathias Dahl <mathias.dahl@gmail.com>
* tumme.el (tumme-get-comment): Fix bug.
2006-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
* files.el: Remove spurious * in docstrings.
2006-07-14 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-run-unit-tests-on-load): Rectify docstring
grammar.
(allout-beginning-of-current-line): Beware beginning of buffer.
Also, a comment is simplified.
(allout-hotspot-key-handler): Only set allout-post-goto-bullet
when appropriate. (This fix enables use for other than
bullet-hotspot operation.)
(allout-hide-current-subtree): While escalating to sibling-close,
make sure to situate on a topic.
2006-07-14 Kim F. Storm <storm@cua.dk>
* emulation/cua-base.el (cua-delete-selection)
(cua-toggle-set-mark): New defcustoms.
(cua-rectangle-modifier-key): Add `alt' modifier.
(cua-replace-region): Don't delete if cua-delete-selection is nil.
(cua-set-mark): Don't clear mark if cua-toggle-set-mark is nil.
Suggested by Klaus Zeitler <kzeitler@lucent.com>.
* emulation/cua-rect.el (cua-help-for-rectangle): Add `alt' modifier.
2006-07-14 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el: Require 'cl during byte-compilation/interactive load,
for the `assert' macro.
(allout-mode-deactivate-hook): New hook, run when allout mode
deactivates.
(allout-developer): New allout customization subgroup.
(allout-run-unit-tests-on-load): New allout-developer
customization variable, when true allout unit tests are run towards
end of file load/eval.
(allout-inhibit-auto-fill): Disable auto-fill activity even during
auto-fill-mode.
(allout-resumptions): Remove, to be replaced by...
(allout-add-resumptions): Register variable settings to be
reinstated by `allout-do-resumptions'. The settings are made
buffer-local, but the locality/globality of the suspended setting
is restored on resumption.
(allout-do-resumptions): Reinstate all settings suspended using
`allout-add-resumptions'.
(allout-test-resumptions): Unit tests (and intermediate variables)
for resumptions.
(allout-tests-globally-unbound, allout-tests-globally-true)
(allout-tests-locally-true): Intermediate variables for
resumptions unit tests.
(allout-overlay-preparations): Replaces `allout-set-overlay-category'.
(allout-exposure-category): Replaces 'allout-overlay-category variable.
(allout-mode): Use `allout-add-resumptions' and `allout-do-resumptions'
instead of retired `allout-resumptions'. For hook functions, use
`local' parameter so hook settings are created and removed as
buffer-local settings. Revise (resumptions) setting
auto-fill-function so it is set only if already active. (The
related fill-function settings are all made in either case, so
that activating auto-fill-mode activity will have the custom
allout-mode behaviors (hanging indent on topics, if configured for it).
Remove all allout-exposure-category overlays on mode deactivation.
(allout-hotspot-key-handler): New function extracted from
`allout-pre-command-business', so the functionality can be used
for other purposes, eg as a binding in an overlay.
(allout-pre-command-business): Use new `allout-hotspot-key-handler'.
(allout-auto-fill): Respect new `allout-inhibit-auto-fill'
customization variable.
(allout-run-unit-tests): Run the (currently quite small)
repertoire of unit tests. Called just before the provide iff user
has customized `allout-run-unit-tests-on-load' non-nil.
2006-07-14 K,Aa(Broly L,Bu(Brentey <lorentey@elte.hu>
* emacs-lisp/authors.el (authors-aliases): Update.
2006-07-14 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdb-display-buffer): Check for
@ -6,7 +396,7 @@
(gdb-display-breakpoints-buffer, gdb-display-stack-buffer)
(gdb-display-threads-buffer, gdb-display-memory-buffer)
(gdb-display-locals-buffer): Use it.
* progmodes/gud.el (gud-display-line): Use gdb-display-buffer.
Set gdb-source-window.
@ -51,10 +441,9 @@
2006-07-12 Nick Roberts <nickrob@snap.net.nz>
* tumme.el (tumme-create-thumb)
(tumme-thumbnail-display-external, tumme-display-image)
(tumme-rotate-thumbnail, tumme-rotate-original)
(tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch.
* tumme.el (tumme-create-thumb, tumme-thumbnail-display-external)
(tumme-display-image, tumme-rotate-thumbnail, tumme-rotate-original)
(tumme-set-exif-data, tumme-get-exif-data): Use shell-command-switch.
* thumbs.el (thumbs-call-convert): Use shell-command-switch.
@ -90,20 +479,16 @@
2006-07-11 Nick Roberts <nickrob@snap.net.nz>
* tumme.el (tumme-create-thumb)
(tumme-thumbnail-display-external, tumme-display-image)
(tumme-rotate-thumbnail, tumme-rotate-original)
* tumme.el (tumme-create-thumb, tumme-thumbnail-display-external)
(tumme-display-image, tumme-rotate-thumbnail, tumme-rotate-original)
(tumme-set-exif-data, tumme-get-exif-data): Use call-process
instead of shell-command.
(tumme-create-thumbnail-buffer)
(tumme-create-display-image-buffer, tumme-display-thumbs)
(tumme-modify-mark-on-thumb-original-file, tumme-display-image)
(tumme-get-exif-data): Use with-current-buffer.
(tumme-display-properties-format)
(tumme-dired-insert-marked-thumbs, tumme-rotate-original)
(tumme-get-exif-file-name)
(tumme-thumbnail-set-image-description, tumme-gallery-generate):
Fit to 80 columns.
(tumme-create-thumbnail-buffer, tumme-create-display-image-buffer)
(tumme-display-thumbs, tumme-modify-mark-on-thumb-original-file)
(tumme-display-image, tumme-get-exif-data): Use with-current-buffer.
(tumme-display-properties-format, tumme-dired-insert-marked-thumbs)
(tumme-thumbnail-set-image-description, tumme-gallery-generate)
(tumme-rotate-original, tumme-get-exif-file-name): Fit to 80 columns.
2006-07-11 Kim F. Storm <storm@cua.dk>
@ -414,8 +799,8 @@
2006-06-25 Michael Albinus <michael.albinus@gmx.de>
* net/rcompile.el (remote-compile): Replace ange-ftp based
implementation by Tramp functions. Based on a patch published by
Marc Abramowitz <msabramo@gmail.com>.
implementation by Tramp functions.
Suggested by Marc Abramowitz <msabramo@gmail.com>.
* net/tramp.el (tramp-unload-tramp): Provide a doc string.
@ -2090,8 +2475,6 @@
to `ispell-local-dictionary'.
(ispell-internal-change-dictionary): Check for a change in
personal dictionary use too.
Cosmetic changes from Agustin Martin
<agustin.martin@hispalinux.es>.
2006-05-05 Eli Zaretskii <eliz@gnu.org>

View file

@ -204,9 +204,8 @@ backup-compiled-files:
compile-after-backup: backup-compiled-files compile-always
# Recompile all Lisp files which are newer than their .elc files.
# Note that this doesn't create .elc files. It only recompiles if an
# .elc is present.
# Recompile all Lisp files which are newer than their .elc files and compile
# new ones.
recompile: doit mh-autoloads $(lisp)/progmodes/cc-mode.elc
$(EMACS) $(EMACSOPT) --eval "(batch-byte-recompile-directory 0)" $(lisp)
@ -247,12 +246,6 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC)
echo ";;; Commentary:" >> $@
echo ";;; Change Log:" >> $@
echo ";;; Code:" >> $@
$(EMACS) $(EMACSOPT) \
-l autoload \
--eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
--eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \
--eval "(setq make-backup-files nil)" \
-f batch-update-autoloads $(lisp)/mh-e
echo " " >> $@
echo "(provide 'mh-loaddefs)" >> $@
echo ";; Local Variables:" >> $@
@ -261,6 +254,12 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC)
echo ";; no-update-autoloads: t" >> $@
echo ";; End:" >> $@
echo ";;; mh-loaddefs.el ends here" >> $@
$(EMACS) $(EMACSOPT) \
-l autoload \
--eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
--eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \
--eval "(setq make-backup-files nil)" \
-f batch-update-autoloads $(lisp)/mh-e
# Prepare a bootstrap in the lisp subdirectory.
#

File diff suppressed because it is too large Load diff

View file

@ -870,10 +870,14 @@ using `make-temp-file', and the generated name is returned."
(save-excursion
(funcall set-auto-coding-function
filename (- (point-max) (point-min)))))
;; dos-w32.el defines find-operation-coding-system for
;; DOS/Windows systems which preserves the coding-system
;; of existing files. We want it to act here as if the
;; extracted file existed.
;; dos-w32.el defines the function
;; find-buffer-file-type-coding-system for DOS/Windows
;; systems which preserves the coding-system of existing files.
;; (That function is called via file-coding-system-alist.)
;; Here, we want it to act as if the extracted file existed.
;; The following let-binding of file-name-handler-alist forces
;; find-file-not-found-set-buffer-file-coding-system to ignore
;; the file's name (see dos-w32.el).
(let ((file-name-handler-alist
'(("" . archive-file-name-handler))))
(car (find-operation-coding-system

View file

@ -683,7 +683,11 @@ language you are using."
(define-key map [prior] 'previous-history-element)
(define-key map [up] 'previous-history-element)
(define-key map "\es" 'next-matching-history-element)
(define-key map "\er" 'previous-matching-history-element))
(define-key map "\er" 'previous-matching-history-element)
;; Override the global binding (which calls indent-relative via
;; indent-for-tab-command). The alignment that indent-relative tries to
;; do doesn't make much sense here since the prompt messes it up.
(define-key map "\t" 'self-insert-command))
(define-key global-map "\C-u" 'universal-argument)
(let ((i ?0))

View file

@ -32,7 +32,11 @@
(require 'calc)
(require 'calc-macs)
(defvar calc-quick-calc-history nil
"The history list for quick-calc.")
(defun calc-do-quick-calc ()
(require 'calc-ext)
(calc-check-defines)
(if (eq major-mode 'calc-mode)
(calc-algebraic-entry t)
@ -45,23 +49,12 @@
(enable-recursive-minibuffers t)
(calc-language (if (memq calc-language '(nil big))
'flat calc-language))
(entry (calc-do-alg-entry "" "Quick calc: " t))
(alg-exp (mapcar (function
(lambda (x)
(if (and (not (featurep 'calc-ext))
calc-previous-alg-entry
(string-match
"\\`[-0-9._+*/^() ]+\\'"
calc-previous-alg-entry))
(calc-normalize x)
(require 'calc-ext)
(math-evaluate-expr x))))
entry)))
(entry (calc-do-alg-entry "" "Quick calc: " t 'calc-quick-calc-history))
(alg-exp (mapcar 'math-evaluate-expr entry)))
(when (and (= (length alg-exp) 1)
(eq (car-safe (car alg-exp)) 'calcFunc-assign)
(= (length (car alg-exp)) 3)
(eq (car-safe (nth 1 (car alg-exp))) 'var))
(require 'calc-ext)
(set (nth 2 (nth 1 (car alg-exp))) (nth 2 (car alg-exp)))
(calc-refresh-evaltos (nth 2 (nth 1 (car alg-exp))))
(setq alg-exp (list (nth 2 (car alg-exp)))))
@ -264,13 +257,16 @@ T means abort and give an error message.")
(math-expr-opers (if prefix math-standard-opers math-expr-opers)))
(calc-alg-entry (and auto (char-to-string last-command-char))))))
(defvar calc-alg-entry-history nil
"History for algebraic entry.")
(defun calc-alg-entry (&optional initial prompt)
(let* ((sel-mode nil)
(calc-dollar-values (mapcar 'calc-get-stack-element
(nthcdr calc-stack-top calc-stack)))
(calc-dollar-used 0)
(calc-plain-entry t)
(alg-exp (calc-do-alg-entry initial prompt t)))
(alg-exp (calc-do-alg-entry initial prompt t 'calc-alg-entry-history)))
(if (stringp alg-exp)
(progn
(require 'calc-ext)
@ -301,7 +297,7 @@ T means abort and give an error message.")
(defvar calc-alg-exp)
(defun calc-do-alg-entry (&optional initial prompt no-normalize)
(defun calc-do-alg-entry (&optional initial prompt no-normalize history)
(let* ((calc-buffer (current-buffer))
(blink-paren-function 'calcAlg-blink-matching-open)
(calc-alg-exp 'error))
@ -319,15 +315,17 @@ T means abort and give an error message.")
(define-key calc-alg-ent-map "\e" nil)
(if (eq calc-algebraic-mode 'total)
(define-key calc-alg-ent-map "\e" calc-alg-ent-esc-map)
(define-key calc-alg-ent-map "\ep" 'calcAlg-plus-minus)
(define-key calc-alg-ent-map "\e+" 'calcAlg-plus-minus)
(define-key calc-alg-ent-map "\em" 'calcAlg-mod)
(define-key calc-alg-ent-map "\e=" 'calcAlg-equals)
(define-key calc-alg-ent-map "\e\r" 'calcAlg-equals)
(define-key calc-alg-ent-map "\ep" 'previous-history-element)
(define-key calc-alg-ent-map "\en" 'next-history-element)
(define-key calc-alg-ent-map "\e%" 'self-insert-command))
(setq calc-aborted-prefix nil)
(let ((buf (read-from-minibuffer (or prompt "Algebraic: ")
(or initial "")
calc-alg-ent-map nil)))
calc-alg-ent-map nil history)))
(when (eq calc-alg-exp 'error)
(when (eq (car-safe (setq calc-alg-exp (math-read-exprs buf))) 'error)
(setq calc-alg-exp nil)))
@ -355,9 +353,7 @@ T means abort and give an error message.")
(defun calcAlg-previous ()
(interactive)
(if (calc-minibuffer-contains "\\'")
(if calc-previous-alg-entry
(insert calc-previous-alg-entry)
(beep))
(previous-history-element 1)
(insert "'")))
(defun calcAlg-equals ()
@ -384,7 +380,6 @@ T means abort and give an error message.")
"\\`\\([^\"]*\"[^\"]*\"\\)*[^\"]*\"[^\"]*\\'"))
(insert "`")
(setq calc-alg-exp (minibuffer-contents))
(and (> (length calc-alg-exp) 0) (setq calc-previous-alg-entry calc-alg-exp))
(exit-minibuffer)))
(defvar calc-buffer)
@ -407,7 +402,6 @@ T means abort and give an error message.")
(setq calc-alg-exp (if (calc-minibuffer-contains "\\` *\\[ *\\'")
'((incomplete vec))
exp))
(and (> (length str) 0) (setq calc-previous-alg-entry str))
(exit-minibuffer))))
(defun calcAlg-blink-matching-open ()

View file

@ -498,6 +498,9 @@
;;; Return a list of the form (nargs func name)
(defvar calc-get-operator-history nil
"History for calc-get-operator.")
(defun calc-get-operator (msg &optional nargs)
(setq calc-aborted-prefix nil)
(let ((inv nil) (hyp nil) (prefix nil) (forcenargs nil)
@ -583,7 +586,8 @@
(let* ((calc-dollar-values calc-arg-values)
(calc-dollar-used 0)
(calc-hashes-used 0)
(func (calc-do-alg-entry "" "Function: ")))
(func (calc-do-alg-entry "" "Function: " nil
'calc-get-operator-history)))
(setq record-entry t)
(or (= (length func) 1)
(error "Bad format"))

View file

@ -154,7 +154,6 @@
(setq expr (calc-top-n 2)
pat (calc-top-n 1)
n 2)
(if interactive (setq calc-previous-alg-entry pat))
(setq pat (if (stringp pat) (math-read-expr pat) pat))
(if (eq (car-safe pat) 'error)
(error "Bad format in expression: %s" (nth 1 pat)))

View file

@ -633,6 +633,9 @@
(setcar (nthcdr 2 entry) (and (not (eq sel (car entry))) sel))
(calc-delete-selection num))))
(defvar calc-selection-history nil
"History for calc selections.")
(defun calc-enter-selection ()
(interactive)
(calc-wrapper
@ -645,7 +648,8 @@
alg)
(let ((calc-dollar-values (list sel))
(calc-dollar-used 0))
(setq alg (calc-do-alg-entry "" "Replace selection with: "))
(setq alg (calc-do-alg-entry "" "Replace selection with: " nil
'calc-selection-history))
(and alg
(progn
(setq alg (calc-encase-atoms (car alg)))
@ -765,7 +769,8 @@
(car (calc-do-alg-entry ""
(if divide
"Divide both sides by: "
"Multiply both sides by: ")))))
"Multiply both sides by: ")
nil 'calc-selection-history))))
(and alg
(progn
(if (and (or (eq func '/)
@ -830,7 +835,8 @@
(car (calc-do-alg-entry ""
(if subtract
"Subtract from both sides: "
"Add to both sides: ")))))
"Add to both sides: ")
nil 'calc-selection-history))))
(and alg
(progn
(if (and (assq func calc-tweak-eqn-table)

View file

@ -886,7 +886,6 @@ If nil, selections displayed but ignored.")
"Formatting function used for non-decimal numbers.")
(defvar calc-last-kill nil) ; Last number killed in calc-mode.
(defvar calc-previous-alg-entry nil) ; Previous algebraic entry.
(defvar calc-dollar-values nil) ; Values to be used for '$'.
(defvar calc-dollar-used nil) ; Highest order of '$' that occurred.
(defvar calc-hashes-used nil) ; Highest order of '#' that occurred.

View file

@ -103,6 +103,9 @@
(defvar calc-curve-model)
(defvar calc-curve-coefnames)
(defvar calc-curve-fit-history nil
"History for calc-curve-fit.")
(defun calc-curve-fit (arg &optional calc-curve-model
calc-curve-coefnames calc-curve-varnames)
(interactive "P")
@ -259,7 +262,8 @@
(let* ((calc-dollar-values calc-arg-values)
(calc-dollar-used 0)
(calc-hashes-used 0))
(setq calc-curve-model (calc-do-alg-entry "" "Model formula: "))
(setq calc-curve-model (calc-do-alg-entry "" "Model formula: "
nil 'calc-curve-fit-history))
(if (/= (length calc-curve-model) 1)
(error "Bad format"))
(setq calc-curve-model (car calc-curve-model)

View file

@ -1087,18 +1087,24 @@ Show the buffer in another window, but don't select it."
;; Packages will update this variable, so make it available.
;;;###autoload
(defvar customize-package-emacs-version-alist nil
"Alist mapping versions of Emacs to versions of a package.
These package versions are listed in the :package-version
keyword used in `defcustom', `defgroup', and `defface'. Its
elements look like this:
"Alist mapping versions of a package to Emacs versions.
We use this for packages that have their own names, but are released
as part of Emacs itself.
Each elements looks like this:
(PACKAGE (PVERSION . EVERSION)...)
For each PACKAGE, which is a symbol, there are one or more
elements that contain a package version PVERSION with an
associated Emacs version EVERSION. These versions are strings.
For example, the MH-E package updates this alist with the
following:
Here PACKAGE is the name of a package, as a symbol. After
PACKAGE come one or more elements, each associating a
package version PVERSION with the first Emacs version
EVERSION in which it (or a subsequent version of PACKAGE)
was first released. Both PVERSION and EVERSION are strings.
PVERSION should be a string that this package used in
the :package-version keyword for `defcustom', `defgroup',
and `defface'.
For example, the MH-E package updates this alist as follows:
(add-to-list 'customize-package-emacs-version-alist
'(MH-E (\"6.0\" . \"22.1\") (\"6.1\" . \"22.1\")
@ -1173,11 +1179,10 @@ that were added or redefined since that version."
since-version))))
(defun customize-package-emacs-version (symbol package-version)
"Return Emacs version of SYMBOL.
PACKAGE-VERSION has the form (PACKAGE . VERSION). The VERSION of
PACKAGE is looked up in the associated list
"Return the Emacs version in which SYMBOL's meaning last changed.
PACKAGE-VERSION has the form (PACKAGE . VERSION). We use
`customize-package-emacs-version-alist' to find the version of
Emacs that is associated with it."
Emacs that is associated with version VERSION of PACKAGE."
(let (package-versions emacs-version)
;; Use message instead of error since we want user to be able to
;; see the rest of the symbols even if a package author has
@ -1193,9 +1198,9 @@ Emacs that is associated with it."
(cdr package-version)
"customize-package-emacs-version-alist")))
(t
(message "Package %s neglected to update %s"
(message "Package %s version %s lists no corresponding Emacs version"
(car package-version)
"customize-package-emacs-version-alist")))
(cdr package-version))))
emacs-version))
(defun customize-version-lessp (version1 version2)
@ -2668,7 +2673,18 @@ Otherwise, look up symbol in `custom-guess-type-alist'."
(error nil))
(cond
((eq (caar tmp) 'user) 'saved)
((eq (caar tmp) 'changed) 'changed)
((eq (caar tmp) 'changed)
(if (condition-case nil
(and (null comment)
(equal value
(eval
(car (get symbol 'standard-value)))))
(error nil))
;; The value was originally set outside
;; custom, but it was set to the standard
;; value (probably an autoloaded defcustom).
'standard
'changed))
(t 'themed))
'changed))
((setq tmp (get symbol 'standard-value))
@ -4433,10 +4449,13 @@ The format is suitable for use with `easy-menu-define'."
map)
"Keymap for `custom-mode'.")
(defun custom-no-edit ()
"Refuse to allow editing of Custom buffer."
(interactive)
(error "You can't edit this part of the Custom buffer"))
(defun custom-no-edit (pos &optional event)
"Invoke button at POS, or refuse to allow editing of Custom buffer."
(interactive "@d")
(let ((button (get-char-property pos 'button)))
(if button
(widget-apply-action button event)
(error "You can't edit this part of the Custom buffer"))))
(easy-menu-define Custom-mode-menu
custom-mode-map

View file

@ -558,9 +558,10 @@ LOAD should be either a library file name, or a feature name."
(unless (member load loads)
(put symbol 'custom-loads (cons (purecopy load) loads)))))
(defun custom-autoload (symbol load)
"Mark SYMBOL as autoloaded custom variable and add dependency LOAD."
(put symbol 'custom-autoload t)
(defun custom-autoload (symbol load &optional noset)
"Mark SYMBOL as autoloaded custom variable and add dependency LOAD.
If NOSET is non-nil, don't bother autoloading LOAD when setting the variable."
(put symbol 'custom-autoload (if noset 'noset t))
(custom-add-load symbol load))
;; This test is also in the C code of `user-variable-p'.
@ -699,10 +700,10 @@ Return non-nil iff the `customized-value' property actually changed."
(customized (get symbol 'customized-value))
(old (or (get symbol 'saved-value) (get symbol 'standard-value))))
;; Mark default value as set iff different from old value.
(if (or (null old)
(not (equal value (condition-case nil
(eval (car old))
(error nil)))))
(if (not (and old
(equal value (condition-case nil
(eval (car old))
(error nil)))))
(progn (put symbol 'customized-value (list (custom-quote value)))
(custom-push-theme 'theme-value symbol 'user 'set
(custom-quote value)))
@ -827,13 +828,9 @@ See `custom-known-themes' for a list of known themes."
(if (and (eq prop 'theme-value)
(boundp symbol))
(let ((sv (get symbol 'standard-value)))
(when (and (null sv) (custom-variable-p symbol))
(custom-load-symbol symbol)
(setq sv (get symbol 'standard-value)))
(if (or (null sv)
(not (equal (eval (car (get symbol 'standard-value)))
(symbol-value symbol))))
(setq old (list (list 'changed (symbol-value symbol))))))
(unless (and sv
(equal (eval (car sv)) (symbol-value symbol)))
(setq old (list (list 'changed (symbol-value symbol))))))
(if (and (facep symbol)
(not (face-spec-match-p symbol (get symbol 'face-defface-spec))))
(setq old (list (list 'changed (list
@ -907,6 +904,10 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
(when requests
(put symbol 'custom-requests requests)
(mapc 'require requests))
(unless (or (get symbol 'standard-value)
(memq (get symbol 'custom-autoload) '(nil noset)))
;; This symbol needs to be autoloaded, even just for a `set'.
(custom-load-symbol symbol))
(setq set (or (get symbol 'custom-set) 'custom-set-default))
(put symbol 'saved-value (list value))
(put symbol 'saved-variable-comment comment)
@ -926,6 +927,8 @@ in SYMBOL's list property `theme-value' \(using `custom-push-theme')."
(setq args (cdr args))
(and (or now (default-boundp symbol))
(put symbol 'variable-comment comment)))
;; I believe this is dead-code, because the `sort' code above would
;; have burped before we could get here. --Stef
;; Old format, a plist of SYMBOL VALUE pairs.
(message "Warning: old format `custom-set-variables'")
(ding)

View file

@ -745,19 +745,22 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.")
;;; We don't recognize the file as compressed, so compress it.
;;; Try gzip; if we don't have that, use compress.
(condition-case nil
(if (not (dired-check-process (concat "Compressing " file)
"gzip" "-f" file))
(let ((out-name
(if (file-exists-p (concat file ".gz"))
(concat file ".gz")
(concat file ".z"))))
;; Rename the compressed file to NEWNAME
;; if it hasn't got that name already.
(if (and newname (not (equal newname out-name)))
(progn
(rename-file out-name newname t)
newname)
out-name)))
(let ((out-name (concat file ".gz")))
(and (or (not (file-exists-p out-name))
(y-or-n-p
(format "File %s already exists. Really compress? "
out-name)))
(not (dired-check-process (concat "Compressing " file)
"gzip" "-f" file))
(or (file-exists-p out-name)
(setq out-name (concat file ".z")))
;; Rename the compressed file to NEWNAME
;; if it hasn't got that name already.
(if (and newname (not (equal newname out-name)))
(progn
(rename-file out-name newname t)
newname)
out-name)))
(file-error
(if (not (dired-check-process (concat "Compressing " file)
"compress" "-f" file))

View file

@ -1260,6 +1260,7 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST."
(define-key map "\C-tc" 'tumme-dired-comment-files)
(define-key map "\C-tf" 'tumme-mark-tagged-files)
(define-key map "\C-t\C-t" 'tumme-dired-insert-marked-thumbs)
(define-key map "\C-te" 'tumme-dired-edit-comment-and-tags)
;; Make menu bar items.

View file

@ -88,10 +88,13 @@ against the file name, and TYPE is nil for text, t for binary.")
(setq-default buffer-file-coding-system 'undecided-dos)
(defun find-buffer-file-type-coding-system (command)
"Choose a coding system for a file operation.
If COMMAND is `insert-file-contents', the coding system is chosen based
upon the filename, the contents of `untranslated-filesystem-list' and
`file-name-buffer-file-type-alist', and whether the file exists:
"Choose a coding system for a file operation in COMMAND.
COMMAND is a list that specifies the operation, and I/O primitive as its
CAR, and the arguments that might be given to that operation as its CDR.
If operation is `insert-file-contents', the coding system is chosen based
upon the filename (the CAR of the arguments beyond the operation), the contents
of `untranslated-filesystem-list' and `file-name-buffer-file-type-alist',
and whether the file exists:
If it matches in `untranslated-filesystem-list':
If the file exists: `undecided'
@ -103,7 +106,7 @@ upon the filename, the contents of `untranslated-filesystem-list' and
If the file exists: `undecided'
If the file does not exist: default-buffer-file-coding-system
If COMMAND is `write-region', the coding system is chosen based upon
If operation is `write-region', the coding system is chosen based upon
the value of `buffer-file-coding-system' and `buffer-file-type'. If
`buffer-file-coding-system' is non-nil, its value is used. If it is
nil and `buffer-file-type' is t, the coding system is `no-conversion'.
@ -126,6 +129,13 @@ set to the appropriate coding system, and the value of
(undecided nil) (undecided-unix nil))
(cond ((eq op 'insert-file-contents)
(setq target (nth 1 command))
;; If TARGET is a cons cell, it has the form (FILENAME . BUFFER),
;; where BUFFER is a buffer into which the file was already read,
;; but its contents were not yet decoded. (This form of the
;; arguments is used, e.g., in arc-mode.el.) This function
;; doesn't care about the contents, it only looks at the file's
;; name, which is the CAR of the cons cell.
(if (consp target) (setq target (car target)))
;; First check for a file name that indicates
;; it is truly binary.
(setq binary (find-buffer-file-type target))

View file

@ -92,6 +92,7 @@ files.")
"Kai.Grossjohann@Cs.Uni-Dortmund.De"
"Kai.Grossjohann@Gmx.Net")
("Karl Berry" "K. Berry")
("K,Aa(Broly L$,1 q(Brentey" "K,Aa(Broly L,Bu(Brentey" "L$,1 q(Brentey K,Aa(Broly")
("Kazushi Marukawa" "Kazushi")
("Ken Manheimer" "Kenneth Manheimer")
("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA")

View file

@ -124,7 +124,10 @@ or macro definition or a defcustom)."
)
`(progn
(defvar ,varname ,init ,doc)
(custom-autoload ',varname ,file))))
(custom-autoload ',varname ,file
,(condition-case nil
(null (cadr (memq :set form)))
(error nil))))))
((eq car 'defgroup)
;; In Emacs this is normally handled separately by cus-dep.el, but for

View file

@ -226,7 +226,12 @@ The search is done in the source for library LIBRARY."
(regexp-symbol (cdr (assq type find-function-regexp-alist))))
(with-current-buffer (find-file-noselect filename)
(let ((regexp (format (symbol-value regexp-symbol)
(regexp-quote (symbol-name symbol))))
;; Entry for ` (backquote) macro in loaddefs.el,
;; (defalias (quote \`)..., has a \ but
;; (symbol-name symbol) doesn't. Add an
;; optional \ to catch this.
(concat "\\\\?"
(regexp-quote (symbol-name symbol)))))
(case-fold-search))
(with-syntax-table emacs-lisp-mode-syntax-table
(goto-char (point-min))

View file

@ -305,11 +305,23 @@ If the value is nil, use a shifted prefix key to inhibit the override."
(const :tag "No delay" nil))
:group 'cua)
(defcustom cua-delete-selection t
"*If non-nil, typed text replaces text in the active selection."
:type '(choice (const :tag "Disabled" nil)
(other :tag "Enabled" t))
:group 'cua)
(defcustom cua-keep-region-after-copy nil
"If non-nil, don't deselect the region after copying."
:type 'boolean
:group 'cua)
(defcustom cua-toggle-set-mark t
"*In non-nil, the `cua-set-mark' command toggles the mark."
:type '(choice (const :tag "Disabled" nil)
(other :tag "Enabled" t))
:group 'cua)
(defcustom cua-enable-register-prefix 'not-ctrl-u
"*If non-nil, registers are supported via numeric prefix arg.
If the value is t, any numeric prefix arg in the range 0 to 9 will be
@ -391,7 +403,8 @@ and after the region marked by the rectangle to search."
On non-window systems, always use the meta modifier.
Must be set prior to enabling CUA."
:type '(choice (const :tag "Meta key" meta)
(const :tag "Hyper key" hyper )
(const :tag "Alt key" alt)
(const :tag "Hyper key" hyper)
(const :tag "Super key" super))
:group 'cua)
@ -783,7 +796,7 @@ Save a copy in register 0 if `cua-delete-copy-to-register-0' is non-nil."
(defun cua-replace-region ()
"Replace the active region with the character you type."
(interactive)
(let ((not-empty (cua-delete-region)))
(let ((not-empty (and cua-delete-selection (cua-delete-region))))
(unless (eq this-original-command this-command)
(let ((overwrite-mode
(and overwrite-mode
@ -1001,7 +1014,7 @@ With a double \\[universal-argument] prefix argument, unconditionally set mark."
(arg
(setq this-command 'pop-to-mark-command)
(pop-to-mark-command))
(mark-active
((and cua-toggle-set-mark mark-active)
(cua--deactivate)
(message "Mark Cleared"))
(t

View file

@ -1361,6 +1361,7 @@ With prefix arg, indent to that column."
(interactive)
(let ((M (cond ((eq cua--rectangle-modifier-key 'hyper) " H-")
((eq cua--rectangle-modifier-key 'super) " s-")
((eq cua--rectangle-modifier-key 'alt) " A-")
(t " M-"))))
(message
(concat (if help "C-?:help" "")

View file

@ -44,7 +44,7 @@
(defcustom delete-auto-save-files t
"*Non-nil means delete auto-save file when a buffer is saved or killed.
"Non-nil means delete auto-save file when a buffer is saved or killed.
Note that the auto-save file will not be deleted if the buffer is killed
when it has unsaved changes."
@ -53,7 +53,7 @@ when it has unsaved changes."
(defcustom directory-abbrev-alist
nil
"*Alist of abbreviations for file directories.
"Alist of abbreviations for file directories.
A list of elements of the form (FROM . TO), each meaning to replace
FROM with TO when it appears in a directory name. This replacement is
done when setting up the default directory of a newly visited file.
@ -74,7 +74,7 @@ the name it is linked to."
;; Turn off backup files on VMS since it has version numbers.
(defcustom make-backup-files (not (eq system-type 'vax-vms))
"*Non-nil means make a backup of a file the first time it is saved.
"Non-nil means make a backup of a file the first time it is saved.
This can be done by renaming the file or by copying.
Renaming means that Emacs renames the existing file so that it is a
@ -103,20 +103,20 @@ But it is local only if you make it local.")
(put 'backup-inhibited 'permanent-local t)
(defcustom backup-by-copying nil
"*Non-nil means always use copying to create backup files.
"Non-nil means always use copying to create backup files.
See documentation of variable `make-backup-files'."
:type 'boolean
:group 'backup)
(defcustom backup-by-copying-when-linked nil
"*Non-nil means use copying to create backups for files with multiple names.
"Non-nil means use copying to create backups for files with multiple names.
This causes the alternate names to refer to the latest version as edited.
This variable is relevant only if `backup-by-copying' is nil."
:type 'boolean
:group 'backup)
(defcustom backup-by-copying-when-mismatch nil
"*Non-nil means create backups by copying if this preserves owner or group.
"Non-nil means create backups by copying if this preserves owner or group.
Renaming may still be used (subject to control of other variables)
when it would not result in changing the owner or group of the file;
that is, for files which are owned by you and whose group matches
@ -126,7 +126,7 @@ This variable is relevant only if `backup-by-copying' is nil."
:group 'backup)
(defcustom backup-by-copying-when-privileged-mismatch 200
"*Non-nil means create backups by copying to preserve a privileged owner.
"Non-nil means create backups by copying to preserve a privileged owner.
Renaming may still be used (subject to control of other variables)
when it would not result in changing the owner of the file or if the owner
has a user id greater than the value of this variable. This is useful
@ -142,7 +142,7 @@ This variable is relevant only if `backup-by-copying' and
Called with an absolute file name as argument, it returns t to enable backup.")
(defcustom buffer-offer-save nil
"*Non-nil in a buffer means always offer to save buffer on exit.
"Non-nil in a buffer means always offer to save buffer on exit.
Do so even if the buffer is not visiting a file.
Automatically local in all buffers."
:type 'boolean
@ -150,7 +150,7 @@ Automatically local in all buffers."
(make-variable-buffer-local 'buffer-offer-save)
(defcustom find-file-existing-other-name t
"*Non-nil means find a file under alternative names, in existing buffers.
"Non-nil means find a file under alternative names, in existing buffers.
This means if any existing buffer is visiting the file you want
under another name, you get the existing buffer instead of a new buffer."
:type 'boolean
@ -165,7 +165,7 @@ both at the file level and at the levels of the containing directories."
(put 'find-file-visit-truename 'safe-local-variable 'boolean)
(defcustom revert-without-query nil
"*Specify which files should be reverted without query.
"Specify which files should be reverted without query.
The value is a list of regular expressions.
If the file name matches one of these regular expressions,
then `revert-buffer' reverts the file without querying
@ -226,7 +226,7 @@ have fast storage with limited space, such as a RAM disk."
"Regexp recognizing file names which aren't allowed by the filesystem.")
(defcustom file-precious-flag nil
"*Non-nil means protect against I/O errors while saving files.
"Non-nil means protect against I/O errors while saving files.
Some modes set this non-nil in particular buffers.
This feature works by writing the new contents into a temporary file
@ -241,7 +241,7 @@ breaks any hard links between it and other files."
:group 'backup)
(defcustom version-control nil
"*Control use of version numbers for backup files.
"Control use of version numbers for backup files.
t means make numeric backup versions unconditionally.
nil means make them for files that have some already.
`never' means do not make them."
@ -254,13 +254,13 @@ nil means make them for files that have some already.
'(lambda (x) (or (booleanp x) (equal x 'never))))
(defcustom dired-kept-versions 2
"*When cleaning directory, number of versions to keep."
"When cleaning directory, number of versions to keep."
:type 'integer
:group 'backup
:group 'dired)
(defcustom delete-old-versions nil
"*If t, delete excess backup versions silently.
"If t, delete excess backup versions silently.
If nil, ask confirmation. Any other value prevents any trimming."
:type '(choice (const :tag "Delete" t)
(const :tag "Ask" nil)
@ -268,20 +268,20 @@ If nil, ask confirmation. Any other value prevents any trimming."
:group 'backup)
(defcustom kept-old-versions 2
"*Number of oldest versions to keep when a new numbered backup is made."
"Number of oldest versions to keep when a new numbered backup is made."
:type 'integer
:group 'backup)
(put 'kept-old-versions 'safe-local-variable 'integerp)
(defcustom kept-new-versions 2
"*Number of newest versions to keep when a new numbered backup is made.
"Number of newest versions to keep when a new numbered backup is made.
Includes the new backup. Must be > 0"
:type 'integer
:group 'backup)
(put 'kept-new-versions 'safe-local-variable 'integerp)
(defcustom require-final-newline nil
"*Whether to add a newline automatically at the end of the file.
"Whether to add a newline automatically at the end of the file.
A value of t means do this only when the file is about to be saved.
A value of `visit' means do this right after the file is visited.
@ -299,7 +299,7 @@ from `mode-require-final-newline'."
:group 'editing-basics)
(defcustom mode-require-final-newline t
"*Whether to add a newline at end of file, in certain major modes.
"Whether to add a newline at end of file, in certain major modes.
Those modes set `require-final-newline' to this value when you enable them.
They do so because they are often used for files that are supposed
to end in newlines, and the question is how to arrange that.
@ -322,12 +322,12 @@ a final newline, whenever you save a file that really needs one."
:version "22.1")
(defcustom auto-save-default t
"*Non-nil says by default do auto-saving of every file-visiting buffer."
"Non-nil says by default do auto-saving of every file-visiting buffer."
:type 'boolean
:group 'auto-save)
(defcustom auto-save-visited-file-name nil
"*Non-nil says auto-save a buffer in the file it is visiting, when practical.
"Non-nil says auto-save a buffer in the file it is visiting, when practical.
Normally auto-save files are written under other names."
:type 'boolean
:group 'auto-save)
@ -337,7 +337,7 @@ Normally auto-save files are written under other names."
;; Don't put "\\2" inside expand-file-name, since it will be
;; transformed to "/2" on DOS/Windows.
,(concat temporary-file-directory "\\2") t))
"*Transforms to apply to buffer file name before making auto-save file name.
"Transforms to apply to buffer file name before making auto-save file name.
Each transform is a list (REGEXP REPLACEMENT UNIQUIFY):
REGEXP is a regular expression to match against the file name.
If it matches, `replace-match' is used to replace the
@ -364,19 +364,19 @@ ignored."
:version "21.1")
(defcustom save-abbrevs t
"*Non-nil means save word abbrevs too when files are saved.
"Non-nil means save word abbrevs too when files are saved.
If `silently', don't ask the user before saving."
:type '(choice (const t) (const nil) (const silently))
:group 'abbrev)
(defcustom find-file-run-dired t
"*Non-nil means allow `find-file' to visit directories.
"Non-nil means allow `find-file' to visit directories.
To visit the directory, `find-file' runs `find-directory-functions'."
:type 'boolean
:group 'find-file)
(defcustom find-directory-functions '(cvs-dired-noselect dired-noselect)
"*List of functions to try in sequence to visit a directory.
"List of functions to try in sequence to visit a directory.
Each function is called with the directory name as the sole argument
and should return either a buffer or nil."
:type '(hook :options (cvs-dired-noselect dired-noselect))
@ -448,7 +448,7 @@ use `before-save-hook'.")
'write-contents-functions "22.1")
(defcustom enable-local-variables t
"*Control use of local variables in files you visit.
"Control use of local variables in files you visit.
The value can be t, nil, :safe, or something else.
A value of t means file local variables specifications are obeyed
@ -506,7 +506,7 @@ nil means ignore them; anything else means query."
(defalias 'file-locked-p 'ignore))
(defcustom view-read-only nil
"*Non-nil means buffers visiting files read-only do so in view mode.
"Non-nil means buffers visiting files read-only do so in view mode.
In fact, this means that all read-only buffers normally have
View mode enabled, including buffers that are read-only because
you visit a file you cannot alter, and buffers you make read-only
@ -1324,7 +1324,7 @@ removes automounter prefixes (see the variable `automount-dir-prefix')."
filename)))
(defcustom find-file-not-true-dirname-list nil
"*List of logical names for which visiting shouldn't save the true dirname.
"List of logical names for which visiting shouldn't save the true dirname.
On VMS, when you visit a file using a logical name that searches a path,
you may or may not want the visited file name to record the specific
directory where the file was found. If you *do not* want that, add the logical
@ -1373,7 +1373,7 @@ If there is no such live buffer, return nil."
found))))
(defcustom find-file-wildcards t
"*Non-nil means file-visiting commands should handle wildcards.
"Non-nil means file-visiting commands should handle wildcards.
For example, if you specify `*.c', that would visit all the files
whose names match the pattern."
:group 'files
@ -1381,7 +1381,7 @@ whose names match the pattern."
:type 'boolean)
(defcustom find-file-suppress-same-file-warnings nil
"*Non-nil means suppress warning messages for symlinked files.
"Non-nil means suppress warning messages for symlinked files.
When nil, Emacs prints a warning when visiting a file that is already
visited, but with a different name. Setting this option to t
suppresses this warning."
@ -2303,7 +2303,7 @@ symbol and VAL is a value that is considered safe."
:type 'alist)
(defcustom safe-local-eval-forms nil
"*Expressions that are considered safe in an `eval:' local variable.
"Expressions that are considered safe in an `eval:' local variable.
Add expressions to this list if you want Emacs to evaluate them, when
they appear in an `eval' local variable specification, without first
asking you for confirmation."
@ -2765,7 +2765,7 @@ It is dangerous if either of these conditions are met:
(defcustom change-major-mode-with-file-name t
"*Non-nil means \\[write-file] should set the major mode from the file name.
"Non-nil means \\[write-file] should set the major mode from the file name.
However, the mode will not be changed if
\(1) a local variables list or the `-*-' line specifies a major mode, or
\(2) the current major mode is a \"special\" mode,
@ -4500,7 +4500,7 @@ by `sh' are supported."
(defcustom list-directory-brief-switches
(if (eq system-type 'vax-vms) "" "-CF")
"*Switches for `list-directory' to pass to `ls' for brief listing."
"Switches for `list-directory' to pass to `ls' for brief listing."
:type 'string
:group 'dired)
@ -4508,7 +4508,7 @@ by `sh' are supported."
(if (eq system-type 'vax-vms)
"/PROTECTION/SIZE/DATE/OWNER/WIDTH=(OWNER:10)"
"-l")
"*Switches for `list-directory' to pass to `ls' for verbose listing."
"Switches for `list-directory' to pass to `ls' for verbose listing."
:type 'string
:group 'dired)
@ -4639,7 +4639,7 @@ PATTERN that already quotes some of the special characters."
"Absolute or relative name of the `ls' program used by `insert-directory'.")
(defcustom directory-free-space-program "df"
"*Program to get the amount of free space on a file system.
"Program to get the amount of free space on a file system.
We assume the output has the format of `df'.
The value of this variable must be just a command name or file name;
if you want to specify options, use `directory-free-space-args'.
@ -4653,7 +4653,7 @@ preference to the program given by this variable."
(defcustom directory-free-space-args
(if (eq system-type 'darwin) "-k" "-Pk")
"*Options to use when running `directory-free-space-program'."
"Options to use when running `directory-free-space-program'."
:type 'string
:group 'dired)

View file

@ -189,12 +189,16 @@ To override this, give an argument to `ff-find-other-file'."
;; C/C++ include, for NeXTSTEP too
("^\#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" .
(lambda ()
(setq fname (buffer-substring (match-beginning 2) (match-end 2)))))
(buffer-substring (match-beginning 2) (match-end 2))))
)
"*A list of regular expressions for `ff-find-file'.
Specifies how to recognize special constructs such as include files
etc. and an associated method for extracting the filename from that
construct.")
;; We include `ff-treat-as-special' documentation here so that autoload
;; can make it available to be read prior to loading this file.
"*List of special constructs for `ff-treat-as-special' to recognize.
Each element, tried in order, has the form (REGEXP . EXTRACT).
If REGEXP matches the current line (from the beginning of the line),
`ff-treat-as-special' calls function EXTRACT with no args.
If EXTRACT returns nil, keep trying. Otherwise, return the
filename that EXTRACT returned.")
(defvaralias 'ff-related-file-alist 'ff-other-file-alist)
(defcustom ff-other-file-alist 'cc-other-file-alist
@ -405,9 +409,7 @@ If optional IN-OTHER-WINDOW is non-nil, find the file in another window."
(ff-list-replace-env-vars (symbol-value ff-search-directories))
(ff-list-replace-env-vars ff-search-directories)))
(save-excursion
(beginning-of-line 1)
(setq fname (ff-treat-as-special)))
(setq fname (ff-treat-as-special))
(cond
((and (not ff-ignore-include) fname)
@ -540,9 +542,7 @@ the `ff-ignore-include' variable."
(ff-list-replace-env-vars (symbol-value ff-search-directories))
(ff-list-replace-env-vars ff-search-directories)))
(save-excursion
(beginning-of-line 1)
(setq fname (ff-treat-as-special)))
(setq fname (ff-treat-as-special))
(cond
((and (not ff-ignore-include) fname)
@ -771,20 +771,22 @@ The value used comes from `ff-case-fold-search'."
(defun ff-treat-as-special ()
"Return the file to look for if the construct was special, else nil.
The construct is defined in the variable `ff-special-constructs'."
(let* (fname
(list ff-special-constructs)
(elem (car list))
(regexp (car elem))
(match (cdr elem)))
(while (and list (not fname))
(if (and (looking-at regexp) match)
(setq fname (funcall match)))
(setq list (cdr list))
(setq elem (car list))
(setq regexp (car elem))
(setq match (cdr elem)))
fname))
See variable `ff-special-constructs'."
(save-excursion
(beginning-of-line 1)
(let* (fname
(list ff-special-constructs)
(elem (car list))
(regexp (car elem))
(match (cdr elem)))
(while (and list (not fname))
(if (and (looking-at regexp) match)
(setq fname (funcall match)))
(setq list (cdr list))
(setq elem (car list))
(setq regexp (car elem))
(setq match (cdr elem)))
fname)))
(defun ff-basename (string)
"Return the basename of pathname STRING."

View file

@ -776,7 +776,9 @@ the user during startup."
"*Non-nil if window system changes focus when you move the mouse.
You should set this variable to tell Emacs how your window manager
handles focus, since there is no way in general for Emacs to find out
automatically."
automatically.
This variable does not have any effect on MS-Windows."
:type 'boolean
:group 'frames
:version "20.3")

View file

@ -1,3 +1,38 @@
2006-07-19 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
* mm-url.el (mm-url-insert-file-contents): Inhibit Connection: close
workaround for the url package included with Emacs.
* nnweb.el (nnweb-google-create-mapping): Update regexp.
2006-07-18 Karl Fogel <kfogel@red-bean.com>
* nnmail.el (nnmail-article-group): If splitting raises an error, give
some information about the error when saying that the `bogus' mail
group will be used.
2006-07-18 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
[ Backported bug fixes from No Gnus. ]
* nnweb.el (nnweb-google-parse-1): Update regexp for author and date.
(nnweb-google-search): Respect nnweb-max-hits as upper bound.
(nnweb-request-article): Do proper xwfu encoding when fetching articles
by message-id.
* gnus-srvr.el (gnus-browse-unsubscribe-group): Don't subscribe
unsubscribed groups as if they were killed ones. It causes duplicate
entries in gnus-newsrc-alist.
2006-07-17 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-sum.el (gnus-summary-delete-article): Don't use TAB in doc
string.
2006-07-16 NAKAJI Hiroyuki <nakaji@heimat.jp> (tiny change)
* mm-util.el (mm-charset-synonym-alist): Map windows-31j to cp932.
2006-07-14 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
* gnus-start.el (gnus-subscribe-options-newsgroup-method): Doc fix.
@ -131,8 +166,7 @@
(mm-display-part): Simplify.
(mm-inlinable-p): Add optional arg `type'.
* gnus-art.el (gnus-mime-view-part-as-type): Add optional PRED
argument.
* gnus-art.el (gnus-mime-view-part-as-type): Add optional PRED arg.
(gnus-mime-view-part-externally, gnus-mime-view-part-internally):
Try harder to show the attachment internally or externally using
gnus-mime-view-part-as-type.
@ -142,8 +176,7 @@
* gnus-art.el (gnus-mime-view-part-as-type-internal): Try to fetch
`filename' from Content-Disposition if Content-Type doesn't
provide `name'.
(gnus-mime-view-part-as-type): Set default instead of
initial-input.
(gnus-mime-view-part-as-type): Set default instead of initial-input.
2006-04-28 Katsumi Yamaoka <yamaoka@jpl.org>
@ -166,8 +199,8 @@
* mml-sec.el (mml-secure-method): New internal variable.
(mml-secure-sign, mml-secure-encrypt, mml-secure-message-sign)
(mml-secure-message-sign-encrypt, mml-secure-message-encrypt): New
functions using mml-secure-method. Sync from the trunk.
(mml-secure-message-sign-encrypt, mml-secure-message-encrypt):
New functions using mml-secure-method. Sync from the trunk.
* mml.el (mml-mode-map): Add key bindings for those functions.
(mml-menu): Simplify security menu entries. Suggested by Jesper
@ -211,8 +244,8 @@
2006-04-20 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-util.el (gnus-replace-in-string): Prefer
replace-regexp-in-string over of replace-in-string.
* gnus-util.el (gnus-replace-in-string):
Prefer replace-regexp-in-string over of replace-in-string.
2006-04-20 Katsumi Yamaoka <yamaoka@jpl.org>
@ -220,8 +253,8 @@
* gnus-sum.el: Ditto.
* gnus-util.el (gnus-select-frame-set-input-focus): Use
select-frame-set-input-focus if it is available in XEmacs; use
* gnus-util.el (gnus-select-frame-set-input-focus):
Use select-frame-set-input-focus if it is available in XEmacs; use
definition defined in Emacs 22 for old Emacsen.
2006-04-17 Reiner Steib <Reiner.Steib@gmx.de>
@ -233,13 +266,13 @@
(mm-charset-to-coding-system): Use it.
(mm-codepage-setup): New helper function.
(mm-charset-eval-alist): New variable.
(mm-charset-to-coding-system): Use mm-charset-eval-alist. Warn
about unknown charsets. Add allow-override. Use
`mm-charset-override-alist' only when decoding.
(mm-charset-to-coding-system): Use mm-charset-eval-alist.
Warn about unknown charsets. Add allow-override.
Use `mm-charset-override-alist' only when decoding.
(mm-detect-mime-charset-region): Use :mime-charset.
* mm-bodies.el (mm-decode-body, mm-decode-string): Call
`mm-charset-to-coding-system' with allow-override argument.
* mm-bodies.el (mm-decode-body, mm-decode-string):
Call `mm-charset-to-coding-system' with allow-override argument.
* message.el (message-tool-bar-zap-list, message-tool-bar)
(message-tool-bar-gnome, message-tool-bar-retro): New variables.
@ -255,8 +288,8 @@
`gmm-tool-bar-from-list'.
* gnus-group.el (gnus-group-tool-bar, gnus-group-tool-bar-gnome)
(gnus-group-tool-bar-retro, gnus-group-tool-bar-zap-list): New
variables.
(gnus-group-tool-bar-retro, gnus-group-tool-bar-zap-list):
New variables.
(gnus-group-make-tool-bar): Complete rewrite using
`gmm-tool-bar-from-list'.
(gnus-group-tool-bar-update): New function.
@ -270,8 +303,8 @@
2006-04-12 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-art.el (gnus-article-mode): Set
cursor-in-non-selected-windows to nil.
* gnus-art.el (gnus-article-mode):
Set cursor-in-non-selected-windows to nil.
2006-04-12 Katsumi Yamaoka <yamaoka@jpl.org>
@ -302,8 +335,7 @@
2006-04-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
* nnslashdot.el (nnslashdot-retrieve-headers-1): Fix up to new
layout.
* nnslashdot.el (nnslashdot-retrieve-headers-1): Fix up to new layout.
* rfc2047.el (rfc2047-decode-encoded-words): Don't message about
unknown charset.
@ -365,13 +397,12 @@
* gnus-agent.el (gnus-agent-queue-mail): Fix custom tag for `t'.
* spam.el (spam-mark-new-messages-in-spam-group-as-spam): Add
comment on version.
* spam.el (spam-mark-new-messages-in-spam-group-as-spam):
Add comment on version.
2006-03-20 Teodor Zlatanov <tzz@lifelogs.com>
* spam.el (spam-mark-new-messages-in-spam-group-as-spam): New
variable.
* spam.el (spam-mark-new-messages-in-spam-group-as-spam): New variable.
(spam-mark-junk-as-spam-routine): Use it. Allow to disable
assigning the spam-mark to new messages.
@ -402,14 +433,14 @@
* gnus-art.el (gnus-article-only-boring-p):
Bind inhibit-point-motion-hooks to avoid infinite loop when entering
intangible text. Reported by Ralf Wachinger
<rwnewsmampfer@geekmail.de>.
intangible text.
Reported by Ralf Wachinger <rwnewsmampfer@geekmail.de>.
2006-03-14 Simon Josefsson <jas@extundo.com>
* message.el (message-unique-id): Don't use message-number-base36
if (user-uid) is a float. Reported by Bjorn Solberg
<bjorn_ding1@hekneby.org>.
if (user-uid) is a float.
Reported by Bjorn Solberg <bjorn_ding1@hekneby.org>.
2006-03-13 Katsumi Yamaoka <yamaoka@jpl.org>

View file

@ -943,19 +943,23 @@ If NUMBER, fetch this number of articles."
(progn
;; Make sure the group has been properly removed before we
;; subscribe to it.
(gnus-kill-ephemeral-group group)
(if (gnus-ephemeral-group-p group)
(gnus-kill-ephemeral-group group))
;; We need to discern between killed/zombie groups and
;; just unsubscribed ones.
(gnus-group-change-level
(list t group gnus-level-default-subscribed
nil nil (if (gnus-server-equal
gnus-browse-current-method "native")
nil
(gnus-method-simplify
gnus-browse-current-method)))
(or (gnus-group-entry group)
(list t group gnus-level-default-subscribed
nil nil (if (gnus-server-equal
gnus-browse-current-method "native")
nil
(gnus-method-simplify
gnus-browse-current-method))))
gnus-level-default-subscribed (gnus-group-level group)
(and (car (nth 1 gnus-newsrc-alist))
(gnus-gethash (car (nth 1 gnus-newsrc-alist))
gnus-newsrc-hashtb))
t)
(null (gnus-group-entry group)))
(delete-char 1)
(insert ? ))
(gnus-group-change-level

View file

@ -9510,7 +9510,7 @@ deleted forever, right now."
;; Suggested by Jack Vinson <vinson@unagi.cis.upenn.edu>.
(defun gnus-summary-delete-article (&optional n)
"Delete the N next (mail) articles.
This command actually deletes articles. This is not a marking
This command actually deletes articles. This is not a marking
command. The article will disappear forever from your life, never to
return.

View file

@ -301,7 +301,13 @@ If `mm-url-use-external' is non-nil, use `mm-url-program'."
(list url (buffer-size)))
(mm-url-load-url)
(let ((name buffer-file-name)
(url-request-extra-headers (list (cons "Connection" "Close")))
(url-request-extra-headers
;; ISTM setting a Connection header was a workaround for
;; older versions of url included with w3, but it does more
;; harm than good with the one shipped with Emacs. --ansel
(if (not (and (boundp 'url-version)
(equal url-version "Emacs")))
(list (cons "Connection" "Close"))))
(url-package-name (or mm-url-package-name
url-package-name))
(url-package-version (or mm-url-package-version

View file

@ -204,19 +204,19 @@ the alias. Else windows-NUMBER is used."
`(
;; Not in XEmacs, but it's not a proper MIME charset anyhow.
,@(unless (mm-coding-system-p 'x-ctext)
'((x-ctext . ctext)))
'((x-ctext . ctext)))
;; ISO-8859-15 is very similar to ISO-8859-1. But it's _different_!
,@(unless (mm-coding-system-p 'iso-8859-15)
'((iso-8859-15 . iso-8859-1)))
'((iso-8859-15 . iso-8859-1)))
;; BIG-5HKSCS is similar to, but different than, BIG-5.
,@(unless (mm-coding-system-p 'big5-hkscs)
'((big5-hkscs . big5)))
;; Windows-1252 is actually a superset of Latin-1. See also
;; `gnus-article-dumbquotes-map'.
,@(unless (mm-coding-system-p 'windows-1252)
(if (mm-coding-system-p 'cp1252)
'((windows-1252 . cp1252))
'((windows-1252 . iso-8859-1))))
(if (mm-coding-system-p 'cp1252)
'((windows-1252 . cp1252))
'((windows-1252 . iso-8859-1))))
;; Windows-1250 is a variant of Latin-2 heavily used by Microsoft
;; Outlook users in Czech republic. Use this to allow reading of their
;; e-mails. cp1250 should be defined by M-x codepage-setup.
@ -232,6 +232,10 @@ the alias. Else windows-NUMBER is used."
(if (mm-coding-system-p 'cp949)
'((ks_c_5601-1987 . cp949))
'((ks_c_5601-1987 . euc-kr))))
;; Windows-31J is Windows Codepage 932.
,@(if (and (not (mm-coding-system-p 'windows-31j))
(mm-coding-system-p 'cp932))
'((windows-31j . cp932)))
)
"A mapping from unknown or invalid charset names to the real charset names.")

View file

@ -1131,7 +1131,7 @@ FUNC will be called with the group name to determine the article number."
(if (and (symbolp nnmail-split-methods)
(fboundp nnmail-split-methods))
(let ((split
(condition-case nil
(condition-case error-info
;; `nnmail-split-methods' is a function, so we
;; just call this function here and use the
;; result.
@ -1139,7 +1139,7 @@ FUNC will be called with the group name to determine the article number."
'("bogus"))
(error
(nnheader-message
5 "Error in `nnmail-split-methods'; using `bogus' mail group")
5 "Error in `nnmail-split-methods'; using `bogus' mail group: %S" error-info)
(sit-for 1)
'("bogus")))))
(setq split (mm-delete-duplicates split))

View file

@ -171,7 +171,8 @@ Valid types include `google', `dejanews', and `gmane'.")
(when (string-match "^<\\(.*\\)>$" article)
(setq art (match-string 1 article)))
(when (and fetch art)
(setq url (format fetch art))
(setq url (format fetch
(mm-url-form-encode-xwfu art)))
(mm-with-unibyte-current-buffer
(mm-url-insert url))
(if (nnweb-definition 'reference t)
@ -365,7 +366,7 @@ Valid types include `google', `dejanews', and `gmane'.")
(mm-url-decode-entities)
(search-backward " - ")
(when (looking-at
" - \\([a-zA-Z]+\\) \\([0-9]+\\)\\(?: \\([0-9]\\{4\\}\\)\\)?, [^\n]+by \\([^<\n]+\\)\n")
" - \\([a-zA-Z]+\\) \\([0-9]+\\)\\(?: \\([0-9]\\{4\\}\\)\\)?[^\n]+by ?\n?\\([^<\n]+\\)\n")
(setq From (match-string 4)
Date (format "%s %s 00:00:00 %s"
(match-string 1)
@ -415,7 +416,7 @@ Valid types include `google', `dejanews', and `gmane'.")
(goto-char (point-min))
(incf i 100)
(if (or (not (re-search-forward
"<a href=\"\n\\([^>\" \n\t]+\\)[^<]*<img src=[^>]+next"
"<a [^>]+href=\"\n?\\([^>\" \n\t]+\\)[^<]*<img[^>]+src=[^>]+next"
nil t))
(>= i nnweb-max-hits))
(setq more nil)
@ -437,7 +438,8 @@ Valid types include `google', `dejanews', and `gmane'.")
"?"
(mm-url-encode-www-form-urlencoded
`(("q" . ,search)
("num" . "100")
("num" . ,(number-to-string
(min 100 nnweb-max-hits)))
("hq" . "")
("hl" . "en")
("lr" . "")

View file

@ -157,8 +157,9 @@ The format is (FUNCTION ARGS...).")
(let ((location
(find-function-search-for-symbol fun nil file)))
(pop-to-buffer (car location))
(when (cdr location)
(goto-char (cdr location)))))
(if (cdr location)
(goto-char (cdr location))
(message "Unable to find location in file"))))
'help-echo (purecopy "mouse-2, RET: find function's definition"))
(define-button-type 'help-variable-def
@ -168,8 +169,9 @@ The format is (FUNCTION ARGS...).")
(setq file (help-C-file-name var 'var)))
(let ((location (find-variable-noselect var file)))
(pop-to-buffer (car location))
(when (cdr location)
(goto-char (cdr location)))))
(if (cdr location)
(goto-char (cdr location))
(message "Unable to find location in file"))))
'help-echo (purecopy "mouse-2, RET: find variable's definition"))
(define-button-type 'help-face-def
@ -181,8 +183,9 @@ The format is (FUNCTION ARGS...).")
(let ((location
(find-function-search-for-symbol fun 'defface file)))
(pop-to-buffer (car location))
(when (cdr location)
(goto-char (cdr location)))))
(if (cdr location)
(goto-char (cdr location))
(message "Unable to find location in file"))))
'help-echo (purecopy "mouse-2, RET: find face's definition"))

View file

@ -66,7 +66,7 @@ the ability to filter the displayed buffers by various criteria."
(defcustom ibuffer-formats '((mark modified read-only " " (name 18 18 :left :elide)
" " (size 9 -1 :right)
" " (mode 16 16 :right :elide) " " filename-and-process)
" " (mode 16 16 :left :elide) " " filename-and-process)
(mark " " (name 16 -1) " " filename))
"A list of ways to display buffer lines.

View file

@ -118,6 +118,9 @@ information on these modes."
(if (get-text-property (point-min) 'display)
(image-toggle-display)))
(defvar archive-superior-buffer)
(defvar tar-superior-buffer)
(defun image-toggle-display ()
"Start or stop displaying an image file as the actual image.
This command toggles between showing the text of the image file

View file

@ -831,7 +831,7 @@ re-visited and edited.)
Optional 3rd arg DEFAULT-CODING-SYSTEM specifies a coding system or a
list of coding systems to be prepended to the default coding system
list. However, if DEFAULT-CODING-SYSTEM is a list and the first
element is t, the cdr part is used as the defualt coding system list,
element is t, the cdr part is used as the default coding system list,
i.e. `buffer-file-coding-system', `default-buffer-file-coding-system',
and the most preferred coding system are not used.
@ -898,9 +898,6 @@ It is highly recommended to fix it before writing to a file."
(rassq base default-coding-system)
(push (cons auto-cs base) default-coding-system))))
;; From now on, the list of defaults is reversed.
(setq default-coding-system (nreverse default-coding-system))
(unless no-other-defaults
;; If buffer-file-coding-system is not nil nor undecided, append it
;; to the defaults.
@ -908,8 +905,9 @@ It is highly recommended to fix it before writing to a file."
(let ((base (coding-system-base buffer-file-coding-system)))
(or (eq base 'undecided)
(rassq base default-coding-system)
(push (cons buffer-file-coding-system base)
default-coding-system))))
(setq default-coding-system
(append default-coding-system
(list (cons buffer-file-coding-system base)))))))
;; If default-buffer-file-coding-system is not nil nor undecided,
;; append it to the defaults.
@ -917,8 +915,10 @@ It is highly recommended to fix it before writing to a file."
(let ((base (coding-system-base default-buffer-file-coding-system)))
(or (eq base 'undecided)
(rassq base default-coding-system)
(push (cons default-buffer-file-coding-system base)
default-coding-system))))
(setq default-coding-system
(append default-coding-system
(list (cons default-buffer-file-coding-system
base)))))))
;; If the most preferred coding system has the property mime-charset,
;; append it to the defaults.
@ -930,18 +930,40 @@ It is highly recommended to fix it before writing to a file."
(setq base (coding-system-base preferred))
(coding-system-get preferred 'mime-charset)
(not (rassq base default-coding-system))
(push (cons preferred base)
default-coding-system))))
(setq default-coding-system
(append default-coding-system
(list (cons preferred base)))))))
(if select-safe-coding-system-accept-default-p
(setq accept-default-p select-safe-coding-system-accept-default-p))
;; Decide the eol-type from the top of the default codings,
;; buffer-file-coding-system, or
;; default-buffer-file-coding-system.
(if default-coding-system
(let ((default-eol-type (coding-system-eol-type
(caar default-coding-system))))
(if (and (vectorp default-eol-type) buffer-file-coding-system)
(setq default-eol-type (coding-system-eol-type
buffer-file-coding-system)))
(if (and (vectorp default-eol-type) default-buffer-file-coding-system)
(setq default-eol-type (coding-system-eol-type
default-buffer-file-coding-system)))
(if (and default-eol-type (not (vectorp default-eol-type)))
(dolist (elt default-coding-system)
(setcar elt (coding-system-change-eol-conversion
(car elt) default-eol-type))))))
(let ((codings (find-coding-systems-region from to))
(coding-system nil)
safe rejected unsafe)
(if (eq (car codings) 'undecided)
;; Any coding system is ok.
(setq coding-system t)
(setq coding-system (caar default-coding-system))
;; Reverse the list so that elements are accumulated in safe,
;; rejected, and unsafe in the correct order.
(setq default-coding-system (nreverse default-coding-system))
;; Classify the defaults into safe, rejected, and unsafe.
(dolist (elt default-coding-system)
(if (memq (cdr elt) codings)
@ -958,14 +980,6 @@ It is highly recommended to fix it before writing to a file."
(setq coding-system (select-safe-coding-system-interactively
from to codings unsafe rejected (car codings))))
(if (vectorp (coding-system-eol-type coding-system))
(let ((eol (coding-system-eol-type buffer-file-coding-system)))
(if (numberp eol)
(setq coding-system
(coding-system-change-eol-conversion coding-system eol)))))
(if (eq coding-system t)
(setq coding-system buffer-file-coding-system))
;; Check we're not inconsistent with what `coding:' spec &c would
;; give when file is re-read.
;; But don't do this if we explicitly ignored the cookie

View file

@ -777,8 +777,8 @@ If the click is in the echo area, display the `*Messages*' buffer."
(defun mouse-on-link-p (pos)
"Return non-nil if POS is on a link in the current buffer.
POS must be a buffer position in the current buffer or an mouse
event location in the selected window, see `event-start'.
POS must be a buffer position in the current buffer or a mouse
event location in the selected window (see `event-start').
However, if `mouse-1-click-in-non-selected-windows' is non-nil,
POS may be a mouse event location in any window.
@ -798,7 +798,7 @@ is a non-nil `mouse-face' property at POS. Return t in this case.
- If the value is a function, FUNC, POS is inside a link if
the call \(FUNC POS) returns non-nil. Return the return value
from that call. Arg is \(posn-point POS) if POS is a mouse event,
from that call. Arg is \(posn-point POS) if POS is a mouse event.
- Otherwise, return the value itself.

View file

@ -87,7 +87,7 @@ Whether the passphrase is cached at all is controlled by
"If t, inform the recipient that the input is text.")
(defmacro pgg-truncate-key-identifier (key)
`(if (> (length ,key) 8) (substring ,key 8) ,key))
`(if (> (length ,key) 8) (substring ,key -8) ,key))
(provide 'pgg-def)

View file

@ -1208,60 +1208,36 @@ If you use ada-xref.el:
ff-file-created-hook 'ada-make-body)
(add-hook 'ff-pre-load-hook 'ada-which-function-are-we-in)
;; Some special constructs for find-file.el
;; We do not need to add the construction for 'with', which is in the
;; standard find-file.el
;; Some special constructs for find-file.el.
(make-local-variable 'ff-special-constructs)
;; Go to the parent package :
(add-to-list 'ff-special-constructs
(cons (eval-when-compile
(concat "^\\(private[ \t]\\)?[ \t]*package[ \t]+"
"\\(body[ \t]+\\)?"
"\\(\\(\\sw\\|[_.]\\)+\\)\\.\\(\\sw\\|_\\)+[ \t\n]+is"))
(lambda ()
(if (fboundp 'ff-get-file)
(if (boundp 'fname)
(set 'fname (ff-get-file
ada-search-directories-internal
(ada-make-filename-from-adaname
(match-string 3))
ada-spec-suffixes)))))))
;; Another special construct for find-file.el : when in a separate clause,
;; go to the correct package.
(add-to-list 'ff-special-constructs
(cons "^separate[ \t\n]*(\\(\\(\\sw\\|[_.]\\)+\\))"
(lambda ()
(if (fboundp 'ff-get-file)
(if (boundp 'fname)
(setq fname (ff-get-file
ada-search-directories-internal
(ada-make-filename-from-adaname
(match-string 1))
ada-spec-suffixes)))))))
;; Another special construct, that redefines the one in find-file.el. The
;; old one can handle only one possible type of extension for Ada files
;; remove from the list the standard "with..." that is put by find-file.el,
;; since it uses the old ada-spec-suffix variable
;; This one needs to replace the standard one defined in find-file.el (with
;; Emacs <= 20.4), since that one uses the old variable ada-spec-suffix
(let ((old-construct
(assoc "^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)" ff-special-constructs))
(new-cdr
(lambda ()
(if (fboundp 'ff-get-file)
(if (boundp 'fname)
(set 'fname (ff-get-file
ada-search-directories-internal
(ada-make-filename-from-adaname
(match-string 1))
ada-spec-suffixes)))))))
(if old-construct
(setcdr old-construct new-cdr)
(add-to-list 'ff-special-constructs
(cons "^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)"
new-cdr))))
(mapc (lambda (pair)
(add-to-list 'ff-special-constructs pair))
`(
;; Go to the parent package.
(,(eval-when-compile
(concat "^\\(private[ \t]\\)?[ \t]*package[ \t]+"
"\\(body[ \t]+\\)?"
"\\(\\(\\sw\\|[_.]\\)+\\)\\.\\(\\sw\\|_\\)+[ \t\n]+is"))
. ,(lambda ()
(ff-get-file
ada-search-directories-internal
(ada-make-filename-from-adaname (match-string 3))
ada-spec-suffixes)))
;; A "separate" clause.
("^separate[ \t\n]*(\\(\\(\\sw\\|[_.]\\)+\\))"
. ,(lambda ()
(ff-get-file
ada-search-directories-internal
(ada-make-filename-from-adaname (match-string 1))
ada-spec-suffixes)))
;; A "with" clause.
("^with[ \t]+\\([a-zA-Z0-9_\\.]+\\)"
. ,(lambda ()
(ff-get-file
ada-search-directories-internal
(ada-make-filename-from-adaname (match-string 1))
ada-spec-suffixes)))
))
;; Support for outline-minor-mode
(set (make-local-variable 'outline-regexp)

View file

@ -134,12 +134,18 @@
(eval-and-compile
;; These are used to collect the init forms from the subsequent
;; `c-lang-defvar'. They are used to build the lambda in
;; `c-make-init-lang-vars-fun' below.
;; `c-lang-defvar' and `c-lang-setvar'. They are used to build the
;; lambda in `c-make-init-lang-vars-fun' below, and to build `defvar's
;; and `make-variable-buffer-local's in cc-engine and
;; `make-local-variable's in `c-init-language-vars-for'.
(defvar c-lang-variable-inits nil)
(defvar c-lang-variable-inits-tail nil)
(setq c-lang-variable-inits (list nil)
c-lang-variable-inits-tail c-lang-variable-inits))
c-lang-variable-inits-tail c-lang-variable-inits)
(defvar c-emacs-variable-inits nil)
(defvar c-emacs-variable-inits-tail nil)
(setq c-emacs-variable-inits (list nil)
c-emacs-variable-inits-tail c-emacs-variable-inits))
(defmacro c-lang-defvar (var val &optional doc)
"Declares the buffer local variable VAR to get the value VAL. VAL is
@ -172,6 +178,25 @@ the evaluated constant value at compile time."
;; Return the symbol, like the other def* forms.
`',var)
(defmacro c-lang-setvar (var val)
"Causes the variable VAR to be made buffer local and to get set to the
value VAL. VAL is evaluated and assigned at mode initialization. More
precisely, VAL is evaluated and bound to VAR when the result from the
macro `c-init-language-vars' is evaluated. VAR is typically a standard
Emacs variable like `comment-start'.
`c-lang-const' is typically used in VAL to get the right value for the
language being initialized, and such calls will be macro expanded to
the evaluated constant value at compile time."
(let ((elem (assq var (cdr c-emacs-variable-inits))))
(if elem
(setcdr elem (list val)) ; Maybe remove "list", sometime. 2006-07-19
(setcdr c-emacs-variable-inits-tail (list (list var val)))
(setq c-emacs-variable-inits-tail (cdr c-emacs-variable-inits-tail))))
;; Return the symbol, like the other def* forms.
`',var)
(put 'c-lang-defvar 'lisp-indent-function 'defun)
; (eval-after-load "edebug" ; 2006-07-09: def-edebug-spec is now in subr.el.
; '
@ -1103,8 +1128,7 @@ properly."
;; In C we still default to the block comment style since line
;; comments aren't entirely portable.
c "/* ")
(c-lang-defvar comment-start (c-lang-const comment-start)
'dont-doc)
(c-lang-setvar comment-start (c-lang-const comment-start))
(c-lang-defconst comment-end
"String that ends comments inserted with M-; etc.
@ -1117,8 +1141,7 @@ properly."
(c-lang-const comment-start))
(concat " " (c-lang-const c-block-comment-ender))
""))
(c-lang-defvar comment-end (c-lang-const comment-end)
'dont-doc)
(c-lang-setvar comment-end (c-lang-const comment-end))
(c-lang-defconst comment-start-skip
"Regexp to match the start of a comment plus everything up to its body.
@ -1134,8 +1157,7 @@ properly."
(c-lang-const c-block-comment-starter)))
"\\|")
"\\)\\s *"))
(c-lang-defvar comment-start-skip (c-lang-const comment-start-skip)
'dont-doc)
(c-lang-setvar comment-start-skip (c-lang-const comment-start-skip))
(c-lang-defconst c-syntactic-ws-start
;; Regexp matching any sequence that can start syntactic whitespace.
@ -2806,9 +2828,10 @@ way."
;;; Wrap up the `c-lang-defvar' system.
;; Compile in the list of language variables that has been collected
;; with the `c-lang-defvar' macro. Note that the first element is
;; nil.
;; with the `c-lang-defvar' and `c-lang-setvar' macros. Note that the
;; first element of each is nil.
(defconst c-lang-variable-inits (cc-eval-when-compile c-lang-variable-inits))
(defconst c-emacs-variable-inits (cc-eval-when-compile c-emacs-variable-inits))
(defun c-make-init-lang-vars-fun (mode)
"Create a function that initializes all the language dependent variables
@ -2841,12 +2864,16 @@ accomplish that conveniently."
;; `c-lang-const' will expand to the evaluated
;; constant immediately in `cl-macroexpand-all'
;; below.
(mapcan
(lambda (init)
`(current-var ',(car init)
,(car init) ,(cl-macroexpand-all
(elt init 1))))
(cdr c-lang-variable-inits))))
(mapcan
(lambda (init)
`(current-var ',(car init)
,(car init) ,(cl-macroexpand-all
(elt init 1))))
;; Note: The following `append' copies the
;; first argument. That list is small, so
;; this doesn't matter too much.
(append (cdr c-emacs-variable-inits)
(cdr c-lang-variable-inits)))))
;; This diagnostic message isn't useful for end
;; users, so it's disabled.
@ -2859,7 +2886,8 @@ accomplish that conveniently."
(require 'cc-langs)
(setq source-eval t)
(let ((init (cdr c-lang-variable-inits)))
(let ((init (append (cdr c-emacs-variable-inits)
(cdr c-lang-variable-inits))))
(while init
(setq current-var (caar init))
(set (caar init) (eval (cadar init)))
@ -2867,7 +2895,7 @@ accomplish that conveniently."
(error
(if current-var
(message "Eval error in the `c-lang-defvar' for `%s'%s: %S"
(message "Eval error in the `c-lang-defvar' or `c-lang-setvar' for `%s'%s: %S"
current-var
(if source-eval
(format "\
@ -2883,7 +2911,8 @@ accomplish that conveniently."
`(lambda ()
(require 'cc-langs)
(let ((c-buffer-is-cc-mode ',mode)
(init (cdr c-lang-variable-inits))
(init (append (cdr c-emacs-variable-inits)
(cdr c-lang-variable-inits)))
current-var)
(condition-case err
@ -2895,7 +2924,7 @@ accomplish that conveniently."
(error
(if current-var
(message
"Eval error in the `c-lang-defvar' for `%s' (source eval): %S"
"Eval error in the `c-lang-defvar' or `c-lang-setver' for `%s' (source eval): %S"
current-var err)
(signal (car err) (cdr err)))))))
))

View file

@ -153,12 +153,21 @@
(defun c-leave-cc-mode-mode ()
(setq c-buffer-is-cc-mode nil))
;; Make the `c-lang-setvar' variables buffer local in the current buffer.
;; These are typically standard emacs variables such as `comment-start'.
(defmacro c-make-emacs-variables-local ()
`(progn
,@(mapcan (lambda (init)
`((make-local-variable ',(car init))))
(cdr c-emacs-variable-inits))))
(defun c-init-language-vars-for (mode)
"Initialize the language variables for one of the language modes
directly supported by CC Mode. This can be used instead of the
`c-init-language-vars' macro if the language you want to use is one of
those, rather than a derived language defined through the language
variable system (see \"cc-langs.el\")."
(c-make-emacs-variables-local)
(cond ((eq mode 'c-mode) (c-init-language-vars c-mode))
((eq mode 'c++-mode) (c-init-language-vars c++-mode))
((eq mode 'objc-mode) (c-init-language-vars objc-mode))

View file

@ -226,14 +226,19 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
;; I have no idea what this first line is supposed to match, but it
;; makes things ambiguous with output such as "foo:344:50:blabla" since
;; the "foo" part can match this first line (in which case the file
;; name as "344"). To avoid this, we disallow filenames exclusively
;; composed of digits. --Stef
;; name as "344"). To avoid this, the second line disallows filenames
;; exclusively composed of digits. --Stef
;; Similarly, we get lots of false positives with messages including
;; times of the form "HH:MM:SS" where MM is taken as a line number, so
;; the last line tries to rule out message where the info after the
;; line number starts with "SS". --Stef
"^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\)?\
\\([0-9]*[^0-9\n].*?\\): ?\
\\([0-9]+\\)\\(?:\\([.:]\\)\\([0-9]+\\)\\)?\
\\(?:-\\([0-9]+\\)?\\(?:\\3\\([0-9]+\\)\\)?\\)?:\
\\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\
*\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\)\\)?"
*\\([Ii]nfo\\(?:\\>\\|rmationa?l?\\)\\|I:\\|instantiated from\\)\\|\
\[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)"
1 (2 . 5) (4 . 6) (7 . 8))
(lcc
@ -405,10 +410,7 @@ you may also want to change `compilation-page-delimiter'.")
"Value of `page-delimiter' in Compilation mode.")
(defvar compilation-mode-font-lock-keywords
'(;; Don't highlight this as a compilation message.
("^Compilation started at.*"
(0 '(face nil message nil help-echo nil mouse-face nil) t))
;; configure output lines.
'(;; configure output lines.
("^[Cc]hecking \\(?:[Ff]or \\|[Ii]f \\|[Ww]hether \\(?:to \\)?\\)?\\(.+\\)\\.\\.\\. *\\(?:(cached) *\\)?\\(\\(yes\\(?: .+\\)?\\)\\|no\\|\\(.*\\)\\)$"
(1 font-lock-variable-name-face)
(2 (compilation-face '(4 . 3))))
@ -419,7 +421,7 @@ you may also want to change `compilation-page-delimiter'.")
("^Compilation \\(finished\\).*"
(0 '(face nil message nil help-echo nil mouse-face nil) t)
(1 compilation-info-face))
("^Compilation \\(exited abnormally\\|interrupt\\|killed\\|terminated\\)\\(?:.*with code \\([0-9]+\\)\\)?.*"
("^Compilation \\(exited abnormally\\|interrupt\\|killed\\|terminated\\|segmentation fault\\)\\(?:.*with code \\([0-9]+\\)\\)?.*"
(0 '(face nil message nil help-echo nil mouse-face nil) t)
(1 compilation-error-face)
(2 compilation-error-face nil t)))
@ -1823,28 +1825,44 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
(find-file-noselect name))
fmts (cdr fmts)))
(setq dirs (cdr dirs)))
(or buffer
;; The file doesn't exist. Ask the user where to find it.
(save-excursion ;This save-excursion is probably not right.
(let ((pop-up-windows t))
(compilation-set-window (display-buffer (marker-buffer marker))
marker)
(let ((name (expand-file-name
(read-file-name
(format "Find this %s in (default %s): "
compilation-error filename)
spec-dir filename t))))
(if (file-directory-p name)
(setq name (expand-file-name filename name)))
(setq buffer (and (file-exists-p name)
(find-file-noselect name)))))))
(while (null buffer) ;Repeat until the user selects an existing file.
;; The file doesn't exist. Ask the user where to find it.
(save-excursion ;This save-excursion is probably not right.
(let ((pop-up-windows t))
(compilation-set-window (display-buffer (marker-buffer marker))
marker)
(let* ((name (read-file-name
(format "Find this %s in (default %s): "
compilation-error filename)
spec-dir filename t nil
;; Try to make sure the user can only select
;; a valid answer. This predicate may be ignored,
;; tho, so we still have to double-check afterwards.
;; TODO: We should probably fix read-file-name so
;; that it never ignores this predicate, even when
;; using popup dialog boxes.
(lambda (name)
(if (file-directory-p name)
(setq name (expand-file-name filename name)))
(file-exists-p name))))
(origname name))
(cond
((not (file-exists-p name))
(message "Cannot find file `%s'" name)
(ding) (sit-for 2))
((and (file-directory-p name)
(not (file-exists-p
(setq name (expand-file-name filename name)))))
(message "No `%s' in directory %s" filename origname)
(ding) (sit-for 2))
(t
(setq buffer (find-file-noselect name))))))))
;; Make intangible overlays tangible.
;; This is very weird: it's not even clear which is the current buffer,
;; so the code below can't be expected to DTRT here. --Stef
(mapcar (function (lambda (ov)
(when (overlay-get ov 'intangible)
(overlay-put ov 'intangible nil))))
(overlays-in (point-min) (point-max)))
;; This is weird: it's not even clear which is the current buffer,
;; so the code below can't be expected to DTRT here. -- Stef
(dolist (ov (overlays-in (point-min) (point-max)))
(when (overlay-get ov 'intangible)
(overlay-put ov 'intangible nil)))
buffer))
(defun compilation-get-file-structure (file &optional fmt)

View file

@ -1767,6 +1767,7 @@ it is a routine."
An error is raised if not in a comment."
(interactive)
(save-excursion
(save-restriction
(let* ((comment (delphi-current-token))
(comment-kind (delphi-token-kind comment)))
(if (not (delphi-is comment-kind delphi-comments))
@ -1845,7 +1846,7 @@ An error is raised if not in a comment."
;; React to the entire fill change as a whole.
(delphi-progress-start)
(delphi-parse-region comment-start comment-end)
(delphi-progress-done))))))
(delphi-progress-done)))))))
(defun delphi-new-comment-line ()
"If in a // comment, does a newline, indented such that one is still in the

View file

@ -434,7 +434,8 @@ With arg, use separate IO iff arg is positive."
(make-local-variable 'gdb-define-alist)
(gdb-create-define-alist)
(add-hook 'after-save-hook 'gdb-create-define-alist nil t))))))
(gdb-force-mode-line-update "ready"))
(gdb-force-mode-line-update
(propertize "ready" 'face font-lock-variable-name-face)))
(defun gdb-find-watch-expression ()
(let* ((var (nth (- (line-number-at-pos (point)) 2) gdb-var-list))
@ -1209,7 +1210,8 @@ This filter may simply queue input for a later time."
(defun gdb-resync()
(setq gdb-flush-pending-output t)
(setq gud-running nil)
(gdb-force-mode-line-update "stopped")
(gdb-force-mode-line-update
(propertize "stopped"'face font-lock-warning-face))
(setq gdb-output-sink 'user)
(setq gdb-input-queue nil)
(setq gdb-pending-triggers nil)
@ -1249,7 +1251,8 @@ happens to be in effect."
"An annotation handler for `prompt'.
This sends the next command (if any) to gdb."
(when gdb-first-prompt
(gdb-force-mode-line-update "initializing...")
(gdb-force-mode-line-update
(propertize "initializing..." 'face font-lock-variable-name-face))
(gdb-init-1)
(setq gdb-first-prompt nil))
(let ((sink gdb-output-sink))
@ -1287,7 +1290,8 @@ not GDB."
(progn
(setq gud-running t)
(setq gdb-inferior-status "running")
(gdb-force-mode-line-update gdb-inferior-status)
(gdb-force-mode-line-update
(propertize gdb-inferior-status 'face font-lock-type-face))
(gdb-remove-text-properties)
(setq gud-old-arrow gud-overlay-arrow-position)
(setq gud-overlay-arrow-position nil)
@ -1300,7 +1304,8 @@ not GDB."
(defun gdb-signal (ignored)
(setq gdb-inferior-status "signal")
(gdb-force-mode-line-update gdb-inferior-status)
(gdb-force-mode-line-update
(propertize gdb-inferior-status 'face font-lock-warning-face))
(gdb-stopping ignored))
(defun gdb-stopping (ignored)
@ -1327,7 +1332,8 @@ directives."
(setq gdb-overlay-arrow-position nil)
(setq gud-old-arrow nil)
(setq gdb-inferior-status "exited")
(gdb-force-mode-line-update gdb-inferior-status)
(gdb-force-mode-line-update
(propertize gdb-inferior-status 'face font-lock-warning-face))
(gdb-stopping ignored))
(defun gdb-signalled (ignored)
@ -1375,7 +1381,8 @@ sink to `user' in `gdb-stopping', that is fine."
'delete)))))
(unless (member gdb-inferior-status '("exited" "signal"))
(setq gdb-inferior-status "stopped")
(gdb-force-mode-line-update gdb-inferior-status))
(gdb-force-mode-line-update
(propertize gdb-inferior-status 'face font-lock-warning-face)))
(let ((sink gdb-output-sink))
(cond
((eq sink 'inferior)
@ -3268,7 +3275,8 @@ is set in them."
(make-local-variable 'gdb-define-alist)
(gdb-create-define-alist)
(add-hook 'after-save-hook 'gdb-create-define-alist nil t)))))
(gdb-force-mode-line-update "ready"))
(gdb-force-mode-line-update
(propertize "ready" 'face font-lock-variable-name-face)))
; Uses "-var-list-children --all-values". Needs GDB 6.1 onwards.
(defun gdb-var-list-children-1 (varnum)

View file

@ -155,7 +155,7 @@ The following place holders should be present in the string:
:type 'alist
:group 'grep)
(defcustom grep-find-ignored-directories '("CVS" ".hg" "{arch}")
(defcustom grep-find-ignored-directories '("CVS" ".svn" "{arch}" ".hg" "_darcs")
"*List of names of sub-directories which `rgrep' shall not recurse into."
:type '(repeat string)
:group 'grep)

View file

@ -4384,7 +4384,7 @@ idlwave-shell-electric-debug-mode-map)
["Edit Default Cmd" idlwave-shell-edit-default-command-line t])
("Breakpoints"
["Set Breakpoint" idlwave-shell-break-here
:keys "C-c C-d C-c" :active (eq major-mode 'idlwave-mode)]
:keys "C-c C-d C-b" :active (eq major-mode 'idlwave-mode)]
("Set Special Breakpoint"
["Set After Count Breakpoint"
(progn

View file

@ -74,25 +74,55 @@
"Syntax table used while in `ld-script-mode'.")
;; Font lock keywords
;; (The section number comes from ld's info.)
(defvar ld-script-keywords
'("ENTRY" "INCLUDE" "INPUT" "GROUP"
"OUTPUT" "SEARCH_DIR" "STARTUP"
'(
;; 3.4.1 Setting the Entry Point
"ENTRY"
;; 3.4.2 Commands Dealing with Files
"INCLUDE" "INPUT" "GROUP" "AS_NEEDED" "OUTPUT" "SEARCH_DIR" "STARTUP"
;; 3.4.3 Commands Dealing with Object File Formats
"OUTPUT_FORMAT" "TARGET"
"ASSERT" "EXTERN" "FORCE_COMMON_ALLOCATION" "NOCROSSREFS" "OUTPUT_ARCH"
;; 3.4.3 Other Linker Script Commands
"ASSERT" "EXTERN" "FORCE_COMMON_ALLOCATION"
"INHIBIT_COMMON_ALLOCATION" "NOCROSSREFS" "OUTPUT_ARCH"
;; 3.5.2 PROVIDE
"PROVIDE"
"SECTIONS" "SORT" "COMMON" "KEEP"
"BYTE" "SHORT" "LONG" "QUAD" "SQAD"
"FILL"
"CREATE_OBJECT_SYMBOLS"
"CONSTRUCTORS"
;; 3.5.3 PROVIDE_HIDDEN
"PROVIDE_HIDEN"
;; 3.6 SECTIONS Command
"SECTIONS"
;; 3.6.4.2 Input Section Wildcard Patterns
"SORT" "SORT_BY_NAME" "SORT_BY_ALIGNMENT"
;; 3.6.4.3 Input Section for Common Symbols
"COMMON"
;; 3.6.4.4 Input Section and Garbage Collection
"KEEP"
;; 3.6.5 Output Section Data
"BYTE" "SHORT" "LONG" "QUAD" "SQUAD" "FILL"
;; 3.6.6 Output Section Keywords
"CREATE_OBJECT_SYMBOLS" "CONSTRUCTORS"
"__CTOR_LIST__" "__CTOR_END__" "__DTOR_LIST__" "__DTOR_END__"
;; 3.6.7 Output Section Discarding
;; See `ld-script-font-lock-keywords'
;; 3.6.8.1 Output Section Type
"NOLOAD" "DSECT" "COPY" "INFO" "OVERLAY"
;; 3.6.8.2 Output Section LMA
"AT"
;; 3.6.8.4 Forced Input Alignment
"SUBALIGN"
;; 3.6.8.6 Output Section Phdr
":PHDR"
;; 3.7 MEMORY Command
"MEMORY"
;; 3.8 PHDRS Command
"PHDRS" "FILEHDR" "FLAGS"
"PT_NULL" "PT_LOAD" "PT_DYNAMIC" "PT_INTERP" "PT_NONE" "PT_SHLIB" "PT_PHDR"
;; 3.9 VERSION Command
"VERSION")
"Keywords used of GNU ld script.")
;; 3.10.8 Builtin Functions
(defvar ld-script-builtins
'("ABSOLUTE"
"ADDR"
@ -102,12 +132,12 @@
"DATA_SEGMENT_END"
"DATA_SEGMENT_RELRO_END"
"DEFINED"
"LENGTH"
"LENGTH" "len" "l"
"LOADADDR"
"MAX"
"MIN"
"NEXT"
"ORIGIN"
"ORIGIN" "org" "o"
"SEGMENT_START"
"SIZEOF"
"SIZEOF_HEADERS"
@ -120,7 +150,10 @@
1 font-lock-keyword-face)
(,(regexp-opt ld-script-builtins 'words)
1 font-lock-builtin-face)
("/DISCARD/" . font-lock-warning-face)
;; 3.6.7 Output Section Discarding
;; 3.6.4.1 Input Section Basics
;; 3.6.8.6 Output Section Phdr
("/DISCARD/\\|EXCLUDE_FILE\\|:NONE" . font-lock-warning-face)
("\\W\\(\\.\\)\\W" 1 ld-script-location-counter-face)
)
cpp-font-lock-keywords)

View file

@ -980,47 +980,55 @@ Point is at the beginning of the next line."
(re-search-forward sh-here-doc-re limit t))
(defun sh-quoted-subshell (limit)
"Search for a subshell embedded in a string. Find all the unescaped
\" characters within said subshell, remembering that subshells can nest."
(if (re-search-forward "\"\\(?:.\\|\n\\)*?\\(\\$(\\|`\\)" limit t)
;; bingo we have a $( or a ` inside a ""
(let ((char (char-after (point)))
(continue t)
(pos (point))
(data nil) ;; value to put into match-data (and return)
(last nil) ;; last char seen
(bq (equal (match-string 1) "`")) ;; ` state flip-flop
(seen nil) ;; list of important positions
(nest 1)) ;; subshell nesting level
(while (and continue char (<= pos limit))
;; unescaped " inside a $( ... ) construct.
;; state machine time...
;; \ => ignore next char;
;; ` => increase or decrease nesting level based on bq flag
;; ) [where nesting > 0] => decrease nesting
;; ( [where nesting > 0] => increase nesting
;; ( [preceeded by $ ] => increase nesting
;; " [nesting <= 0 ] => terminate, we're done.
;; " [nesting > 0 ] => remember this, it's not a proper "
(if (eq ?\\ last) nil
(if (eq ?\` char) (setq nest (+ nest (if bq -1 1)) bq (not bq))
(if (and (> nest 0) (eq ?\) char)) (setq nest (1- nest))
(if (and (eq ?$ last) (eq ?\( char)) (setq nest (1+ nest))
(if (and (> nest 0) (eq ?\( char)) (setq nest (1+ nest))
(if (eq char ?\")
(if (>= 0 nest) (setq continue nil)
(setq seen (cons pos seen)) ) ))))))
;;(message "POS: %d [%d]" pos nest)
(setq last char
pos (1+ pos)
char (char-after pos)) )
(when seen
;;(message "SEEN: %S" seen)
(setq data (list (current-buffer)))
(mapc (lambda (P)
(setq data (cons P (cons (1+ P) data)) ) ) seen)
(store-match-data data))
data) ))
"Search for a subshell embedded in a string.
Find all the unescaped \" characters within said subshell, remembering that
subshells can nest."
;; FIXME: This can (and often does) match multiple lines, yet it makes no
;; effort to handle multiline cases correctly, so it ends up being
;; rather flakey.
(when (re-search-forward "\"\\(?:\\(?:.\\|\n\\)*?[^\\]\\(?:\\\\\\\\\\)*\\)??\\(\\$(\\|`\\)" limit t)
;; bingo we have a $( or a ` inside a ""
(let ((char (char-after (point)))
(continue t)
(pos (point))
(data nil) ;; value to put into match-data (and return)
(last nil) ;; last char seen
(bq (equal (match-string 1) "`")) ;; ` state flip-flop
(seen nil) ;; list of important positions
(nest 1)) ;; subshell nesting level
(while (and continue char (<= pos limit))
;; unescaped " inside a $( ... ) construct.
;; state machine time...
;; \ => ignore next char;
;; ` => increase or decrease nesting level based on bq flag
;; ) [where nesting > 0] => decrease nesting
;; ( [where nesting > 0] => increase nesting
;; ( [preceeded by $ ] => increase nesting
;; " [nesting <= 0 ] => terminate, we're done.
;; " [nesting > 0 ] => remember this, it's not a proper "
;; FIXME: don't count parens that appear within quotes.
(cond
((eq ?\\ last) nil)
((eq ?\` char) (setq nest (+ nest (if bq -1 1)) bq (not bq)))
((and (> nest 0) (eq ?\) char)) (setq nest (1- nest)))
((and (eq ?$ last) (eq ?\( char)) (setq nest (1+ nest)))
((and (> nest 0) (eq ?\( char)) (setq nest (1+ nest)))
((eq char ?\")
(if (>= 0 nest) (setq continue nil) (push pos seen))))
;;(message "POS: %d [%d]" pos nest)
(setq last char
pos (1+ pos)
char (char-after pos)) )
;; FIXME: why construct a costly match data to pass to
;; sh-apply-quoted-subshell rather than apply the highlight
;; directly here? -- Stef
(when seen
;;(message "SEEN: %S" seen)
(setq data (list (current-buffer)))
(dolist(P seen)
(setq data (cons P (cons (1+ P) data))))
(store-match-data data))
data) ))
(defun sh-is-quoted-p (pos)
(and (eq (char-before pos) ?\\)

View file

@ -262,11 +262,11 @@ It calls them sequentially, and if any returns non-nil,
(defun which-function ()
"Return current function name based on point.
Uses `which-function-functions', `imenu--index-alist'
Uses `which-func-functions', `imenu--index-alist'
or `add-log-current-defun-function'.
If no function name is found, return nil."
(let ((name
;; Try the `which-function-functions' functions first.
;; Try the `which-func-functions' functions first.
(run-hook-with-args-until-success 'which-func-functions)))
;; If Imenu is loaded, try to make an index alist with it.

View file

@ -1283,8 +1283,8 @@ N (match-string N) (where N is a string of digits)
# replace-count
Note that these symbols must be preceeded by a backslash in order to
type them."
(while n
type them using Lisp syntax."
(while (consp n)
(cond
((consp (car n))
(replace-match-string-symbols (car n))) ;Process sub-list

View file

@ -254,14 +254,16 @@ this variable usefully is to set it while building and dumping Emacs."
:group 'mail)
(defcustom user-mail-address (if command-line-processed
(concat (user-login-name) "@"
(or mail-host-address
(system-name)))
(or (getenv "EMAIL")
(concat (user-login-name) "@"
(or mail-host-address
(system-name))))
;; Empty string means "not set yet".
"")
"*Full mailing address of this user.
This is initialized based on `mail-host-address',
after your init file is read, in case it sets `mail-host-address'."
This is initialized with environment variable `EMAIL' or, as a
fallback, using `mail-host-address'. This is done after your
init file is read, in case it sets `mail-host-address'."
:type 'string
:group 'mail)
@ -984,9 +986,10 @@ opening the first frame (e.g. open a connection to an X server).")
;; Do this here in case the init file sets mail-host-address.
(if (equal user-mail-address "")
(setq user-mail-address (concat (user-login-name) "@"
(or mail-host-address
(system-name)))))
(setq user-mail-address (or (getenv "EMAIL")
(concat (user-login-name) "@"
(or mail-host-address
(system-name))))))
;; Originally face attributes were specified via
;; `font-lock-face-attributes'. Users then changed the default

View file

@ -108,6 +108,9 @@ change the list."
(declare (indent 1) (debug t))
(cons 'if (cons cond (cons nil body))))
(defvar --dolist-tail-- nil
"Temporary variable used in `dolist' expansion.")
(defmacro dolist (spec &rest body)
"Loop over a list.
Evaluate BODY with VAR bound to each car from LIST, in turn.
@ -115,16 +118,22 @@ Then evaluate RESULT to get return value, default nil.
\(fn (VAR LIST [RESULT]) BODY...)"
(declare (indent 1) (debug ((symbolp form &optional form) body)))
(let ((temp (make-symbol "--dolist-temp--")))
;; It would be cleaner to create an uninterned symbol,
;; but that uses a lot more space when many functions in many files
;; use dolist.
(let ((temp '--dolist-tail--))
`(let ((,temp ,(nth 1 spec))
,(car spec))
(while ,temp
(setq ,(car spec) (car ,temp))
(setq ,temp (cdr ,temp))
,@body)
,@body
(setq ,temp (cdr ,temp)))
,@(if (cdr (cdr spec))
`((setq ,(car spec) nil) ,@(cdr (cdr spec)))))))
(defvar --dotimes-limit-- nil
"Temporary variable used in `dotimes' expansion.")
(defmacro dotimes (spec &rest body)
"Loop a certain number of times.
Evaluate BODY with VAR bound to successive integers running from 0,
@ -133,7 +142,10 @@ the return value (nil if RESULT is omitted).
\(fn (VAR COUNT [RESULT]) BODY...)"
(declare (indent 1) (debug dolist))
(let ((temp (make-symbol "--dotimes-temp--"))
;; It would be cleaner to create an uninterned symbol,
;; but that uses a lot more space when many functions in many files
;; use dotimes.
(let ((temp '--dotimes-limit--)
(start 0)
(end (nth 1 spec)))
`(let ((,temp ,end)
@ -1721,22 +1733,13 @@ floating point support.
(when (or obsolete (numberp nodisp))
(setq seconds (+ seconds (* 1e-3 nodisp)))
(setq nodisp obsolete))
(unless nodisp
(redisplay))
(or (<= seconds 0)
(let ((timer (timer-create))
(echo-keystrokes 0))
(if (catch 'sit-for-timeout
(timer-set-time timer (timer-relative-time
(current-time) seconds))
(timer-set-function timer 'with-timeout-handler
'(sit-for-timeout))
(timer-activate timer)
(push (read-event) unread-command-events)
nil)
t
(cancel-timer timer)
nil))))
(if noninteractive
(progn (sleep-for seconds) t)
(unless nodisp (redisplay))
(or (<= seconds 0)
(let ((read (read-event nil nil seconds)))
(or (null read)
(progn (push read unread-command-events) nil))))))
;;; Atomic change groups.
@ -2547,8 +2550,9 @@ STRING should be given if the last search was by `string-match' on STRING."
(defun looking-back (regexp &optional limit greedy)
"Return non-nil if text before point matches regular expression REGEXP.
Like `looking-at' except matches before point, and is slower.
LIMIT if non-nil speeds up the search by specifying how far back the
match can start.
LIMIT if non-nil speeds up the search by specifying a minimum
starting position, to avoid checking matches that would start
before LIMIT.
If GREEDY is non-nil, extend the match backwards as far as possible,
stopping when a single additional previous character cannot be part

View file

@ -50,10 +50,10 @@ The variable `tab-width' controls the spacing of tab stops."
(delete-region tab-beg (point))
(indent-to column))))))
(defvar tabify-regexp "[ \t][ \t]+"
(defvar tabify-regexp " [ \t]+"
"Regexp matching whitespace that tabify should consider.
Usually this will be \"[ \\t][ \\t]+\" to match two or more spaces or tabs.
\"^[ \\t]+\" is also useful, for tabifying only initial whitespace.")
Usually this will be \" [ \\t]+\" to match two or more spaces or tabs.
\"^\\t* [ \\t]+\" is also useful, for tabifying only initial whitespace.")
;;;###autoload
(defun tabify (start end)
@ -72,13 +72,24 @@ The variable `tab-width' controls the spacing of tab stops."
(beginning-of-line)
(narrow-to-region (point) end)
(goto-char start)
(while (re-search-forward tabify-regexp nil t)
(let ((column (current-column))
(indent-tabs-mode t))
(delete-region (match-beginning 0) (point))
(indent-to column))))))
(let ((indent-tabs-mode t))
(while (re-search-forward tabify-regexp nil t)
;; The region between (match-beginning 0) and (match-end 0) is just
;; spacing which we want to adjust to use TABs where possible.
(let ((end-col (current-column))
(beg-col (save-excursion (goto-char (match-beginning 0))
(skip-chars-forward "\t")
(current-column))))
(if (= (/ end-col tab-width) (/ beg-col tab-width))
;; The spacing (after some leading TABs which we wouldn't
;; want to touch anyway) does not straddle a TAB boundary,
;; so it neither contains a TAB, nor will we be able to use
;; a TAB here anyway: there's nothing to do.
nil
(delete-region (match-beginning 0) (point))
(indent-to end-col))))))))
(provide 'tabify)
;;; arch-tag: c83893b1-e0cc-4e57-8a09-73fd03466416
;; arch-tag: c83893b1-e0cc-4e57-8a09-73fd03466416
;;; tabify.el ends here

View file

@ -160,13 +160,21 @@
(define-key xterm-function-map "\e[29~" [print])
;; These keys are available in xterm starting from version 214
;; if the modifyOtherKeys resource is set.
(define-key xterm-function-map "\e[27;5;9~" [(control ?\t)])
;; if the modifyOtherKeys resource is set to 1.
(define-key xterm-function-map "\e[27;5;9~" [C-tab])
(define-key xterm-function-map "\e[27;5;13~" [C-return])
(define-key xterm-function-map "\e[27;5;44~" [(control ?\,)])
(define-key xterm-function-map "\e[27;5;46~" [(control ?\.)])
(define-key xterm-function-map "\e[27;5;47~" [(control ?\/)])
(define-key xterm-function-map "\e[27;5;92~" [(control ?\\)])
(define-key xterm-function-map "\e[27;5;44~" [?\C-,])
(define-key xterm-function-map "\e[27;5;46~" [?\C-.])
(define-key xterm-function-map "\e[27;5;47~" [?\C-/])
(define-key xterm-function-map "\e[27;5;92~" [?\C-\\)])
(define-key xterm-function-map "\e[27;2;9~" [S-tab])
(define-key xterm-function-map "\e[27;2;13~" [S-return])
(define-key xterm-function-map "\e[27;6;9~" [(C-S-tab)])
(define-key xterm-function-map "\e[27;13;46~" [?\C-\M-.])
;; Other versions of xterm might emit these.
(define-key xterm-function-map "\e[A" [up])

View file

@ -1650,9 +1650,15 @@ quit spell session exited."
cursor-location))
(if (not (equal new-word (car poss)))
(progn
(delete-region start end)
(setq start (point))
(goto-char start)
;; Insert first and then delete,
;; to avoid collapsing markers before and after
;; into a single place.
(ispell-insert-word new-word)
(delete-region (point) (+ (point) (- end start)))
;; It is meaningless to preserve the cursor position
;; inside a word that has changed.
(setq cursor-location (point))
(setq end (point))))
(if (not (atom replace)) ;recheck spelling of replacement
(progn

View file

@ -42,7 +42,7 @@ Contains canonical charset names that don't correspond to coding systems.")
(defun po-find-charset (filename)
"Return PO charset value for FILENAME.
If FILENAME is a cons, the cdr part is a buffer that already contains
If FILENAME is a cons cell, its CDR is a buffer that already contains
the PO file (but not yet decoded)."
(let ((charset-regexp
"^\"Content-Type:[ \t]*text/plain;[ \t]*charset=\\(.*\\)\\\\n\"")

View file

@ -6,7 +6,7 @@
;; Keywords: wp, convenience
;; Author: Takaaki Ota <Takaaki.Ota@am.sony.com>
;; Created: Sat Jul 08 2000 13:28:45 (PST)
;; Revised: Tue May 30 2006 10:01:43 (PDT)
;; Revised: Thu Jul 20 2006 17:30:09 (PDT)
;; This file is part of GNU Emacs.
@ -1394,7 +1394,9 @@ the last cache point coordinate."
(setq table-command-remap-alist
(cons (cons command func-symbol)
table-command-remap-alist))))
'(beginning-of-line
'(move-beginning-of-line
beginning-of-line
move-end-of-line
end-of-line
beginning-of-buffer
end-of-buffer

View file

@ -84,7 +84,7 @@
;; USAGE
;; =====
;;
;; This information has been moved to the manual. Type `C-h r' to open
;; This information has been moved to the manual. Type `C-h r' to open
;; the Emacs manual and go to the node Thumbnails by typing `g
;; Thumbnails RET'.
;;
@ -161,6 +161,10 @@
(require 'dired)
(require 'format-spec)
(require 'widget)
(eval-when-compile
(require 'wid-edit))
(defgroup tumme nil
"Use dired to browse your images as thumbnails, and more."
@ -644,7 +648,7 @@ according to the Thumbnail Managing Standard."
;; Can't use (overlays-at (point)), BUG?
(overlays-in (point) (1+ (point)))))
(put-image thumb-file image-pos)
(setq
(setq
overlay
(car (delq nil (mapcar (lambda (o) (and (overlay-get o 'put-image) o))
(overlays-in (point) (1+ (point)))))))
@ -864,32 +868,27 @@ displayed."
;;;###autoload
(defalias 'tumme 'tumme-show-all-from-dir)
(defun tumme-write-tag (files tag)
"For all FILES, writes TAG to the image database."
(save-excursion
(let (end buf)
(setq buf (find-file tumme-db-file))
(if (not (listp files))
(if (stringp files)
(setq files (list files))
(error "Files must be a string or a list of strings!")))
(mapcar
(lambda (file)
(goto-char (point-min))
(if (search-forward-regexp
(format "^%s" file) nil t)
(progn
(end-of-line)
(setq end (point))
(beginning-of-line)
(when (not (search-forward (format ";%s" tag) end t))
(end-of-line)
(insert (format ";%s" tag))))
(goto-char (point-max))
(insert (format "\n%s;%s" file tag))))
files)
(save-buffer)
(kill-buffer buf))))
(defun tumme-write-tags (file-tags)
"Write file tags to database.
Write each file and tag in FILE-TAGS to the database. FILE-TAGS
is an alist in the following form:
((FILE . TAG) ... )"
(let (end file tag)
(with-temp-file tumme-db-file
(insert-file-contents tumme-db-file)
(dolist (elt file-tags)
(setq file (car elt)
tag (cdr elt))
(goto-char (point-min))
(if (search-forward-regexp (format "^%s.*$" file) nil t)
(progn
(setq end (point))
(beginning-of-line)
(when (not (search-forward (format ";%s" tag) end t))
(end-of-line)
(insert (format ";%s" tag))))
(goto-char (point-max))
(insert (format "\n%s;%s" file tag)))))))
(defun tumme-remove-tag (files tag)
"For all FILES, remove TAG from the image database."
@ -951,15 +950,19 @@ displayed."
(let ((tag (read-string "Tags to add (separate tags with a semicolon): "))
curr-file files)
(if arg
(setq files (dired-get-filename))
(setq files (list (dired-get-filename)))
(setq files (dired-get-marked-files)))
(tumme-write-tag files tag)))
(tumme-write-tags
(mapcar
(lambda (x)
(cons x tag))
files))))
(defun tumme-tag-thumbnail ()
"Tag current thumbnail."
(interactive)
(let ((tag (read-string "Tags to add (separate tags with a semicolon): ")))
(tumme-write-tag (tumme-original-file-name) tag))
(tumme-write-tags (list (cons (tumme-original-file-name) tag))))
(tumme-update-property
'tags (tumme-list-tags (tumme-original-file-name))))
@ -1006,7 +1009,7 @@ use only useful if `tumme-track-movement' is nil."
(let ((old-buf (current-buffer))
(dired-buf (tumme-associated-dired-buffer))
(file-name (tumme-original-file-name)))
(when (and dired-buf file-name)
(when (and (buffer-live-p dired-buf) file-name)
(setq file-name (file-name-nondirectory file-name))
(set-buffer dired-buf)
(goto-char (point-min))
@ -1069,32 +1072,46 @@ move ARG lines."
(if tumme-track-movement
(tumme-track-thumbnail)))
(defun tumme-forward-char ()
"Move to next image and display properties."
(interactive)
;; Before we move, make sure that there is an image two positions
;; forward.
(when (save-excursion
(forward-char 2)
(tumme-image-at-point-p))
(forward-char)
(while (and (not (eobp))
(not (tumme-image-at-point-p)))
(forward-char))
(if tumme-track-movement
(tumme-track-original-file)))
(defun tumme-forward-image (&optional arg)
"Move to next image and display properties.
Optional prefix ARG says how many images to move; default is one
image."
(interactive "p")
(let (pos (steps (or arg 1)))
(dotimes (i steps)
(if (and (not (eobp))
(save-excursion
(forward-char)
(while (and (not (eobp))
(not (tumme-image-at-point-p)))
(forward-char))
(setq pos (point))
(tumme-image-at-point-p)))
(goto-char pos)
(error "At last image"))))
(when tumme-track-movement
(tumme-track-original-file))
(tumme-display-thumb-properties))
(defun tumme-backward-char ()
"Move to previous image and display properties."
(interactive)
(when (not (bobp))
(backward-char)
(while (and (not (bobp))
(not (tumme-image-at-point-p)))
(backward-char))
(if tumme-track-movement
(tumme-track-original-file)))
(defun tumme-backward-image (&optional arg)
"Move to previous image and display properties.
Optional prefix ARG says how many images to move; default is one
image."
(interactive "p")
(let (pos (steps (or arg 1)))
(dotimes (i steps)
(if (and (not (bobp))
(save-excursion
(backward-char)
(while (and (not (bobp))
(not (tumme-image-at-point-p)))
(backward-char))
(setq pos (point))
(tumme-image-at-point-p)))
(goto-char pos)
(error "At first image"))))
(when tumme-track-movement
(tumme-track-original-file))
(tumme-display-thumb-properties))
(defun tumme-next-line ()
@ -1103,7 +1120,7 @@ move ARG lines."
(next-line 1)
;; If we end up in an empty spot, back up to the next thumbnail.
(if (not (tumme-image-at-point-p))
(tumme-backward-char))
(tumme-backward-image))
(if tumme-track-movement
(tumme-track-original-file))
(tumme-display-thumb-properties))
@ -1118,7 +1135,7 @@ move ARG lines."
;; thumbnail and did not refresh, so it is not very common. But we
;; can handle it in a good manner, so why not?
(if (not (tumme-image-at-point-p))
(tumme-backward-char))
(tumme-backward-image))
(if tumme-track-movement
(tumme-track-original-file))
(tumme-display-thumb-properties))
@ -1131,7 +1148,7 @@ comment."
(format-spec
tumme-display-properties-format
(list
(cons ?b buf)
(cons ?b (or buf ""))
(cons ?f file)
(cons ?t (or (princ props) ""))
(cons ?c (or comment "")))))
@ -1187,19 +1204,19 @@ dired."
"Mark original image file in associated dired buffer."
(interactive)
(tumme-modify-mark-on-thumb-original-file 'mark)
(tumme-forward-char))
(tumme-forward-image))
(defun tumme-unmark-thumb-original-file ()
"Unmark original image file in associated dired buffer."
(interactive)
(tumme-modify-mark-on-thumb-original-file 'unmark)
(tumme-forward-char))
(tumme-forward-image))
(defun tumme-flag-thumb-original-file ()
"Flag original image file for deletion in associated dired buffer."
(interactive)
(tumme-modify-mark-on-thumb-original-file 'flag)
(tumme-forward-char))
(tumme-forward-image))
(defun tumme-toggle-mark-thumb-original-file ()
"Toggle mark on original image file in associated dired buffer."
@ -1247,12 +1264,12 @@ You probably want to use this together with
"Define keymap for `tumme-thumbnail-mode'."
;; Keys
(define-key tumme-thumbnail-mode-map [right] 'tumme-forward-char)
(define-key tumme-thumbnail-mode-map [left] 'tumme-backward-char)
(define-key tumme-thumbnail-mode-map [right] 'tumme-forward-image)
(define-key tumme-thumbnail-mode-map [left] 'tumme-backward-image)
(define-key tumme-thumbnail-mode-map [up] 'tumme-previous-line)
(define-key tumme-thumbnail-mode-map [down] 'tumme-next-line)
(define-key tumme-thumbnail-mode-map "\C-f" 'tumme-forward-char)
(define-key tumme-thumbnail-mode-map "\C-b" 'tumme-backward-char)
(define-key tumme-thumbnail-mode-map "\C-f" 'tumme-forward-image)
(define-key tumme-thumbnail-mode-map "\C-b" 'tumme-backward-image)
(define-key tumme-thumbnail-mode-map "\C-p" 'tumme-previous-line)
(define-key tumme-thumbnail-mode-map "\C-n" 'tumme-next-line)
@ -1655,7 +1672,8 @@ See also `tumme-line-up-dynamic'."
(insert "\n")
(insert " ")
(setq count (1+ count))
(when (= count (- tumme-thumbs-per-row 1))
(when (and (= count (- tumme-thumbs-per-row 1))
(not (eobp)))
(forward-char)
(insert "\n")
(setq count 0)))))
@ -1798,8 +1816,10 @@ With prefix argument ARG, display image in its original size."
(message "No thumbnail at point")
(if (not file)
(message "No original file name found")
(tumme-display-image file arg)
(display-buffer tumme-display-image-buffer))))))
(tumme-create-display-image-buffer)
(display-buffer tumme-display-image-buffer)
(tumme-display-image file arg))))))
;;;###autoload
(defun tumme-dired-display-image (&optional arg)
@ -1807,8 +1827,9 @@ With prefix argument ARG, display image in its original size."
See documentation for `tumme-display-image' for more information.
With prefix argument ARG, display image in its original size."
(interactive "P")
(tumme-display-image (dired-get-filename) arg)
(display-buffer tumme-display-image-buffer))
(tumme-create-display-image-buffer)
(display-buffer tumme-display-image-buffer)
(tumme-display-image (dired-get-filename) arg))
(defun tumme-image-at-point-p ()
"Return true if there is a tumme thumbnail at point."
@ -2000,49 +2021,49 @@ function. The result is a couple of new files in
(defun tumme-display-next-thumbnail-original ()
"In thubnail buffer, move to next thumbnail and display the image."
(interactive)
(tumme-forward-char)
(tumme-forward-image)
(tumme-display-thumbnail-original-image))
(defun tumme-display-previous-thumbnail-original ()
"Move to previous thumbnail and display image."
(interactive)
(tumme-backward-char)
(tumme-backward-image)
(tumme-display-thumbnail-original-image))
(defun tumme-write-comment (file comment)
"For FILE, write comment COMMENT in database."
(save-excursion
(let (end buf comment-beg)
(setq buf (find-file tumme-db-file))
(goto-char (point-min))
(if (search-forward-regexp
(format "^%s" file) nil t)
(progn
(end-of-line)
(setq end (point))
(beginning-of-line)
;; Delete old comment, if any
(cond ((search-forward ";comment:" end t)
(setq comment-beg (match-beginning 0))
;; Any tags after the comment?
(if (search-forward ";" end t)
(setq comment-end (- (point) 1))
(setq comment-end end))
;; Delete comment tag and comment
(delete-region comment-beg comment-end)))
;; Insert new comment
(beginning-of-line)
(if (not (search-forward ";" end t))
(progn
(end-of-line)
(insert ";")))
(insert (format "comment:%s;" comment)))
;; File does not exist in databse - add it.
(goto-char (point-max))
(insert (format "\n%s;comment:%s" file comment)))
(save-buffer)
(kill-buffer buf))))
(defun tumme-write-comments (file-comments)
"Write file comments to database.
Write file comments to one or more files. FILE-COMMENTS is an alist on
the following form:
((FILE . COMMENT) ... )"
(let (end comment-beg-pos comment-end-pos file comment)
(with-temp-file tumme-db-file
(insert-file-contents tumme-db-file)
(dolist (elt file-comments)
(setq file (car elt)
comment (cdr elt))
(goto-char (point-min))
(if (search-forward-regexp (format "^%s.*$" file) nil t)
(progn
(setq end (point))
(beginning-of-line)
;; Delete old comment, if any
(when (search-forward ";comment:" end t)
(setq comment-beg-pos (match-beginning 0))
;; Any tags after the comment?
(if (search-forward ";" end t)
(setq comment-end-pos (- (point) 1))
(setq comment-end-pos end))
;; Delete comment tag and comment
(delete-region comment-beg-pos comment-end-pos))
;; Insert new comment
(beginning-of-line)
(unless (search-forward ";" end t)
(end-of-line)
(insert ";"))
(insert (format "comment:%s;" comment)))
;; File does not exist in database - add it.
(goto-char (point-max))
(insert (format "\n%s;comment:%s" file comment)))))))
(defun tumme-update-property (prop value)
"Update text property PROP with value VALUE at point."
@ -2056,19 +2077,19 @@ function. The result is a couple of new files in
(defun tumme-dired-comment-files ()
"Add comment to current or marked files in dired."
(interactive)
(let ((files (dired-get-marked-files))
(comment (tumme-read-comment)))
(mapcar
(lambda (curr-file)
(tumme-write-comment curr-file comment))
files)))
(let ((comment (tumme-read-comment)))
(tumme-write-comments
(mapcar
(lambda (curr-file)
(cons curr-file comment))
(dired-get-marked-files)))))
(defun tumme-comment-thumbnail ()
"Add comment to current thumbnail in thumbnail buffer."
(interactive)
(let* ((file (tumme-original-file-name))
(comment (tumme-read-comment file)))
(tumme-write-comment file comment)
(tumme-write-comments (list (cons file comment)))
(tumme-update-property 'comment comment))
(tumme-display-thumb-properties))
@ -2085,21 +2106,21 @@ as initial value."
(defun tumme-get-comment (file)
"Get comment for file FILE."
(save-excursion
(let (end buf comment-beg comment (base-name (file-name-nondirectory file)))
(let (end buf comment-beg-pos comment-end-pos comment)
(setq buf (find-file tumme-db-file))
(goto-char (point-min))
(when (search-forward-regexp
(format "^%s" base-name) nil t)
(format "^%s" file) nil t)
(end-of-line)
(setq end (point))
(beginning-of-line)
(cond ((search-forward ";comment:" end t)
(setq comment-beg (point))
(setq comment-beg-pos (point))
(if (search-forward ";" end t)
(setq comment-end (- (point) 1))
(setq comment-end end))
(setq comment-end-pos (- (point) 1))
(setq comment-end-pos end))
(setq comment (buffer-substring
comment-beg comment-end)))))
comment-beg-pos comment-end-pos)))))
(kill-buffer buf)
comment)))
@ -2153,6 +2174,8 @@ non-nil."
(setq file (tumme-original-file-name))
(if tumme-track-movement
(tumme-track-original-file))
(tumme-create-display-image-buffer)
(display-buffer tumme-display-image-buffer)
(tumme-display-image file)))
(defun tumme-mouse-select-thumbnail (event)
@ -2421,6 +2444,107 @@ when using per-directory thumbnail file storage"))
(error nil))
(kill-buffer buffer)))
(defvar tumme-widget-list nil
"List to keep track of meta data in edit buffer.")
;;;###autoload
(defun tumme-dired-edit-comment-and-tags ()
"Edit comment and tags of current or marked image files.
Edit comment and tags for all marked image files in an
easy-to-use form."
(interactive)
(setq tumme-widget-list nil)
;; Setup buffer.
(let ((files (dired-get-marked-files)))
(switch-to-buffer "*Tumme Edit Meta Data*")
(kill-all-local-variables)
(make-local-variable 'widget-example-repeat)
(let ((inhibit-read-only t))
(erase-buffer))
(remove-overlays)
;; Some help for the user.
(widget-insert
"\nEdit comments and tags for each image. Separate multiple tags
with a comma. Move forward between fields using TAB or RET.
Move to the previous field using backtab (S-TAB). Save by
activating the Save button at the bottom of the form or cancel
the operation by activating the Cancel button.\n\n")
;; Here comes all images and a comment and tag field for each
;; image.
(let (thumb-file img comment-widget tag-widget)
(dolist (file files)
(setq thumb-file (tumme-thumb-name file)
img (create-image thumb-file))
(insert-image img)
(widget-insert "\n\nComment: ")
(setq comment-widget
(widget-create 'editable-field
:size 60
:format "%v "
:value (or (tumme-get-comment file) "")))
(widget-insert "\nTags: ")
(setq tag-widget
(widget-create 'editable-field
:size 60
:format "%v "
:value (or (mapconcat
(lambda (tag)
tag)
(tumme-list-tags file)
",") "")))
;; Save information in all widgets so that we can use it when
;; the user saves the form.
(setq tumme-widget-list
(append tumme-widget-list
(list (list file comment-widget tag-widget))))
(widget-insert "\n\n")))
;; Footer with Save and Cancel button.
(widget-insert "\n")
(widget-create 'push-button
:notify
(lambda (&rest ignore)
(tumme-save-information-from-widgets)
(bury-buffer)
(message "Done."))
"Save")
(widget-insert " ")
(widget-create 'push-button
:notify
(lambda (&rest ignore)
(bury-buffer)
(message "Operation canceled."))
"Cancel")
(widget-insert "\n")
(use-local-map widget-keymap)
(widget-setup)
;; Jump to the first widget.
(widget-forward 1)))
(defun tumme-save-information-from-widgets ()
"Save information found in `tumme-widget-list'.
Use the information in `tumme-widget-list' to save comments and
tags to their respective image file. Internal function used by
`tumme-dired-edit-comment-and-tags'."
(let (file comment tag-string tag-list lst)
(tumme-write-comments
(mapcar
(lambda (widget)
(setq file (car widget)
comment (widget-value (cadr widget)))
(cons file comment))
tumme-widget-list))
(tumme-write-tags
(dolist (widget tumme-widget-list lst)
(setq file (car widget)
tag-string (widget-value (car (cddr widget)))
tag-list (split-string tag-string ","))
(dolist (tag tag-list)
(push (cons file tag) lst))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;; TEST-SECTION ;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

View file

@ -165,22 +165,19 @@ If FILE is already visited, use its buffer and don't kill it.
Returns the top node with all its children.
If PARSE-DTD is non-nil, the DTD is parsed rather than skipped.
If PARSE-NS is non-nil, then QNAMES are expanded."
(let ((keep))
(if (get-file-buffer file)
(progn
(set-buffer (get-file-buffer file))
(setq keep (point)))
(let (auto-mode-alist) ; no need for xml-mode
(find-file file)))
(let ((xml (xml-parse-region (point-min)
(point-max)
(current-buffer)
parse-dtd parse-ns)))
(if keep
(goto-char keep)
(kill-buffer (current-buffer)))
xml)))
(if (get-file-buffer file)
(with-current-buffer (get-file-buffer file)
(save-excursion
(xml-parse-region (point-min)
(point-max)
(current-buffer)
parse-dtd parse-ns)))
(with-temp-buffer
(insert-file-contents file)
(xml-parse-region (point-min)
(point-max)
(current-buffer)
parse-dtd parse-ns))))
(defvar xml-name-re)

View file

@ -1,3 +1,130 @@
2006-07-28 Kim F. Storm <storm@cua.dk>
* commands.texi (Reading One Event): Fix last change.
2006-07-26 Chong Yidong <cyd@stupidchicken.com>
* commands.texi (Reading One Event): Document SECONDS argument for
read-event, read-char, and read-char-exclusive.
2006-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
* modes.texi (Multiline Font Lock): Can't use jit-lock-defer-multiline
to ensure correct identification.
2006-07-24 Richard Stallman <rms@gnu.org>
* text.texi (Clickable Text): Clarify.
* sequences.texi (Vector Functions): Delete duplicate xref.
* objects.texi (Function Type): Clarify.
* modes.texi (Keymaps and Minor Modes): List punct chars for minor
modes.
* lists.texi (List Variables): New node.
Material moved from other nodes.
* variables.texi (Setting Variables): add-to-list and
add-to-ordered-list moved to List Variables node.
2006-07-23 Thien-Thi Nguyen <ttn@gnu.org>
* text.texi (Links and Mouse-1):
For mouse-on-link-p, expand on arg POS.
2006-07-21 Kim F. Storm <storm@cua.dk>
* display.texi (Forcing Redisplay): Don't mention systems which
don't support sub-second timers for redisplay-preemption-period.
* os.texi (Terminal Output): Clarify text vs graphical terminal.
2006-07-21 Eli Zaretskii <eliz@gnu.org>
* frames.texi (Input Focus): Document that focus-follows-mouse has
no effect on MS-Windows.
2006-07-18 Richard Stallman <rms@gnu.org>
* display.texi (Forcing Redisplay): Cleanups in previous change.
* processes.texi (Low-Level Network): Make menu more convenient.
2006-07-18 Kim F. Storm <storm@cua.dk>
* display.texi (Forcing Redisplay): redisplay-preemption-period
only used on window systems. Add xref to Terminal Output.
* os.texi (Terminal Output): baud-rate only controls preemption on
non-window systems. Add xref to Forcing Redisplay.
* processes.texi (Low-Level Network): Rename node "Make Network"
to "Network Processes".
2006-07-18 Karl Berry <karl@gnu.org>
* variables.texi, functions.texi, customize.texi, loading.texi:
* edebug.texi, minibuf.texi: Fix page breaks through chapter 20.
2006-07-17 Chong Yidong <cyd@stupidchicken.com>
* commands.texi (Waiting): Document batch-mode sit-for behavior.
2006-07-17 Richard Stallman <rms@gnu.org>
* eval.texi, elisp.texi, text.texi: Use real doublequote inside menus.
Put period and comma inside quotes.
* loading.texi, markers.texi: Use real doublequote inside menus.
* windows.texi: Put point and comma inside quotes.
(Textual Scrolling): Use @samp for error message.
* variables.texi, tips.texi, syntax.texi, symbols.texi:
* strings.texi, streams.texi, processes.texi, os.texi:
* objects.texi, numbers.texi, modes.texi, minibuf.texi:
* lists.texi, keymaps.texi, intro.texi, hash.texi, internals.texi:
* gpl.texi, functions.texi, files.texi, frames.texi, doclicense.texi:
* display.texi, control.texi, commands.texi, buffers.texi, anti.texi:
Put point and comma inside quotes.
* control.texi (Processing of Errors): Add command-error-function.
* variables.texi (File Local Variables): Clarify that
file local variables make buffer-local bindings.
* modes.texi (Syntactic Font Lock): Give default for
font-lock-syntax-table.
2006-07-17 Nick Roberts <nickrob@snap.net.nz>
* text.texi (Special Properties): Clean up previous change.
2006-07-16 Karl Berry <karl@gnu.org>
* objects.texi, numbers.texi, strings.texi, lists.texi, hash.texi:
* control.texi: Fix bad page breaks through chapter 10 (control).
* anti.texi (Antinews): Reorder face-attribute fns to avoid
underfull hbox.
2006-07-15 Nick Roberts <nickrob@snap.net.nz>
* text.texi (Special Properties): Describe fontified text property
in relation to a character (not text).
2006-07-15 Kim F. Storm <storm@cua.dk>
* maps.texi (Standard Keymaps): Add xref for minibuffer maps.
Add apropos-mode-map, custom-mode-map, esc-map, global-map,
grep-mode-map, help-map, help-mode-map, kmacro-map, and tool-bar-map.
* anti.texi (Antinews): Mention redisplay function.
The kbd macro existed, but was not documented, before 22.x.
Function pos-visible-in-window-p is not new in 22.x, just enhanced.
2006-07-14 Nick Roberts <nickrob@snap.net.nz>
* display.texi (Displaying Messages): Add anchor.

View file

@ -23,6 +23,12 @@ earlier major release, Emacs 20, will have a completely rewritten
redisplay engine, which will be even simpler.)
@itemize @minus
@item
The function @code{redisplay} has been removed. To update the display
without delay, call @code{(sit-for 0)}. Since it is generally
considered wasteful to update the display if there are any pending
input events, no replacement for @code{(redisplay t)} is provided.
@item
The function @code{force-window-update} has been removed. It
shouldn't be needed, since changes in window contents are detected
@ -80,8 +86,8 @@ removed. In @code{defface} specifications, the @code{supports}
predicate is no longer supported.
@item
@code{face-attribute-relative-p} and @code{merge-face-attribute} have
been removed.
The functions @code{merge-face-attribute} and
@code{face-attribute-relative-p} have been removed.
@item
The priority of faces in a list supplied by the @code{:inherit} face
@ -91,7 +97,7 @@ in a while, to keep Emacs Lisp programmers on their toes.
@item
The @code{min-colors} face attribute, used for tailoring faces to
limited-color displays, does not exist. If in doubt, use colors like
``white'' and ``black'', which ought to be defined everywhere.
``white'' and ``black,'' which ought to be defined everywhere.
@item
The @code{tty-color-mode} frame parameter does not exist. You should
@ -126,9 +132,9 @@ and key sequences:
@itemize @minus
@item
The @code{kbd} macro has been removed. It isn't that difficult to
write key sequences using the string and vector representations, and
we want to encourage users to learn.
The @code{kbd} macro is now obsolete and is no longer documented.
It isn't that difficult to write key sequences using the string and
vector representations, and we want to encourage users to learn.
@item
Emacs no longer supports key remapping. You can do pretty much the
@ -164,7 +170,7 @@ the sentinel.
@item
Many programming shortcuts have been deleted, to provide you with the
enjoyment of ``rolling your own''. The macros @code{while-no-input},
enjoyment of ``rolling your own.'' The macros @code{while-no-input},
@code{with-local-quit}, and @code{with-selected-window}, along with
@code{dynamic-completion-table} and @code{lazy-completion-table} no
longer exist. Also, there are no built-in progress reporters;
@ -304,7 +310,7 @@ In @code{replace-match}, the replacement text now inherits properties
from the surrounding text.
@item
@code{mode-line-format} no longer supports the @code{:propertize},
The variable @code{mode-line-format} no longer supports the @code{:propertize},
@code{%i}, and @code{%I} constructs. The function
@code{format-mode-line} has been removed.
@ -319,8 +325,9 @@ The functions @code{window-pixel-edges} and
think in terms of lines and columns, not pixel coordinates. (Sometime
in the distant past, we will do away with graphical terminals
entirely, in favor of text terminals.) For similar reasons, the
functions @code{posn-at-point}, @code{posn-at-x-y}, and
@code{pos-visible-in-window-p} have been removed.
functions @code{posn-at-point} and @code{posn-at-x-y} have been removed, and
@code{pos-visible-in-window-p} no longer worries about partially
visible rows.
@item
The macro @code{save-selected-window} only saves the selected window

View file

@ -484,7 +484,7 @@ correspond to the new file name, unless the new name is already in
use.
If @var{filename} is @code{nil} or the empty string, that stands for
``no visited file''. In this case, @code{set-visited-file-name} marks
``no visited file.'' In this case, @code{set-visited-file-name} marks
the buffer as having no visited file, without changing the buffer's
modified flag.

View file

@ -2165,7 +2165,7 @@ same symbol that would normally represent that combination of mouse
button and modifier keys. The information about the window part is kept
elsewhere in the event---in the coordinates. But
@code{read-key-sequence} translates this information into imaginary
``prefix keys'', all of which are symbols: @code{header-line},
``prefix keys,'' all of which are symbols: @code{header-line},
@code{horizontal-scroll-bar}, @code{menu-bar}, @code{mode-line},
@code{vertical-line}, and @code{vertical-scroll-bar}. You can define
meanings for mouse clicks in special window parts by defining key
@ -2199,7 +2199,7 @@ single event.
None of the three functions below suppresses quitting.
@defun read-event &optional prompt inherit-input-method
@defun read-event &optional prompt inherit-input-method seconds
This function reads and returns the next event of command input, waiting
if necessary until an event is available. Events can come directly from
the user or from a keyboard macro.
@ -2220,6 +2220,15 @@ If @code{cursor-in-echo-area} is non-@code{nil}, then @code{read-event}
moves the cursor temporarily to the echo area, to the end of any message
displayed there. Otherwise @code{read-event} does not move the cursor.
If @var{seconds} is non-@code{nil}, it should be a number specifying
the maximum time to wait for input, in seconds. If no input arrives
within that time, @code{read-event} stops waiting and returns
@code{nil}. A floating-point value for @var{seconds} means to wait
for a fractional number of seconds. Some systems support only a whole
number of seconds; on these systems, @var{seconds} is rounded down.
If @var{seconds} is @code{nil}, @code{read-event} waits as long as
necessary for input to arrive.
If @code{read-event} gets an event that is defined as a help character,
then in some cases @code{read-event} processes the event directly without
returning. @xref{Help Functions}. Certain other events, called
@ -2237,7 +2246,7 @@ right-arrow function key:
@end example
@end defun
@defun read-char &optional prompt inherit-input-method
@defun read-char &optional prompt inherit-input-method seconds
This function reads and returns a character of command input. If the
user generates an event which is not a character (i.e. a mouse click or
function key event), @code{read-char} signals an error. The arguments
@ -2269,7 +2278,7 @@ the echo area.
@end example
@end defun
@defun read-char-exclusive &optional prompt inherit-input-method
@defun read-char-exclusive &optional prompt inherit-input-method seconds
This function reads and returns a character of command input. If the
user generates an event which is not a character,
@code{read-char-exclusive} ignores it and reads another event, until it
@ -2410,7 +2419,7 @@ individual events, which you can put in @code{unread-command-events}.
@defvar unread-command-char
This variable holds a character to be read as command input.
A value of -1 means ``empty''.
A value of -1 means ``empty.''
This variable is mostly obsolete now that you can use
@code{unread-command-events} instead; it exists only to support programs
@ -2534,9 +2543,10 @@ screen.
@defun sit-for seconds &optional nodisp
This function performs redisplay (provided there is no pending input
from the user), then waits @var{seconds} seconds, or until input is
available. The value is @code{t} if @code{sit-for} waited the full
time with no input arriving (see @code{input-pending-p} in @ref{Event
Input Misc}). Otherwise, the value is @code{nil}.
available. The usual purpose of @code{sit-for} is to give the user
time to read text that you display. The value is @code{t} if
@code{sit-for} waited the full time with no input arriving
(@pxref{Event Input Misc}). Otherwise, the value is @code{nil}.
The argument @var{seconds} need not be an integer. If it is a floating
point number, @code{sit-for} waits for a fractional number of seconds.
@ -2551,8 +2561,9 @@ If @var{nodisp} is non-@code{nil}, then @code{sit-for} does not
redisplay, but it still returns as soon as input is available (or when
the timeout elapses).
The usual purpose of @code{sit-for} is to give the user time to read
text that you display.
In batch mode (@pxref{Batch Mode}), @code{sit-for} cannot be
interrupted, even by input from the standard input descriptor. It is
thus equivalent to @code{sleep-for}, which is described below.
It is also possible to call @code{sit-for} with three arguments,
as @code{(sit-for @var{seconds} @var{millisec} @var{nodisp})},
@ -2898,7 +2909,7 @@ using the minibuffer. Usually it is more convenient for the user if you
change the major mode of the current buffer temporarily to a special
major mode, which should have a command to go back to the previous mode.
(The @kbd{e} command in Rmail uses this technique.) Or, if you wish to
give the user different text to edit ``recursively'', create and select
give the user different text to edit ``recursively,'' create and select
a new buffer in a special mode. In this mode, define a command to
complete the processing and go back to the previous buffer. (The
@kbd{m} command in Rmail does this.)

View file

@ -221,7 +221,7 @@ non-@code{nil}, the clause ``succeeds''; then @code{cond} evaluates its
@var{body-forms}, and the value of the last of @var{body-forms} becomes
the value of the @code{cond}. The remaining clauses are ignored.
If the value of @var{condition} is @code{nil}, the clause ``fails'', so
If the value of @var{condition} is @code{nil}, the clause ``fails,'' so
the @code{cond} moves on to the following clause, trying its
@var{condition}.
@ -623,7 +623,7 @@ error is signaled with data @code{(@var{tag} @var{value})}.
@subsection Examples of @code{catch} and @code{throw}
One way to use @code{catch} and @code{throw} is to exit from a doubly
nested loop. (In most languages, this would be done with a ``go to''.)
nested loop. (In most languages, this would be done with a ``go to.'')
Here we compute @code{(foo @var{i} @var{j})} for @var{i} and @var{j}
varying from 0 to 9:
@ -783,8 +783,11 @@ undesirable results. Instead, use @code{(error "%s" @var{string})}.
@end defun
@defun signal error-symbol data
This
@anchor{Definition of signal}
This function signals an error named by @var{error-symbol}. The
@c unfortunately, a page break is allowed if the anchor immediately
@c follows the @defun, due to hard-to-fix TeXnicalities.
function signals an error named by @var{error-symbol}. The
argument @var{data} is a list of additional Lisp objects relevant to the
circumstances of the error.
@ -846,11 +849,22 @@ executes in the environment of the @code{condition-case} that
established it; all functions called within that @code{condition-case}
have already been exited, and the handler cannot return to them.
If there is no applicable handler for the error, the current command is
terminated and control returns to the editor command loop, because the
command loop has an implicit handler for all kinds of errors. The
If there is no applicable handler for the error, it terminates the
current command and returns control to the editor command loop. (The
command loop has an implicit handler for all kinds of errors.) The
command loop's handler uses the error symbol and associated data to
print an error message.
print an error message. You can use the variable
@code{command-error-function} to control how this is done:
@defvar command-error-function
This variable, if non-@code{nil}, specifies a function to use to
handle errors that return control to the Emacs command loop. The
function should take three arguments: @var{data}, a list of the same
form that @code{condition-case} would bind to its variable;
@var{context}, a string describing the situation in which the error
occurred, or (more often) @code{nil}; and @code{caller}, the Lisp
function which called the primitive that signaled the error.
@end defvar
@cindex @code{debug-on-error} use
An error that has no explicit handler may call the Lisp debugger. The

View file

@ -699,7 +699,7 @@ that you specify for it.
@item (list @var{element-types}@dots{})
The value must be a list with exactly as many elements as the
@var{element-types} you have specified; and each element must fit the
@var{element-types} given; and each element must fit the
corresponding @var{element-type}.
For example, @code{(list integer string function)} describes a list of
@ -718,7 +718,7 @@ The value must fit at least one of @var{alternative-types}.
For example, @code{(choice integer string)} allows either an
integer or a string.
In the customization buffer, the user selects one of the alternatives
In the customization buffer, the user selects an alternative
using a menu, and can then edit the value in the usual way for that
alternative.

View file

@ -103,8 +103,8 @@ processes the available input before trying again to redisplay.
If this variable is @code{nil}, Emacs does not check for input during
redisplay, and redisplay cannot be preempted by input.
@emph{Note} that this variable is only available if Emacs is built
with support for sub-second timers.
This variable is only obeyed on graphical terminals. For
text terminals, see @ref{Terminal Output}.
@end defvar
@defvar redisplay-dont-pause
@ -141,7 +141,7 @@ boundary. @xref{Filling}.
indicate truncated and continued lines (@pxref{Fringes}). On a text
terminal, a @samp{$} in the rightmost column of the window indicates
truncation; a @samp{\} on the rightmost column indicates a line that
``wraps''. (The display table can specify alternate characters to use
``wraps.'' (The display table can specify alternate characters to use
for this; @pxref{Display Tables}).
@defopt truncate-lines
@ -1189,7 +1189,7 @@ The return value is @var{overlay}.
This is the only valid way to change the endpoints of an overlay. Do
not try modifying the markers in the overlay by hand, as that fails to
update other vital data structures and can cause some overlays to be
``lost''.
``lost.''
@end defun
@defun remove-overlays &optional start end name value
@ -2013,7 +2013,7 @@ A non-@code{nil} value specifies a bold font.
A non-@code{nil} value specifies an italic font.
@end table
For compatibility, you can still set these ``attributes'', even
For compatibility, you can still set these ``attributes,'' even
though they are not real face attributes. Here is what that does:
@table @code
@ -3767,7 +3767,7 @@ $$\pmatrix{ 2 & -1 & 0 \cr
@end ifnottex
@item disabled
Specifies transforming the image so that it looks ``disabled''.
Specifies transforming the image so that it looks ``disabled.''
@end table
@item :mask @var{mask}
@ -4804,7 +4804,7 @@ Any @var{args} are passed to @var{map-function}.
@subsection Abstract Display Example
Here is a simple example using functions of the ewoc package to
implement a ``color components display'', an area in a buffer that
implement a ``color components display,'' an area in a buffer that
represents a vector of three integers (itself representing a 24-bit RGB
value) in various ways.
@ -5320,7 +5320,7 @@ variable.
@section Window Systems
Emacs works with several window systems, most notably the X Window
System. Both Emacs and X use the term ``window'', but use it
System. Both Emacs and X use the term ``window,'' but use it
differently. An Emacs frame is a single window as far as X is
concerned; the individual Emacs windows are not known to X at all.

View file

@ -24,7 +24,7 @@ Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
This License is a kind of ``copyleft'', which means that derivative
This License is a kind of ``copyleft,'' which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
@ -45,9 +45,9 @@ This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The ``Document'', below,
work under the conditions stated herein. The ``Document,'' below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as ``you''. You accept the license if you
licensee, and is addressed as ``you.'' You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
@ -114,8 +114,8 @@ preceding the beginning of the body of the text.
A section ``Entitled XYZ'' means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as ``Acknowledgements'',
``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
specific section name mentioned below, such as ``Acknowledgements,''
``Dedications,'' ``Endorsements,'' or ``History.'') To ``Preserve the Title''
of such a section when you modify the Document means that it remains a
section ``Entitled XYZ'' according to this definition.
@ -211,7 +211,7 @@ F. Include, immediately after the copyright notices, a license notice
G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.@*
H. Include an unaltered copy of this License.@*
I. Preserve the section Entitled ``History'', Preserve its Title, and add
I. Preserve the section Entitled ``History,'' Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled ``History'' in the Document, create one
@ -225,7 +225,7 @@ J. Preserve the network location, if any, given in the Document for
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.@*
K. For any section Entitled ``Acknowledgements'' or ``Dedications'',
K. For any section Entitled ``Acknowledgements'' or ``Dedications,''
Preserve the Title of the section, and preserve in the section all
the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.@*
@ -245,7 +245,7 @@ of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
You may add a section Entitled ``Endorsements'', provided it contains
You may add a section Entitled ``Endorsements,'' provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
@ -286,7 +286,7 @@ Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled ``History''
in the various original documents, forming one section Entitled
``History''; likewise combine any sections Entitled ``Acknowledgements'',
``History''; likewise combine any sections Entitled ``Acknowledgements,''
and any sections Entitled ``Dedications.'' You must delete all sections
Entitled ``Endorsements.''
@sp 1
@ -340,8 +340,8 @@ of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
If a section in the Document is Entitled ``Acknowledgements'',
``Dedications'', or ``History'', the requirement (section 4) to Preserve
If a section in the Document is Entitled ``Acknowledgements,''
``Dedications,'' or ``History,'' the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
@sp 1
@ -390,7 +390,7 @@ under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
Free Documentation License.''
@end group
@end smallexample

View file

@ -1541,12 +1541,10 @@ The default value is @code{step}.
@end defopt
@defopt edebug-trace
Non-@code{nil} means display a trace of function entry and exit.
If this is non-@code{nil}, trace each function entry and exit.
Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one
function entry or exit per line, indented by the recursion level.
The default value is @code{nil}.
Also see @code{edebug-tracing}, in @ref{Trace Buffer}.
@end defopt

View file

@ -47,10 +47,10 @@ Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``GNU General Public License'', with the
Front-Cover texts being ``A GNU Manual'', and with the Back-Cover
Invariant Sections being ``GNU General Public License,'' with the
Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover
Texts as in (a) below. A copy of the license is included in the
section entitled ``GNU Free Documentation License''.
section entitled ``GNU Free Documentation License.''
(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
this GNU Manual, like GNU software. Copies published by the Free
@ -338,7 +338,7 @@ Kinds of Forms
we find the real function via the symbol.
* Function Forms:: Forms that call functions.
* Macro Forms:: Forms that call macros.
* Special Forms:: ``Special forms'' are idiosyncratic primitives,
* Special Forms:: "Special forms" are idiosyncratic primitives,
most of them extremely important.
* Autoloading:: Functions set up to load files
containing their real definitions.
@ -457,7 +457,7 @@ Loading
* Repeated Loading:: Precautions about loading a file twice.
* Named Features:: Loading a library if it isn't already loaded.
* Where Defined:: Finding which file defined a certain symbol.
* Unloading:: How to ``unload'' a library that was loaded.
* Unloading:: How to "unload" a library that was loaded.
* Hooks for Loading:: Providing code to be run when
particular libraries are loaded.
@ -741,7 +741,7 @@ Buffers
is visited.
* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
* Modification Time:: Determining whether the visited file was changed
``behind Emacs's back''.
"behind Emacs's back".
* Read Only Buffers:: Modifying text is not allowed in a
read-only buffer.
* The Buffer List:: How to look at all the existing buffers.
@ -830,8 +830,8 @@ Markers
* Marker Insertion Types:: Two ways a marker can relocate when you
insert where it points.
* Moving Markers:: Moving the marker to a new buffer or position.
* The Mark:: How ``the mark'' is implemented with a marker.
* The Region:: How to access ``the region''.
* The Mark:: How "the mark" is implemented with a marker.
* The Region:: How to access "the region".
Text
@ -862,8 +862,8 @@ Text
* Registers:: How registers are implemented. Accessing
the text or position stored in a register.
* Base 64:: Conversion to or from base 64 encoding.
* MD5 Checksum:: Compute the MD5 ``message digest''/``checksum''.
* Atomic Changes:: Installing several buffer changes ``atomically''.
* MD5 Checksum:: Compute the MD5 "message digest"/"checksum".
* Atomic Changes:: Installing several buffer changes "atomically".
* Change Hooks:: Supplying functions to be run when text is changed.
The Kill Ring

View file

@ -106,7 +106,7 @@ described below (@pxref{Forms}).
A Lisp object that is intended to be evaluated is called a @dfn{form}.
How Emacs evaluates a form depends on its data type. Emacs has three
different kinds of form that are evaluated differently: symbols, lists,
and ``all other types''. This section describes all three kinds, one by
and ``all other types.'' This section describes all three kinds, one by
one, starting with the ``all other types'' which are self-evaluating
forms.
@ -118,7 +118,7 @@ forms.
we find the real function via the symbol.
* Function Forms:: Forms that call functions.
* Macro Forms:: Forms that call macros.
* Special Forms:: ``Special forms'' are idiosyncratic primitives,
* Special Forms:: "Special forms" are idiosyncratic primitives,
most of them extremely important.
* Autoloading:: Functions set up to load files
containing their real definitions.

View file

@ -658,7 +658,7 @@ The file lock is really a file, a symbolic link with a special name,
stored in the same directory as the file you are editing.
When you access files using NFS, there may be a small probability that
you and another user will both lock the same file ``simultaneously''.
you and another user will both lock the same file ``simultaneously.''
If this happens, it is possible for the two users to make changes
simultaneously, but Emacs will still warn the user who saves second.
Also, the detection of modification of a buffer visiting a file changed
@ -1681,7 +1681,7 @@ return value, but backup version numbers are kept.
@end defun
@defun file-name-extension filename &optional period
This function returns @var{filename}'s final ``extension'', if any,
This function returns @var{filename}'s final ``extension,'' if any,
after applying @code{file-name-sans-versions} to remove any
version/backup part. The extension, in a file name, is the part that
starts with the last @samp{.} in the last name component (minus
@ -2653,7 +2653,7 @@ unlocking the buffer if it is locked.
possibly others to be added in the future. It need not implement all
these operations itself---when it has nothing special to do for a
certain operation, it can reinvoke the primitive, to handle the
operation ``in the usual way''. It should always reinvoke the primitive
operation ``in the usual way.'' It should always reinvoke the primitive
for an operation it does not recognize. Here's one way to do this:
@smallexample

View file

@ -641,7 +641,7 @@ This variable specifies how to blink the cursor. Each element has the
form @code{(@var{on-state} . @var{off-state})}. Whenever the cursor
type equals @var{on-state} (comparing using @code{equal}), the
corresponding @var{off-state} specifies what the cursor looks like
when it blinks ``off''. Both @var{on-state} and @var{off-state}
when it blinks ``off.'' Both @var{on-state} and @var{off-state}
should be suitable values for the @code{cursor-type} frame parameter.
There are various defaults for how to blink each type of cursor, if
@ -967,7 +967,7 @@ internals of Emacs.
@defun visible-frame-list
This function returns a list of just the currently visible frames.
@xref{Visibility of Frames}. (Terminal frames always count as
``visible'', even though only the selected one is actually displayed.)
``visible,'' even though only the selected one is actually displayed.)
@end defun
@defun next-frame &optional frame minibuf
@ -1189,7 +1189,9 @@ change it.
This option is how you inform Emacs whether the window manager transfers
focus when the user moves the mouse. Non-@code{nil} says that it does.
When this is so, the command @code{other-frame} moves the mouse to a
position consistent with the new selected frame.
position consistent with the new selected frame. (This option has no
effect on MS-Windows, where the mouse pointer is always automatically
moved by the OS to the selected frame.)
@end defopt
@node Visibility of Frames
@ -1251,7 +1253,7 @@ changes. @xref{Misc Events}.
Most window systems use a desktop metaphor. Part of this metaphor is
the idea that windows are stacked in a notional third dimension
perpendicular to the screen surface, and thus ordered from ``highest''
to ``lowest''. Where two windows overlap, the one higher up covers
to ``lowest.'' Where two windows overlap, the one higher up covers
the one underneath. Even a window at the bottom of the stack can be
seen if no other window overlaps it.
@ -1259,7 +1261,7 @@ seen if no other window overlaps it.
@cindex lowering a frame
A window's place in this ordering is not fixed; in fact, users tend
to change the order frequently. @dfn{Raising} a window means moving
it ``up'', to the top of the stack. @dfn{Lowering} a window means
it ``up,'' to the top of the stack. @dfn{Lowering} a window means
moving it to the bottom of the stack. This motion is in the notional
third dimension only, and does not change the position of the window
on the screen.
@ -1519,7 +1521,7 @@ the menu keymap as necessary.
A dialog box is a variant of a pop-up menu---it looks a little
different, it always appears in the center of a frame, and it has just
one level and one or more buttons. The main use of dialog boxes is
for asking questions that the user can answer with ``yes'', ``no'',
for asking questions that the user can answer with ``yes,'' ``no,''
and a few other alternatives. With a single button, they can also
force the user to acknowledge important information. The functions
@code{y-or-n-p} and @code{yes-or-no-p} use dialog boxes instead of the
@ -1780,7 +1782,7 @@ colors.)
These functions provide a way to determine which color names are
valid, and what they look like. In some cases, the value depends on the
@dfn{selected frame}, as described below; see @ref{Input Focus}, for the
meaning of the term ``selected frame''.
meaning of the term ``selected frame.''
@defun color-defined-p color &optional frame
This function reports whether a color name is meaningful. It returns
@ -2150,7 +2152,7 @@ software (as a string). Really this means whoever distributes the X
server.
When the developers of X labelled software distributors as
``vendors'', they showed their false assumption that no system could
``vendors,'' they showed their false assumption that no system could
ever be developed and distributed noncommercially.
@end defun

View file

@ -485,7 +485,7 @@ more convenient than making the function definition point to itself
practice).
We often identify functions with the symbols used to name them. For
example, we often speak of ``the function @code{car}'', not
example, we often speak of ``the function @code{car},'' not
distinguishing between the symbol @code{car} and the primitive
subr-object that is its function definition. For most purposes, the
distinction is not important.
@ -766,12 +766,10 @@ in turn, and returns a list of the results.
The argument @var{sequence} can be any kind of sequence except a
char-table; that is, a list, a vector, a bool-vector, or a string. The
result is always a list. The length of the result is the same as the
length of @var{sequence}.
length of @var{sequence}. For example:
@smallexample
@group
@exdent @r{For example:}
(mapcar 'car '((a b) (c d) (e f)))
@result{} (a c e)
(mapcar '1+ [1 2 3])
@ -846,7 +844,7 @@ bool-vector, or a string.
In Lisp, a function is a list that starts with @code{lambda}, a
byte-code function compiled from such a list, or alternatively a
primitive subr-object; names are ``extra''. Although usually functions
primitive subr-object; names are ``extra.'' Although usually functions
are defined with @code{defun} and given names at the same time, it is
occasionally more concise to use an explicit lambda expression---an
anonymous function. Such a list is valid wherever a function name is.

View file

@ -75,13 +75,13 @@ modification follow.
@item
This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The ``Program'', below,
under the terms of this General Public License. The ``Program,'' below,
refers to any such program or work, and a ``work based on the Program''
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term ``modification''.) Each licensee is addressed as ``you''.
the term ``modification.'') Each licensee is addressed as ``you.''
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
@ -274,7 +274,7 @@ address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and ``any
later version'', you have the option of following the terms and conditions
later version,'' you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software

View file

@ -79,13 +79,13 @@ alternatives:
Keys which are numbers are ``the same'' if they are @code{equal}, that
is, if they are equal in value and either both are integers or both
are floating point numbers; otherwise, two distinct objects are never
``the same''.
``the same.''
@item eq
Any two distinct Lisp objects are ``different'' as keys.
@item equal
Two Lisp objects are ``the same'', as keys, if they are equal
Two Lisp objects are ``the same,'' as keys, if they are equal
according to @code{equal}.
@end table
@ -269,7 +269,6 @@ compared case-insensitively.
@example
(defun case-fold-string= (a b)
(compare-strings a nil nil b nil nil t))
(defun case-fold-string-hash (a)
(sxhash (upcase a)))

View file

@ -1270,7 +1270,7 @@ Non-@code{nil} means current value of @code{start} was the beginning of a line
when it was chosen.
@item too_small_ok
Non-@code{nil} means don't delete this window for becoming ``too small''.
Non-@code{nil} means don't delete this window for becoming ``too small.''
@item height_fixed_p
This field is temporarily set to 1 to fix the height of the selected

View file

@ -160,7 +160,7 @@ printer'' refer to those routines in Lisp that convert textual
representations of Lisp objects into actual Lisp objects, and vice
versa. @xref{Printed Representation}, for more details. You, the
person reading this manual, are thought of as ``the programmer'' and are
addressed as ``you''. ``The user'' is the person who uses Lisp
addressed as ``you.'' ``The user'' is the person who uses Lisp
programs, including those you write.
@cindex fonts in this manual
@ -233,7 +233,7 @@ the examples in this manual, this is indicated with @samp{@result{}}:
@end example
@noindent
You can read this as ``@code{(car '(1 2))} evaluates to 1''.
You can read this as ``@code{(car '(1 2))} evaluates to 1.''
When a form is a macro call, it expands into a new form for Lisp to
evaluate. We show the result of the expansion with

View file

@ -2232,7 +2232,7 @@ Next we define the menu items:
Note the symbols which the bindings are ``made for''; these appear
inside square brackets, in the key sequence being defined. In some
cases, this symbol is the same as the command name; sometimes it is
different. These symbols are treated as ``function keys'', but they are
different. These symbols are treated as ``function keys,'' but they are
not real function keys on the keyboard. They do not affect the
functioning of the menu itself, but they are ``echoed'' in the echo area
when the user selects from the menu, and they appear in the output of

View file

@ -20,6 +20,7 @@ the whole list.
* List-related Predicates:: Is this object a list? Comparing two lists.
* List Elements:: Extracting the pieces of a list.
* Building Lists:: Creating list structure.
* List Variables:: Modifying lists stored in variables.
* Modifying Lists:: Storing new pieces into an existing list.
* Sets And Lists:: A list can represent a finite mathematical set.
* Association Lists:: A list can represent a finite relation or mapping.
@ -431,20 +432,6 @@ used in this example and the function named @code{list} described below;
any symbol can serve both purposes.
@end defun
@defmac push newelt listname
This macro provides an alternative way to write
@code{(setq @var{listname} (cons @var{newelt} @var{listname}))}.
@example
(setq l '(a b))
@result{} (a b)
(push 'c l)
@result{} (c a b)
l
@result{} (c a b)
@end example
@end defmac
@defun list &rest objects
This function creates a list with @var{objects} as its elements. The
resulting list is always @code{nil}-terminated. If no @var{objects}
@ -704,6 +691,124 @@ Some examples:
@end example
@end defun
@node List Variables
@section Modifying List Variables
These functions, and one macro, provide convenient ways
to modify a list which is stored in a variable.
@defmac push newelt listname
This macro provides an alternative way to write
@code{(setq @var{listname} (cons @var{newelt} @var{listname}))}.
@example
(setq l '(a b))
@result{} (a b)
(push 'c l)
@result{} (c a b)
l
@result{} (c a b)
@end example
@end defmac
Two functions modify lists that are the values of variables.
@defun add-to-list symbol element &optional append
This function sets the variable @var{symbol} by consing @var{element}
onto the old value, if @var{element} is not already a member of that
value. It returns the resulting list, whether updated or not. The
value of @var{symbol} had better be a list already before the call.
Membership is tested using @code{equal}.
Normally, if @var{element} is added, it is added to the front of
@var{symbol}, but if the optional argument @var{append} is
non-@code{nil}, it is added at the end.
The argument @var{symbol} is not implicitly quoted; @code{add-to-list}
is an ordinary function, like @code{set} and unlike @code{setq}. Quote
the argument yourself if that is what you want.
@end defun
Here's a scenario showing how to use @code{add-to-list}:
@example
(setq foo '(a b))
@result{} (a b)
(add-to-list 'foo 'c) ;; @r{Add @code{c}.}
@result{} (c a b)
(add-to-list 'foo 'b) ;; @r{No effect.}
@result{} (c a b)
foo ;; @r{@code{foo} was changed.}
@result{} (c a b)
@end example
An equivalent expression for @code{(add-to-list '@var{var}
@var{value})} is this:
@example
(or (member @var{value} @var{var})
(setq @var{var} (cons @var{value} @var{var})))
@end example
@defun add-to-ordered-list symbol element &optional order
This function sets the variable @var{symbol} by inserting
@var{element} into the old value, which must be a list, at the
position specified by @var{order}. If @var{element} is already a
member of the list, its position in the list is adjusted according
to @var{order}. Membership is tested using @code{eq}.
This function returns the resulting list, whether updated or not.
The @var{order} is typically a number (integer or float), and the
elements of the list are sorted in non-decreasing numerical order.
@var{order} may also be omitted or @code{nil}. Then the numeric order
of @var{element} stays unchanged if it already has one; otherwise,
@var{element} has no numeric order. Elements without a numeric list
order are placed at the end of the list, in no particular order.
Any other value for @var{order} removes the numeric order of @var{element}
if it already has one; otherwise, it is equivalent to @code{nil}.
The argument @var{symbol} is not implicitly quoted;
@code{add-to-ordered-list} is an ordinary function, like @code{set}
and unlike @code{setq}. Quote the argument yourself if that is what
you want.
The ordering information is stored in a hash table on @var{symbol}'s
@code{list-order} property.
@end defun
Here's a scenario showing how to use @code{add-to-ordered-list}:
@example
(setq foo '())
@result{} nil
(add-to-ordered-list 'foo 'a 1) ;; @r{Add @code{a}.}
@result{} (a)
(add-to-ordered-list 'foo 'c 3) ;; @r{Add @code{c}.}
@result{} (a c)
(add-to-ordered-list 'foo 'b 2) ;; @r{Add @code{b}.}
@result{} (a b c)
(add-to-ordered-list 'foo 'b 4) ;; @r{Move @code{b}.}
@result{} (a c b)
(add-to-ordered-list 'foo 'd) ;; @r{Append @code{d}.}
@result{} (a c b d)
(add-to-ordered-list 'foo 'e) ;; @r{Add @code{e}}.
@result{} (a c b e d)
foo ;; @r{@code{foo} was changed.}
@result{} (a c b e d)
@end example
@node Modifying Lists
@section Modifying Existing List Structure
@cindex destructive list operations
@ -1412,8 +1517,8 @@ the value @code{cones}; the key @code{oak} is associated with
@end group
@end example
The associated values in an alist may be any Lisp objects; so may the
keys. For example, in the following alist, the symbol @code{a} is
Both the values and the keys in an alist may be any Lisp objects.
For example, in the following alist, the symbol @code{a} is
associated with the number @code{1}, and the string @code{"b"} is
associated with the @emph{list} @code{(2 3)}, which is the @sc{cdr} of
the alist element:
@ -1439,7 +1544,7 @@ below) to find the element containing a given value. When neither of
these considerations is important, the choice is a matter of taste, as
long as you are consistent about it for any given alist.
Note that the same alist shown above could be regarded as having the
The same alist shown above could be regarded as having the
associated value in the @sc{cdr} of the element; the value associated
with @code{rose} would be the list @code{(red)}.
@ -1503,7 +1608,7 @@ a @sc{cdr} @code{equal} to @var{value}.
@code{rassoc} is like @code{assoc} except that it compares the @sc{cdr} of
each @var{alist} association instead of the @sc{car}. You can think of
this as ``reverse @code{assoc}'', finding the key for a given value.
this as ``reverse @code{assoc},'' finding the key for a given value.
@end defun
@defun assq key alist
@ -1544,7 +1649,7 @@ a @sc{cdr} @code{eq} to @var{value}.
@code{rassq} is like @code{assq} except that it compares the @sc{cdr} of
each @var{alist} association instead of the @sc{car}. You can think of
this as ``reverse @code{assq}'', finding the key for a given value.
this as ``reverse @code{assq},'' finding the key for a given value.
For example:
@ -1557,7 +1662,7 @@ For example:
@result{} nil
@end smallexample
Note that @code{rassq} cannot search for a value stored in the @sc{car}
@code{rassq} cannot search for a value stored in the @sc{car}
of the @sc{cdr} of an element:
@smallexample

View file

@ -43,7 +43,7 @@ containing Lisp code.
* Repeated Loading:: Precautions about loading a file twice.
* Named Features:: Loading a library if it isn't already loaded.
* Where Defined:: Finding which file defined a certain symbol.
* Unloading:: How to ``unload'' a library that was loaded.
* Unloading:: How to "unload" a library that was loaded.
* Hooks for Loading:: Providing code to be run when
particular libraries are loaded.
@end menu
@ -155,8 +155,10 @@ file, and it is @code{nil} otherwise.
@end defvar
@defvar load-read-function
This
@anchor{Definition of load-read-function}
This variable specifies an alternate expression-reading function for
@c do not allow page break at anchor; work around Texinfo deficiency.
variable specifies an alternate expression-reading function for
@code{load} and @code{eval-region} to use instead of @code{read}.
The function should accept one argument, just as @code{read} does.

View file

@ -12,11 +12,17 @@ Some of these exist when Emacs is first started, others are
loaded only when their respective mode is used. This is not
an exhaustive list.
Several keymaps are used in the minibuffer. @xref{Completion Commands}.
Almost all of these maps are used as local maps. Indeed, of the modes
that presently exist, only Vip mode and Terminal mode ever change the
global keymap.
@table @code
@item apropos-mode-map
@vindex apropos-mode-map
A sparse keymap for @code{apropos} buffers.
@item Buffer-menu-mode-map
@vindex Buffer-menu-mode-map
A full keymap used by Buffer Menu mode.
@ -38,6 +44,9 @@ A sparse keymap for subcommands of the prefix @kbd{C-x 5}.
@item ctl-x-map
A full keymap for @kbd{C-x} commands.
@item custom-mode-map
A full keymap for Custom mode.
@item debugger-mode-map
@vindex debugger-mode-map
A full keymap used by Debugger mode.
@ -66,6 +75,10 @@ A full keymap used by Electric Command History mode.
@vindex emacs-lisp-mode-map
A sparse keymap used by Emacs Lisp mode.
@item esc-map
@vindex esc-map
A full keymap for @kbd{ESC} (or @kbd{Meta}) commands.
@item facemenu-menu
@vindex facemenu-menu
The sparse keymap that displays the Text Properties menu.
@ -109,6 +122,21 @@ If there are none, then it contains an empty sparse keymap.
The sparse keymap for Fundamental mode.@*
It is empty and should not be changed.
@item global-map
The full keymap containing default global key bindings.@*
Modes should not modify the Global map.
@item grep-mode-map
@vindex grep-mode-map
The keymap for @code{grep-mode} buffers.
@item help-map
The sparse keymap for the keys that follow the help character @kbd{C-h}.
@item help-mode-map
@vindex help-mode-map
The sparse keymap for Help mode.
@item Helper-help-map
@vindex Helper-help-map
A full keymap used by the help utility package.@*
@ -132,6 +160,11 @@ search.
A keymap for translating keys. This one overrides ordinary key
bindings, unlike @code{function-key-map}. @xref{Translating Input}.
@item kmacro-map
@vindex kmacro-map
A sparse keymap for keys that follows the @kbd{C-x C-k} prefix
search.
@item lisp-interaction-mode-map
@vindex lisp-interaction-mode-map
A sparse keymap used by Lisp Interaction mode.
@ -184,6 +217,9 @@ time.
@vindex text-mode-map
A sparse keymap used by Text mode.
@item tool-bar-map
The keymap defining the contents of the tool bar.
@item view-mode-map
@vindex view-mode-map
A full keymap used by View mode.

View file

@ -21,8 +21,8 @@ deleted, so that it stays with the two characters on either side of it.
* Marker Insertion Types:: Two ways a marker can relocate when you
insert where it points.
* Moving Markers:: Moving the marker to a new buffer or position.
* The Mark:: How ``the mark'' is implemented with a marker.
* The Region:: How to access ``the region''.
* The Mark:: How "the mark" is implemented with a marker.
* The Region:: How to access "the region".
@end menu
@node Overview of Markers

View file

@ -208,8 +208,10 @@ properties unconditionally, regardless of the value of this variable.
@end defvar
@defvar minibuffer-local-map
This
@anchor{Definition of minibuffer-local-map}
This is the default local keymap for reading from the minibuffer. By
@c avoid page break at anchor; work around Texinfo deficiency
is the default local keymap for reading from the minibuffer. By
default, it makes the following bindings:
@table @asis
@ -1509,7 +1511,7 @@ the call.
This function asks the user a question, expecting input in the echo
area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the
user types @kbd{n}. This function also accepts @key{SPC} to mean yes
and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit'', like
and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit,'' like
@kbd{C-g}, because the question might look like a minibuffer and for
that reason the user might try to use @kbd{C-]} to get out. The answer
is a single character, with no @key{RET} needed to terminate it. Upper
@ -1699,7 +1701,7 @@ answer); @var{function} is a function of one argument (an object from
When the user responds with @var{char}, @code{map-y-or-n-p} calls
@var{function}. If it returns non-@code{nil}, the object is considered
``acted upon'', and @code{map-y-or-n-p} advances to the next object in
``acted upon,'' and @code{map-y-or-n-p} advances to the next object in
@var{list}. If it returns @code{nil}, the prompt is repeated for the
same object.

View file

@ -145,7 +145,7 @@ If @var{function} is already present in @var{hook} (comparing using
It is best to design your hook functions so that the order in which they
are executed does not matter. Any dependence on the order is ``asking
for trouble''. However, the order is predictable: normally,
for trouble.'' However, the order is predictable: normally,
@var{function} goes at the front of the hook list, so it will be
executed first (barring another @code{add-hook} call). If the optional
argument @var{append} is non-@code{nil}, the new hook function goes at
@ -1139,7 +1139,7 @@ it should not use @code{after-change-major-mode-hook} as of yet.
When you defined a major mode using @code{define-derived-mode}, it
automatically makes sure these conventions are followed. If you
define a major mode ``from scratch'', not using
define a major mode ``from scratch,'' not using
@code{define-derived-mode}, make sure the major mode command follows
these and other conventions. @xref{Major Mode Conventions}. You use
these functions to do it properly.
@ -1354,9 +1354,8 @@ substituting your own definition of @code{self-insert-command} for the
standard one. The editor command loop handles this function specially.)
The key sequences bound in a minor mode should consist of @kbd{C-c}
followed by a punctuation character @emph{other than} @kbd{@{},
@kbd{@}}, @kbd{<}, @kbd{>}, @kbd{:}, and @kbd{;}. (Those few punctuation
characters are reserved for major modes.)
followed by one of @kbd{.,/?`'"[]\|~!#$%^&*()-_+=}. (The other
punctuation characters are reserved for major modes.)
@node Defining Minor Modes
@subsection Defining Minor Modes
@ -1456,7 +1455,7 @@ See the command \\[hungry-electric-delete]."
@end smallexample
@noindent
This defines a minor mode named ``Hungry mode'', a command named
This defines a minor mode named ``Hungry mode,'' a command named
@code{hungry-mode} to toggle it, a variable named @code{hungry-mode}
which indicates whether the mode is enabled, and a variable named
@code{hungry-mode-map} which holds the keymap that is active when the
@ -2918,7 +2917,8 @@ way for a mode to set this variable to @code{t} is with
@defvar font-lock-syntax-table
This variable holds the syntax table to use for fontification of
comments and strings. Specify it using @var{syntax-alist} in
@code{font-lock-defaults}.
@code{font-lock-defaults}. If this is @code{nil}, fontification uses
the buffer's syntax table.
@end defvar
@defvar font-lock-beginning-of-syntax-function
@ -3049,7 +3049,7 @@ constructs:
@itemize
@item
Place a @code{font-lock-multiline} or @code{jit-lock-defer-multiline}
Place a @code{font-lock-multiline}
property on the construct when it is added to the buffer.
@item
Use @code{font-lock-fontify-region-function} hook to extend the scan
@ -3076,7 +3076,6 @@ this can be an attractive solution.
Place a @code{jit-lock-defer-multiline} property on the construct.
This works only if @code{jit-lock-contextually} is used, but it can
handle the case where highlighting depends on subsequent lines.
@item
@end itemize
@menu

View file

@ -606,12 +606,11 @@ otherwise, it signals an @code{arith-error} error.
@result{} 2.5
(/ 25 3 2)
@result{} 4
@group
(/ -17 6)
@result{} -2
@result{} -2 @r{(could in theory be @minus{}3 on some machines)}
@end group
@end example
The result of @code{(/ -17 6)} could in principle be -3 on some
machines.
@end defun
@defun % dividend divisor
@ -738,7 +737,7 @@ and returns that value as a floating point number.
sequence of @dfn{bits} (digits which are either zero or one). A bitwise
operation acts on the individual bits of such a sequence. For example,
@dfn{shifting} moves the whole sequence left or right one or more places,
reproducing the same pattern ``moved over''.
reproducing the same pattern ``moved over.''
The bitwise operations in Emacs Lisp apply only to integers.

View file

@ -632,7 +632,7 @@ come to refer to any structure made out of cons cells.
@cindex atom
Because cons cells are so central to Lisp, we also have a word for
``an object which is not a cons cell''. These objects are called
``an object which is not a cons cell.'' These objects are called
@dfn{atoms}.
@cindex parenthesis
@ -1195,18 +1195,19 @@ Hash tables have no read syntax, and print using hash notation.
@node Function Type
@subsection Function Type
Just as functions in other programming languages are executable,
@dfn{Lisp function} objects are pieces of executable code. However,
functions in Lisp are primarily Lisp objects, and only secondarily the
text which represents them. These Lisp objects are lambda expressions:
lists whose first element is the symbol @code{lambda} (@pxref{Lambda
Expressions}).
Lisp functions are executable code, just like functions in other
programming languages. In Lisp, unlike most languages, functions are
also Lisp objects. A non-compiled function in Lisp is a lambda
expression: that is, a list whose first element is the symbol
@code{lambda} (@pxref{Lambda Expressions}).
In most programming languages, it is impossible to have a function
without a name. In Lisp, a function has no intrinsic name. A lambda
expression is also called an @dfn{anonymous function} (@pxref{Anonymous
Functions}). A named function in Lisp is actually a symbol with a valid
function in its function cell (@pxref{Defining Functions}).
expression can be called as a function even though it has no name; to
emphasize this, we also call it an @dfn{anonymous function}
(@pxref{Anonymous Functions}). A named function in Lisp is just a
symbol with a valid function in its function cell (@pxref{Defining
Functions}).
Most of the time, functions are called when their names are written in
Lisp expressions in Lisp programs. However, you can construct or obtain
@ -1238,7 +1239,7 @@ without qualification, we mean a Lisp macro, not a keyboard macro.
A @dfn{primitive function} is a function callable from Lisp but
written in the C programming language. Primitive functions are also
called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is
derived from ``subroutine''.) Most primitive functions evaluate all
derived from ``subroutine.'') Most primitive functions evaluate all
their arguments when they are called. A primitive function that does
not evaluate all its arguments is called a @dfn{special form}
(@pxref{Special Forms}).@refill
@ -1822,12 +1823,14 @@ This function returns a symbol naming the primitive type of
@example
(type-of 1)
@result{} integer
@group
(type-of 'nil)
@result{} symbol
(type-of '()) ; @r{@code{()} is @code{nil}.}
@result{} symbol
(type-of '(x))
@result{} cons
@end group
@end example
@end defun

View file

@ -1836,10 +1836,11 @@ tells you what Emacs thinks is the output speed of the terminal.
This variable's value is the output speed of the terminal, as far as
Emacs knows. Setting this variable does not change the speed of actual
data transmission, but the value is used for calculations such as
padding. It also affects decisions about whether to scroll part of the
screen or repaint---even when using a window system. (We designed it
this way despite the fact that a window system has no true ``output
speed'', to give you a way to tune these decisions.)
padding.
It also affects decisions about whether to scroll part of the
screen or repaint on text terminals. @xref{Forcing Redisplay},
for the corresponding functionality on graphical terminals.
The value is measured in baud.
@end defvar

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