aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanma Barranquero <[email protected]>2010-10-12 01:57:49 +0200
committerJuanma Barranquero <[email protected]>2010-10-12 01:57:49 +0200
commit4c14013dbec3a2f130a38e61e885f1e8cc6c325b (patch)
treeb74121c8de587c217f0d146752e8893d0874aae7
parentf0b7f5a884806112b6a938b9c31607ea005431d3 (diff)
parenta2e35ef5d52031e0fa184d1863fe7cb7043ef637 (diff)
Merge changes from emacs-23 branch.
-rw-r--r--ChangeLog4
-rw-r--r--doc/man/ChangeLog8
-rw-r--r--doc/man/emacs.127
-rw-r--r--etc/NEWS.233
-rw-r--r--lisp/ChangeLog29
-rw-r--r--lisp/cus-start.el8
-rw-r--r--lisp/emacs-lisp/lisp.el86
-rw-r--r--lisp/emacs-lisp/shadow.el11
-rw-r--r--lisp/hi-lock.el25
-rw-r--r--lisp/mail/mail-utils.el2
-rw-r--r--lisp/term/ns-win.el3
-rwxr-xr-xmake-dist2
-rw-r--r--src/ChangeLog11
-rw-r--r--src/nsterm.m32
14 files changed, 165 insertions, 86 deletions
diff --git a/ChangeLog b/ChangeLog
index b859353b08..eb12c7d97c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-10-12 Eli Zaretskii <[email protected]>
+
+ * make-dist: Don't distribute src/buildobj.h. (Bug#7167)
+
2010-10-10 Dan Nicolaescu <[email protected]>
* configure.in (PROFILING_LDFLAGS): Do not define, remove all uses.
diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog
index 16e6120895..f2810be7f9 100644
--- a/doc/man/ChangeLog
+++ b/doc/man/ChangeLog
@@ -1,3 +1,11 @@
+2010-10-12 Glenn Morris <[email protected]>
+
+ * emacs.1: Small fixes.
+
+2010-10-12 Ulrich Mueller <[email protected]>
+
+ * emacs.1: Update license description.
+
2010-10-09 Glenn Morris <[email protected]>
* b2m.1: Remove file.
diff --git a/doc/man/emacs.1 b/doc/man/emacs.1
index 2ad9e2c543..ae2bc82c92 100644
--- a/doc/man/emacs.1
+++ b/doc/man/emacs.1
@@ -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, [email protected], 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 .
diff --git a/etc/NEWS.23 b/etc/NEWS.23
index bee89d368b..25236d0f3d 100644
--- a/etc/NEWS.23
+++ b/etc/NEWS.23
@@ -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
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 6136b3ab2e..e639ebb5bf 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,32 @@
+2010-10-12 Jan Djärv <[email protected]>
+
+ * 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 <[email protected]>
+
+ * emacs-lisp/lisp.el (lisp-completion-at-point):
+ Use emacs-lisp-mode-syntax-table for the whole function.
+
+2010-10-12 David Koppelman <[email protected]>
+
+ * 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 <[email protected]>
+
+ * 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 <[email protected]>
* mail/hashcash.el, net/imap.el, pgg-parse.el, pgg.el:
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index 161de5e78e..a43525f824 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -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)
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index cfb56eb323..d0d1520a67 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -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
diff --git a/lisp/emacs-lisp/shadow.el b/lisp/emacs-lisp/shadow.el
index 850c1e8968..e690cbaa1b 100644
--- a/lisp/emacs-lisp/shadow.el
+++ b/lisp/emacs-lisp/shadow.el
@@ -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)))
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index de4e2ff0df..0273de14ed 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -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)
diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el
index 1c527f2211..a8def04100 100644
--- a/lisp/mail/mail-utils.el
+++ b/lisp/mail/mail-utils.el
@@ -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
diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el
index dd386fe133..4cc2632665 100644
--- a/lisp/term/ns-win.el
+++ b/lisp/term/ns-win.el
@@ -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)
diff --git a/make-dist b/make-dist
index 76bec92978..20052db6d0 100755
--- a/make-dist
+++ b/make-dist
@@ -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'"
diff --git a/src/ChangeLog b/src/ChangeLog
index 1c75c75849..da1ce968b6 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
+2010-10-12 Jan Djärv <[email protected]>
+
+ * 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 <[email protected]>
* gnutls.c (emacs_gnutls_write): If we're trying to write before
diff --git a/src/nsterm.m b/src/nsterm.m
index f0efb948ab..3c146c5d2a 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -142,13 +142,18 @@ Lisp_Object ns_input_spi_name, ns_input_spi_arg;
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 @@ static BOOL inNsSelect = 0;
/* 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 @@ ns_term_shutdown (int sig)
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 @@ 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_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.");