mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-23 13:27:36 +00:00
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-7
Merge from emacs--cvs-trunk--0 Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-52 - miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-53 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-54 Update from CVS: lisp/cus-start.el (all): Add `undo-outer-limit'. * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-55 - miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-57 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-58 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-7 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-8 - miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-11 Update from CVS
This commit is contained in:
commit
5f85994ad1
30 changed files with 648 additions and 351 deletions
|
|
@ -4,9 +4,6 @@ Tasks needed before the next release.
|
|||
|
||||
** Face remapping.
|
||||
|
||||
** Make Rmail find the best version of movemail.
|
||||
To be done by Sergey Poznyakoff <gray@Mirddin.farlep.net>.
|
||||
|
||||
** Make VC-over-Tramp work where possible, or at least fail
|
||||
gracefully if something isn't supported over Tramp.
|
||||
To be done by Andre Spiegel <spiegel@gnu.org>.
|
||||
|
|
@ -14,6 +11,8 @@ To be done by Andre Spiegel <spiegel@gnu.org>.
|
|||
** define-minor-mode should not put :require into defcustom.
|
||||
See msg from rms to emacs-devel on 21 Dec.
|
||||
|
||||
** Update Speedbar.
|
||||
|
||||
* FATAL ERRORS
|
||||
|
||||
** Investigate face cache related crash.
|
||||
|
|
@ -184,7 +183,7 @@ man/anti.texi
|
|||
man/basic.texi "Luc Teirlinck"
|
||||
man/buffers.texi "Luc Teirlinck"
|
||||
man/building.texi "Ted Zlatanov" <tzz@lifelogs.com>
|
||||
man/calendar.texi
|
||||
man/calendar.texi Joakim Verona <joakim@verona.se>
|
||||
man/cmdargs.texi
|
||||
man/commands.texi "Luc Teirlinck"
|
||||
man/custom.texi
|
||||
|
|
|
|||
|
|
@ -1,3 +1,65 @@
|
|||
2005-01-29 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* progmodes/gdb-ui.el (gdb-info-breakpoints-custom)
|
||||
(gdb-goto-breakpoint): Make breakpoint handling work on template
|
||||
functions in C++. Reported by Martin Reed <mjreed@essex.ac.uk>
|
||||
|
||||
2005-01-28 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* descr-text.el: Add more keywords.
|
||||
|
||||
2005-01-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* speedbar.el: Avoid unnecessary use of locate-library.
|
||||
|
||||
* international/mule-cmds.el (standard-display-european-internal):
|
||||
Don't fiddle with latin-1 non-break space any more since it's now
|
||||
special cased in the C code.
|
||||
Don't "do&undo" setting for 160 (especially, don't undo incorrectly).
|
||||
|
||||
2005-01-26 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* cus-start.el (all): Add `undo-outer-limit'.
|
||||
|
||||
2005-01-25 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
|
||||
|
||||
* textmodes/bibtex.el (bibtex-format-entry):
|
||||
Use `bibtex-empty-field-re' only on the text of fields, not on entire
|
||||
field lines.
|
||||
(bibtex-autofill-entry): Use `bibtex-empty-field-re' on a string,
|
||||
not on part of a buffer.
|
||||
|
||||
2005-01-25 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
* textmodes/bibtex.el (bibtex-empty-field-re): Don't match
|
||||
nonempty field text strings like "{letters\\macro{}more letters}".
|
||||
Clarify docstring.
|
||||
(bibtex-sort-entry-class, bibtex-autokey-titleword-ignore)
|
||||
(bibtex-entry-offset, bibtex-parse-association)
|
||||
(bibtex-parse-field-name): Fix typos in docstrings.
|
||||
(bibtex-field-list, bibtex-find-crossref): Fix typos in error messages.
|
||||
|
||||
2005-01-24 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* textmodes/reftex-global.el (reftex-isearch-push-state-function)
|
||||
(reftex-isearch-pop-state-function, reftex-isearch-isearch-search)
|
||||
(reftex-isearch-switch-to-next-file, reftex-isearch-turn-off)
|
||||
(reftex-isearch-turn-on, reftex-isearch-minor-mode): New functions.
|
||||
|
||||
* textmodes/reftex.el (reftex-mode-menu): Add entry for reftex
|
||||
isearch minor mode.
|
||||
|
||||
2005-01-24 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
* help-at-pt.el (help-at-pt-display-when-idle): Add autoload cookie.
|
||||
|
||||
2005-01-24 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
* textmodes/ispell.el (ispell-dictionary-alist-4): Rewrite the
|
||||
CASECHARS and NOT-CASECHARS regular expressions of the
|
||||
"nederlands" and "nederlands8" dictionaries to prevent a "Range
|
||||
striding over charsets" error.
|
||||
|
||||
2005-01-24 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* calc/calc-store.el (calc-declare-variable): Use calc-var-name to
|
||||
|
|
@ -76,7 +138,7 @@
|
|||
|
||||
2005-01-20 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* term/mac-win.el (process-connection-type): Removed.
|
||||
* term/mac-win.el (process-connection-type): Remove.
|
||||
Controlled now by s/darwin.h:PTY_ITERATION.
|
||||
|
||||
2005-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
;;; cus-edit.el --- tools for customizing Emacs and Lisp packages
|
||||
;;
|
||||
;; Copyright (C) 1996,97,1999,2000,01,02,03,2004 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
;; Free Software Foundation, Inc.
|
||||
;;
|
||||
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
|
||||
;; Maintainer: FSF
|
||||
|
|
@ -898,8 +899,6 @@ then prompt for the MODE to customize."
|
|||
(let (
|
||||
;; Copied from `custom-buffer-create-other-window'.
|
||||
(pop-up-windows t)
|
||||
(special-display-buffer-names nil)
|
||||
(special-display-regexps nil)
|
||||
(same-window-buffer-names nil)
|
||||
(same-window-regexps nil))
|
||||
(pop-to-buffer name))
|
||||
|
|
@ -1246,8 +1245,6 @@ SYMBOL is a customization option, and WIDGET is a widget for editing
|
|||
that option."
|
||||
(unless name (setq name "*Customization*"))
|
||||
(let ((pop-up-windows t)
|
||||
(special-display-buffer-names nil)
|
||||
(special-display-regexps nil)
|
||||
(same-window-buffer-names nil)
|
||||
(same-window-regexps nil))
|
||||
(pop-to-buffer (custom-get-fresh-buffer name))
|
||||
|
|
@ -4072,23 +4069,23 @@ The format is suitable for use with `easy-menu-define'."
|
|||
|
||||
;;; The Custom Mode.
|
||||
|
||||
(defvar custom-mode-map nil
|
||||
"Keymap for `custom-mode'.")
|
||||
|
||||
(unless custom-mode-map
|
||||
(defvar custom-mode-map
|
||||
;; This keymap should be dense, but a dense keymap would prevent inheriting
|
||||
;; "\r" bindings from the parent map.
|
||||
(setq custom-mode-map (make-sparse-keymap))
|
||||
(set-keymap-parent custom-mode-map widget-keymap)
|
||||
(suppress-keymap custom-mode-map)
|
||||
(define-key custom-mode-map " " 'scroll-up)
|
||||
(define-key custom-mode-map "\177" 'scroll-down)
|
||||
(define-key custom-mode-map "\C-x\C-s" 'Custom-save)
|
||||
(define-key custom-mode-map "q" 'Custom-buffer-done)
|
||||
(define-key custom-mode-map "u" 'Custom-goto-parent)
|
||||
(define-key custom-mode-map "n" 'widget-forward)
|
||||
(define-key custom-mode-map "p" 'widget-backward)
|
||||
(define-key custom-mode-map [mouse-1] 'Custom-move-and-invoke))
|
||||
;; Actually, this misfeature of dense keymaps was fixed on 2001-11-26.
|
||||
(let ((map (make-keymap)))
|
||||
(set-keymap-parent map widget-keymap)
|
||||
(suppress-keymap map)
|
||||
(define-key map " " 'scroll-up)
|
||||
(define-key map "\177" 'scroll-down)
|
||||
(define-key map "\C-x\C-s" 'Custom-save)
|
||||
(define-key map "q" 'Custom-buffer-done)
|
||||
(define-key map "u" 'Custom-goto-parent)
|
||||
(define-key map "n" 'widget-forward)
|
||||
(define-key map "p" 'widget-backward)
|
||||
(define-key map [mouse-1] 'Custom-move-and-invoke)
|
||||
map)
|
||||
"Keymap for `custom-mode'.")
|
||||
|
||||
(defun Custom-move-and-invoke (event)
|
||||
"Move to where you click, and if it is an active field, invoke it."
|
||||
|
|
@ -4187,5 +4184,5 @@ if that value is non-nil."
|
|||
|
||||
(provide 'cus-edit)
|
||||
|
||||
;;; arch-tag: 64533aa4-1b1a-48c3-8812-f9dc718e8a6f
|
||||
;; arch-tag: 64533aa4-1b1a-48c3-8812-f9dc718e8a6f
|
||||
;;; cus-edit.el ends here
|
||||
|
|
|
|||
|
|
@ -41,6 +41,17 @@
|
|||
(gc-cons-threshold alloc integer)
|
||||
(undo-limit undo integer)
|
||||
(undo-strong-limit undo integer)
|
||||
(undo-outer-limit undo
|
||||
(choice integer
|
||||
(const :tag "No limit"
|
||||
:format "%t\n%d"
|
||||
:doc
|
||||
"With this choice, \
|
||||
the undo info for the current command never gets discarded.
|
||||
This should only be chosen under exceptional circumstances,
|
||||
since it could result in memory overflow and make Emacs crash."
|
||||
nil))
|
||||
"21.4")
|
||||
(garbage-collection-messages alloc boolean)
|
||||
;; buffer.c
|
||||
(mode-line-format modeline sexp) ;Hard to do right.
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
;;; descr-text.el --- describe text mode
|
||||
|
||||
;; Copyright (c) 1994, 1995, 1996, 2001, 2002, 2003, 2004
|
||||
;; Copyright (c) 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Boris Goldowsky <boris@gnu.org>
|
||||
;; Keywords: faces
|
||||
;; Keywords: faces, i18n, Unicode, multilingual
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
|
|
@ -217,7 +217,7 @@ otherwise."
|
|||
(defcustom describe-char-unicodedata-file nil
|
||||
"Location of Unicode data file.
|
||||
This is the UnicodeData.txt file from the Unicode consortium, used for
|
||||
diagnostics. If it is non-nil `describe-char-after' will print data
|
||||
diagnostics. If it is non-nil `describe-char' will print data
|
||||
looked up from it. This facility is mostly of use to people doing
|
||||
multilingual development.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands
|
||||
|
||||
;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2003, 2004
|
||||
;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2003, 2004, 2005
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: FSF
|
||||
|
|
@ -602,7 +602,7 @@ Reinitialize the face according to the `defface' specification."
|
|||
(boundp (cadr form)))
|
||||
;; Force variable to be re-set.
|
||||
`(progn (defvar ,(nth 1 form) nil ,@(nthcdr 3 form))
|
||||
(setq ,(nth 1 form) ,(nth 2 form))))
|
||||
(setq-default ,(nth 1 form) ,(nth 2 form))))
|
||||
;; `defcustom' is now macroexpanded to
|
||||
;; `custom-declare-variable' with a quoted value arg.
|
||||
((and (eq (car form) 'custom-declare-variable)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,24 @@
|
|||
2005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* message.el (message-beginning-of-line): Change the behavior when
|
||||
invoked between BOL and : so that it first moves backward.
|
||||
|
||||
2005-01-28 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-art.el (gnus-article-setup-buffer): Kill and re-create the
|
||||
article buffer when editing of the article is discarded.
|
||||
(gnus-article-prepare): Revert.
|
||||
|
||||
2005-01-28 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-art.el (gnus-article-prepare): Remove
|
||||
message-strip-forbidden-properties from the local hook.
|
||||
|
||||
2005-01-24 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* mml.el (mml-generate-mime-1): Convert string into unibyte when
|
||||
inserting " *mml*" buffer's contents into a unibyte temp buffer.
|
||||
|
||||
2005-01-20 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* mm-decode.el (mm-insert-part): Switch the multibyteness of data
|
||||
|
|
@ -14,8 +35,7 @@
|
|||
|
||||
* mm-bodies.el (mm-body-encoding): Don't permit 7-bit to be used
|
||||
when mm-use-ultra-safe-encoding is enabled (e.g., for PGP/MIME)
|
||||
and we have trailing white space. Reported by Werner Koch
|
||||
<wk@gnupg.org>.
|
||||
and we have trailing white space. Reported by Werner Koch <wk@gnupg.org>.
|
||||
|
||||
2004-12-17 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
|
|
@ -58,8 +78,8 @@
|
|||
|
||||
2004-12-13 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-group.el (gnus-group-make-rss-group): Use
|
||||
gnus-group-make-group instead of gnus-group-unsubscribe-group.
|
||||
* gnus-group.el (gnus-group-make-rss-group):
|
||||
Use gnus-group-make-group instead of gnus-group-unsubscribe-group.
|
||||
|
||||
* gnus-start.el (gnus-setup-news): Honor user's setting to
|
||||
gnus-message-archive-method. Suggested by Lute Kamstra
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
;;; gnus-art.el --- article mode commands for Gnus
|
||||
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
||||
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
|
@ -3743,14 +3743,19 @@ commands:
|
|||
(mm-enable-multibyte)
|
||||
(setq major-mode 'gnus-original-article-mode)
|
||||
(make-local-variable 'gnus-original-article))
|
||||
(if (get-buffer name)
|
||||
(if (and (get-buffer name)
|
||||
(with-current-buffer name
|
||||
(if gnus-article-edit-mode
|
||||
(if (y-or-n-p "Article mode edit in progress; discard? ")
|
||||
(progn
|
||||
(set-buffer-modified-p nil)
|
||||
(gnus-kill-buffer name)
|
||||
(message "")
|
||||
nil)
|
||||
(error "Action aborted"))
|
||||
t)))
|
||||
(save-excursion
|
||||
(set-buffer name)
|
||||
(when (and gnus-article-edit-mode
|
||||
(buffer-modified-p)
|
||||
(not
|
||||
(y-or-n-p "Article mode edit in progress; discard? ")))
|
||||
(error "Action aborted"))
|
||||
(set (make-local-variable 'gnus-article-edit-mode) nil)
|
||||
(when gnus-article-mime-handles
|
||||
(mm-destroy-parts gnus-article-mime-handles)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
;;; message.el --- composing mail and news messages
|
||||
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
||||
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
|
@ -800,7 +800,7 @@ variable isn't used."
|
|||
;; is nil. See: http://article.gmane.org/gmane.emacs.gnus.general/51138
|
||||
(defcustom message-generate-headers-first '(references)
|
||||
"Which headers should be generated before starting to compose a message.
|
||||
If `t', generate all required headers. This can also be a list of headers to
|
||||
If t, generate all required headers. This can also be a list of headers to
|
||||
generate. The variables `message-required-news-headers' and
|
||||
`message-required-mail-headers' specify which headers to generate.
|
||||
|
||||
|
|
@ -5295,10 +5295,10 @@ outside the message header or if the option `message-beginning-of-line'
|
|||
is nil.
|
||||
|
||||
If point is in the message header and on a (non-continued) header
|
||||
line, move point to the beginning of the header value. If point
|
||||
is already there, move point to beginning of line. Therefore,
|
||||
repeated calls will toggle point between beginning of field and
|
||||
beginning of line."
|
||||
line, move point to the beginning of the header value or the beginning of line,
|
||||
whichever is closer. If point is already at beginning of line, move point to
|
||||
beginning of header value. Therefore, repeated calls will toggle point
|
||||
between beginning of field and beginning of line."
|
||||
(interactive "p")
|
||||
(let ((zrs 'zmacs-region-stays))
|
||||
(when (and (interactive-p) (boundp zrs))
|
||||
|
|
@ -5309,9 +5309,9 @@ beginning of line."
|
|||
(bol (progn (beginning-of-line n) (point)))
|
||||
(eol (gnus-point-at-eol))
|
||||
(eoh (re-search-forward ": *" eol t)))
|
||||
(if (or (not eoh) (equal here eoh))
|
||||
(goto-char bol)
|
||||
(goto-char eoh)))
|
||||
(goto-char
|
||||
(if (and eoh (or (< eoh here) (= bol here)))
|
||||
eoh bol)))
|
||||
(beginning-of-line n)))
|
||||
|
||||
(defun message-buffer-name (type &optional to group)
|
||||
|
|
@ -6880,5 +6880,5 @@ regexp VARSTR."
|
|||
;; coding: iso-8859-1
|
||||
;; End:
|
||||
|
||||
;;; arch-tag: 94b32cac-4504-4b6c-8181-030ebf380ee0
|
||||
;; arch-tag: 94b32cac-4504-4b6c-8181-030ebf380ee0
|
||||
;;; message.el ends here
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
;;; mml.el --- A package for parsing and validating MML documents
|
||||
;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
|
||||
;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
|
@ -471,7 +471,9 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
|
|||
(mm-with-unibyte-buffer
|
||||
(cond
|
||||
((cdr (assq 'buffer cont))
|
||||
(insert-buffer-substring (cdr (assq 'buffer cont))))
|
||||
(insert (with-current-buffer (cdr (assq 'buffer cont))
|
||||
(mm-with-unibyte-current-buffer
|
||||
(buffer-string)))))
|
||||
((and (setq filename (cdr (assq 'filename cont)))
|
||||
(not (equal (cdr (assq 'nofile cont)) "yes")))
|
||||
(let ((coding-system-for-read mm-binary-coding-system))
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ This is done by setting a timer, if none is currently active."
|
|||
(run-with-idle-timer
|
||||
help-at-pt-timer-delay t #'help-at-pt-maybe-display))))
|
||||
|
||||
;;;###autoload
|
||||
(defcustom help-at-pt-display-when-idle 'never
|
||||
"*Automatically show local help on point-over.
|
||||
If the value is t, the string obtained from any `kbd-help' or
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; mule-cmds.el --- commands for mulitilingual environment -*-coding: iso-2022-7bit -*-
|
||||
|
||||
;; Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1995, 2003 Electrotechnical Laboratory, JAPAN.
|
||||
;; Licensed to the Free Software Foundation.
|
||||
;; Copyright (C) 2003
|
||||
|
|
@ -1839,12 +1839,14 @@ Setting this variable directly does not take effect. See
|
|||
;; different there.
|
||||
(or (and (eq window-system 'pc) (not default-enable-multibyte-characters))
|
||||
(progn
|
||||
;; Make non-line-break space display as a plain space.
|
||||
;; Most X fonts do the wrong thing for code 160.
|
||||
(aset standard-display-table 160 [32])
|
||||
;; With luck, non-Latin-1 fonts are more recent and so don't
|
||||
;; have this bug.
|
||||
(aset standard-display-table (make-char 'latin-iso8859-1 160) [32])
|
||||
;; Most X fonts used to do the wrong thing for latin-1 code 160.
|
||||
(unless (and (eq window-system 'x)
|
||||
;; XFree86 4 has fixed the fonts.
|
||||
(string= "The XFree86 Project, Inc" (x-server-vendor))
|
||||
(> (aref (number-to-string (nth 2 (x-server-version))) 0)
|
||||
?3))
|
||||
;; Make non-line-break space display as a plain space.
|
||||
(aset standard-display-table 160 [32]))
|
||||
;; Most Windows programs send out apostrophes as \222. Most X fonts
|
||||
;; don't contain a character at that position. Map it to the ASCII
|
||||
;; apostrophe. [This is actually RIGHT SINGLE QUOTATION MARK,
|
||||
|
|
@ -1852,23 +1854,7 @@ Setting this variable directly does not take effect. See
|
|||
;; fonts probably have the appropriate glyph at this position,
|
||||
;; so they could use standard-display-8bit. It's better to use a
|
||||
;; proper windows-1252 coding system. --fx]
|
||||
(aset standard-display-table 146 [39])
|
||||
;; XFree86 4 has changed most of the fonts from their designed
|
||||
;; versions such that `' no longer appears as balanced quotes.
|
||||
;; Assume it has iso10646 fonts installed, so we can display
|
||||
;; balanced quotes.
|
||||
(when (and (eq window-system 'x)
|
||||
(string= "The XFree86 Project, Inc" (x-server-vendor))
|
||||
(> (aref (number-to-string (nth 2 (x-server-version))) 0)
|
||||
?3))
|
||||
;; We suppress these setting for the moment because the
|
||||
;; above assumption is wrong.
|
||||
;; (aset standard-display-table ?' [?,F"(B])
|
||||
;; (aset standard-display-table ?` [?,F!(B])
|
||||
;; The fonts don't have the relevant bug.
|
||||
(aset standard-display-table 160 nil)
|
||||
(aset standard-display-table (make-char 'latin-iso8859-1 160)
|
||||
nil)))))
|
||||
(aset standard-display-table 146 [39]))))
|
||||
|
||||
(defun set-language-environment-coding-systems (language-name
|
||||
&optional eol-type)
|
||||
|
|
@ -1924,8 +1910,7 @@ of `buffer-file-coding-system' set by this function."
|
|||
(setq language-name (symbol-name language-name)))
|
||||
(dolist (feature (get-language-info language-name 'features))
|
||||
(require feature))
|
||||
(let ((doc (get-language-info language-name 'documentation))
|
||||
pos)
|
||||
(let ((doc (get-language-info language-name 'documentation)))
|
||||
(help-setup-xref (list #'describe-language-environment language-name)
|
||||
(interactive-p))
|
||||
(with-output-to-temp-buffer (help-buffer)
|
||||
|
|
|
|||
|
|
@ -1143,7 +1143,7 @@ static char *magick[] = {
|
|||
(setq bptno (match-string 1))
|
||||
(setq flag (char-after (match-beginning 2)))
|
||||
(beginning-of-line)
|
||||
(if (re-search-forward "in\\s-+\\S-+\\s-+at\\s-+" nil t)
|
||||
(if (re-search-forward "in.*at\\s-+" nil t)
|
||||
(progn
|
||||
(looking-at "\\(\\S-+\\):\\([0-9]+\\)")
|
||||
(let ((line (match-string 2)) (buffer-read-only nil)
|
||||
|
|
@ -1298,7 +1298,7 @@ static char *magick[] = {
|
|||
(save-excursion
|
||||
(beginning-of-line 1)
|
||||
(if (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))
|
||||
(looking-at ".*in\\s-+\\S-+\\s-+at\\s-+\\(\\S-*\\):\\([0-9]+\\)")
|
||||
(looking-at ".*in.*at\\s-+\\(\\S-*\\):\\([0-9]+\\)")
|
||||
(looking-at
|
||||
"[0-9]+\\s-*\\S-*\\s-*\\S-*\\s-*.\\s-*\\S-*\\s-*\\(\\S-*\\):\\([0-9]+\\)"))
|
||||
(let ((line (match-string 2))
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
;;; scheme.el --- Scheme (and DSSSL) editing mode
|
||||
|
||||
;; Copyright (C) 1986, 87, 88, 97, 1998 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1986, 1987, 1988, 1997, 1998, 2005
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Bill Rozas <jinx@martigny.ai.mit.edu>
|
||||
;; Adapted-by: Dave Love <d.love@dl.ac.uk>
|
||||
|
|
@ -144,6 +145,7 @@
|
|||
(setq outline-regexp ";;; \\|(....")
|
||||
(make-local-variable 'comment-start)
|
||||
(setq comment-start ";")
|
||||
(set (make-local-variable 'comment-add) 1)
|
||||
(make-local-variable 'comment-start-skip)
|
||||
;; Look within the line for a ; following an even number of backslashes
|
||||
;; after either a non-backslash or the line beginning.
|
||||
|
|
@ -171,17 +173,11 @@
|
|||
|
||||
(defvar scheme-mode-line-process "")
|
||||
|
||||
(defvar scheme-mode-map nil
|
||||
"Keymap for Scheme mode.
|
||||
All commands in `lisp-mode-shared-map' are inherited by this map.")
|
||||
|
||||
(unless scheme-mode-map
|
||||
(let ((map (make-sparse-keymap "Scheme")))
|
||||
(setq scheme-mode-map (make-sparse-keymap))
|
||||
(set-keymap-parent scheme-mode-map lisp-mode-shared-map)
|
||||
(define-key scheme-mode-map [menu-bar] (make-sparse-keymap))
|
||||
(define-key scheme-mode-map [menu-bar scheme]
|
||||
(cons "Scheme" map))
|
||||
(defvar scheme-mode-map
|
||||
(let ((smap (make-sparse-keymap))
|
||||
(map (make-sparse-keymap "Scheme")))
|
||||
(set-keymap-parent smap lisp-mode-shared-map)
|
||||
(define-key smap [menu-bar scheme] (cons "Scheme" map))
|
||||
(define-key map [run-scheme] '("Run Inferior Scheme" . run-scheme))
|
||||
(define-key map [uncomment-region]
|
||||
'("Uncomment Out Region" . (lambda (beg end)
|
||||
|
|
@ -192,7 +188,10 @@ All commands in `lisp-mode-shared-map' are inherited by this map.")
|
|||
(define-key map [indent-line] '("Indent Line" . lisp-indent-line))
|
||||
(put 'comment-region 'menu-enable 'mark-active)
|
||||
(put 'uncomment-region 'menu-enable 'mark-active)
|
||||
(put 'indent-region 'menu-enable 'mark-active)))
|
||||
(put 'indent-region 'menu-enable 'mark-active)
|
||||
smap)
|
||||
"Keymap for Scheme mode.
|
||||
All commands in `lisp-mode-shared-map' are inherited by this map.")
|
||||
|
||||
;; Used by cmuscheme
|
||||
(defun scheme-mode-commands (map)
|
||||
|
|
@ -222,14 +221,11 @@ Entry to this mode calls the value of `scheme-mode-hook'
|
|||
if that value is non-nil."
|
||||
(interactive)
|
||||
(kill-all-local-variables)
|
||||
(scheme-mode-initialize)
|
||||
(scheme-mode-variables)
|
||||
(run-hooks 'scheme-mode-hook))
|
||||
|
||||
(defun scheme-mode-initialize ()
|
||||
(use-local-map scheme-mode-map)
|
||||
(setq major-mode 'scheme-mode)
|
||||
(setq mode-name "Scheme"))
|
||||
(setq mode-name "Scheme")
|
||||
(scheme-mode-variables)
|
||||
(run-mode-hooks 'scheme-mode-hook))
|
||||
|
||||
(defgroup scheme nil
|
||||
"Editing Scheme code"
|
||||
|
|
@ -346,7 +342,7 @@ See `run-hooks'."
|
|||
"Default expressions to highlight in Scheme modes.")
|
||||
|
||||
;;;###autoload
|
||||
(defun dsssl-mode ()
|
||||
(define-derived-mode dsssl-mode scheme-mode "DSSSL"
|
||||
"Major mode for editing DSSSL code.
|
||||
Editing commands are similar to those of `lisp-mode'.
|
||||
|
||||
|
|
@ -357,20 +353,16 @@ Blank lines separate paragraphs. Semicolons start comments.
|
|||
Entering this mode runs the hooks `scheme-mode-hook' and then
|
||||
`dsssl-mode-hook' and inserts the value of `dsssl-sgml-declaration' if
|
||||
that variable's value is a string."
|
||||
(interactive)
|
||||
(kill-all-local-variables)
|
||||
(use-local-map scheme-mode-map)
|
||||
(scheme-mode-initialize)
|
||||
(make-local-variable 'page-delimiter)
|
||||
(setq page-delimiter "^;;;" ; ^L not valid SGML char
|
||||
major-mode 'dsssl-mode
|
||||
mode-name "DSSSL")
|
||||
;; Insert a suitable SGML declaration into an empty buffer.
|
||||
;; FIXME: This should use `auto-insert-alist' instead.
|
||||
(and (zerop (buffer-size))
|
||||
(stringp dsssl-sgml-declaration)
|
||||
(not buffer-read-only)
|
||||
(insert dsssl-sgml-declaration))
|
||||
(scheme-mode-variables)
|
||||
(setq font-lock-defaults '(dsssl-font-lock-keywords
|
||||
nil t (("+-*/.<>=?$%_&~^:" . "w"))
|
||||
beginning-of-defun
|
||||
|
|
@ -378,9 +370,7 @@ that variable's value is a string."
|
|||
(set (make-local-variable 'imenu-case-fold-search) nil)
|
||||
(setq imenu-generic-expression dsssl-imenu-generic-expression)
|
||||
(set (make-local-variable 'imenu-syntax-alist)
|
||||
'(("+-*/.<>=?$%_&~^:" . "w")))
|
||||
(run-hooks 'scheme-mode-hook)
|
||||
(run-hooks 'dsssl-mode-hook))
|
||||
'(("+-*/.<>=?$%_&~^:" . "w"))))
|
||||
|
||||
;; Extra syntax for DSSSL. This isn't separated from Scheme, but
|
||||
;; shouldn't cause much trouble in scheme-mode.
|
||||
|
|
@ -558,5 +548,5 @@ that variable's value is a string."
|
|||
|
||||
(provide 'scheme)
|
||||
|
||||
;;; arch-tag: a8f06bc1-ad11-42d2-9e36-ce651df37a90
|
||||
;; arch-tag: a8f06bc1-ad11-42d2-9e36-ce651df37a90
|
||||
;;; scheme.el ends here
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
;;; speedbar.el --- quick access to files and tags in a frame
|
||||
|
||||
;;; Copyright (C) 1996, 97, 98, 99, 2000, 01 Free Software Foundation
|
||||
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2005
|
||||
;; Free Software Foundation
|
||||
|
||||
;; Author: Eric M. Ludlam <zappo@gnu.org>
|
||||
;; Version: 0.11a
|
||||
|
|
@ -170,6 +171,8 @@
|
|||
;; - More functions to create buttons and options
|
||||
;; - Timeout directories we haven't visited in a while.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'assoc)
|
||||
(require 'easymenu)
|
||||
|
||||
|
|
@ -201,7 +204,6 @@
|
|||
:prefix "speedbar-"
|
||||
:group 'speedbar)
|
||||
|
||||
;;; Code:
|
||||
(defvar speedbar-initial-expansion-mode-alist
|
||||
'(("buffers" speedbar-buffer-easymenu-definition speedbar-buffers-key-map
|
||||
speedbar-buffer-buttons)
|
||||
|
|
@ -373,7 +375,7 @@ is attached to."
|
|||
(symbol :tag "Property")
|
||||
(sexp :tag "Value"))))
|
||||
|
||||
(defcustom speedbar-use-imenu-flag (stringp (locate-library "imenu"))
|
||||
(defcustom speedbar-use-imenu-flag (fboundp 'imenu)
|
||||
"*Non-nil means use imenu for file parsing. nil to use etags.
|
||||
XEmacs prior to 20.4 doesn't support imenu, therefore the default is to
|
||||
use etags instead. Etags support is not as robust as imenu support."
|
||||
|
|
@ -3749,7 +3751,7 @@ functions to do caching and flushing if appropriate."
|
|||
|
||||
nil
|
||||
|
||||
(eval-when-compile (if (locate-library "imenu") (require 'imenu)))
|
||||
(eval-when-compile (condition-case nil (require 'imenu) (error nil)))
|
||||
|
||||
(defun speedbar-fetch-dynamic-imenu (file)
|
||||
"Load FILE into a buffer, and generate tags using Imenu.
|
||||
|
|
@ -4359,5 +4361,5 @@ If we have an image associated with it, use that image."
|
|||
;; run load-time hooks
|
||||
(run-hooks 'speedbar-load-hook)
|
||||
|
||||
;;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5
|
||||
;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5
|
||||
;;; speedbar.el ends here
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ See also `bibtex-sort-ignore-string-entries'."
|
|||
If value of `bibtex-maintain-sorted-entries' is `entry-class'
|
||||
entries are ordered according to the classes they belong to. Each
|
||||
class contains a list of entry names. An entry `catch-all' applies
|
||||
to all entries not explicitely mentioned."
|
||||
to all entries not explicitly mentioned."
|
||||
:group 'BibTeX
|
||||
:type '(repeat (choice :tag "Class"
|
||||
(const :tag "catch-all" (catch-all))
|
||||
|
|
@ -654,7 +654,7 @@ See `bibtex-generate-autokey' for details."
|
|||
'("A" "An" "On" "The" "Eine?" "Der" "Die" "Das"
|
||||
"[^A-Z].*" ".*[^A-Z0-9].*")
|
||||
"Determines words from the title that are not to be used in the key.
|
||||
Each item of the list is a regexp. If a word of the title matchs a
|
||||
Each item of the list is a regexp. If a word of the title matches a
|
||||
regexp from that list, it is not included in the title part of the key.
|
||||
See `bibtex-generate-autokey' for details."
|
||||
:group 'bibtex-autokey
|
||||
|
|
@ -730,7 +730,7 @@ and must return a string (the key to use)."
|
|||
|
||||
(defcustom bibtex-entry-offset 0
|
||||
"Offset for BibTeX entries.
|
||||
Added to the value of all other variables which determine colums."
|
||||
Added to the value of all other variables which determine columns."
|
||||
:group 'bibtex
|
||||
:type 'integer)
|
||||
|
||||
|
|
@ -1115,9 +1115,8 @@ The CDRs of the elements are t for header keys and nil for crossref keys.")
|
|||
t))
|
||||
"Regexp matching the name of any valid BibTeX entry (including string).")
|
||||
|
||||
|
||||
(defconst bibtex-empty-field-re "\"\"\\|{}"
|
||||
"Regexp matching an empty field.")
|
||||
(defconst bibtex-empty-field-re "\\`\\(\"\"\\|{}\\)\\'"
|
||||
"Regexp matching the text part (as a string) of an empty field.")
|
||||
|
||||
(defconst bibtex-font-lock-syntactic-keywords
|
||||
`((,(concat "^[ \t]*\\(" (substring bibtex-comment-start 0 1) "\\)"
|
||||
|
|
@ -1179,7 +1178,7 @@ ARG is ignored."
|
|||
"Parse a string of the format <left-hand-side = right-hand-side>.
|
||||
The functions PARSE-LHS and PARSE-RHS are used to parse the corresponding
|
||||
substrings. These functions are expected to return nil if parsing is not
|
||||
successfull. If both functions return non-nil, a pair containing the returned
|
||||
successful. If both functions return non-nil, a pair containing the returned
|
||||
values of the functions PARSE-LHS and PARSE-RHS is returned."
|
||||
(save-match-data
|
||||
(save-excursion
|
||||
|
|
@ -1196,7 +1195,7 @@ values of the functions PARSE-LHS and PARSE-RHS is returned."
|
|||
If the field name is found, return a triple consisting of the position of the
|
||||
very first character of the match, the actual starting position of the name
|
||||
part and end position of the match. Move point to end of field name.
|
||||
If `bibtex-autoadd-commas' is non-nil add missing comma at end of preceeding
|
||||
If `bibtex-autoadd-commas' is non-nil add missing comma at end of preceding
|
||||
BibTeX field as necessary."
|
||||
(cond ((looking-at ",[ \t\n]*")
|
||||
(let ((start (point)))
|
||||
|
|
@ -1875,7 +1874,7 @@ Formats current entry according to variable `bibtex-entry-format'."
|
|||
(if opt-alt (+ beg-name 3) beg-name) end-name))
|
||||
(empty-field (string-match bibtex-empty-field-re
|
||||
(buffer-substring-no-properties
|
||||
beg-field end-field)))
|
||||
beg-text end-text)))
|
||||
deleted)
|
||||
|
||||
;; We have more elegant high-level functions for several
|
||||
|
|
@ -2824,7 +2823,7 @@ and `bibtex-user-optional-fields'."
|
|||
(let ((e (assoc-string entry-type bibtex-entry-field-alist t))
|
||||
required optional)
|
||||
(unless e
|
||||
(error "Bibtex entry type %s not defined" entry-type))
|
||||
(error "BibTeX entry type %s not defined" entry-type))
|
||||
(if (and (member-ignore-case entry-type bibtex-include-OPTcrossref)
|
||||
(nth 2 e))
|
||||
(setq required (nth 0 (nth 2 e))
|
||||
|
|
@ -2960,9 +2959,13 @@ entry (for example, the year parts of the keys)."
|
|||
(while (setq bounds (bibtex-parse-field bibtex-field-name))
|
||||
(let ((text (assoc-string (bibtex-name-in-field bounds t)
|
||||
other t)))
|
||||
(goto-char (bibtex-start-of-text-in-field bounds))
|
||||
(if (not (and (looking-at bibtex-empty-field-re) text))
|
||||
(if (not (and text
|
||||
(string-match bibtex-empty-field-re
|
||||
(buffer-substring-no-properties
|
||||
(bibtex-start-of-text-in-field bounds)
|
||||
(bibtex-end-of-text-in-field bounds)))))
|
||||
(goto-char (bibtex-end-of-field bounds))
|
||||
(goto-char (bibtex-start-of-text-in-field bounds))
|
||||
(delete-region (point) (bibtex-end-of-text-in-field bounds))
|
||||
(insert (cdr text)))))
|
||||
;; Finally try to update the text based on the difference between
|
||||
|
|
@ -3269,7 +3272,7 @@ entry and SPLIT is t."
|
|||
(bibtex-reposition-window)
|
||||
(beginning-of-line)
|
||||
(if (and eqb (> pnt pos))
|
||||
(error "The referencing entry must preceed the crossrefed entry!")))
|
||||
(error "The referencing entry must precede the crossrefed entry!")))
|
||||
;; `bibtex-find-crossref' is called noninteractively during
|
||||
;; clean-up of an entry. Then it is not possible to check
|
||||
;; whether the current entry and the crossrefed entry have
|
||||
|
|
|
|||
|
|
@ -591,12 +591,12 @@ and then re-start emacs."
|
|||
"[^A-Z\300\301\310\311\314\315\322\323\331\332a-z\340\341\350\351\354\355\363\371\372]"
|
||||
"[-]" nil ("-B" "-d" "italian") "~tex" iso-8859-1)
|
||||
("nederlands" ; Nederlands.aff
|
||||
"[A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]"
|
||||
"[^A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]"
|
||||
"[A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]"
|
||||
"[^A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]"
|
||||
"[']" t ("-C") nil iso-8859-1)
|
||||
("nederlands8" ; Dutch8.aff
|
||||
"[A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]"
|
||||
"[^A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]"
|
||||
"[A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]"
|
||||
"[^A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]"
|
||||
"[']" t ("-C") nil iso-8859-1)))
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -338,5 +338,131 @@ Also checks if buffers visiting the files are in read-only mode."
|
|||
(buffer-name buf)))
|
||||
(error "Abort"))))))
|
||||
|
||||
(defun reftex-isearch-wrap-function ()
|
||||
(if (not isearch-word)
|
||||
(switch-to-buffer
|
||||
(funcall isearch-next-buffer-function (current-buffer) t)))
|
||||
(goto-char (if isearch-forward (point-min) (point-max))))
|
||||
|
||||
(defun reftex-isearch-push-state-function ()
|
||||
`(lambda (cmd)
|
||||
(reftex-isearch-pop-state-function cmd ,(current-buffer))))
|
||||
|
||||
(defun reftex-isearch-pop-state-function (cmd buffer)
|
||||
(switch-to-buffer buffer))
|
||||
|
||||
(defun reftex-isearch-isearch-search (string bound noerror)
|
||||
(let ((nxt-buff nil)
|
||||
(search-fun
|
||||
(cond
|
||||
(isearch-word
|
||||
(if isearch-forward 'word-search-forward 'word-search-backward))
|
||||
(isearch-regexp
|
||||
(if isearch-forward 're-search-forward 're-search-backward))
|
||||
(t
|
||||
(if isearch-forward 'search-forward 'search-backward)))))
|
||||
(or
|
||||
(funcall search-fun string bound noerror)
|
||||
(unless bound
|
||||
(condition-case nil
|
||||
(when isearch-next-buffer-function
|
||||
(while (not (funcall search-fun string bound noerror))
|
||||
(cond
|
||||
(isearch-forward
|
||||
(setq nxt-buff
|
||||
(funcall isearch-next-buffer-function
|
||||
(current-buffer)))
|
||||
(if (not nxt-buff)
|
||||
(progn
|
||||
(error "Wrap forward"))
|
||||
(switch-to-buffer nxt-buff)
|
||||
(goto-char (point-min))))
|
||||
(t
|
||||
(setq nxt-buff
|
||||
(funcall isearch-next-buffer-function
|
||||
(current-buffer)))
|
||||
(if (not nxt-buff)
|
||||
(progn
|
||||
(error "Wrap backward"))
|
||||
(switch-to-buffer nxt-buff)
|
||||
(goto-char (point-max))))))
|
||||
(point))
|
||||
(error nil))))))
|
||||
|
||||
;;; This function is called when isearch reaches the end of a
|
||||
;;; buffer. For reftex what we want to do is not wrap to the
|
||||
;;; beginning, but switch to the next buffer in the logical order of
|
||||
;;; the document. This function looks through list of files in the
|
||||
;;; document (reftex-all-document-files), searches for the current
|
||||
;;; buffer and switches to the next/previous one in the logical order
|
||||
;;; of the document. If WRAPP is true then wrap the search to the
|
||||
;;; beginning/end of the file list, depending of the search direction.
|
||||
(defun reftex-isearch-switch-to-next-file (crt-buf &optional wrapp)
|
||||
(reftex-access-scan-info)
|
||||
(let* ((cb (buffer-file-name crt-buf))
|
||||
(flist (reftex-all-document-files))
|
||||
(orig-flist flist))
|
||||
(when flist
|
||||
(if wrapp
|
||||
(unless isearch-forward
|
||||
(setq flist (last flist)))
|
||||
(unless isearch-forward
|
||||
(setq flist (nreverse (copy-list flist)))
|
||||
(setq orig-flist flist))
|
||||
(while (not (string= (car flist) cb))
|
||||
(setq flist (cdr flist)))
|
||||
(setq flist (cdr flist)))
|
||||
(when flist
|
||||
(find-file (car flist))))))
|
||||
|
||||
;;;###autoload
|
||||
(defvar reftex-isearch-minor-mode nil)
|
||||
(make-variable-buffer-local 'reftex-isearch-minor-mode)
|
||||
|
||||
;;;###autoload
|
||||
(defun reftex-isearch-minor-mode (&optional arg)
|
||||
"When on, isearch searches the whole document, not only the current file.
|
||||
This minor mode allows isearch to search through all the files of
|
||||
the current TeX document.
|
||||
|
||||
With no argument, this command toggles
|
||||
`reftex-isearch-minor-mode'. With a prefix argument ARG, turn
|
||||
`reftex-isearch-minor-mode' on iff ARG is positive."
|
||||
(interactive "P")
|
||||
(let ((old-reftex-isearch-minor-mode reftex-isearch-minor-mode))
|
||||
(setq reftex-isearch-minor-mode
|
||||
(not (or (and (null arg) reftex-isearch-minor-mode)
|
||||
(<= (prefix-numeric-value arg) 0))))
|
||||
(unless (eq reftex-isearch-minor-mode old-reftex-isearch-minor-mode)
|
||||
(if reftex-isearch-minor-mode
|
||||
(progn
|
||||
(dolist (crt-buf (buffer-list))
|
||||
(with-current-buffer crt-buf
|
||||
(when reftex-mode
|
||||
(set (make-local-variable 'isearch-wrap-function)
|
||||
'reftex-isearch-wrap-function)
|
||||
(set (make-local-variable 'isearch-search-fun-function)
|
||||
(lambda () 'reftex-isearch-isearch-search))
|
||||
(set (make-local-variable 'isearch-push-state-function)
|
||||
'reftex-isearch-push-state-function)
|
||||
(set (make-local-variable 'isearch-next-buffer-function)
|
||||
'reftex-isearch-switch-to-next-file)
|
||||
(setq reftex-isearch-minor-mode t))))
|
||||
(add-hook 'reftex-mode-hook 'reftex-isearch-minor-mode))
|
||||
(dolist (crt-buf (buffer-list))
|
||||
(with-current-buffer crt-buf
|
||||
(when reftex-mode
|
||||
(kill-local-variable 'isearch-wrap-function)
|
||||
(kill-local-variable 'isearch-search-fun-function)
|
||||
(kill-local-variable 'isearch-push-state-function)
|
||||
(kill-local-variable 'isearch-next-buffer-function)
|
||||
(setq reftex-isearch-minor-mode nil))))
|
||||
(remove-hook 'reftex-mode-hook 'reftex-isearch-minor-mode)))
|
||||
;; Force modeline redisplay.
|
||||
(set-buffer-modified-p (buffer-modified-p))))
|
||||
|
||||
(add-minor-mode 'reftex-isearch-minor-mode "/I" nil nil
|
||||
'reftex-isearch-minor-mode)
|
||||
|
||||
;;; arch-tag: 2dbf7633-92c8-4340-8656-7aa019d0f80d
|
||||
;;; reftex-global.el ends here
|
||||
|
|
|
|||
|
|
@ -2487,7 +2487,9 @@ IGNORE-WORDS List of words which should be removed from the string."
|
|||
"--"
|
||||
"MISC"
|
||||
["AUC TeX Interface" reftex-toggle-plug-into-AUCTeX
|
||||
:style toggle :selected reftex-plug-into-AUCTeX])
|
||||
:style toggle :selected reftex-plug-into-AUCTeX]
|
||||
["isearch whole document" reftex-isearch-minor-mode
|
||||
:style toggle :selected reftex-isearch-minor-mode])
|
||||
("Reference Style"
|
||||
["Default" (setq reftex-vref-is-default nil
|
||||
reftex-fref-is-default nil)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,16 @@
|
|||
2005-01-28 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* gnus.texi: Some edits based on comments from David Abrahams.
|
||||
|
||||
2005-01-24 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus.texi (RSS): Fix the keystroke.
|
||||
|
||||
2005-01-26 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
* cmdargs.texi (Initial Options): Add a cross reference to `Init
|
||||
File'. Mention the `-Q' option at the `--no-site-file' option.
|
||||
|
||||
2005-01-24 David Kastrup <dak@gnu.org>
|
||||
|
||||
* faq.texi: Update AUCTeX version info.
|
||||
|
|
|
|||
|
|
@ -169,8 +169,9 @@ sections.
|
|||
Some initial options affect the loading of init files. The normal
|
||||
actions of Emacs are to first load @file{site-start.el} if it exists,
|
||||
then your own init file @file{~/.emacs} if it exists, and finally
|
||||
@file{default.el} if it exists; certain options prevent loading of some
|
||||
of these files or substitute other files for them.
|
||||
@file{default.el} if it exists. @xref{Init File}. Certain options
|
||||
prevent loading of some of these files or substitute other files for
|
||||
them.
|
||||
|
||||
@table @samp
|
||||
@item -t @var{device}
|
||||
|
|
@ -257,8 +258,8 @@ changed with the @kbd{M-x customize} command and its variants.
|
|||
@opindex --no-site-file
|
||||
@cindex @file{site-start.el} file, not loading
|
||||
Do not load @file{site-start.el}. The options @samp{-q}, @samp{-u}
|
||||
and @samp{--batch} have no effect on the loading of this file---this is
|
||||
the only option that blocks it.
|
||||
and @samp{--batch} have no effect on the loading of this file---this
|
||||
option and @samp{-Q} are the only options that block it.
|
||||
|
||||
@item -Q
|
||||
@opindex -Q
|
||||
|
|
|
|||
103
man/gnus.texi
103
man/gnus.texi
|
|
@ -391,25 +391,25 @@ the program.
|
|||
@end iftex
|
||||
|
||||
@menu
|
||||
* Starting Up:: Finding news can be a pain.
|
||||
* Group Buffer:: Selecting, subscribing and killing groups.
|
||||
* Summary Buffer:: Reading, saving and posting articles.
|
||||
* Article Buffer:: Displaying and handling articles.
|
||||
* Composing Messages:: Information on sending mail and news.
|
||||
* Select Methods:: Gnus reads all messages from various select methods.
|
||||
* Scoring:: Assigning values to articles.
|
||||
* Various:: General purpose settings.
|
||||
* The End:: Farewell and goodbye.
|
||||
* Appendices:: Terminology, Emacs intro, @acronym{FAQ}, History, Internals.
|
||||
* Index:: Variable, function and concept index.
|
||||
* Key Index:: Key Index.
|
||||
* Starting Up:: Finding news can be a pain.
|
||||
* Group Buffer:: Selecting, subscribing and killing groups.
|
||||
* Summary Buffer:: Reading, saving and posting articles.
|
||||
* Article Buffer:: Displaying and handling articles.
|
||||
* Composing Messages:: Information on sending mail and news.
|
||||
* Select Methods:: Gnus reads all messages from various select methods.
|
||||
* Scoring:: Assigning values to articles.
|
||||
* Various:: General purpose settings.
|
||||
* The End:: Farewell and goodbye.
|
||||
* Appendices:: Terminology, Emacs intro, @acronym{FAQ}, History, Internals.
|
||||
* Index:: Variable, function and concept index.
|
||||
* Key Index:: Key Index.
|
||||
|
||||
Other related manuals
|
||||
|
||||
* Message:(message). Composing messages.
|
||||
* Emacs-MIME:(emacs-mime). Composing messages; @acronym{MIME}-specific parts.
|
||||
* Sieve:(sieve). Managing Sieve scripts in Emacs.
|
||||
* PGG:(pgg). @acronym{PGP/MIME} with Gnus.
|
||||
* Message:(message). Composing messages.
|
||||
* Emacs-MIME:(emacs-mime). Composing messages; @acronym{MIME}-specific parts.
|
||||
* Sieve:(sieve). Managing Sieve scripts in Emacs.
|
||||
* PGG:(pgg). @acronym{PGP/MIME} with Gnus.
|
||||
|
||||
@detailmenu
|
||||
--- The Detailed Node Listing ---
|
||||
|
|
@ -951,17 +951,16 @@ If you puzzle at any terms used in this manual, please refer to the
|
|||
terminology section (@pxref{Terminology}).
|
||||
|
||||
@menu
|
||||
* Finding the News:: Choosing a method for getting news.
|
||||
* The First Time:: What does Gnus do the first time you start it?
|
||||
* The Server is Down:: How can I read my mail then?
|
||||
* Slave Gnusae:: You can have more than one Gnus active at a time.
|
||||
* Fetching a Group:: Starting Gnus just to read a group.
|
||||
* New Groups:: What is Gnus supposed to do with new groups?
|
||||
* Changing Servers:: You may want to move from one server to another.
|
||||
* Startup Files:: Those pesky startup files---@file{.newsrc}.
|
||||
* Auto Save:: Recovering from a crash.
|
||||
* The Active File:: Reading the active file over a slow line Takes Time.
|
||||
* Startup Variables:: Other variables you might change.
|
||||
* Finding the News:: Choosing a method for getting news.
|
||||
* The First Time:: What does Gnus do the first time you start it?
|
||||
* The Server is Down:: How can I read my mail then?
|
||||
* Slave Gnusae:: You can have more than one Gnus active at a time.
|
||||
* New Groups:: What is Gnus supposed to do with new groups?
|
||||
* Changing Servers:: You may want to move from one server to another.
|
||||
* Startup Files:: Those pesky startup files---@file{.newsrc}.
|
||||
* Auto Save:: Recovering from a crash.
|
||||
* The Active File:: Reading the active file over a slow line Takes Time.
|
||||
* Startup Variables:: Other variables you might change.
|
||||
@end menu
|
||||
|
||||
|
||||
|
|
@ -992,7 +991,8 @@ If you want to read directly from the local spool, say:
|
|||
|
||||
If you can use a local spool, you probably should, as it will almost
|
||||
certainly be much faster. But do not use the local spool if your
|
||||
server is running Leafnode; in this case, use @code{(nntp "localhost")}.
|
||||
server is running Leafnode (which is a simple, standalone private news
|
||||
server); in this case, use @code{(nntp "localhost")}.
|
||||
|
||||
@vindex gnus-nntpserver-file
|
||||
@cindex NNTPSERVER
|
||||
|
|
@ -1051,8 +1051,8 @@ you would typically set this variable to
|
|||
@section The First Time
|
||||
@cindex first time usage
|
||||
|
||||
If no startup files exist, Gnus will try to determine what groups should
|
||||
be subscribed by default.
|
||||
If no startup files exist (@pxref{Startup Files}), Gnus will try to
|
||||
determine what groups should be subscribed by default.
|
||||
|
||||
@vindex gnus-default-subscribed-newsgroups
|
||||
If the variable @code{gnus-default-subscribed-newsgroups} is set, Gnus
|
||||
|
|
@ -1139,16 +1139,6 @@ file. If you answer ``yes'', the unsaved changes to the master will be
|
|||
incorporated into the slave. If you answer ``no'', the slave may see some
|
||||
messages as unread that have been read in the master.
|
||||
|
||||
@node Fetching a Group
|
||||
@section Fetching a Group
|
||||
@cindex fetching a group
|
||||
|
||||
@findex gnus-fetch-group
|
||||
It is sometimes convenient to be able to just say ``I want to read this
|
||||
group and I don't care whether Gnus has been started or not''. This is
|
||||
perhaps more useful for people who write code than for users, but the
|
||||
command @code{gnus-fetch-group} provides this functionality in any case.
|
||||
It takes the group name as a parameter.
|
||||
|
||||
|
||||
@node New Groups
|
||||
|
|
@ -1400,8 +1390,10 @@ cache for all groups).
|
|||
@cindex .newsrc.el
|
||||
@cindex .newsrc.eld
|
||||
|
||||
Now, you all know about the @file{.newsrc} file. All subscription
|
||||
information is traditionally stored in this file.
|
||||
Most common Unix news readers use a shared startup file called
|
||||
@file{.newsrc}. This file contains all the information about what
|
||||
groups are subscribed, and which articles in these groups have been
|
||||
read.
|
||||
|
||||
Things got a bit more complicated with @sc{gnus}. In addition to
|
||||
keeping the @file{.newsrc} file updated, it also used a file called
|
||||
|
|
@ -1426,8 +1418,10 @@ the file and save some space, as well as exiting from Gnus faster.
|
|||
However, this will make it impossible to use other newsreaders than
|
||||
Gnus. But hey, who would want to, right? Similarly, setting
|
||||
@code{gnus-read-newsrc-file} to @code{nil} makes Gnus ignore the
|
||||
@file{.newsrc} file and any @file{.newsrc-SERVER} files, which is
|
||||
convenient if you have a tendency to use Netscape once in a while.
|
||||
@file{.newsrc} file and any @file{.newsrc-SERVER} files, which can be
|
||||
convenient if you use a different news reader occasionally, and you
|
||||
want to read a different subset of the available groups with that
|
||||
news reader.
|
||||
|
||||
@vindex gnus-save-killed-list
|
||||
If @code{gnus-save-killed-list} (default @code{t}) is @code{nil}, Gnus
|
||||
|
|
@ -15884,7 +15878,7 @@ Use @kbd{G R} from the summary buffer to subscribe to a feed---you
|
|||
will be prompted for the location of the feed.
|
||||
|
||||
An easy way to get started with @code{nnrss} is to say something like
|
||||
the following in the group buffer: @kbd{B nnrss RET y}, then
|
||||
the following in the group buffer: @kbd{B nnrss RET RET y}, then
|
||||
subscribe to groups.
|
||||
|
||||
The following @code{nnrss} variables can be altered:
|
||||
|
|
@ -20607,6 +20601,7 @@ four days, Gnus will decay the scores four times, for instance.
|
|||
* Undo:: Some actions can be undone.
|
||||
* Predicate Specifiers:: Specifying predicates.
|
||||
* Moderation:: What to do if you're a moderator.
|
||||
* Fetching a Group:: Starting Gnus just to read a group.
|
||||
* Image Enhancements:: Modern versions of Emacs/XEmacs can display images.
|
||||
* Fuzzy Matching:: What's the big fuzz?
|
||||
* Thwarting Email Spam:: A how-to on avoiding unsolicited commercial email.
|
||||
|
|
@ -21878,6 +21873,18 @@ To use moderation mode in these two groups, say:
|
|||
@end lisp
|
||||
|
||||
|
||||
@node Fetching a Group
|
||||
@section Fetching a Group
|
||||
@cindex fetching a group
|
||||
|
||||
@findex gnus-fetch-group
|
||||
It is sometimes convenient to be able to just say ``I want to read this
|
||||
group and I don't care whether Gnus has been started or not''. This is
|
||||
perhaps more useful for people who write code than for users, but the
|
||||
command @code{gnus-fetch-group} provides this functionality in any case.
|
||||
It takes the group name as a parameter.
|
||||
|
||||
|
||||
@node Image Enhancements
|
||||
@section Image Enhancements
|
||||
|
||||
|
|
@ -26575,6 +26582,12 @@ The act of asking the server for info on a group and computing the
|
|||
number of unread articles is called @dfn{activating the group}.
|
||||
Un-activated groups are listed with @samp{*} in the group buffer.
|
||||
|
||||
@item spool
|
||||
@cindex spool
|
||||
News servers store their articles locally in one fashion or other.
|
||||
One old-fashioned storage method is to have just one file per
|
||||
article. That's called a ``traditional spool''.
|
||||
|
||||
@item server
|
||||
@cindex server
|
||||
A machine one can connect to and get news (or mail) from.
|
||||
|
|
|
|||
|
|
@ -3520,13 +3520,15 @@ this manual.
|
|||
|
||||
Thanks to the people on the Net who have used @b{Ref@TeX{}} and helped
|
||||
developing it with their reports. In particular thanks to @i{Fran
|
||||
Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen Eglen, Karl
|
||||
Eichwalder, Erik Frisk, Peter Galbraith, Kai Grossjohann, Frank Harrell,
|
||||
Peter Heslin, Stephan Heuel, Alan Ho, Lute Kamstra, Dieter Kraft, David
|
||||
Kastrup, Adrian Lanz, Rory Molinari, Stefan Monnier, Laurent Mugnier,
|
||||
Sudeep Kumar Palat, Daniel Polani, Alan Shutko, Robin Socha, Richard
|
||||
Stanton, Allan Strand, Jan Vroonhof, Christoph Wedler, Alan Williams,
|
||||
Roland Winkler, Hans-Christoph Wirth, Eli Zaretskii}.
|
||||
Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen Eglen,
|
||||
Karl Eichwalder, Erik Frisk, Peter Galbraith, Kai Grossjohann, Frank
|
||||
Harrell, Peter Heslin, Stephan Heuel, Alan Ho, Lute Kamstra, Dieter
|
||||
Kraft, David Kastrup, Adrian Lanz, Juri Linkov, Rory Molinari, Stefan
|
||||
Monnier, Laurent Mugnier, Dan Nicolaescu, Sudeep Kumar Palat, Daniel
|
||||
Polani, Alan Shutko, Robin Socha, Richard Stanton, Allan Strand, Jan
|
||||
Vroonhof, Christoph Wedler, Alan Williams, Roland Winkler,
|
||||
Hans-Christoph Wirth, Eli Zaretskii}.
|
||||
|
||||
|
||||
The @code{view-crossref} feature was inspired by @i{Peter Galbraith's}
|
||||
@file{bib-cite.el}.
|
||||
|
|
@ -3668,6 +3670,12 @@ document. With prefix arg, replace only word-delimited matches. No
|
|||
active TAGS table is required.
|
||||
@end deffn
|
||||
|
||||
@deffn Command reftex-isearch-minor-mode
|
||||
Toggle a minor mode which enables incremental search to work globally
|
||||
on the entire multifile document. Files will be searched in th
|
||||
sequence they appear in the document.
|
||||
@end deffn
|
||||
|
||||
@deffn Command reftex-goto-label
|
||||
Prompt for a label (with completion) and jump to the location of this
|
||||
label. Optional prefix argument @var{other-window} goes to the label in
|
||||
|
|
|
|||
164
src/ChangeLog
164
src/ChangeLog
|
|
@ -1,3 +1,38 @@
|
|||
2005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* keymap.c (access_keymap): YAILOM.
|
||||
|
||||
2005-01-27 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* xdisp.c (get_phys_cursor_geometry): New function to calculate
|
||||
phys cursor position and size for hollow cursor. Position is
|
||||
aligned with get_glyph_string_clip_rect and ensures that a hollow
|
||||
cursor is shown, even when the actual glyph is not visible.
|
||||
|
||||
* dispextern.h (get_phys_cursor_geometry): Add prototype.
|
||||
|
||||
* xterm.c (x_clip_to_row): Ensure y >= 0.
|
||||
(x_draw_hollow_cursor): Use get_phys_cursor_geometry.
|
||||
|
||||
* w32term.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
|
||||
|
||||
* macterm.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
|
||||
|
||||
2005-01-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* xterm.c (x_error_quitter): Add a prototype. Make it static again.
|
||||
|
||||
2005-01-27 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* xdisp.c (get_glyph_string_clip_rect): Always show a cursor
|
||||
glyph, even when row is only partially visible and actual cursor
|
||||
position is not visible.
|
||||
|
||||
2005-01-24 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* xterm.c (x_error_quitter): No longer static, and moved after
|
||||
x_error_handler.
|
||||
|
||||
2005-01-24 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* xdisp.c (move_it_by_lines): If we move forward after going too
|
||||
|
|
@ -51,7 +86,7 @@
|
|||
2005-01-22 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* s/darwin.h: Removed PTY_ITERATION from here.
|
||||
(DARWIN): Defined.
|
||||
(DARWIN): Define.
|
||||
* process.c (init_process): Default process-connection-type to
|
||||
nil on darwin 6 or less, t if it is 7 or higher. This way the
|
||||
broken pty behavior is still allowed on darwin 6 for interactive
|
||||
|
|
@ -94,17 +129,16 @@
|
|||
|
||||
2005-01-20 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* editfns.c (Voperating_system_release): Added.
|
||||
* editfns.c (Voperating_system_release): Add.
|
||||
(init_editfns): Assign new variable operating-system-release
|
||||
based on call to uname if available.
|
||||
(get_operating_system_release): Added function to
|
||||
(get_operating_system_release): Add function to
|
||||
allow c-level access to operating system release.
|
||||
|
||||
* config.h: Regenerated.
|
||||
|
||||
* s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or
|
||||
less.
|
||||
(MIN_PTY_KERNEL_VERSION): Defined minimum kernel version for
|
||||
* s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or less.
|
||||
(MIN_PTY_KERNEL_VERSION): Define minimum kernel version for
|
||||
using ptys as '7'.
|
||||
|
||||
2005-01-20 Kim F. Storm <storm@cua.dk>
|
||||
|
|
@ -146,8 +180,8 @@
|
|||
|
||||
2005-01-17 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* dispnew.c (mode_line_string, marginal_area_string): Fix
|
||||
off-by-one error in search for glyph.
|
||||
* dispnew.c (mode_line_string, marginal_area_string):
|
||||
Fix off-by-one error in search for glyph.
|
||||
|
||||
2005-01-16 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
|
|
@ -155,7 +189,7 @@
|
|||
|
||||
2005-01-16 Steven Tamm <steventamm@mac.com>
|
||||
|
||||
* macterm.c (mac_to_x_fontname): Removed spurious argument.
|
||||
* macterm.c (mac_to_x_fontname): Remove spurious argument.
|
||||
|
||||
2005-01-16 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
|
|
@ -171,7 +205,7 @@
|
|||
* keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW)
|
||||
(READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES):
|
||||
New flags for readable_events.
|
||||
(get_filtered_input_pending, readable_filtered_events): Removed.
|
||||
(get_filtered_input_pending, readable_filtered_events): Remove.
|
||||
(tracking_off): Call readable_events and get_input_pending with
|
||||
flag READABLE_EVENTS_DO_TIMERS_NOW.
|
||||
(readable_events): Move code from old readable_filtered_events here,
|
||||
|
|
@ -211,8 +245,8 @@
|
|||
|
||||
2005-01-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
|
||||
with xfns.c.
|
||||
* macfns.c (x_set_foreground_color, x_set_background_color):
|
||||
Sync with xfns.c.
|
||||
(mac_window, x_create_tip_frame): Use XSetWindowBackground.
|
||||
* macterm.c (XSetBackground, XSetWindowBackground): New functions.
|
||||
* macterm.h (XSetBackground, XSetWindowBackground): Add externs.
|
||||
|
|
@ -269,8 +303,8 @@
|
|||
(get_next_display_element): Test Vshow_nonbreak_escape.
|
||||
Do not setup escape_glyph_face.
|
||||
Properly merge escape-glyph face or face from display table with
|
||||
current face for escape and control characters. Set
|
||||
it->dpvec_face_id to relevant face id instead of adding it to each
|
||||
current face for escape and control characters.
|
||||
Set it->dpvec_face_id to relevant face id instead of adding it to each
|
||||
element of display vector.
|
||||
(next_element_from_display_vector): If it->dpvec_face_id is set,
|
||||
use that instead of lface_id from glyph itself.
|
||||
|
|
@ -294,8 +328,7 @@
|
|||
|
||||
* gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar)
|
||||
(xg_tool_bar_callback, xg_tool_bar_help_callback)
|
||||
(update_frame_tool_bar): Cast to EMACS_INT to avoid compiler
|
||||
warning.
|
||||
(update_frame_tool_bar): Cast to EMACS_INT to avoid compiler warning.
|
||||
|
||||
* xselect.c (x_get_foreign_selection, x_fill_property_data)
|
||||
(Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with
|
||||
|
|
@ -353,8 +386,8 @@
|
|||
[TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise.
|
||||
[TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a
|
||||
file dialog is in action.
|
||||
[TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise. Reject
|
||||
only when there are no filename items. Set background color
|
||||
[TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise.
|
||||
Reject only when there are no filename items. Set background color
|
||||
before (un)highlighting the window below the dragged items.
|
||||
(XTread_socket) [!USE_CARBON_EVENTS]: Don't call do_window_update.
|
||||
|
||||
|
|
@ -438,8 +471,7 @@
|
|||
|
||||
* fileio.c (Finsert_file_contents): Don't use
|
||||
current_buffer->buffer_file_coding_system even if REPLACE is
|
||||
non-nil. Call Qafter_insert_file_set_coding with the second arg
|
||||
VISIT.
|
||||
non-nil. Call Qafter_insert_file_set_coding with the second arg VISIT.
|
||||
|
||||
* fontset.h (struct font_info): New members space_width and
|
||||
average_width.
|
||||
|
|
@ -452,8 +484,7 @@
|
|||
* xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to
|
||||
fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
|
||||
fontp->space_width.
|
||||
(x_load_font): Calculate fontp->space_width and
|
||||
fontp->average_width.
|
||||
(x_load_font): Calculate fontp->space_width and fontp->average_width.
|
||||
(x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH.
|
||||
|
||||
* xdisp.c (x_produce_glyphs): Calculate tab width by
|
||||
|
|
@ -462,8 +493,7 @@
|
|||
2004-12-29 Sanghyuk Suh <han9kin@mac.com>
|
||||
|
||||
* macterm.c (SelectionRange): Add Xcode position apple event struct.
|
||||
(do_ae_open_documents): Handle Xcode-style file position open
|
||||
events.
|
||||
(do_ae_open_documents): Handle Xcode-style file position open events.
|
||||
|
||||
2004-12-29 Luc Teirlinck <teirllm@auburn.edu>
|
||||
|
||||
|
|
@ -489,11 +519,16 @@
|
|||
init_mac_drag_n_drop.
|
||||
(mac_do_track_drag): New function and declaration.
|
||||
(install_window_handler): Return OSErr value.
|
||||
(install_window_handler) [TARGET_API_MAC_CARBON]: Register
|
||||
handlers for tracking/receiving drag-and-drop items.
|
||||
(install_window_handler) [TARGET_API_MAC_CARBON]:
|
||||
Register handlers for tracking/receiving drag-and-drop items.
|
||||
(do_ae_open_documents): Generate unibyte strings for filenames.
|
||||
(mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise. Reject
|
||||
only non-filename items. Set event modifiers. Set return value.
|
||||
<<<<<<< ChangeLog
|
||||
(mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise.
|
||||
Reject only non-filename items. Set event modifiers and return value.
|
||||
=======
|
||||
(mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise.
|
||||
Reject only non-filename items. Set event modifiers, and return value.
|
||||
>>>>>>> 1.4187
|
||||
|
||||
2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
|
|
@ -517,8 +552,8 @@
|
|||
* xmenu.c (popup_get_selection): Only pop down dialogs
|
||||
on C-g and Escape.
|
||||
(popup_get_selection): Remove parameter down_on_keypress.
|
||||
(create_and_show_popup_menu, create_and_show_dialog): Remove
|
||||
parameter down_on_keypress to popup_get_selection.
|
||||
(create_and_show_popup_menu, create_and_show_dialog):
|
||||
Remove parameter down_on_keypress to popup_get_selection.
|
||||
|
||||
2004-12-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
|
|
@ -535,8 +570,8 @@
|
|||
|
||||
* frame.c (x_set_frame_parameters, x_report_frame_params)
|
||||
(x_set_fullscreen): Remove #ifndef HAVE_CARBON.
|
||||
(x_set_border_width, Vdefault_frame_scroll_bars): Change
|
||||
HAVE_CARBON to MAC_OS.
|
||||
(x_set_border_width, Vdefault_frame_scroll_bars):
|
||||
Change HAVE_CARBON to MAC_OS.
|
||||
|
||||
* image.c [MAC_OS]: Include sys/stat.h.
|
||||
[MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
|
||||
|
|
@ -544,8 +579,7 @@
|
|||
|
||||
* mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
|
||||
[!MAC_OSX] (select): Use mac_wait_next_event.
|
||||
[!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to
|
||||
Vexec_suffixes.
|
||||
[!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes.
|
||||
[!MAC_OSX] (select, run_mac_command): Change `#ifdef
|
||||
TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
|
||||
(mac_clear_font_name_table): Add extern.
|
||||
|
|
@ -564,21 +598,19 @@
|
|||
* macfns.c (mac_initialized): Remove extern.
|
||||
(stricmp): Put in #if 0. All callers changed to use xstricmp in
|
||||
xfaces.c.
|
||||
(strnicmp): Decrement `n' at the end of each loop, not the
|
||||
beginning.
|
||||
(check_mac): Use the term "Mac native windows" instead of "Mac
|
||||
OS".
|
||||
(strnicmp): Decrement `n' at the end of each loop, not the beginning.
|
||||
(check_mac): Use the term "Mac native windows" instead of "Mac OS".
|
||||
(check_x_display_info, x_display_info_for_name): Sync with xfns.c.
|
||||
(mac_get_rdb_resource): New function (from w32reg.c).
|
||||
(x_get_string_resource): Use it.
|
||||
(install_window_handler): Add extern.
|
||||
(mac_window): New function.
|
||||
(Fx_create_frame): Use it instead of make_mac_frame. Set
|
||||
parameter for Qfullscreen. Call x_wm_set_size_hint.
|
||||
(Fx_create_frame): Use it instead of make_mac_frame.
|
||||
Set parameter for Qfullscreen. Call x_wm_set_size_hint.
|
||||
(Fx_open_connection, Fx_close_connection): New defuns.
|
||||
(syms_of_macfns): Defsubr them.
|
||||
(x_create_tip_frame) [TARGET_API_MAC_CARBON]: Add
|
||||
kWindowNoUpdatesAttribute to the window attribute.
|
||||
(x_create_tip_frame) [TARGET_API_MAC_CARBON]:
|
||||
Add kWindowNoUpdatesAttribute to the window attribute.
|
||||
(x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
|
||||
(x_create_tip_frame): Don't call ShowWindow.
|
||||
(Fx_show_tip): Call ShowWindow.
|
||||
|
|
@ -587,8 +619,7 @@
|
|||
(mac_frame_parm_handlers): Set handlers for Qfullscreen.
|
||||
(syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
|
||||
|
||||
* macgui.h [!MAC_OSX]: Don't include Controls.h. Include
|
||||
Windows.h.
|
||||
* macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h.
|
||||
(Window): Typedef to WindowPtr and move outside `#if
|
||||
TARGET_API_MAC_CARBON'.
|
||||
(XSizeHints): New struct.
|
||||
|
|
@ -607,8 +638,12 @@
|
|||
(x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
|
||||
if the position is neither user-specified nor program-specified.
|
||||
(x_free_frame_resources): Free size_hints.
|
||||
(x_wm_set_size_hint): Allocate size_hints if needed. Set
|
||||
size_hints.
|
||||
<<<<<<< ChangeLog
|
||||
(x_wm_set_size_hint): Allocate size_hints if needed.
|
||||
Set size_hints.
|
||||
=======
|
||||
(x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints.
|
||||
>>>>>>> 1.4187
|
||||
(mac_clear_font_name_table): New function.
|
||||
(mac_do_list_fonts): Initialize font_name_table if needed.
|
||||
(x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT
|
||||
|
|
@ -622,8 +657,7 @@
|
|||
(do_window_update): Add BeginUpdate/EndUpdate for the tooltip
|
||||
window. Use UpdateControls. Get the rectangle that should be
|
||||
updated and restrict the target of expose_frame to it.
|
||||
(do_grow_window): Set minimum height/width according to
|
||||
size_hints.
|
||||
(do_grow_window): Set minimum height/width according to size_hints.
|
||||
(do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
|
||||
(do_zoom_window): Don't use x_set_window_size.
|
||||
[USE_CARBON_EVENTS] (mac_handle_window_event): New function.
|
||||
|
|
@ -635,10 +669,10 @@
|
|||
(XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
|
||||
Update mouse_region when mouse is moved.
|
||||
(make_mac_frame): Remove.
|
||||
(make_mac_terminal_frame): Put in #ifdef MAC_OS8. Initialize
|
||||
mouse pointer shapes. Change values of f->left_pos and
|
||||
f->top_pos. Don't use make_mac_frame. Use NewCWindow. Don't
|
||||
call ShowWindow.
|
||||
(make_mac_terminal_frame): Put in #ifdef MAC_OS8.
|
||||
Initialize mouse pointer shapes. Change values of f->left_pos and
|
||||
f->top_pos. Don't use make_mac_frame. Use NewCWindow.
|
||||
Don't call ShowWindow.
|
||||
(mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
|
||||
Vinvocation_name and Vsystem_name.
|
||||
(mac_make_rdb): New function (from w32term.c).
|
||||
|
|
@ -661,17 +695,21 @@
|
|||
|
||||
2004-12-27 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* buffer.c (Fbuffer_disable_undo): Deleted (moved to simple.el).
|
||||
<<<<<<< ChangeLog
|
||||
* buffer.c (Fbuffer_disable_undo): Delete (moved to simple.el).
|
||||
=======
|
||||
* buffer.c (Fbuffer_disable_undo): Delete (move to simple.el).
|
||||
>>>>>>> 1.4187
|
||||
(syms_of_buffer): Don't defsubr it.
|
||||
|
||||
* process.c (list_processes_1): Set undo_list instead
|
||||
of calling Fbuffer_disable_undo.
|
||||
|
||||
* xdisp.c (single_display_spec_string_p): Renamed from
|
||||
* xdisp.c (single_display_spec_string_p): Rename from
|
||||
single_display_prop_string_p.
|
||||
(single_display_spec_intangible_p): Renamed from
|
||||
(single_display_spec_intangible_p): Rename from
|
||||
single_display_prop_intangible_p.
|
||||
(handle_single_display_spec): Renamed from handle_single_display_prop.
|
||||
(handle_single_display_spec): Rename from handle_single_display_prop.
|
||||
Rewritten to be easier to understand.
|
||||
|
||||
Change in load-history format. Functions now get (defun . NAME),
|
||||
|
|
@ -755,7 +793,7 @@
|
|||
|
||||
* alloc.c (Fgarbage_collect): Update call to truncate_undo_list.
|
||||
Call that at the very start.
|
||||
(undo_limit, undo_strong_limit, undo_outer_limit): Moved to undo.c.
|
||||
(undo_limit, undo_strong_limit, undo_outer_limit): Move to undo.c.
|
||||
(syms_of_alloc): Don't define undo-limit,
|
||||
undo-strong-limit and undo-outer-limit here.
|
||||
|
||||
|
|
@ -790,8 +828,8 @@
|
|||
|
||||
2004-12-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* macterm.c (endif, x_font_name_to_mac_font_name): Use
|
||||
maccentraleurroman instead of maccentraleuropean
|
||||
* macterm.c (endif, x_font_name_to_mac_font_name):
|
||||
Use maccentraleurroman instead of maccentraleuropean
|
||||
(mac_c_string_match, mac_do_list_fonts): Speed up font search by
|
||||
quickly finding a specific font without needing regexps.
|
||||
|
||||
|
|
@ -817,8 +855,8 @@
|
|||
|
||||
* sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
|
||||
|
||||
* process.c (send_process_trap, sigchld_handler): Call
|
||||
SIGNAL_THREAD_CHECK.
|
||||
* process.c (send_process_trap, sigchld_handler):
|
||||
Call SIGNAL_THREAD_CHECK.
|
||||
|
||||
* data.c (arith_error): Call SIGNAL_THREAD_CHECK.
|
||||
|
||||
|
|
@ -908,7 +946,7 @@
|
|||
|
||||
* alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC.
|
||||
|
||||
2004-12-07 Stefan <monnier@iro.umontreal.ca>
|
||||
2004-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* eval.c (init_eval_once): Increase max_specpdl_size to 1000.
|
||||
|
||||
|
|
@ -2056,7 +2094,7 @@
|
|||
|
||||
* window.c (Fspecial_display_p): Doc fix.
|
||||
|
||||
2004-10-15 Stefan <monnier@iro.umontreal.ca>
|
||||
2004-10-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* doc.c (Fsubstitute_command_keys): Fix remap-handling.
|
||||
Don't ignore menus, because where-is-internal already does it for us.
|
||||
|
|
|
|||
|
|
@ -2640,6 +2640,8 @@ extern void x_fix_overlapping_area P_ ((struct window *, struct glyph_row *,
|
|||
extern void draw_phys_cursor_glyph P_ ((struct window *,
|
||||
struct glyph_row *,
|
||||
enum draw_glyphs_face));
|
||||
extern int get_phys_cursor_geometry P_ ((struct window *, struct glyph_row *,
|
||||
struct glyph *, int *));
|
||||
extern void erase_phys_cursor P_ ((struct window *));
|
||||
extern void display_and_set_cursor P_ ((struct window *,
|
||||
int, int, int, int, int));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* Manipulation of keymaps
|
||||
Copyright (C) 1985, 86,87,88,93,94,95,98,99, 2000, 01, 2004
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1998, 1999, 2000,
|
||||
2001, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
@ -527,7 +527,7 @@ access_keymap (map, idx, t_ok, noinherit, autoload)
|
|||
GCPRO1 (map);
|
||||
/* A strange value in which Meta is set would cause
|
||||
infinite recursion. Protect against that. */
|
||||
if (meta_prefix_char & CHAR_META)
|
||||
if (XINT (meta_prefix_char) & CHAR_META)
|
||||
meta_prefix_char = make_number (27);
|
||||
meta_map = get_keymap (access_keymap (map, meta_prefix_char,
|
||||
t_ok, noinherit, autoload),
|
||||
|
|
|
|||
|
|
@ -4737,29 +4737,10 @@ x_draw_hollow_cursor (w, row)
|
|||
if (cursor_glyph == NULL)
|
||||
return;
|
||||
|
||||
/* Compute the width of the rectangle to draw. If on a stretch
|
||||
glyph, and `x-stretch-block-cursor' is nil, don't draw a
|
||||
rectangle as wide as the glyph, but use a canonical character
|
||||
width instead. */
|
||||
wd = cursor_glyph->pixel_width - 1;
|
||||
if (cursor_glyph->type == STRETCH_GLYPH
|
||||
&& !x_stretch_cursor_p)
|
||||
wd = min (FRAME_COLUMN_WIDTH (f), wd);
|
||||
w->phys_cursor_width = wd;
|
||||
|
||||
/* Compute frame-relative coordinates from window-relative
|
||||
coordinates. */
|
||||
/* Compute frame-relative coordinates for phys cursor. */
|
||||
x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x);
|
||||
y = WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y);
|
||||
|
||||
/* Compute the proper height and ascent of the rectangle, based
|
||||
on the actual glyph. Using the full height of the row looks
|
||||
bad when there are tall images on that row. */
|
||||
h = max (min (FRAME_LINE_HEIGHT (f), row->height),
|
||||
cursor_glyph->ascent + cursor_glyph->descent);
|
||||
if (h < row->height)
|
||||
y += row->ascent /* - w->phys_cursor_ascent */ + cursor_glyph->descent - h;
|
||||
h--;
|
||||
y = get_phys_cursor_geometry (w, row, cursor_glyph, &h);
|
||||
wd = w->phys_cursor_width;
|
||||
|
||||
/* The foreground of cursor_gc is typically the same as the normal
|
||||
background color, which can cause the cursor box to be invisible. */
|
||||
|
|
|
|||
|
|
@ -5088,7 +5088,7 @@ x_draw_hollow_cursor (w, row)
|
|||
struct frame *f = XFRAME (WINDOW_FRAME (w));
|
||||
HDC hdc;
|
||||
RECT rect;
|
||||
int wd, h;
|
||||
int h;
|
||||
struct glyph *cursor_glyph;
|
||||
HBRUSH hb = CreateSolidBrush (f->output_data.w32->cursor_pixel);
|
||||
|
||||
|
|
@ -5098,34 +5098,12 @@ x_draw_hollow_cursor (w, row)
|
|||
if (cursor_glyph == NULL)
|
||||
return;
|
||||
|
||||
/* Compute frame-relative coordinates from window-relative
|
||||
coordinates. */
|
||||
/* Compute frame-relative coordinates for phys cursor. */
|
||||
rect.left = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x);
|
||||
rect.top = (WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y)
|
||||
+ row->ascent - w->phys_cursor_ascent);
|
||||
|
||||
/* Compute the proper height and ascent of the rectangle, based
|
||||
on the actual glyph. Using the full height of the row looks
|
||||
bad when there are tall images on that row. */
|
||||
h = max (min (FRAME_LINE_HEIGHT (f), row->height),
|
||||
cursor_glyph->ascent + cursor_glyph->descent);
|
||||
if (h < row->height)
|
||||
rect.top += row->ascent /* - w->phys_cursor_ascent */ + cursor_glyph->descent - h;
|
||||
h--;
|
||||
|
||||
rect.top = get_phys_cursor_geometry (w, row, cursor_glyph, &h);
|
||||
rect.bottom = rect.top + h;
|
||||
rect.right = rect.left + w->phys_cursor_width;
|
||||
|
||||
/* Compute the width of the rectangle to draw. If on a stretch
|
||||
glyph, and `x-stretch-block-cursor' is nil, don't draw a
|
||||
rectangle as wide as the glyph, but use a canonical character
|
||||
width instead. */
|
||||
wd = cursor_glyph->pixel_width; /* TODO: Why off by one compared with X? */
|
||||
if (cursor_glyph->type == STRETCH_GLYPH
|
||||
&& !x_stretch_cursor_p)
|
||||
wd = min (FRAME_COLUMN_WIDTH (f), wd);
|
||||
w->phys_cursor_width = wd;
|
||||
|
||||
rect.right = rect.left + wd;
|
||||
hdc = get_frame_dc (f);
|
||||
/* Set clipping, draw the rectangle, and reset clipping again. */
|
||||
w32_clip_to_row (w, row, TEXT_AREA, hdc);
|
||||
|
|
|
|||
85
src/xdisp.c
85
src/xdisp.c
|
|
@ -1840,7 +1840,7 @@ get_glyph_string_clip_rect (s, nr)
|
|||
if (s->hl == DRAW_CURSOR)
|
||||
{
|
||||
struct glyph *glyph = s->first_glyph;
|
||||
int height;
|
||||
int height, max_y;
|
||||
|
||||
if (s->x > r.x)
|
||||
{
|
||||
|
|
@ -1849,13 +1849,26 @@ get_glyph_string_clip_rect (s, nr)
|
|||
}
|
||||
r.width = min (r.width, glyph->pixel_width);
|
||||
|
||||
/* Don't draw cursor glyph taller than our actual glyph. */
|
||||
height = max (FRAME_LINE_HEIGHT (s->f), glyph->ascent + glyph->descent);
|
||||
if (height < r.height)
|
||||
/* If r.y is below window bottom, ensure that we still see a cursor. */
|
||||
height = min (glyph->ascent + glyph->descent,
|
||||
min (FRAME_LINE_HEIGHT (s->f), s->row->visible_height));
|
||||
max_y = window_text_bottom_y (s->w) - height;
|
||||
max_y = WINDOW_TO_FRAME_PIXEL_Y (s->w, max_y);
|
||||
if (s->ybase - glyph->ascent > max_y)
|
||||
{
|
||||
int max_y = r.y + r.height;
|
||||
r.y = min (max_y, s->ybase + glyph->descent - height);
|
||||
r.height = min (max_y - r.y, height);
|
||||
r.y = max_y;
|
||||
r.height = height;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Don't draw cursor glyph taller than our actual glyph. */
|
||||
height = max (FRAME_LINE_HEIGHT (s->f), glyph->ascent + glyph->descent);
|
||||
if (height < r.height)
|
||||
{
|
||||
max_y = r.y + r.height;
|
||||
r.y = min (max_y, max (r.y, s->ybase + glyph->descent - height));
|
||||
r.height = min (max_y - r.y, height);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1866,6 +1879,64 @@ get_glyph_string_clip_rect (s, nr)
|
|||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* EXPORT:
|
||||
Return the position and height of the phys cursor in window W.
|
||||
Set w->phys_cursor_width to width of phys cursor.
|
||||
*/
|
||||
|
||||
int
|
||||
get_phys_cursor_geometry (w, row, glyph, heightp)
|
||||
struct window *w;
|
||||
struct glyph_row *row;
|
||||
struct glyph *glyph;
|
||||
int *heightp;
|
||||
{
|
||||
struct frame *f = XFRAME (WINDOW_FRAME (w));
|
||||
int x, y, wd, h, h0, y0;
|
||||
|
||||
/* Compute the width of the rectangle to draw. If on a stretch
|
||||
glyph, and `x-stretch-block-cursor' is nil, don't draw a
|
||||
rectangle as wide as the glyph, but use a canonical character
|
||||
width instead. */
|
||||
wd = glyph->pixel_width - 1;
|
||||
#ifdef HAVE_NTGUI
|
||||
wd++; /* Why? */
|
||||
#endif
|
||||
if (glyph->type == STRETCH_GLYPH
|
||||
&& !x_stretch_cursor_p)
|
||||
wd = min (FRAME_COLUMN_WIDTH (f), wd);
|
||||
w->phys_cursor_width = wd;
|
||||
|
||||
y = w->phys_cursor.y + row->ascent - glyph->ascent;
|
||||
|
||||
/* If y is below window bottom, ensure that we still see a cursor. */
|
||||
h0 = min (FRAME_LINE_HEIGHT (f), row->visible_height);
|
||||
|
||||
h = max (h0, glyph->ascent + glyph->descent);
|
||||
h0 = min (h0, glyph->ascent + glyph->descent);
|
||||
|
||||
y0 = WINDOW_HEADER_LINE_HEIGHT (w);
|
||||
if (y < y0)
|
||||
{
|
||||
h = max (h - (y0 - y) + 1, h0);
|
||||
y = y0 - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
y0 = window_text_bottom_y (w) - h0;
|
||||
if (y > y0)
|
||||
{
|
||||
h += y - y0;
|
||||
y = y0;
|
||||
}
|
||||
}
|
||||
|
||||
*heightp = h - 1;
|
||||
return WINDOW_TO_FRAME_PIXEL_Y (w, y);
|
||||
}
|
||||
|
||||
|
||||
#endif /* HAVE_WINDOW_SYSTEM */
|
||||
|
||||
|
||||
|
|
|
|||
67
src/xterm.c
67
src/xterm.c
|
|
@ -1,6 +1,6 @@
|
|||
/* X Communication module for terminals which understand the X protocol.
|
||||
Copyright (C) 1989, 93, 94, 95, 96, 97, 98, 1999, 2000,01,02,03,04
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||
2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
@ -7157,7 +7157,7 @@ x_clip_to_row (w, row, area, gc)
|
|||
window_box (w, area, &window_x, &window_y, &window_width, 0);
|
||||
|
||||
clip_rect.x = window_x;
|
||||
clip_rect.y = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
|
||||
clip_rect.y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, row->y));
|
||||
clip_rect.y = max (clip_rect.y, window_y);
|
||||
clip_rect.width = window_width;
|
||||
clip_rect.height = row->visible_height;
|
||||
|
|
@ -7187,29 +7187,10 @@ x_draw_hollow_cursor (w, row)
|
|||
if (cursor_glyph == NULL)
|
||||
return;
|
||||
|
||||
/* Compute the width of the rectangle to draw. If on a stretch
|
||||
glyph, and `x-stretch-block-cursor' is nil, don't draw a
|
||||
rectangle as wide as the glyph, but use a canonical character
|
||||
width instead. */
|
||||
wd = cursor_glyph->pixel_width - 1;
|
||||
if (cursor_glyph->type == STRETCH_GLYPH
|
||||
&& !x_stretch_cursor_p)
|
||||
wd = min (FRAME_COLUMN_WIDTH (f), wd);
|
||||
w->phys_cursor_width = wd;
|
||||
|
||||
/* Compute frame-relative coordinates from window-relative
|
||||
coordinates. */
|
||||
/* Compute frame-relative coordinates for phys cursor. */
|
||||
x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x);
|
||||
y = WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y);
|
||||
|
||||
/* Compute the proper height and ascent of the rectangle, based
|
||||
on the actual glyph. Using the full height of the row looks
|
||||
bad when there are tall images on that row. */
|
||||
h = max (min (FRAME_LINE_HEIGHT (f), row->height),
|
||||
cursor_glyph->ascent + cursor_glyph->descent);
|
||||
if (h < row->height)
|
||||
y += row->ascent /* - w->phys_cursor_ascent */ + cursor_glyph->descent - h;
|
||||
h--;
|
||||
y = get_phys_cursor_geometry (w, row, cursor_glyph, &h);
|
||||
wd = w->phys_cursor_width;
|
||||
|
||||
/* The foreground of cursor_gc is typically the same as the normal
|
||||
background color, which can cause the cursor box to be invisible. */
|
||||
|
|
@ -7773,11 +7754,32 @@ x_connection_closed (dpy, error_message)
|
|||
error ("%s", error_msg);
|
||||
}
|
||||
|
||||
/* We specifically use it before defining it, so that gcc doesn't inline it,
|
||||
otherwise gdb doesn't know how to properly put a breakpoint on it. */
|
||||
static void x_error_quitter (Display *display, XErrorEvent *error);
|
||||
|
||||
/* This is the first-level handler for X protocol errors.
|
||||
It calls x_error_quitter or x_error_catcher. */
|
||||
|
||||
static int
|
||||
x_error_handler (display, error)
|
||||
Display *display;
|
||||
XErrorEvent *error;
|
||||
{
|
||||
if (! NILP (x_error_message_string))
|
||||
x_error_catcher (display, error);
|
||||
else
|
||||
x_error_quitter (display, error);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This is the usual handler for X protocol errors.
|
||||
It kills all frames on the display that we got the error for.
|
||||
If that was the only one, it prints an error message and kills Emacs. */
|
||||
|
||||
/* It is after x_error_handler so that it won't get inlined in
|
||||
x_error_handler. */
|
||||
|
||||
static void
|
||||
x_error_quitter (display, error)
|
||||
Display *display;
|
||||
|
|
@ -7795,21 +7797,6 @@ x_error_quitter (display, error)
|
|||
}
|
||||
|
||||
|
||||
/* This is the first-level handler for X protocol errors.
|
||||
It calls x_error_quitter or x_error_catcher. */
|
||||
|
||||
static int
|
||||
x_error_handler (display, error)
|
||||
Display *display;
|
||||
XErrorEvent *error;
|
||||
{
|
||||
if (! NILP (x_error_message_string))
|
||||
x_error_catcher (display, error);
|
||||
else
|
||||
x_error_quitter (display, error);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This is the handler for X IO errors, always.
|
||||
It kills all frames on the display that we lost touch with.
|
||||
If that was the only one, it prints an error message and kills Emacs. */
|
||||
|
|
|
|||
Loading…
Reference in a new issue