Mercurial > emacs
changeset 110931:2316b868d5be
Merge changes from emacs-23 branch.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Tue, 12 Oct 2010 01:57:49 +0200 |
parents | 236342431786 (current diff) b6cf32bb07a1 (diff) |
children | 0d72a05fef14 |
files | ChangeLog doc/man/ChangeLog doc/man/emacs.1 etc/NEWS.23 lisp/ChangeLog lisp/cus-start.el lisp/emacs-lisp/lisp.el lisp/emacs-lisp/shadow.el lisp/term/ns-win.el make-dist src/ChangeLog src/nsterm.m |
diffstat | 14 files changed, 165 insertions(+), 86 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Oct 11 23:29:33 2010 +0000 +++ b/ChangeLog Tue Oct 12 01:57:49 2010 +0200 @@ -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.
--- a/doc/man/ChangeLog Mon Oct 11 23:29:33 2010 +0000 +++ b/doc/man/ChangeLog Tue Oct 12 01:57:49 2010 +0200 @@ -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.
--- a/doc/man/emacs.1 Mon Oct 11 23:29:33 2010 +0000 +++ b/doc/man/emacs.1 Tue Oct 12 01:57:49 2010 +0200 @@ -41,9 +41,9 @@ 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 @@ .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 @@ 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 @@ 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 @@ .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 @@ 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 .
--- a/etc/NEWS.23 Mon Oct 11 23:29:33 2010 +0000 +++ b/etc/NEWS.23 Tue Oct 12 01:57:49 2010 +0200 @@ -21,6 +21,9 @@ * 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
--- a/lisp/ChangeLog Mon Oct 11 23:29:33 2010 +0000 +++ b/lisp/ChangeLog Tue Oct 12 01:57:49 2010 +0200 @@ -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:
--- a/lisp/cus-start.el Mon Oct 11 23:29:33 2010 +0000 +++ b/lisp/cus-start.el Tue Oct 12 01:57:49 2010 +0200 @@ -272,6 +272,14 @@ (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)
--- a/lisp/emacs-lisp/lisp.el Mon Oct 11 23:29:33 2010 +0000 +++ b/lisp/emacs-lisp/lisp.el Tue Oct 12 01:57:49 2010 +0200 @@ -646,49 +646,49 @@ (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
--- a/lisp/emacs-lisp/shadow.el Mon Oct 11 23:29:33 2010 +0000 +++ b/lisp/emacs-lisp/shadow.el Tue Oct 12 01:57:49 2010 +0200 @@ -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 @@ :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 @@ ;; 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 @@ 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 @@ (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)))
--- a/lisp/hi-lock.el Mon Oct 11 23:29:33 2010 +0000 +++ b/lisp/hi-lock.el Tue Oct 12 01:57:49 2010 +0200 @@ -564,23 +564,15 @@ '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 @@ (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)
--- a/lisp/mail/mail-utils.el Mon Oct 11 23:29:33 2010 +0000 +++ b/lisp/mail/mail-utils.el Tue Oct 12 01:57:49 2010 +0200 @@ -401,6 +401,7 @@ (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 @@ (provide 'mail-utils) -;; arch-tag: b24aec2f-fd65-4ceb-9e39-3cc2827036fd ;;; mail-utils.el ends here
--- a/lisp/term/ns-win.el Mon Oct 11 23:29:33 2010 +0000 +++ b/lisp/term/ns-win.el Tue Oct 12 01:57:49 2010 +0200 @@ -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 @@ (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 @@ ;; 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)
--- a/make-dist Mon Oct 11 23:29:33 2010 +0000 +++ b/make-dist Tue Oct 12 01:57:49 2010 +0200 @@ -461,7 +461,7 @@ 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'"
--- a/src/ChangeLog Mon Oct 11 23:29:33 2010 +0000 +++ b/src/ChangeLog Tue Oct 12 01:57:49 2010 +0200 @@ -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
--- a/src/nsterm.m Mon Oct 11 23:29:33 2010 +0000 +++ b/src/nsterm.m Tue Oct 12 01:57:49 2010 +0200 @@ -142,13 +142,18 @@ 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 @@ /* 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 @@ 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 @@ 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.");