Merge changes from emacs-23 branch.

This commit is contained in:
Juanma Barranquero 2010-10-12 01:57:49 +02:00
commit 4c14013dbe
14 changed files with 165 additions and 86 deletions

View file

@ -1,3 +1,7 @@
2010-10-12 Eli Zaretskii <eliz@gnu.org>
* make-dist: Don't distribute src/buildobj.h. (Bug#7167)
2010-10-10 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in (PROFILING_LDFLAGS): Do not define, remove all uses.

View file

@ -1,3 +1,11 @@
2010-10-12 Glenn Morris <rgm@gnu.org>
* emacs.1: Small fixes.
2010-10-12 Ulrich Mueller <ulm@gentoo.org>
* emacs.1: Update license description.
2010-10-09 Glenn Morris <rgm@gnu.org>
* b2m.1: Remove file.

View file

@ -41,9 +41,9 @@ CTRL-h or F1 enters the Help facility.
Help Tutorial (CTRL-h t) starts an interactive tutorial to quickly
teach beginners the fundamentals of
.I Emacs.
Help Apropos (CTRL-h a) helps you find a command given its
functionality, Help Key (CTRL-h k) describes a given key sequence, and
Help Function (CTRL-h f) describes a given Lisp function.
Help Apropos (CTRL-h a) helps you find a command with a name matching
a given pattern, Help Key (CTRL-h k) describes a given key sequence,
and Help Function (CTRL-h f) describes a given Lisp function.
.PP
.IR "GNU Emacs" 's
many special packages handle mail reading (RMail) and sending (Mail),
@ -531,12 +531,12 @@ is the number of color planes.
.SH MANUALS
You can order printed copies of the GNU Emacs Manual from the Free
Software Foundation, which develops GNU software.
See the file ORDERS for ordering information.
See the online store at <http://shop.fsf.org/>.
.br
Your local Emacs maintainer might also have copies available.
Your local administrator might also have copies available.
As with all software and publications from FSF, everyone is permitted
to make and distribute copies of the Emacs manual.
The TeX source to the manual is also included in the Emacs source
The Texinfo source to the manual is also included in the Emacs source
distribution.
.
.
@ -545,7 +545,8 @@ distribution.
The complete text of the Emacs reference manual is included in a
convenient tree structured form.
Also includes the Emacs Lisp Reference Manual, useful to anyone
wishing to write programs in the Emacs Lisp extension language.
wishing to write programs in the Emacs Lisp extension language,
and the Introduction to Programming in Emacs Lisp.
/usr/local/share/emacs/$VERSION/lisp \(em Lisp source files and
compiled files that define most editing commands.
@ -572,9 +573,8 @@ There is a mailing list, bug-gnu-emacs@gnu.org, for reporting Emacs
bugs and fixes.
But before reporting something as a bug, please try to be sure that
it really is a bug, not a misunderstanding or a deliberate feature.
We ask you to read the section ``Reporting Emacs Bugs'' near the
end of the reference manual (or Info system) for hints on how and
when to report bugs.
We ask you to read the section ``Reporting Bugs'' in the Emacs manual
for hints on how and when to report bugs.
Also, include the version number of the Emacs you are running in
\fIevery\fR bug report that you send in.
Bugs tend actually to be fixed if they can be isolated, so it is
@ -596,10 +596,7 @@ file /usr/local/share/emacs/$VERSION/etc/MAILINGLISTS.
.I Emacs
is free; anyone may redistribute copies of
.I Emacs
to
anyone under the terms stated in the
.I Emacs
General Public License,
to anyone under the terms stated in the GNU General Public License,
a copy of which accompanies each copy of
.I Emacs
and which also
@ -611,7 +608,7 @@ may sometimes be received packaged with distributions of Unix systems,
but it is never included in the scope of any license covering those
systems.
Such inclusion violates the terms on which distribution is permitted.
In fact, the primary purpose of the General Public License is to
In fact, the primary purpose of the GNU General Public License is to
prohibit anyone from attaching any other restrictions to
redistribution of
.IR Emacs .

View file

@ -21,6 +21,9 @@ with a prefix argument or by typing C-u C-h C-n.
* Changes in Emacs 23.3
** The nextstep port can have different modifiers for the left and right
alt/option key by customizing the value for ns-right-alternate-modifier.
* Editing Changes in Emacs 23.3

View file

@ -1,3 +1,32 @@
2010-10-12 Jan Djärv <jan.h.d@swipnet.se>
* term/ns-win.el (ns-right-alternate-modifier): New defvar.
(ns-right-option-modifier): New alias for ns-right-alternate-modifier.
(mac-right-option-modifier): New alias for ns-right-option-modifier.
* cus-start.el (all): ns-right-alternate-modifier is new.
2010-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/lisp.el (lisp-completion-at-point):
Use emacs-lisp-mode-syntax-table for the whole function.
2010-10-12 David Koppelman <koppel@ece.lsu.edu>
* hi-lock.el (hi-lock-font-lock-hook): Check font-lock-fontified
instead of font-lock-mode before adding keywords.
Remove hi-lock-mode off code. Remove inhibit hack.
(hi-lock-set-pattern): Only add keywords if font-lock-fontified
non-nil; removed hook inhibit hack.
2010-10-12 Glenn Morris <rgm@gnu.org>
* emacs-lisp/shadow.el (find-emacs-lisp-shadows): Rename it...
(load-path-shadows-find): ... to this.
(list-load-path-shadows): Update for above change.
* mail/mail-utils.el (mail-mbox-from): Also try return-path.
2010-10-11 Katsumi Yamaoka <yamaoka@jpl.org>
* mail/hashcash.el, net/imap.el, pgg-parse.el, pgg.el:

View file

@ -272,6 +272,14 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
(const control) (const meta)
(const alt) (const hyper)
(const super)) "23.1")
(ns-right-alternate-modifier
ns
(choice (const :tag "No modifier (work as alternate/option)" none)
(const :tag "Use the value of ns-alternate-modifier"
left)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "23.3")
(ns-function-modifier
ns
(choice (const :tag "No modifier (work as function)" none)

View file

@ -646,49 +646,49 @@ considered."
(defun lisp-completion-at-point (&optional predicate)
"Function used for `completion-at-point-functions' in `emacs-lisp-mode'."
;; FIXME: the `end' could be after point?
(let* ((pos (point))
(beg (with-syntax-table emacs-lisp-mode-syntax-table
(condition-case nil
(save-excursion
(backward-sexp 1)
(skip-syntax-forward "'")
(point))
(scan-error pos))))
(predicate
(or predicate
(save-excursion
(goto-char beg)
(if (not (eq (char-before) ?\())
(lambda (sym) ;why not just nil ? -sm
(or (boundp sym) (fboundp sym)
(symbol-plist sym)))
;; Looks like a funcall position. Let's double check.
(if (condition-case nil
(progn (up-list -2) (forward-char 1)
(eq (char-after) ?\())
(error nil))
;; If the first element of the parent list is an open
;; parenthesis we are probably not in a funcall position.
;; Maybe a `let' varlist or something.
nil
;; Else, we assume that a function name is expected.
'fboundp)))))
(end
(unless (or (eq beg (point-max))
(member (char-syntax (char-after beg)) '(?\" ?\( ?\))))
(condition-case nil
(save-excursion
(goto-char beg)
(forward-sexp 1)
(when (>= (point) pos)
(point)))
(scan-error pos)))))
(when end
(list beg end obarray
:predicate predicate
:annotate-function
(unless (eq predicate 'fboundp)
(lambda (str) (if (fboundp (intern-soft str)) " <f>")))))))
(with-syntax-table emacs-lisp-mode-syntax-table
(let* ((pos (point))
(beg (condition-case nil
(save-excursion
(backward-sexp 1)
(skip-syntax-forward "'")
(point))
(scan-error pos)))
(predicate
(or predicate
(save-excursion
(goto-char beg)
(if (not (eq (char-before) ?\())
(lambda (sym) ;why not just nil ? -sm
(or (boundp sym) (fboundp sym)
(symbol-plist sym)))
;; Looks like a funcall position. Let's double check.
(if (condition-case nil
(progn (up-list -2) (forward-char 1)
(eq (char-after) ?\())
(error nil))
;; If the first element of the parent list is an open
;; paren we are probably not in a funcall position.
;; Maybe a `let' varlist or something.
nil
;; Else, we assume that a function name is expected.
'fboundp)))))
(end
(unless (or (eq beg (point-max))
(member (char-syntax (char-after beg)) '(?\" ?\( ?\))))
(condition-case nil
(save-excursion
(goto-char beg)
(forward-sexp 1)
(when (>= (point) pos)
(point)))
(scan-error pos)))))
(when end
(list beg end obarray
:predicate predicate
:annotate-function
(unless (eq predicate 'fboundp)
(lambda (str) (if (fboundp (intern-soft str)) " <f>"))))))))
;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e
;;; lisp.el ends here

View file

@ -24,7 +24,7 @@
;;; Commentary:
;; The functions in this file detect (`find-emacs-lisp-shadows')
;; The functions in this file detect (`load-path-shadows-find')
;; and display (`list-load-path-shadows') potential load-path
;; problems that arise when Emacs Lisp files "shadow" each other.
;;
@ -65,7 +65,7 @@ This is slower, but filters out some innocuous shadowing."
:type 'boolean
:group 'lisp-shadow)
(defun find-emacs-lisp-shadows (&optional path)
(defun load-path-shadows-find (&optional path)
"Return a list of Emacs Lisp files that create shadows.
This function does the work for `list-load-path-shadows'.
@ -141,6 +141,9 @@ See the documentation for `list-load-path-shadows' for further information."
;; Return the list of shadowings.
shadows))
(define-obsolete-function-alias 'find-emacs-lisp-shadows
'load-path-shadows-find "23.3")
;; Return true if neither file exists, or if both exist and have identical
;; contents.
(defun load-path-shadows-same-file-or-nonexistent (f1 f2)
@ -224,7 +227,7 @@ XXX.elc in an early directory \(that does not contain XXX.el\) is
considered to shadow a later file XXX.el, and vice-versa.
Shadowings are located by calling the (non-interactive) companion
function, `find-emacs-lisp-shadows'."
function, `load-path-shadows-find'."
(interactive)
(let* ((path (copy-sequence load-path))
(tem path)
@ -248,7 +251,7 @@ function, `find-emacs-lisp-shadows'."
(setq tem nil)))
(setq tem (cdr tem)))))
(let* ((shadows (find-emacs-lisp-shadows path))
(let* ((shadows (load-path-shadows-find path))
(n (/ (length shadows) 2))
(msg (format "%s Emacs Lisp load-path shadowing%s found"
(if (zerop n) "No" (concat "\n" (number-to-string n)))

View file

@ -564,23 +564,15 @@ not suitable."
'face-name-history
(cdr hi-lock-face-defaults))))
(defvar hi-lock--inhibit-font-lock-hook nil
"Inhibit the action of `hi-lock-font-lock-hook'.
This is used by `hi-lock-set-pattern'.")
(defun hi-lock-set-pattern (regexp face)
"Highlight REGEXP with face FACE."
(let ((pattern (list regexp (list 0 (list 'quote face) t)))
;; The call to `font-lock-add-keywords' below might disable
;; and re-enable font-lock mode. If so, we don't want
;; `hi-lock-font-lock-hook' to run. This can be removed once
;; Bug#635 is fixed. -- cyd
(hi-lock--inhibit-font-lock-hook t))
(let ((pattern (list regexp (list 0 (list 'quote face) t))))
(unless (member pattern hi-lock-interactive-patterns)
(font-lock-add-keywords nil (list pattern) t)
(push pattern hi-lock-interactive-patterns)
(if font-lock-fontified
(font-lock-fontify-buffer)
(progn
(font-lock-add-keywords nil (list pattern) t)
(font-lock-fontify-buffer))
(let* ((serial (hi-lock-string-serialize regexp))
(range-min (- (point) (/ hi-lock-highlight-range 2)))
(range-max (+ (point) (/ hi-lock-highlight-range 2)))
@ -641,12 +633,9 @@ This is used by `hi-lock-set-pattern'.")
(defun hi-lock-font-lock-hook ()
"Add hi-lock patterns to font-lock's."
(unless hi-lock--inhibit-font-lock-hook
(if font-lock-mode
(progn
(font-lock-add-keywords nil hi-lock-file-patterns t)
(font-lock-add-keywords nil hi-lock-interactive-patterns t))
(hi-lock-mode -1))))
(when font-lock-fontified
(font-lock-add-keywords nil hi-lock-file-patterns t)
(font-lock-add-keywords nil hi-lock-interactive-patterns t)))
(defvar hi-lock-string-serialize-hash
(make-hash-table :test 'equal)

View file

@ -401,6 +401,7 @@ The buffer should be narrowed to just the header."
(let ((from (or (mail-fetch-field "from")
(mail-fetch-field "really-from")
(mail-fetch-field "sender")
(mail-fetch-field "return-path")
"unknown"))
(date (mail-fetch-field "date")))
(format "From %s %s\n" (mail-strip-quoted-names from)
@ -411,5 +412,4 @@ The buffer should be narrowed to just the header."
(provide 'mail-utils)
;; arch-tag: b24aec2f-fd65-4ceb-9e39-3cc2827036fd
;;; mail-utils.el ends here

View file

@ -66,6 +66,7 @@
;; nsterm.m
(defvar ns-version-string)
(defvar ns-alternate-modifier)
(defvar ns-right-alternate-modifier)
;;;; Command line argument handling.
@ -284,6 +285,7 @@ The properties returned may include `top', `left', `height', and `width'."
(defvaralias 'mac-command-modifier 'ns-command-modifier)
(defvaralias 'mac-control-modifier 'ns-control-modifier)
(defvaralias 'mac-option-modifier 'ns-option-modifier)
(defvaralias 'mac-right-option-modifier 'ns-right-option-modifier)
(defvaralias 'mac-function-modifier 'ns-function-modifier)
(declare-function ns-do-applescript "nsfns.m" (script))
(defalias 'do-applescript 'ns-do-applescript)
@ -815,6 +817,7 @@ unless the current buffer is a scratch buffer."
;; You say tomAYto, I say tomAHto..
(defvaralias 'ns-option-modifier 'ns-alternate-modifier)
(defvaralias 'ns-right-option-modifier 'ns-right-alternate-modifier)
(defun ns-do-hide-emacs ()
(interactive)

View file

@ -461,7 +461,7 @@ echo "Making links to \`src'"
ln makefile.w32-in ../${tempdir}/src
ln .gdbinit .dbxinit ../${tempdir}/src
cd ../${tempdir}/src
rm -f config.h epaths.h Makefile
rm -f config.h epaths.h Makefile buildobj.h
rm -f =* TAGS)
echo "Making links to \`src/bitmaps'"

View file

@ -1,3 +1,14 @@
2010-10-12 Jan Djärv <jan.h.d@swipnet.se>
* nsterm.m (Qleft): Declare.
(ns_right_alternate_modifier): New variable
(NSRightAlternateKeyMask): New define.
(EV_MODIFIERS): Parse NSRightAlternateKeyMask if
ns_right_alternate_modifier isn't Qleft.
(keyDown): If ns_right_alternate_modifier isn't Qleft, use it
as emacs modifier for NSRightAlternateKeyMask.
(syms_of_nsterm): DEFVAR_LISP ns-right-alternate-modifier.
2010-10-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnutls.c (emacs_gnutls_write): If we're trying to write before

View file

@ -142,12 +142,17 @@ Updated by Christian Limpach (chris@nice.ch)
Lisp_Object Vx_toolkit_scroll_bars;
static Lisp_Object Qmodifier_value;
Lisp_Object Qalt, Qcontrol, Qhyper, Qmeta, Qsuper, Qnone;
extern Lisp_Object Qcursor_color, Qcursor_type, Qns;
extern Lisp_Object Qcursor_color, Qcursor_type, Qns, Qleft;
/* Specifies which emacs modifier should be generated when NS receives
the Alternate modifer. May be Qnone or any of the modifier lisp symbols. */
Lisp_Object ns_alternate_modifier;
/* Specifies which emacs modifier should be generated when NS receives
the right Alternate modifer. Has same values as ns_alternate_modifier plus
the value Qleft which means whatever value ns_alternate_modifier has. */
Lisp_Object ns_right_alternate_modifier;
/* Specifies which emacs modifier should be generated when NS receives
the Command modifer. May be any of the modifier lisp symbols. */
Lisp_Object ns_command_modifier;
@ -218,12 +223,17 @@ the Function modifer (laptops). May be any of the modifier lisp symbols. */
/* Convert modifiers in a NeXTSTEP event to emacs style modifiers. */
#define NS_FUNCTION_KEY_MASK 0x800000
#define NSRightAlternateKeyMask (0x000040 | NSAlternateKeyMask)
#define EV_MODIFIERS(e) \
((([e modifierFlags] & NSHelpKeyMask) ? \
hyper_modifier : 0) \
| (([e modifierFlags] & NSAlternateKeyMask) ? \
| (!EQ (ns_right_alternate_modifier, Qleft) && \
(([e modifierFlags] & NSRightAlternateKeyMask) \
== NSRightAlternateKeyMask) ? \
parse_solitary_modifier (ns_right_alternate_modifier) : 0) \
| (([e modifierFlags] & NSAlternateKeyMask) ? \
parse_solitary_modifier (ns_alternate_modifier) : 0) \
| (([e modifierFlags] & NSShiftKeyMask) ? \
| (([e modifierFlags] & NSShiftKeyMask) ? \
shift_modifier : 0) \
| (([e modifierFlags] & NSControlKeyMask) ? \
parse_solitary_modifier (ns_control_modifier) : 0) \
@ -4440,7 +4450,13 @@ most recently updated (I guess), which is not the correct one. */
emacs_event->modifiers |=
parse_solitary_modifier (ns_function_modifier);
if (flags & NSAlternateKeyMask) /* default = meta */
if (!EQ (ns_right_alternate_modifier, Qleft)
&& ((flags & NSRightAlternateKeyMask) == NSRightAlternateKeyMask))
{
emacs_event->modifiers |= parse_solitary_modifier
(ns_right_alternate_modifier);
}
else if (flags & NSAlternateKeyMask) /* default = meta */
{
if ((NILP (ns_alternate_modifier) || EQ (ns_alternate_modifier, Qnone))
&& !fnKeysym)
@ -6203,6 +6219,14 @@ Convert an X font name (XLFD) to an NS font name.
at all, allowing it to be used at a lower level for accented character entry.");
ns_alternate_modifier = Qmeta;
DEFVAR_LISP ("ns-right-alternate-modifier", &ns_right_alternate_modifier,
"This variable describes the behavior of the right alternate or option key.\n\
Set to control, meta, alt, super, or hyper means it is taken to be that key.\n\
Set to left means be the same key as `ns-alternate-modifier'.\n\
Set to none means that the alternate / option key is not interpreted by Emacs\n\
at all, allowing it to be used at a lower level for accented character entry.");
ns_right_alternate_modifier = Qleft;
DEFVAR_LISP ("ns-command-modifier", &ns_command_modifier,
"This variable describes the behavior of the command key.\n\
Set to control, meta, alt, super, or hyper means it is taken to be that key.");