Merge changes from emacs-23 branch.
This commit is contained in:
commit
4c14013dbe
14 changed files with 165 additions and 86 deletions
|
|
@ -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>
|
2010-10-10 Dan Nicolaescu <dann@ics.uci.edu>
|
||||||
|
|
||||||
* configure.in (PROFILING_LDFLAGS): Do not define, remove all uses.
|
* configure.in (PROFILING_LDFLAGS): Do not define, remove all uses.
|
||||||
|
|
|
||||||
|
|
@ -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>
|
2010-10-09 Glenn Morris <rgm@gnu.org>
|
||||||
|
|
||||||
* b2m.1: Remove file.
|
* b2m.1: Remove file.
|
||||||
|
|
|
||||||
|
|
@ -41,9 +41,9 @@ CTRL-h or F1 enters the Help facility.
|
||||||
Help Tutorial (CTRL-h t) starts an interactive tutorial to quickly
|
Help Tutorial (CTRL-h t) starts an interactive tutorial to quickly
|
||||||
teach beginners the fundamentals of
|
teach beginners the fundamentals of
|
||||||
.I Emacs.
|
.I Emacs.
|
||||||
Help Apropos (CTRL-h a) helps you find a command given its
|
Help Apropos (CTRL-h a) helps you find a command with a name matching
|
||||||
functionality, Help Key (CTRL-h k) describes a given key sequence, and
|
a given pattern, Help Key (CTRL-h k) describes a given key sequence,
|
||||||
Help Function (CTRL-h f) describes a given Lisp function.
|
and Help Function (CTRL-h f) describes a given Lisp function.
|
||||||
.PP
|
.PP
|
||||||
.IR "GNU Emacs" 's
|
.IR "GNU Emacs" 's
|
||||||
many special packages handle mail reading (RMail) and sending (Mail),
|
many special packages handle mail reading (RMail) and sending (Mail),
|
||||||
|
|
@ -531,12 +531,12 @@ is the number of color planes.
|
||||||
.SH MANUALS
|
.SH MANUALS
|
||||||
You can order printed copies of the GNU Emacs Manual from the Free
|
You can order printed copies of the GNU Emacs Manual from the Free
|
||||||
Software Foundation, which develops GNU software.
|
Software Foundation, which develops GNU software.
|
||||||
See the file ORDERS for ordering information.
|
See the online store at <http://shop.fsf.org/>.
|
||||||
.br
|
.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
|
As with all software and publications from FSF, everyone is permitted
|
||||||
to make and distribute copies of the Emacs manual.
|
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.
|
distribution.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
|
|
@ -545,7 +545,8 @@ distribution.
|
||||||
The complete text of the Emacs reference manual is included in a
|
The complete text of the Emacs reference manual is included in a
|
||||||
convenient tree structured form.
|
convenient tree structured form.
|
||||||
Also includes the Emacs Lisp Reference Manual, useful to anyone
|
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
|
/usr/local/share/emacs/$VERSION/lisp \(em Lisp source files and
|
||||||
compiled files that define most editing commands.
|
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.
|
bugs and fixes.
|
||||||
But before reporting something as a bug, please try to be sure that
|
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.
|
it really is a bug, not a misunderstanding or a deliberate feature.
|
||||||
We ask you to read the section ``Reporting Emacs Bugs'' near the
|
We ask you to read the section ``Reporting Bugs'' in the Emacs manual
|
||||||
end of the reference manual (or Info system) for hints on how and
|
for hints on how and when to report bugs.
|
||||||
when to report bugs.
|
|
||||||
Also, include the version number of the Emacs you are running in
|
Also, include the version number of the Emacs you are running in
|
||||||
\fIevery\fR bug report that you send in.
|
\fIevery\fR bug report that you send in.
|
||||||
Bugs tend actually to be fixed if they can be isolated, so it is
|
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
|
.I Emacs
|
||||||
is free; anyone may redistribute copies of
|
is free; anyone may redistribute copies of
|
||||||
.I Emacs
|
.I Emacs
|
||||||
to
|
to anyone under the terms stated in the GNU General Public License,
|
||||||
anyone under the terms stated in the
|
|
||||||
.I Emacs
|
|
||||||
General Public License,
|
|
||||||
a copy of which accompanies each copy of
|
a copy of which accompanies each copy of
|
||||||
.I Emacs
|
.I Emacs
|
||||||
and which also
|
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
|
but it is never included in the scope of any license covering those
|
||||||
systems.
|
systems.
|
||||||
Such inclusion violates the terms on which distribution is permitted.
|
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
|
prohibit anyone from attaching any other restrictions to
|
||||||
redistribution of
|
redistribution of
|
||||||
.IR Emacs .
|
.IR Emacs .
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,9 @@ with a prefix argument or by typing C-u C-h C-n.
|
||||||
|
|
||||||
* Changes in Emacs 23.3
|
* 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
|
* Editing Changes in Emacs 23.3
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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>
|
2010-10-11 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||||
|
|
||||||
* mail/hashcash.el, net/imap.el, pgg-parse.el, pgg.el:
|
* mail/hashcash.el, net/imap.el, pgg-parse.el, pgg.el:
|
||||||
|
|
|
||||||
|
|
@ -272,6 +272,14 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
|
||||||
(const control) (const meta)
|
(const control) (const meta)
|
||||||
(const alt) (const hyper)
|
(const alt) (const hyper)
|
||||||
(const super)) "23.1")
|
(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-function-modifier
|
||||||
ns
|
ns
|
||||||
(choice (const :tag "No modifier (work as function)" none)
|
(choice (const :tag "No modifier (work as function)" none)
|
||||||
|
|
|
||||||
|
|
@ -646,49 +646,49 @@ considered."
|
||||||
(defun lisp-completion-at-point (&optional predicate)
|
(defun lisp-completion-at-point (&optional predicate)
|
||||||
"Function used for `completion-at-point-functions' in `emacs-lisp-mode'."
|
"Function used for `completion-at-point-functions' in `emacs-lisp-mode'."
|
||||||
;; FIXME: the `end' could be after point?
|
;; FIXME: the `end' could be after point?
|
||||||
(let* ((pos (point))
|
(with-syntax-table emacs-lisp-mode-syntax-table
|
||||||
(beg (with-syntax-table emacs-lisp-mode-syntax-table
|
(let* ((pos (point))
|
||||||
(condition-case nil
|
(beg (condition-case nil
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(backward-sexp 1)
|
(backward-sexp 1)
|
||||||
(skip-syntax-forward "'")
|
(skip-syntax-forward "'")
|
||||||
(point))
|
(point))
|
||||||
(scan-error pos))))
|
(scan-error pos)))
|
||||||
(predicate
|
(predicate
|
||||||
(or predicate
|
(or predicate
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(goto-char beg)
|
(goto-char beg)
|
||||||
(if (not (eq (char-before) ?\())
|
(if (not (eq (char-before) ?\())
|
||||||
(lambda (sym) ;why not just nil ? -sm
|
(lambda (sym) ;why not just nil ? -sm
|
||||||
(or (boundp sym) (fboundp sym)
|
(or (boundp sym) (fboundp sym)
|
||||||
(symbol-plist sym)))
|
(symbol-plist sym)))
|
||||||
;; Looks like a funcall position. Let's double check.
|
;; Looks like a funcall position. Let's double check.
|
||||||
(if (condition-case nil
|
(if (condition-case nil
|
||||||
(progn (up-list -2) (forward-char 1)
|
(progn (up-list -2) (forward-char 1)
|
||||||
(eq (char-after) ?\())
|
(eq (char-after) ?\())
|
||||||
(error nil))
|
(error nil))
|
||||||
;; If the first element of the parent list is an open
|
;; If the first element of the parent list is an open
|
||||||
;; parenthesis we are probably not in a funcall position.
|
;; paren we are probably not in a funcall position.
|
||||||
;; Maybe a `let' varlist or something.
|
;; Maybe a `let' varlist or something.
|
||||||
nil
|
nil
|
||||||
;; Else, we assume that a function name is expected.
|
;; Else, we assume that a function name is expected.
|
||||||
'fboundp)))))
|
'fboundp)))))
|
||||||
(end
|
(end
|
||||||
(unless (or (eq beg (point-max))
|
(unless (or (eq beg (point-max))
|
||||||
(member (char-syntax (char-after beg)) '(?\" ?\( ?\))))
|
(member (char-syntax (char-after beg)) '(?\" ?\( ?\))))
|
||||||
(condition-case nil
|
(condition-case nil
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(goto-char beg)
|
(goto-char beg)
|
||||||
(forward-sexp 1)
|
(forward-sexp 1)
|
||||||
(when (>= (point) pos)
|
(when (>= (point) pos)
|
||||||
(point)))
|
(point)))
|
||||||
(scan-error pos)))))
|
(scan-error pos)))))
|
||||||
(when end
|
(when end
|
||||||
(list beg end obarray
|
(list beg end obarray
|
||||||
:predicate predicate
|
:predicate predicate
|
||||||
:annotate-function
|
:annotate-function
|
||||||
(unless (eq predicate 'fboundp)
|
(unless (eq predicate 'fboundp)
|
||||||
(lambda (str) (if (fboundp (intern-soft str)) " <f>")))))))
|
(lambda (str) (if (fboundp (intern-soft str)) " <f>"))))))))
|
||||||
|
|
||||||
;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e
|
;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e
|
||||||
;;; lisp.el ends here
|
;;; lisp.el ends here
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
;;; Commentary:
|
;;; 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
|
;; and display (`list-load-path-shadows') potential load-path
|
||||||
;; problems that arise when Emacs Lisp files "shadow" each other.
|
;; 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
|
:type 'boolean
|
||||||
:group 'lisp-shadow)
|
: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.
|
"Return a list of Emacs Lisp files that create shadows.
|
||||||
This function does the work for `list-load-path-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.
|
;; Return the list of shadowings.
|
||||||
shadows))
|
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
|
;; Return true if neither file exists, or if both exist and have identical
|
||||||
;; contents.
|
;; contents.
|
||||||
(defun load-path-shadows-same-file-or-nonexistent (f1 f2)
|
(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.
|
considered to shadow a later file XXX.el, and vice-versa.
|
||||||
|
|
||||||
Shadowings are located by calling the (non-interactive) companion
|
Shadowings are located by calling the (non-interactive) companion
|
||||||
function, `find-emacs-lisp-shadows'."
|
function, `load-path-shadows-find'."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let* ((path (copy-sequence load-path))
|
(let* ((path (copy-sequence load-path))
|
||||||
(tem path)
|
(tem path)
|
||||||
|
|
@ -248,7 +251,7 @@ function, `find-emacs-lisp-shadows'."
|
||||||
(setq tem nil)))
|
(setq tem nil)))
|
||||||
(setq tem (cdr tem)))))
|
(setq tem (cdr tem)))))
|
||||||
|
|
||||||
(let* ((shadows (find-emacs-lisp-shadows path))
|
(let* ((shadows (load-path-shadows-find path))
|
||||||
(n (/ (length shadows) 2))
|
(n (/ (length shadows) 2))
|
||||||
(msg (format "%s Emacs Lisp load-path shadowing%s found"
|
(msg (format "%s Emacs Lisp load-path shadowing%s found"
|
||||||
(if (zerop n) "No" (concat "\n" (number-to-string n)))
|
(if (zerop n) "No" (concat "\n" (number-to-string n)))
|
||||||
|
|
|
||||||
|
|
@ -564,23 +564,15 @@ not suitable."
|
||||||
'face-name-history
|
'face-name-history
|
||||||
(cdr hi-lock-face-defaults))))
|
(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)
|
(defun hi-lock-set-pattern (regexp face)
|
||||||
"Highlight REGEXP with face FACE."
|
"Highlight REGEXP with face FACE."
|
||||||
(let ((pattern (list regexp (list 0 (list 'quote face) t)))
|
(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))
|
|
||||||
(unless (member pattern hi-lock-interactive-patterns)
|
(unless (member pattern hi-lock-interactive-patterns)
|
||||||
(font-lock-add-keywords nil (list pattern) t)
|
|
||||||
(push pattern hi-lock-interactive-patterns)
|
(push pattern hi-lock-interactive-patterns)
|
||||||
(if font-lock-fontified
|
(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))
|
(let* ((serial (hi-lock-string-serialize regexp))
|
||||||
(range-min (- (point) (/ hi-lock-highlight-range 2)))
|
(range-min (- (point) (/ hi-lock-highlight-range 2)))
|
||||||
(range-max (+ (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 ()
|
(defun hi-lock-font-lock-hook ()
|
||||||
"Add hi-lock patterns to font-lock's."
|
"Add hi-lock patterns to font-lock's."
|
||||||
(unless hi-lock--inhibit-font-lock-hook
|
(when font-lock-fontified
|
||||||
(if font-lock-mode
|
(font-lock-add-keywords nil hi-lock-file-patterns t)
|
||||||
(progn
|
(font-lock-add-keywords nil hi-lock-interactive-patterns t)))
|
||||||
(font-lock-add-keywords nil hi-lock-file-patterns t)
|
|
||||||
(font-lock-add-keywords nil hi-lock-interactive-patterns t))
|
|
||||||
(hi-lock-mode -1))))
|
|
||||||
|
|
||||||
(defvar hi-lock-string-serialize-hash
|
(defvar hi-lock-string-serialize-hash
|
||||||
(make-hash-table :test 'equal)
|
(make-hash-table :test 'equal)
|
||||||
|
|
|
||||||
|
|
@ -401,6 +401,7 @@ The buffer should be narrowed to just the header."
|
||||||
(let ((from (or (mail-fetch-field "from")
|
(let ((from (or (mail-fetch-field "from")
|
||||||
(mail-fetch-field "really-from")
|
(mail-fetch-field "really-from")
|
||||||
(mail-fetch-field "sender")
|
(mail-fetch-field "sender")
|
||||||
|
(mail-fetch-field "return-path")
|
||||||
"unknown"))
|
"unknown"))
|
||||||
(date (mail-fetch-field "date")))
|
(date (mail-fetch-field "date")))
|
||||||
(format "From %s %s\n" (mail-strip-quoted-names from)
|
(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)
|
(provide 'mail-utils)
|
||||||
|
|
||||||
;; arch-tag: b24aec2f-fd65-4ceb-9e39-3cc2827036fd
|
|
||||||
;;; mail-utils.el ends here
|
;;; mail-utils.el ends here
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,7 @@
|
||||||
;; nsterm.m
|
;; nsterm.m
|
||||||
(defvar ns-version-string)
|
(defvar ns-version-string)
|
||||||
(defvar ns-alternate-modifier)
|
(defvar ns-alternate-modifier)
|
||||||
|
(defvar ns-right-alternate-modifier)
|
||||||
|
|
||||||
;;;; Command line argument handling.
|
;;;; 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-command-modifier 'ns-command-modifier)
|
||||||
(defvaralias 'mac-control-modifier 'ns-control-modifier)
|
(defvaralias 'mac-control-modifier 'ns-control-modifier)
|
||||||
(defvaralias 'mac-option-modifier 'ns-option-modifier)
|
(defvaralias 'mac-option-modifier 'ns-option-modifier)
|
||||||
|
(defvaralias 'mac-right-option-modifier 'ns-right-option-modifier)
|
||||||
(defvaralias 'mac-function-modifier 'ns-function-modifier)
|
(defvaralias 'mac-function-modifier 'ns-function-modifier)
|
||||||
(declare-function ns-do-applescript "nsfns.m" (script))
|
(declare-function ns-do-applescript "nsfns.m" (script))
|
||||||
(defalias 'do-applescript 'ns-do-applescript)
|
(defalias 'do-applescript 'ns-do-applescript)
|
||||||
|
|
@ -815,6 +817,7 @@ unless the current buffer is a scratch buffer."
|
||||||
|
|
||||||
;; You say tomAYto, I say tomAHto..
|
;; You say tomAYto, I say tomAHto..
|
||||||
(defvaralias 'ns-option-modifier 'ns-alternate-modifier)
|
(defvaralias 'ns-option-modifier 'ns-alternate-modifier)
|
||||||
|
(defvaralias 'ns-right-option-modifier 'ns-right-alternate-modifier)
|
||||||
|
|
||||||
(defun ns-do-hide-emacs ()
|
(defun ns-do-hide-emacs ()
|
||||||
(interactive)
|
(interactive)
|
||||||
|
|
|
||||||
|
|
@ -461,7 +461,7 @@ echo "Making links to \`src'"
|
||||||
ln makefile.w32-in ../${tempdir}/src
|
ln makefile.w32-in ../${tempdir}/src
|
||||||
ln .gdbinit .dbxinit ../${tempdir}/src
|
ln .gdbinit .dbxinit ../${tempdir}/src
|
||||||
cd ../${tempdir}/src
|
cd ../${tempdir}/src
|
||||||
rm -f config.h epaths.h Makefile
|
rm -f config.h epaths.h Makefile buildobj.h
|
||||||
rm -f =* TAGS)
|
rm -f =* TAGS)
|
||||||
|
|
||||||
echo "Making links to \`src/bitmaps'"
|
echo "Making links to \`src/bitmaps'"
|
||||||
|
|
|
||||||
|
|
@ -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>
|
2010-10-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||||
|
|
||||||
* gnutls.c (emacs_gnutls_write): If we're trying to write before
|
* gnutls.c (emacs_gnutls_write): If we're trying to write before
|
||||||
|
|
|
||||||
32
src/nsterm.m
32
src/nsterm.m
|
|
@ -142,12 +142,17 @@ Lisp_Object ns_input_spi_name, ns_input_spi_arg;
|
||||||
Lisp_Object Vx_toolkit_scroll_bars;
|
Lisp_Object Vx_toolkit_scroll_bars;
|
||||||
static Lisp_Object Qmodifier_value;
|
static Lisp_Object Qmodifier_value;
|
||||||
Lisp_Object Qalt, Qcontrol, Qhyper, Qmeta, Qsuper, Qnone;
|
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
|
/* Specifies which emacs modifier should be generated when NS receives
|
||||||
the Alternate modifer. May be Qnone or any of the modifier lisp symbols. */
|
the Alternate modifer. May be Qnone or any of the modifier lisp symbols. */
|
||||||
Lisp_Object ns_alternate_modifier;
|
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
|
/* Specifies which emacs modifier should be generated when NS receives
|
||||||
the Command modifer. May be any of the modifier lisp symbols. */
|
the Command modifer. May be any of the modifier lisp symbols. */
|
||||||
Lisp_Object ns_command_modifier;
|
Lisp_Object ns_command_modifier;
|
||||||
|
|
@ -218,12 +223,17 @@ static BOOL inNsSelect = 0;
|
||||||
|
|
||||||
/* Convert modifiers in a NeXTSTEP event to emacs style modifiers. */
|
/* Convert modifiers in a NeXTSTEP event to emacs style modifiers. */
|
||||||
#define NS_FUNCTION_KEY_MASK 0x800000
|
#define NS_FUNCTION_KEY_MASK 0x800000
|
||||||
|
#define NSRightAlternateKeyMask (0x000040 | NSAlternateKeyMask)
|
||||||
#define EV_MODIFIERS(e) \
|
#define EV_MODIFIERS(e) \
|
||||||
((([e modifierFlags] & NSHelpKeyMask) ? \
|
((([e modifierFlags] & NSHelpKeyMask) ? \
|
||||||
hyper_modifier : 0) \
|
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) \
|
parse_solitary_modifier (ns_alternate_modifier) : 0) \
|
||||||
| (([e modifierFlags] & NSShiftKeyMask) ? \
|
| (([e modifierFlags] & NSShiftKeyMask) ? \
|
||||||
shift_modifier : 0) \
|
shift_modifier : 0) \
|
||||||
| (([e modifierFlags] & NSControlKeyMask) ? \
|
| (([e modifierFlags] & NSControlKeyMask) ? \
|
||||||
parse_solitary_modifier (ns_control_modifier) : 0) \
|
parse_solitary_modifier (ns_control_modifier) : 0) \
|
||||||
|
|
@ -4440,7 +4450,13 @@ ns_term_shutdown (int sig)
|
||||||
emacs_event->modifiers |=
|
emacs_event->modifiers |=
|
||||||
parse_solitary_modifier (ns_function_modifier);
|
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))
|
if ((NILP (ns_alternate_modifier) || EQ (ns_alternate_modifier, Qnone))
|
||||||
&& !fnKeysym)
|
&& !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.");
|
at all, allowing it to be used at a lower level for accented character entry.");
|
||||||
ns_alternate_modifier = Qmeta;
|
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,
|
DEFVAR_LISP ("ns-command-modifier", &ns_command_modifier,
|
||||||
"This variable describes the behavior of the command key.\n\
|
"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.");
|
Set to control, meta, alt, super, or hyper means it is taken to be that key.");
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue