1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-08 15:35:02 +00:00
Patches applied:

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

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

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

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

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

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-518
This commit is contained in:
Karoly Lorentey 2006-02-23 03:17:52 +00:00
commit 5a5654159a
37 changed files with 1095 additions and 403 deletions

View File

@ -1,3 +1,8 @@
2006-02-22 Carsten Dominik <dominik@science.uva.nl>
* orgcard.tex: (section{Links}): Rewritten to cover the modified
link system.
2006-02-18 Bill Wohler <wohler@newt.com>
Release MH-E version 7.92.

View File

@ -1,11 +1,11 @@
% Reference Card for Org Mode 4.04
% Reference Card for Org Mode 4.05
%
%**start of header
\newcount\columnsperpage
% This file can be printed with 1, 2, or 3 columns per page (see below).
% At the moment this card works quite nicely in 3 column format and
% currently takes 2 full pages. It is thus suited to producing one
% currently takes 2 full pages. It is thus suited to producing one
% double-side page when printed.
% There are a couple of tweaks in the format of this card which make it work
@ -18,8 +18,7 @@
\columnsperpage=3
% Copyright (C) 2005, 2006 Free Software Foundation, Inc.
% Copyright (c) 2004 Philip Rooke
% Copyright (c) 2004 Philip Rooke, 2005, 2006 Free Software Foundation
% GNU Emacs is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
@ -59,7 +58,7 @@
% Thanks to Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
% for their many good ideas.
\def\orgversionnumber{4.04}
\def\orgversionnumber{4.05}
\def\year{2006}
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
@ -89,7 +88,7 @@
\def\ncolumns{\the\columnsperpage}
\message{[\ncolumns\space
\message{[\ncolumns\space
column\if 1\ncolumns\else s\fi\space per page]}
\def\scaledmag#1{ scaled \magstep #1}
@ -174,7 +173,7 @@
\def\bye{\par\vfill\supereject
\if a\abc \else\null\vfill\eject\fi
\if a\abc \else\null\vfill\eject\fi
\end}
\end}
\fi
% we won't be using math mode much, so redefine some of the characters
@ -356,18 +355,8 @@ \section{TODO Items}
\key{raise priority of current item}{S-UP$^4$}
\key{lower priority of current item}{S-DOWN$^4$}
\vskip 1mm
per-file TODO workflow states: add line(s) like$^3$:
\vskip -1mm
\beginexample%
\#+SEQ_TODO: TODO PROCRASTINATE BLUFF DONE
\endexample
\vskip -1mm
per-file TODO keywords: add line(s) like$^3$:
\vskip -1mm
\beginexample%
\#+TYP_TODO: Phil home work DONE
\endexample
\key{\kbd{\#+SEQ_TODO: TODO TRY BLUFF DONE}}{\rm todo workflow}
\key{\kbd{\#+TYP_TODO: Phil home work DONE}}{\rm todo types}
\section{Timestamps}
@ -398,21 +387,26 @@ \section{Links}
\key{insert a link (TAB completes stored links)}{C-c C-l}
\key{insert file link with file name completion}{C-u C-c C-l}
\key{open link at point}{C-c C-o}
\key{open file links in emacs}{C-u C-c C-o}
\key{open link at point}{mouse-2}
\key{open file links in emacs}{mouse-3}
\key{open file links in emacs (\kbd{C-u} : in emacs)}{C-c C-o}
\key{open link at point (3: in emacs)}{mouse-2/3}
%\key{open file links in emacs}{mouse-3}
\key{record a position in mark ring}{C-c \%}
\key{jump back to last followed link(s)}{C-c \&}
{\bf Link types}
{\bf Internal Links}
\key{\kbd{<<My Target>>}}{\rm target}
\key{\kbd{<<<My Target>>>}}{\rm radio target$^3$}
\key{\kbd{[[*this text]]}}{\rm find headline}
\metax{\kbd{[[this text]]}}{\rm find target or text in buffer}
{\bf External Links}
\key{\kbd{*CamelCaseWord}}{\rm search headline}
\key{\kbd{CamelCaseWord}}{\rm search in buffer}
\key{\kbd{<file:/home/dominik/img/mars.jpg>}}{\rm file, absolute}
\key{\kbd{<file:papers/last.pdf>}}{\rm file, relative}
\key{\kbd{<file:~/code/main.c:255>}}{\rm file with line nr.}
\key{\kbd{<file:projects.org::*CamelCaseWord>}}{\rm search headline}
\key{\kbd{<file:projects.org::find me>}}{\rm search string}
\key{\kbd{<file:projects.org::/regexp/>}}{\rm search regexp}
\key{\kbd{<file:projects.org::*that text>}}{\rm find headline}
\key{\kbd{<file:projects.org::find me>}}{\rm find tgt/string}
\key{\kbd{<file:projects.org::/regexp/>}}{\rm regexp search}
\key{\kbd{<http://www.astro.uva.nl/~dominik>}}{\rm on the web}
\key{\kbd{<mailto:adent@galaxy.net>}}{\rm EMail address}
\key{\kbd{<news:comp.emacs>}}{\rm Usenet group}
@ -420,15 +414,9 @@ \section{Links}
\key{\kbd{<shell:ls *.org>}}{\rm shell command}
\key{\kbd{<gnus:group>}}{\rm GNUS group}
\key{\kbd{<gnus:group\#id>}}{\rm GNUS message}
\key{\kbd{<vm:folder>}}{\rm VM folder}
\key{\kbd{<vm:folder\#id>}}{\rm VM message}
% FIXME: would like to get this back in.
\key{\kbd{<vm|wl|mhe|rmail:folder>}}{\rm Mail folder}
\key{\kbd{<vm|wl|mhe|rmail:folder\#id>}}{\rm Mail message}
%\key{\kbd{<vm://myself@some.where.org/folder\#id>}}{\rm VM remote}
Wanderlust \kbd{<wl:...>} and RMAIL \kbd{<rmail:...>} like VM
%\key{\kbd{<wl:folder>}}{\rm Wanderlust f.}
%\key{\kbd{<wl:folder\#id>}}{\rm Wanderlust m.}
%\key{\kbd{<rmail:folder>}}{\rm RMAIL folder}
%\key{\kbd{<rmail:folder\#id>}}{\rm RMAIL msg}
\section{Tables}
@ -711,7 +699,7 @@ \section{Remember-mode Integration}
\key{next heading}{DOWN}
\key{previous heading}{UP}
Insert the note with one of the following:
Insert the note with one of the following:
\key{as sublevel of heading at cursor}{RET}
\key{right here (cursor not on heading)}{RET}
@ -741,8 +729,8 @@ \section{Notes}
$^2$ This is only a suggestion for a binding of this command. Choose
you own key as shown under INSTALLATION.
$^3$ After changing a \kbd{\#+KEYWORD} line, press \kbd{C-c C-c} with
the cursor still in a line to make Org-mode notice the change.
$^3$ After changing a \kbd{\#+KEYWORD} or \kbd{<<<target>>>} line,
press \kbd{C-c C-c} with the cursor still in the line to update.
$^4$ Keybinding affected by {\tt org-CUA-compatibility}.
@ -753,7 +741,7 @@ \section{Notes}
% arch-tag: 139f6750-5cfc-49ca-92b5-237fe5795290
%%% Local Variables:
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
%%% End:

View File

@ -1,3 +1,100 @@
2006-02-23 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdb-signalled): New variable and function.
(gdb-debug-log-ring): Rename from gdb-debug-log and make a ring.
(gdb-send, gdb-send-item, gud-gdba-marker-filter): Use it.
(gdb-debug-log-length): Customize it's length.
(gud-watch, gdb-var-create-handler): Display function::var format
but don't use to create variable object.
(gdb-var-create-handler): Use message-box in place of message.
(gdb-stopped): Call gdb-exited if signalled.
2006-02-22 Carsten Dominik <dominik@science.uva.nl>
* textmodes/reftex.el (reftex-locate-file): Removed duplicate
function.
* textmodes/reftex-vars.el: (reftex-try-all-extensions): New
option.
* textmodes/reftex.el: (reftex-locate-file): Search all extensions
if `reftex-try-all-extensions' is set.
* textmodes/org.el: (org-mark-ring-previous, org-mark-ring-set):
New commands.
(org-mark-ring): New variable.
(org-mark-ring-length): New option.
(org-open-at-point, org-goto, org-open-file): Push old position
onto the mark ring.
(org-add-hook): New function.
(org-export-table-remove-special-lines): New option.
(org-skip-comments, org-format-org-table-html): Respect new option
`org-export-table-remove-special-lines'.
(org-open-file): Allow special command configuration for directory
link.
(org-file-apps): Fixed bugs in customize type, added setting for
directories.
(org-activate-tags, org-format-agenda-item, org-complete)
(org-get-tags-at, org-scan-tags, org-make-tags-matcher)
(org-get-tags, org-get-buffer-tags, org-open-at-point)
(org-link-search, org-make-org-heading-search-string)
(org-make-org-heading-camel): Allow @ and 0-9 as tags characters.
(org-radio-targets, org-file-link-context-use-camel-case)
(org-activate-camels): New options.
(org-update-radio-target-regexp, org-all-targets)
(org-make-target-link-regexp, org-activate-target-links): New
functions.
(org-make-org-heading-search-string): New function.
(org-store-link, org-insert-link): Use new option
`org-file-link-context-use-camel-case'.
(org-activate-camels): Use new option `org-activate-camels'.
(org-link-regexp): Added mhe prefix.
(org-open-at-point,org-store-link): Support for mhe links.
(org-mhe-get-message-id, org-mhe-get-message-folder)
(org-mhe-get-header,org-follow-mhe-link): New functions.
(org-remove-angle-brackets, org-add-angle-brackets): New
functions.
(org-bracked-link-regexp): New constant.
(org-read-date): Fixed bug that was rejecting all typed dates.
(org-link-search): Make hierarchy above visible after a match.
(org-follow-bbdb-link): Inhibit electric mode for BBDB.
(org-store-link): Fixed bug with link creation when cursor is in
an empty line.
(org-open-at-point): Fixed bug with matching a link. Fixed buggy
argument sequence in call to `org-view-tags'.
(org-compile-prefix-format): Set `org-prefix-has-tag'.
(org-prefix-has-tag): New variable.
(org-format-agenda-item): Remove tags from headline if
appropriate.
(org-agenda-remove-tags-when-in-prefix): New option.
2006-02-21 Michael Kifer <kifer@cs.stonybrook.edu>
* ediff-diff.el (ediff-setup-diff-regions, ediff-setup-diff-regions3):
fix the regular expressions.
2006-02-21 Richard M. Stallman <rms@gnu.org>
* progmodes/sh-script.el (sh-mode): Set shell type based on file name
if there's no other specific basis.
* emacs-lisp/unsafep.el (unsafep): Don't treat &rest or &optional
as variables at all.
(unsafep-variable): Rename arg; doc fix.
* abbrevlist.el (list-one-abbrev-table): Add autoload.
* calendar/appt.el (diary-selective-display): Add defvar.
* sort.el (sort-columns): Use Posix arg syntax for `sort'.
* isearch.el (search-whitespace-regexp): Fix custom type.
* help.el (describe-key-briefly): Compute interactive args
in same was as before previous change.
* files.el (enable-local-variables): Doc fix.
2006-02-21 Kim F. Storm <storm@cua.dk>
* fringe.el: Cleanup as file is now pre-loaded.

View File

@ -28,6 +28,7 @@
;;; Code:
;;;###autoload
(defun list-one-abbrev-table (abbrev-table output-buffer)
"Display alphabetical listing of ABBREV-TABLE in buffer OUTPUT-BUFFER."
(with-output-to-temp-buffer output-buffer

View File

@ -78,6 +78,7 @@
;; Make sure calendar is loaded when we compile this.
(require 'calendar)
(defvar diary-selective-display)
;;;###autoload
(defcustom appt-issue-message t

View File

@ -251,7 +251,8 @@ one optional arguments, diff-number to refine.")
;; ediff-setup-diff-regions3, which takes 4 arguments.
(defun ediff-setup-diff-regions (file-A file-B file-C)
;; looking for '-c', '-i', or a 'c', 'i' among clustered non-long options
(if (string-match "^-[ci]\\| -[ci]\\|-[^- ]+[ci]" ediff-diff-options)
(if (string-match "^-[ci]\\| -[ci]\\|\\(^\\| \\)-[^- ]+[ci]"
ediff-diff-options)
(error "Options `-c' and `-i' are not allowed in `ediff-diff-options'"))
;; create, if it doesn't exist
@ -1215,7 +1216,7 @@ delimiter regions"))
;; or it is the ancestor file.
(defun ediff-setup-diff-regions3 (file-A file-B file-C)
;; looking for '-i' or a 'i' among clustered non-long options
(if (string-match "^-i\\| -i\\|-[^- ]+i" ediff-diff-options)
(if (string-match "^-i\\| -i\\|\\(^\\| \\)-[^- ]+i" ediff-diff-options)
(error "Option `-i' is not allowed in `ediff-diff3-options'"))
(or (ediff-buffer-live-p ediff-diff-buffer)

View File

@ -148,10 +148,10 @@ of symbols with local bindings."
((eq fun 'lambda)
;;First arg is temporary bindings
(mapc #'(lambda (x)
(let ((y (unsafep-variable x t)))
(if y (throw 'unsafep y)))
(or (memq x '(&optional &rest))
(push x unsafep-vars)))
(let ((y (unsafep-variable x t)))
(if y (throw 'unsafep y))
(push x unsafep-vars))))
(cadr form))
(unsafep-progn (cddr form)))
((eq fun 'let)
@ -247,17 +247,16 @@ and throws a reason to `unsafep' if unsafe. Returns SYM."
(if reason (throw 'unsafep reason))
sym))
(defun unsafep-variable (sym global-okay)
"Return nil if SYM is safe as a let-binding sym
\(because it already has a temporary binding or is a non-risky buffer-local
variable), otherwise a reason why it is unsafe. Failing to be locally bound
is okay if GLOBAL-OKAY is non-nil."
(defun unsafep-variable (sym to-bind)
"Return nil if SYM is safe to set or bind, or a reason why not.
If TO-BIND is nil, check whether SYM is safe to set.
If TO-BIND is t, check whether SYM is safe to bind."
(cond
((not (symbolp sym))
`(variable ,sym))
((risky-local-variable-p sym nil)
`(risky-local-variable ,sym))
((not (or global-okay
((not (or to-bind
(memq sym unsafep-vars)
(local-variable-p sym)))
`(global-variable ,sym))))

View File

@ -447,10 +447,11 @@ use `before-save-hook'.")
The value can be t, nil or something else.
A value of t means file local variables specifications are obeyed
if all the specified variables are safe. If any variables are
not safe, you will be queries before setting them.
A value of nil means file local variables are ignored.
Any other value means to always query.
if all the specified variable values are safe; if any values are
not safe, Emacs queries you, once, whether to set them all.
A value of nil means always ignore the file local variables.
Any other value means always query you once whether to set them all.
This variable also controls use of major modes specified in
a -*- line.

View File

@ -579,12 +579,8 @@ temporarily enables it to allow getting help on disabled items and buttons."
(setq key (read-key-sequence "Describe key (or click or menu item): "))
(list
key
(prefix-numeric-value current-prefix-arg)
;; If KEY is a down-event, read the corresponding up-event
;; and use it as the third argument.
(if (and (consp key) (symbolp (car key))
(memq 'down (cdr (get (car key) 'event-symbol-elements))))
(read-event))))
(if current-prefix-arg (prefix-numeric-value current-prefix-arg))
1))
;; Put yank-menu back as it was, if we changed it.
(when saved-yank-menu
(setq yank-menu (copy-sequence saved-yank-menu))

View File

@ -116,8 +116,11 @@ When you put a space or spaces in the incremental regexp, it stands for
this, unless it is inside of a regexp construct such as [...] or *, + or ?.
You might want to use something like \"[ \\t\\r\\n]+\" instead.
In the Customization buffer, that is `[' followed by a space,
a tab, a carriage return (control-M), a newline, and `]+'."
:type 'regexp
a tab, a carriage return (control-M), a newline, and `]+'.
When this is nil, each space you type matches literally, against one space."
:type '(choice (const :tag "Find Spaces Literally" nil)
regexp)
:group 'isearch)
(defcustom search-invisible 'open

View File

@ -1,3 +1,8 @@
2006-02-21 Eric Ding <ericding@alum.mit.edu>
* mh-e.el (mh-invisible-header-fields-internal): Added entry
"X-Sasl-enc:"
2006-02-20 Eric Ding <ericding@alum.mit.edu>
* mh-e.el (mh-invisible-header-fields-internal): Added entries

View File

@ -2395,7 +2395,8 @@ of citations entirely, choose \"None\"."
"X-SBPass:" ; Spam
"X-SBRule:" ; Spam
"X-SMTP-"
"X-Scanned-By"
"X-Sasl-enc:" ; Apple Mail
"X-Scanned-By:"
"X-Sender:"
"X-Server-Date:"
"X-Server-Uuid:"

View File

@ -123,6 +123,7 @@ and #define directives otherwise.")
(defvar gdb-macro-info nil
"Non-nil if GDB knows that the inferior includes preprocessor macro info.")
(defvar gdb-buffer-fringe-width nil)
(defvar gdb-signalled nil)
(defvar gdb-buffer-type nil
"One of the symbols bound in `gdb-buffer-rules'.")
@ -258,11 +259,20 @@ detailed description of this mode.
(gdb command-line)
(gdb-init-1))
(defvar gdb-debug-log nil)
(defcustom gdb-debug-log-length 128
"Length of `gdb-debug-log-ring'."
:group 'gud
:type 'integer
:version "22.1")
(defvar gdb-debug-log-ring (make-ring gdb-debug-log-length)
"Ring of commands sent to and replies received from GDB.
This variable is used to debug GDB-UI. Just need most recent
messages and a ring limits the size.")
;;;###autoload
(defcustom gdb-enable-debug-log nil
"Non-nil means record the process input and output in `gdb-debug-log'."
"Non-nil means record the process input and output in `gdb-debug-log-ring'."
:type 'boolean
:group 'gud
:version "22.1")
@ -390,7 +400,6 @@ With arg, use separate IO iff arg is positive."
expr))
(defun gdb-init-1 ()
(setq gdb-debug-log nil)
(set (make-local-variable 'gud-minor-mode) 'gdba)
(set (make-local-variable 'gud-marker-filter) 'gud-gdba-marker-filter)
;;
@ -469,14 +478,15 @@ With arg, use separate IO iff arg is positive."
gdb-source-file-list nil
gdb-error nil
gdb-macro-info nil
gdb-buffer-fringe-width (car (window-fringes)))
gdb-buffer-fringe-width (car (window-fringes))
gdb-debug-log-ring (make-ring gdb-debug-log-length)
gdb-signalled nil)
(setq gdb-buffer-type 'gdba)
(if gdb-use-separate-io-buffer (gdb-clear-inferior-io))
;; Hack to see test for GDB 6.4+ (-stack-info-frame was implemented in 6.4)
(setq gdb-version nil)
(gdb-enqueue-input (list "server interpreter mi -stack-info-frame\n"
'gdb-get-version)))
@ -573,9 +583,6 @@ With arg, automatically raise speedbar iff arg is positive."
(require 'tooltip)
(save-selected-window
(let ((expr (tooltip-identifier-from-point (point))))
(if (and (string-equal gdb-current-language "c")
gdb-use-colon-colon-notation gdb-selected-frame)
(setq expr (concat gdb-selected-frame "::" expr)))
(catch 'already-watched
(dolist (var gdb-var-list)
(if (string-equal expr (car var)) (throw 'already-watched nil)))
@ -593,11 +600,15 @@ With arg, automatically raise speedbar iff arg is positive."
(defun gdb-var-create-handler (expr)
(goto-char (point-min))
(if (re-search-forward gdb-var-create-regexp nil t)
(let ((var (list expr
(match-string 1)
(match-string 2)
(match-string 3)
nil nil)))
(let ((var (list
(if (and (string-equal gdb-current-language "c")
gdb-use-colon-colon-notation gdb-selected-frame)
(setq expr (concat gdb-selected-frame "::" expr))
expr)
(match-string 1)
(match-string 2)
(match-string 3)
nil nil)))
(push var gdb-var-list)
(speedbar 1)
(unless (string-equal
@ -613,7 +624,7 @@ With arg, automatically raise speedbar iff arg is positive."
,(nth 1 var) nil)))))
(if (search-forward "Undefined command" nil t)
(message-box "Watching expressions requires gdb 6.0 onwards")
(message "No symbol \"%s\" in current context." expr))))
(message-box "No symbol \"%s\" in current context." expr))))
(defun gdb-var-evaluate-expression-handler (varnum changed)
(goto-char (point-min))
@ -864,7 +875,7 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'."
"*"))
(defun gdb-display-separate-io-buffer ()
"Display IO of inferior in a separate window."
"Display IO of debugged program in a separate window."
(interactive)
(if gdb-use-separate-io-buffer
(gdb-display-buffer
@ -963,7 +974,7 @@ This filter may simply queue input for a later time."
(let ((item (concat string "\n")))
(if gud-running
(progn
(if gdb-enable-debug-log (push (cons 'send item) gdb-debug-log))
(if gdb-enable-debug-log (push (cons 'send item) gdb-debug-log-ring))
(process-send-string proc item))
(gdb-enqueue-input item))))
@ -986,7 +997,8 @@ This filter may simply queue input for a later time."
(defun gdb-send-item (item)
(setq gdb-flush-pending-output nil)
(if gdb-enable-debug-log (push (cons 'send-item item) gdb-debug-log))
(if gdb-enable-debug-log
(ring-insert gdb-debug-log-ring (cons 'send-item item)))
(setq gdb-current-item item)
(let ((process (get-buffer-process gud-comint-buffer)))
(if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
@ -1039,7 +1051,7 @@ This filter may simply queue input for a later time."
("source" gdb-source)
("starting" gdb-starting)
("exited" gdb-exited)
("signalled" gdb-exited)
("signalled" gdb-signalled)
("signal" gdb-stopping)
("breakpoint" gdb-stopping)
("watchpoint" gdb-stopping)
@ -1156,6 +1168,9 @@ directives."
(setq gdb-overlay-arrow-position nil)
(gdb-stopping ignored))
(defun gdb-signalled (ignored)
(setq gdb-signalled t))
(defun gdb-frame-begin (ignored)
(let ((sink gdb-output-sink))
(cond
@ -1172,7 +1187,6 @@ directives."
It is just like `gdb-stopping', except that if we already set the output
sink to `user' in `gdb-stopping', that is fine."
(setq gud-running nil)
(setq gdb-active-process t)
(let ((sink gdb-output-sink))
(cond
((eq sink 'inferior)
@ -1180,7 +1194,8 @@ sink to `user' in `gdb-stopping', that is fine."
((eq sink 'user) t)
(t
(gdb-resync)
(error "Unexpected stopped annotation")))))
(error "Unexpected stopped annotation"))))
(if gdb-signalled (gdb-exited ignored)))
(defun gdb-error (ignored)
(setq gdb-error (not gdb-error)))
@ -1233,7 +1248,8 @@ happens to be appropriate."
"A gud marker filter for gdb. Handle a burst of output from GDB."
(if gdb-flush-pending-output
nil
(if gdb-enable-debug-log (push (cons 'recv string) gdb-debug-log))
(if gdb-enable-debug-log
(ring-insert gdb-debug-log-ring (cons 'recv string)))
;; Recall the left over gud-marker-acc from last time.
(setq gud-marker-acc (concat gud-marker-acc string))
;; Start accumulating output for the GUD buffer.

View File

@ -1438,6 +1438,16 @@ with your script for an edit-interpret-debug cycle."
((and buffer-file-name
(string-match "\\.m?spec\\'" buffer-file-name))
"rpm")))))
(unless interpreter
(setq interpreter
(cond ((string-match "[.]sh\\>" buffer-file-name)
"sh")
((string-match "[.]bash\\>" buffer-file-name)
"bash")
((string-match "[.]ksh\\>" buffer-file-name)
"ksh")
((string-match "[.]csh\\>" buffer-file-name)
"csh"))))
(sh-set-shell (or interpreter sh-shell-file) nil nil))
(run-mode-hooks 'sh-mode-hook))

View File

@ -499,8 +499,9 @@ Use \\[untabify] to convert tabs to spaces before sorting."
;; in the region, since the sort utility would lose the
;; properties.
(let ((sort-args (list (if reverse "-rt\n" "-t\n")
(concat "+0." (int-to-string col-start))
(concat "-0." (int-to-string col-end)))))
(format "-k1.%d,1.%d"
(1+ col-start)
(1+ col-end)))))
(when sort-fold-case
(push "-f" sort-args))
(apply #'call-process-region beg1 end1 "sort" t t nil sort-args))

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;; This file is part of GNU Emacs.

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;; This file is part of GNU Emacs.

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;;
;; This file is part of GNU Emacs.
@ -33,7 +33,7 @@
(require 'reftex)
;;;
(defun reftex-view-crossref (&optional arg auto-how)
(defun reftex-view-crossref (&optional arg auto-how fail-quietly)
"View cross reference of macro at point. Point must be on the KEY
argument. When at at `\\ref' macro, show corresponding `\\label'
definition, also in external documents (`xr'). When on a label, show
@ -56,52 +56,53 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
dw)
(if (or (null macro) (reftex-in-comment))
(error "Not on a crossref macro argument"))
(or fail-quietly
(error "Not on a crossref macro argument"))
(setq reftex-call-back-to-this-buffer (current-buffer))
(cond
((string-match "\\`\\\\cite\\|cite\\*?\\'\\|bibentry" macro)
;; A citation macro: search for bibitems or BibTeX entries
(setq dw (reftex-view-cr-cite arg key auto-how)))
((string-match "\\`\\\\ref\\|ref\\(range\\)?\\*?\\'" macro)
;; A reference macro: search for labels
(setq dw (reftex-view-cr-ref arg key auto-how)))
(auto-how nil) ;; No further action for automatic display (speed)
((or (equal macro "\\label")
(member macro reftex-macros-with-labels))
;; A label macro: search for reference macros
(reftex-access-scan-info arg)
(setq dw (reftex-view-regexp-match
(format reftex-find-reference-format (regexp-quote key))
4 nil nil)))
((equal macro "\\bibitem")
;; A bibitem macro: search for citations
(reftex-access-scan-info arg)
(setq dw (reftex-view-regexp-match
(format reftex-find-citation-regexp-format (regexp-quote key))
4 nil nil)))
((member macro reftex-macros-with-index)
(reftex-access-scan-info arg)
(setq dw (reftex-view-regexp-match
(format reftex-find-index-entry-regexp-format
(regexp-quote key))
3 nil nil)))
(t
(reftex-access-scan-info arg)
(catch 'exit
(let ((list reftex-view-crossref-extra)
entry mre action group)
(while (setq entry (pop list))
(setq mre (car entry)
action (nth 1 entry)
group (nth 2 entry))
(when (string-match mre macro)
(setq dw (reftex-view-regexp-match
(format action key) group nil nil))
(throw 'exit t))))
(error "Not on a crossref macro argument"))))
(if (and (eq arg 2) (windowp dw)) (select-window dw))))
(setq reftex-call-back-to-this-buffer (current-buffer))
(cond
((string-match "\\`\\\\cite\\|cite\\*?\\'\\|bibentry" macro)
;; A citation macro: search for bibitems or BibTeX entries
(setq dw (reftex-view-cr-cite arg key auto-how)))
((string-match "\\`\\\\ref\\|ref\\(range\\)?\\*?\\'" macro)
;; A reference macro: search for labels
(setq dw (reftex-view-cr-ref arg key auto-how)))
(auto-how nil) ;; No further action for automatic display (speed)
((or (equal macro "\\label")
(member macro reftex-macros-with-labels))
;; A label macro: search for reference macros
(reftex-access-scan-info arg)
(setq dw (reftex-view-regexp-match
(format reftex-find-reference-format (regexp-quote key))
4 nil nil)))
((equal macro "\\bibitem")
;; A bibitem macro: search for citations
(reftex-access-scan-info arg)
(setq dw (reftex-view-regexp-match
(format reftex-find-citation-regexp-format (regexp-quote key))
4 nil nil)))
((member macro reftex-macros-with-index)
(reftex-access-scan-info arg)
(setq dw (reftex-view-regexp-match
(format reftex-find-index-entry-regexp-format
(regexp-quote key))
3 nil nil)))
(t
(reftex-access-scan-info arg)
(catch 'exit
(let ((list reftex-view-crossref-extra)
entry mre action group)
(while (setq entry (pop list))
(setq mre (car entry)
action (nth 1 entry)
group (nth 2 entry))
(when (string-match mre macro)
(setq dw (reftex-view-regexp-match
(format action key) group nil nil))
(throw 'exit t))))
(error "Not on a crossref macro argument"))))
(if (and (eq arg 2) (windowp dw)) (select-window dw)))))
(defun reftex-view-cr-cite (arg key how)
;; View crossreference of a ref cite. HOW can have the values
@ -243,7 +244,7 @@ With argument, actually select the window showing the cross reference."
(not (memq last-command '(reftex-view-crossref
reftex-mouse-view-crossref)))
;; Quick precheck if this might be a relevant spot
;; FIXME: Can fail with backslash in comment
;; `reftex-view-crossref' will do a more thorough check.
(save-excursion
(search-backward "\\" nil t)
(looking-at "\\\\[a-zA-Z]*\\(cite\\|ref\\|bibentry\\)"))
@ -252,9 +253,9 @@ With argument, actually select the window showing the cross reference."
(let ((current-prefix-arg nil))
(cond
((eq reftex-auto-view-crossref t)
(reftex-view-crossref -1 'echo))
(reftex-view-crossref -1 'echo 'quiet))
((eq reftex-auto-view-crossref 'window)
(reftex-view-crossref -1 'tmp-window))
(reftex-view-crossref -1 'tmp-window 'quiet))
(t nil)))
(error nil))))
@ -267,7 +268,8 @@ With argument, actually select the window showing the cross reference."
;; Display crossref info in echo area.
(cond
((null docstruct)
(message "%s" (substitute-command-keys (format reftex-no-info-message "ref"))))
(message "%s"
(substitute-command-keys (format reftex-no-info-message "ref"))))
((null entry)
(message "ref: unknown label: %s" label))
(t
@ -301,7 +303,7 @@ With argument, actually select the window showing the cross reference."
(if (and files (= (length all-files) (length files)))
(message "cite: no such database entry: %s" key)
(message "%s" (substitute-command-keys
(format reftex-no-info-message "cite"))))
(format reftex-no-info-message "cite"))))
nil)))
(when entry
(if item

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;; This file is part of GNU Emacs.

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;; This file is part of GNU Emacs.

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;;
;; This file is part of GNU Emacs.

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;; This file is part of GNU Emacs.

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;; This file is part of GNU Emacs.

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;; This file is part of GNU Emacs.

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;; This file is part of GNU Emacs.
@ -1555,6 +1555,18 @@ TeX-file-extensions."
:type '(repeat (cons (string :tag "File type")
(repeat (string :tag "Extension")))))
(defcustom reftex-try-all-extensions nil
"Non-nil means, try all extensions listed in `reftex-file-extensions'.
When searching for a file, LaTeX uses only the default extension. However,
if you are working with a noweb system that produces the .tex files from
some other file, and you want RefTeX to scan the web file instead of the
tex file, you need to set this option. You also need to make the noweb
extension the default extension, i.e. the first in the list in
`reftex-file-extensions'.
Note that if you are using external file finders, this option has no effect."
:group 'reftex-finding-files
:type 'boolean)
(defcustom reftex-search-unrecursed-path-first t
"*Non-nil means, search all specified directories before trying recursion.
Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then

View File

@ -3,7 +3,7 @@
;; 2006 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Version: VERSIONTAG
;; Version: 4.31
;; Keywords: tex
;; This file is part of GNU Emacs.
@ -301,7 +301,7 @@
;;; Define the formal stuff for a minor mode named RefTeX.
;;;
(defconst reftex-version "RefTeX version VERSIONTAG"
(defconst reftex-version "RefTeX version 4.31"
"Version string for RefTeX.")
(defvar reftex-mode nil
@ -1437,14 +1437,17 @@ When DIE is non-nil, throw an error if file not found."
"\\)\\'"))
(files (if (string-match ext-re file)
(cons file nil)
(cons (concat file def-ext) file)))
path old-path file1)
(if reftex-try-all-extensions
(append (mapcar (lambda (x) (concat file x))
extensions)
(list file))
(list (concat file def-ext) file))))
path old-path file1 f fs)
(cond
((file-name-absolute-p file)
(setq file1
(or
(and (car files) (file-regular-p (car files)) (car files))
(and (cdr files) (file-regular-p (cdr files)) (cdr files)))))
(while (setq f (pop files))
(if (file-regular-p f)
(setq file1 f files nil))))
((and reftex-use-external-file-finders
(assoc type reftex-external-file-finders))
(setq file1 (reftex-find-file-externally file type master-dir)))
@ -1452,16 +1455,13 @@ When DIE is non-nil, throw an error if file not found."
(while (and (null file1) rec-values)
(setq path (reftex-access-search-path
type (pop rec-values) master-dir file))
(if (or (null old-path)
(not (eq old-path path)))
(setq old-path path
path (cons master-dir path)
file1 (or (and (car files)
(reftex-find-file-on-path
(car files) path master-dir))
(and (cdr files)
(reftex-find-file-on-path
(cdr files) path master-dir))))))))
(setq fs files)
(while (and (null file1) (setq f (pop fs)))
(when (or (null old-path)
(not (eq old-path path)))
(setq old-path path
path (cons master-dir path))
(setq file1 (reftex-find-file-on-path f path master-dir)))))))
(cond (file1 file1)
(die (error "No such file: %s" file) nil)
(t (message "No such file: %s (ignored)" file) nil))))

View File

@ -1,3 +1,10 @@
2006-02-22 Carsten Dominik <dominik@science.uva.nl>
* reftex.texi: Version number and date change only.
* org.texi: (Internal Links): Rewritten to cover the modified
linking system.
2006-02-21 Nick Roberts <nickrob@snap.net.nz>
* building.texi (Watch Expressions): Update and describe

View File

@ -4,8 +4,8 @@
@setfilename ../info/org
@settitle Org Mode Manual
@set VERSION 4.04
@set DATE January 2006
@set VERSION 4.05
@set DATE February 2006
@dircategory Emacs
@direntry
@ -35,7 +35,7 @@
@copying
This manual is for Org-mode (version @value{VERSION}).
Copyright @copyright{} 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright @copyright{} 2004, 2005, 2006 Free Software Foundation
@quotation
Permission is granted to copy, distribute and/or modify this document
@ -126,12 +126,17 @@ Calculations in tables
Hyperlinks
* Internal Links:: CamelCaseWords as internal links
* Internal Links:: Links to other places in the current file
* External Links:: URL-like links to the world
* Managing links:: Creating, inserting and following
* Search Options:: Linking to a specific location
* Remember:: Org-trees store quick notes
Internal Links
* Radio targets:: Make targets trigger links in plain text.
* CamelCase links:: Activating CamelCase words as links
TODO items
* TODO basics:: Marking and displaying TODO entries
@ -155,12 +160,12 @@ Agenda Views
* Agenda files:: Files being searched for agenda information
* Agenda dispatcher:: Keyboard access to agenda views
* Weekly/Daily Agenda:: The calendar page with current tasks
* Global TODO list:: All infinished action items
* Global TODO list:: All unfinished action items
* Matching headline tags:: Structured information with fine-tuned search
* Timeline:: Time-sorted view for single file
* Agenda commands:: Remote editing of org trees
Weekly/Daily Agenda
The weekly/daily agenda
* Categories:: Not all tasks are equal
* Time-of-day specifications:: How the agenda knows the time
@ -1314,7 +1319,8 @@ example in mail mode, use
Complex ASCII tables with automatic line wrapping, column- and
row-spanning, and alignment can be created using the Emacs table
package by Takaaki Ota (@uref{http://sourceforge.net/projects/table}).
package by Takaaki Ota (@uref{http://sourceforge.net/projects/table},
and also part of Emacs 22).
When @key{TAB} or @kbd{C-c C-c} is pressed in such a table, Org-mode
will call @command{table-recognize-table} and move the cursor into the
table. Inside a table, the keymap of Org-mode is inactive. In order
@ -1343,7 +1349,7 @@ Just like HMTL, Org-mode provides links inside a file, and external
links to other files, Usenet articles, emails and much more.
@menu
* Internal Links:: CamelCaseWords as internal links
* Internal Links:: Links to other places in the current file
* External Links:: URL-like links to the world
* Managing links:: Creating, inserting and following
* Search Options:: Linking to a specific location
@ -1356,44 +1362,73 @@ links to other files, Usenet articles, emails and much more.
@cindex links, internal
@cindex CamelCase links
Similar to Wiki implementations, Org-mode interprets words spelled in
CamelCase (i.e. mixed case with at least one capital letter following
on a small letter inside the word) as links. While in Wiki these
links usually point to another file, in Org-mode they point to a
target in the current file. Targets are CamelCased words in double
angular brackets, and may be located anywhere, also in a comment line.
For example
Strings inside double brackets like @samp{[[My Target]]} are links
that lead to a text search in the current file. The link can be
followed with @kbd{C-c C-o} or with a mouse click (@pxref{Managing
links}). The preferred match for such a link is a dedicated target:
The same string in double angular brackets. Targets may be located
anywhere, often it is convenient to put them into a comment line, for
example
@example
# <<MyTarget>>
# <<My Target>>
@end example
Each occurrence of @samp{MyTarget} in the file is an active link that
can be followed with @kbd{C-c C-o} or with a mouse click
(@pxref{Managing links}). If no dedicated target exists, org-mode will
search for the words in the link separated by white space, in the
above example for @samp{my target}. If the link starts with a star
like @samp{*MyTarget}, the search is restricted to headlines.
Org-mode will first try an exact match of a full headline, but then
move on to more and more lenient searches. The link @samp{*MyTargets}
will find any of the following
If no dedicated target exists, Org-mode will search for the words in
the link, in the above example for @samp{my target}. Links starting
with a star like @samp{*My Target} restrict the search to headlines.
When searching, Org-mode will first try an exact match, but then move
on to more and more lenient searches. For example, the link
@samp{[[*My Targets]]} will find any of the following
@example
** My targets
** TODO my targets are bright
** my 20 targets are
@end example
It is therefore often not necessary to set a dedicated target. To
insert a link targeting a headline, in-buffer completion can be used.
Just type a star followed by a few optional letters into the buffer
and press @kbd{M-@key{TAB}}. All headlines in the current buffer will
be offered as completions. @xref{Managing links}, for more commands
creating links.
Following a link pushes a mark onto Org-mode's own mark ring. You can
return to the previous position with @kbd{C-c &}. Using this command
several times in direct succession goes back to positions recorded
earlier.
@menu
* Radio targets:: Make targets trigger links in plain text.
* CamelCase links:: Activating CamelCase words as links
@end menu
@node Radio targets, CamelCase links, Internal Links, Internal Links
@subsection Radio targets
You can configure Org-mode to link any occurrences of certain target
names in normal text. So without explicitly creating a link, the text
connects to the target radioing its position. Radio targets are
enclosed by triple angular brackets. For example, a target
@samp{<<<My Target>>>} causes each occurrence of @samp{my target} in
normal text to become activated as a link. The Org-mode file is
scanned automatically for radio targets only when the file is first
loaded into Emacs. To update the target list during editing, press
@kbd{C-c C-c} with the cursor on or at a target.
@node CamelCase links, , Radio targets, Internal Links
@subsection CamelCase words as links
@cindex completion, of CamelCase links
@cindex CamelCase links, completion of
It is therefore often not even necessary to set a dedicated target.
The link will automatically find a target. If you want to see what
lines in the current buffer are matched by a given CamelCase link,
open the link with @kbd{C-u C-c C-o}. Even if there are several
matches, org-mode will usually find the right one since it tries
targets and exact matches first. To insert links targeting a
headline, in-buffer completion can be used. Just type a star followed
by a few optional letters into the buffer and press @kbd{M-@key{TAB}}.
CamelCased versions of all headlines in the current buffer will be
offered as completions. @xref{Managing links}, for more commands
creating links.
As an alternative to @samp{[[...]]} links, Org-mode also supports
CamelCase words as links. This feature is not turned on by default
because of the occasional inconsistencies this system suffers from.
To activate CamelCase words as links, and to make headline completion
offer CamelCase version of headlines, the following customization is
needed:
@lisp
(setq org-activate-camels t
org-file-link-context-use-camel-case t)
@end lisp
@node External Links, Managing links, Internal Links, Hyperlinks
@section External Links
@ -1407,6 +1442,7 @@ creating links.
@cindex VM links
@cindex RMAIL links
@cindex WANDERLUST links
@cindex MH-E links
@cindex USENET links
@cindex SHELL links
@ -1426,6 +1462,8 @@ shows examples for each link type.
<vm://myself@@some.where.org/folder#id> @r{VM on remote machine}
<wl:folder> @r{WANDERLUST folder link}
<wl:folder#id> @r{WANDERLUST message link}
<mhe:folder> @r{MH-E folder link}
<mhe:folder#id> @r{MH-E message link}
<rmail:folder> @r{RMAIL folder link}
<rmail:folder#id> @r{RMAIL message link}
<gnus:group> @r{GNUS group link}
@ -1458,7 +1496,7 @@ VM, RMAIL, WANDERLUST, GNUS and BBDB buffers, the link will point to
the current article/entry. For W3 and W3M buffer, the link goes to
the current URL. For Org-mode files, the current headline is
targeted. For any other files, the link will point to the file, with
a CamelCase (@pxref{Search Options}) search string pointing to the
a search string (@pxref{Search Options}) pointing to the
contents of the current line. If there is an active region, the
selected words will form the basis of the search string. The key
binding @kbd{C-c l} is only a suggestion - see @ref{Installation and
@ -1510,6 +1548,20 @@ On links, @kbd{mouse-2} will open the link just like @kbd{C-c C-o} would.
@kindex mouse-3
@item mouse-3
Like @kbd{mouse-2}, but force file links to be opened with Emacs.
@cindex mark ring
@kindex C-c %
@item C-c %
Push the current position onto the mark ring, to be able to return
easily. Commands following an internal link do this automatically.
@cindex links, returning to
@kindex C-c &
@item C-c &
Jump back to a recorded position. A position is recorded by the
commands following internal links, and by @kbd{C-c %}. Using this
command several times in direct succession moves through a ring of
previously recorded positions.
@end table
@ -1525,8 +1577,8 @@ compatibility, line numbers can also follow a single colon.} colon.
For example:
@example
<file:~/code/main.c::255>
<file:~/xx.org::MyTarget>
<file:~/xx.org::find me>
<file:~/xx.org::My Target>
<file:~/xx.org::*My Target>
<file:~/xx.org::/regexp/>
@end example
@noindent Here is what these options do.
@ -1534,12 +1586,12 @@ For example:
@table @code
@item 255
Jump to line 255.
@item MyGoal
Search for a link target with name MyGoal, or do a text search for
@samp{my target}, similar to the CamelCase search in internal links,
see @ref{Internal Links}.
@item find me
Do a normal text search for the text @samp{find me}.
@item My Target
Search for a link target @samp{<<My Target>>}, or do a text search for
@samp{my target}, similar to the search in internal links, see
@ref{Internal Links}.
@item *My Target
In an Org-mode file, restrict search to headlines.
@item /regexp/
Do a regular expression search for @code{regexp}. This uses the Emacs
command @code{occur} to list all matches in a separate window. If the
@ -1549,10 +1601,10 @@ sparse tree with the matches.
@c @code{grep} will be used to search all files in the directory.
@end table
To use the search options also for a search in the current file, a
file link with an empty file name can be used. For example,
@code{<file:::find me>} does a search for @samp{find me} in the
current file.
As a degenerate case, a file link with an empty file name can be used
to search the current file. For example, @code{<file:::find me>} does
a search for @samp{find me} in the current file, just like
@samp{[[find me]]} would.
@node Remember, , Search Options, Hyperlinks
@section Remember
@ -3248,6 +3300,8 @@ Org-mode would not be what it is without your input.
@itemize @bullet
@item
Thomas Baumann contributed the code for links to the MH-E email system.
@item
Pavel Chalmoviansky reported bugs and suggested improvements
related to the agenda treatment of items with specified time.
@item
@ -3267,7 +3321,7 @@ Emacs-Lisp compiler happy.
Tim O'Callaghan suggested in-file links, search options for
general file links, and TAGS.
@item
Oliver Oppitz made useful suggestions.
Oliver Oppitz suggested multi-state TODO items.
@item
Pete Phillips helped the development of the TAGS feature with beta
testing and suggestions.
@ -3289,8 +3343,8 @@ Linking to VM/BBDB/GNUS was inspired by Tom Shannon's
Juergen Vollmer contributed code generating the table of contents
in HTML output, and other export improvements.
@item
David Wainberg suggested to implement an archiving mechanism and helped
testing.
David Wainberg suggested the archiving mechanism and shaped the
internal link system with many suggestions and ideas.
@item
Scheduling TODO items was inspired by John Wiegley's @file{planner.el}.
@item

View File

@ -7,9 +7,9 @@
@syncodeindex fn cp
@c Version and Contact Info
@set VERSION 4.30
@set EDITION 4.30
@set DATE September 2005
@set VERSION 4.31
@set EDITION 4.31
@set DATE February 2006
@set AUCTEXSITE @uref{http://www.nongnu.org/auctex/,AUCTeX distribution site}
@set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/,maintainers webpage}
@set MAINTAINER Carsten Dominik
@ -25,8 +25,7 @@ citations and indices for LaTeX documents with Emacs.
This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for
@b{Ref@TeX{}} @value{VERSION}
Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005,
2006 Free Software Foundation, Inc.
Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document

View File

@ -1,3 +1,35 @@
2006-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
* window.c (Fwindow_list): Check `window' before doing XWINDOW.
The default `window' should not be "on a different frame".
2006-02-22 Kim F. Storm <storm@cua.dk>
* indent.c (Fvertical_motion): Only try to move back if we can.
2006-02-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* macgui.h (struct _XGC) [!MAC_OSX || !USE_ATSUI]: New member
n_clip_rects.
* macmenu.c (digest_single_submenu): Apply 2006-02-19 change for
xmenu.c.
* macterm.c (GC_CLIP_REGION): Remove macro.
(mac_begin_clip, mac_end_clip): Take arg GC instead of REGION.
All uses changed. Don't do clipping if n_clip_rects is zero.
(mac_set_clip_rectangles): Use xassert instead of abort.
Set n_clip_rects. Don't make clip_region empty when number of
clipping rectangles is zero.
(mac_reset_clip_rectangles): Set n_clip_rects directly instead of
calling mac_set_clip_rectangles.
(x_set_toolkit_scroll_bar_thumb): Temporarily hide scroll bar to
avoid multiple redraws.
2006-02-22 Kim F. Storm <storm@cua.dk>
* fringe.c (draw_fringe_bitmap): Fix overlay-arrow display.
2006-02-21 Kim F. Storm <storm@cua.dk>
* fringe.c (syms_of_fringe) <fringe-bitmaps>: Doc fix.
@ -18,8 +50,8 @@
BG_WIDTH. All uses changed. Draw background if BG_WIDTH is not zero.
(mac_draw_image_string, mac_draw_image_string_16): New arg BG_WIDTH.
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg): Rename from
mac_draw_string_cg. New arg BG_WIDTH. All uses changed. Draw
background if BG_WIDTH is not zero. Use float constants as
mac_draw_string_cg. New arg BG_WIDTH. All uses changed.
Draw background if BG_WIDTH is not zero. Use float constants as
divisors instead of double. Use alloca instead of xmalloc/xfree.
(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
[!MAC_OS8 || USE_ATSUI]: Background may be drawn using
@ -30,6 +62,11 @@
(mac_set_clip_rectangles): When resetting clip region, make it
empty instead of disposing of it.
2006-02-20 Stefan Monnier <monnier@iro.umontreal.ca>
* keymap.c (store_in_keymap): Change `def' arg to not be `register'.
Seems to trigger a bug in gcc-amd64 4.0.2 20051125 (Red Hat 4.0.2-8).
2006-02-20 Kim F. Storm <storm@cua.dk>
* Makefile.in: Add fringe.elc to WINDOW_SUPPORT.
@ -55,10 +92,10 @@
(left_curly_arrow_bits): Rename from continuation_bits.
(right_curly_arrow_bits): Rename from continued_bits.
(left_triangle_bits): Rename from ov_bits.
(right_triangle_bits): Added.
(right_triangle_bits): Add.
(filled_rectangle_bits): Rename from filled_box_cursor_bits.
(hollow_rectangle_bits): Rename from hollow_box_cursor_bits.
(filled_square_bits): Added.
(filled_square_bits): Add.
(vertical_bar_bits): Rename from bar_cursor_bits.
(horizontal_bar_bits): Rename from hbar_cursor_bits.
(empty_line_bits): Rename from zv_bits.

View File

@ -869,7 +869,7 @@ draw_fringe_bitmap (w, row, left_p)
if (left_p && row->overlay_arrow_bitmap != NO_FRINGE_BITMAP)
draw_fringe_bitmap_1 (w, row, 1, 1,
(row->overlay_arrow_bitmap < 0
? get_logical_cursor_bitmap (w, Qoverlay_arrow)
? get_logical_fringe_bitmap (w, Qoverlay_arrow, 0, 0)
: row->overlay_arrow_bitmap));
}

View File

@ -2109,7 +2109,8 @@ whether or not it is currently displayed in some window. */)
it.vpos = 0;
/* Do this even if LINES is 0, so that we move back
to the beginning of the current line as we ought. */
move_it_by_lines (&it, XINT (lines), 0);
if (XINT (lines) >= 0 || IT_CHARPOS (it) > 0)
move_it_by_lines (&it, XINT (lines), 0);
SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
}

View File

@ -217,13 +217,13 @@ typedef struct _XGC
RGBColor back_color;
#define MAX_CLIP_RECTS 2
/* QuickDraw clipping region. */
/* Number of clipping rectangles. */
int n_clip_rects;
/* QuickDraw clipping region. Ignored if n_clip_rects == 0. */
RgnHandle clip_region;
#if defined (MAC_OSX) && USE_ATSUI
/* Number of clipping rectangles used in Quartz 2D drawing. */
int n_clip_rects;
/* Clipping rectangles used in Quartz 2D drawing. The y-coordinate
is in QuickDraw's. */
CGRect clip_rects[MAX_CLIP_RECTS];

View File

@ -1257,8 +1257,11 @@ digest_single_submenu (start, end, top_level_items)
wv->enabled = 1;
wv->button_type = BUTTON_TYPE_NONE;
wv->help = Qnil;
save_wv = wv;
}
save_wv = wv;
else
save_wv = first_wv;
prev_wv = 0;
i += MENU_ITEMS_PANE_LENGTH;
}

View File

@ -267,14 +267,13 @@ extern void menubar_selection_callback (FRAME_PTR, int);
#define GC_FORE_COLOR(gc) (&(gc)->fore_color)
#define GC_BACK_COLOR(gc) (&(gc)->back_color)
#define GC_FONT(gc) ((gc)->xgcv.font)
#define GC_CLIP_REGION(gc) ((gc)->clip_region)
#define FRAME_NORMAL_GC(f) ((f)->output_data.mac->normal_gc)
static RgnHandle saved_port_clip_region = NULL;
static void
mac_begin_clip (region)
RgnHandle region;
mac_begin_clip (gc)
GC gc;
{
static RgnHandle new_region = NULL;
@ -283,19 +282,19 @@ mac_begin_clip (region)
if (new_region == NULL)
new_region = NewRgn ();
if (region && !EmptyRgn (region))
if (gc->n_clip_rects)
{
GetClip (saved_port_clip_region);
SectRgn (saved_port_clip_region, region, new_region);
SectRgn (saved_port_clip_region, gc->clip_region, new_region);
SetClip (new_region);
}
}
static void
mac_end_clip (region)
RgnHandle region;
mac_end_clip (gc)
GC gc;
{
if (region && !EmptyRgn (region))
if (gc->n_clip_rects)
SetClip (saved_port_clip_region);
}
@ -323,10 +322,10 @@ mac_draw_line (f, gc, x1, y1, x2, y2)
RGBForeColor (GC_FORE_COLOR (gc));
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
MoveTo (x1, y1);
LineTo (x2, y2);
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
}
void
@ -367,9 +366,9 @@ mac_erase_rectangle (f, gc, x, y, width, height)
RGBBackColor (GC_BACK_COLOR (gc));
SetRect (&r, x, y, x + width, y + height);
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
EraseRect (&r);
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
}
@ -432,7 +431,7 @@ mac_draw_bitmap (f, gc, x, y, width, height, bits, overlay_p)
RGBBackColor (GC_BACK_COLOR (gc));
SetRect (&r, x, y, x + width, y + height);
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
#if TARGET_API_MAC_CARBON
{
CGrafPtr port;
@ -447,7 +446,7 @@ mac_draw_bitmap (f, gc, x, y, width, height, bits, overlay_p)
CopyBits (&bitmap, &(FRAME_MAC_WINDOW (f)->portBits), &(bitmap.bounds), &r,
overlay_p ? srcOr : srcCopy, 0);
#endif /* not TARGET_API_MAC_CARBON */
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
}
@ -579,9 +578,9 @@ mac_fill_rectangle (f, gc, x, y, width, height)
RGBForeColor (GC_FORE_COLOR (gc));
SetRect (&r, x, y, x + width, y + height);
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
PaintRect (&r); /* using foreground color of gc */
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
}
@ -601,9 +600,9 @@ mac_draw_rectangle (f, gc, x, y, width, height)
RGBForeColor (GC_FORE_COLOR (gc));
SetRect (&r, x, y, x + width + 1, y + height + 1);
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
FrameRect (&r); /* using foreground color of gc */
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
}
@ -718,7 +717,7 @@ mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, bytes_per_char)
if (!mac_use_core_graphics)
{
#endif
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
RGBForeColor (GC_FORE_COLOR (gc));
if (bg_width)
{
@ -734,7 +733,7 @@ mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, bytes_per_char)
ATSUDrawText (text_layout,
kATSUFromTextBeginning, kATSUToTextEnd,
kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc);
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
#ifdef MAC_OSX
}
else
@ -807,7 +806,7 @@ mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, bytes_per_char)
if (mac_use_core_graphics)
savedFlags = SwapQDTextFlags (kQDUseCGTextRendering);
#endif
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
RGBForeColor (GC_FORE_COLOR (gc));
#ifdef MAC_OS8
if (bg_width)
@ -843,7 +842,7 @@ mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, bytes_per_char)
DrawText (buf, 0, nchars * bytes_per_char);
if (bg_width)
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
if (mac_use_core_graphics)
@ -1185,7 +1184,7 @@ mac_copy_area (src, f, gc, src_x, src_y, width, height, dest_x, dest_y)
ForeColor (blackColor);
BackColor (whiteColor);
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
LockPixels (GetGWorldPixMap (src));
#if TARGET_API_MAC_CARBON
{
@ -1203,7 +1202,7 @@ mac_copy_area (src, f, gc, src_x, src_y, width, height, dest_x, dest_y)
&src_r, &dest_r, srcCopy, 0);
#endif /* not TARGET_API_MAC_CARBON */
UnlockPixels (GetGWorldPixMap (src));
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
}
@ -1229,7 +1228,7 @@ mac_copy_area_with_mask (src, mask, f, gc, src_x, src_y,
ForeColor (blackColor);
BackColor (whiteColor);
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
LockPixels (GetGWorldPixMap (src));
LockPixels (GetGWorldPixMap (mask));
#if TARGET_API_MAC_CARBON
@ -1249,7 +1248,7 @@ mac_copy_area_with_mask (src, mask, f, gc, src_x, src_y,
#endif /* not TARGET_API_MAC_CARBON */
UnlockPixels (GetGWorldPixMap (mask));
UnlockPixels (GetGWorldPixMap (src));
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
}
@ -1287,9 +1286,9 @@ mac_scroll_area (f, gc, src_x, src_y, width, height, dest_x, dest_y)
color mapping in CopyBits. Otherwise, it will be slow. */
ForeColor (blackColor);
BackColor (whiteColor);
mac_begin_clip (GC_CLIP_REGION (gc));
mac_begin_clip (gc);
CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0);
mac_end_clip (GC_CLIP_REGION (gc));
mac_end_clip (gc);
RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f)));
#endif /* not TARGET_API_MAC_CARBON */
@ -1425,14 +1424,10 @@ mac_set_clip_rectangles (display, gc, rectangles, n)
{
int i;
if (n < 0 || n > MAX_CLIP_RECTS)
abort ();
if (n == 0)
{
if (gc->clip_region)
SetEmptyRgn (gc->clip_region);
}
else
xassert (n >= 0 && n <= MAX_CLIP_RECTS);
gc->n_clip_rects = n;
if (n > 0)
{
if (gc->clip_region == NULL)
gc->clip_region = NewRgn ();
@ -1450,8 +1445,6 @@ mac_set_clip_rectangles (display, gc, rectangles, n)
}
}
#if defined (MAC_OSX) && USE_ATSUI
gc->n_clip_rects = n;
for (i = 0; i < n; i++)
{
Rect *rect = rectangles + i;
@ -1471,7 +1464,7 @@ mac_reset_clip_rectangles (display, gc)
Display *display;
GC gc;
{
mac_set_clip_rectangles (display, gc, NULL, 0);
gc->n_clip_rects = 0;
}
@ -4536,8 +4529,7 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
int portion, position, whole;
{
ControlHandle ch = SCROLL_BAR_CONTROL_HANDLE (bar);
int value, viewsize, maximum;
int value, viewsize, maximum, visible_p;
if (whole == 0 || XINT (bar->track_height) == 0)
value = 0, viewsize = 1, maximum = 0;
@ -4550,11 +4542,17 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
BLOCK_INPUT;
/* Temporarily hide the scroll bar to avoid multiple redraws. */
visible_p = IsControlVisible (ch);
SetControlVisibility (ch, false, false);
SetControl32BitMinimum (ch, 0);
SetControl32BitMaximum (ch, maximum);
SetControl32BitValue (ch, value);
SetControlViewSize (ch, viewsize);
SetControlVisibility (ch, visible_p, true);
UNBLOCK_INPUT;
}

View File

@ -1863,7 +1863,8 @@ MINIBUF neither nil nor t means never include the minibuffer window. */)
Lisp_Object frame, minibuf, window;
{
if (NILP (window))
window = selected_window;
window = FRAMEP (frame) ? XFRAME (frame)->selected_window : selected_window;
CHECK_WINDOW (window);
if (NILP (frame))
frame = selected_frame;