mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-04 11:00:45 -08:00
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-25
Merge from emacs--cvs-trunk--0 Patches applied: * emacs--cvs-trunk--0 (patch 173-179) - Update from CVS
This commit is contained in:
commit
40fb2103c2
21 changed files with 405 additions and 186 deletions
7
etc/NEWS
7
etc/NEWS
|
|
@ -178,6 +178,13 @@ types any more. Add -DUSE_LISP_UNION_TYPE if you want union types.
|
|||
|
||||
* Changes in Emacs 22.1
|
||||
|
||||
** The commands copy-file, rename-file, make-symbolic-link and
|
||||
add-name-to-file, when given a directory as the "new name" argument,
|
||||
convert it to a file name by merging in the within-directory part of
|
||||
the existing file's name. (This is the same convention that shell
|
||||
commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET
|
||||
/tmp RET copies ~/foo to /tmp/foo.
|
||||
|
||||
** C-u M-x goto-line now switches to the most recent previous buffer,
|
||||
and goes to the specified line in that buffer.
|
||||
|
||||
|
|
|
|||
6
etc/TODO
6
etc/TODO
|
|
@ -82,6 +82,12 @@ to the FSF.
|
|||
to save their changes. If the user says yes, show them
|
||||
in a Custom buffer using customize-customized.
|
||||
|
||||
** Emacs Lisp mode could put an overlay on the defun for every
|
||||
function that has advice. The overlay could have `after-text' like "
|
||||
[Function has advice]". It might look like
|
||||
(defun foo [Function has advice] (x y)
|
||||
The overlay could also be a button that you could use to view the advice.
|
||||
|
||||
** ange-ftp
|
||||
*** understand sftp
|
||||
*** Use MLS for ange-ftp-insert-directory if a list of files is specified.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,69 @@
|
|||
2005-03-14 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* simple.el (next-line, previous-line): Add optional try-vscroll
|
||||
arg to recognize interactive use. Pass it on to line-move.
|
||||
(line-move): Don't perform auto-window-vscroll when defining or
|
||||
executing keyboard macro to ensure consistent behaviour.
|
||||
|
||||
2005-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* pcvs-util.el (cvs-string->strings): Strip trailing whitespace.
|
||||
|
||||
2005-03-13 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
* emacs-lisp/debug.el (debug): Set debug-on-exit before calling
|
||||
debugger-setup-buffer so that backtrace marks the frames set to
|
||||
debug-on-exit and we don't have to do it manually. Set an extra
|
||||
debug-on-exit for macro's.
|
||||
(debugger-setup-buffer): Don't mark the top frame manually.
|
||||
|
||||
2005-03-12 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
* emacs-lisp/byte-run.el: Replace lisp-indent-hook with
|
||||
lisp-indent-function throughout.
|
||||
(with-no-warnings): Set lisp-indent-function property.
|
||||
|
||||
2005-03-12 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
||||
* progmodes/dcl-mode.el (dcl-mode-syntax-table):
|
||||
Add entry for backslash.
|
||||
|
||||
2005-03-12 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* info.el (Info-search): Four fixes for backward search.
|
||||
|
||||
2005-03-11 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* calc/calc.el (calc-language-alist): New variable.
|
||||
* calc/calc-embed.el (calc-embedded-language-alist): Remove.
|
||||
(calc-embedded-find-modes): Use calc-language-alist instead of
|
||||
calc-embedded-language-alist.
|
||||
|
||||
2005-03-11 Glenn Morris <gmorris@ast.cam.ac.uk>
|
||||
|
||||
* calendar/calendar.el (calendar-redrawing): New internal
|
||||
variable.
|
||||
(redraw-calendar): Remove bogus save-excursion from previous
|
||||
change. Bind calendar-redrawing to t for mark-diary-entries.
|
||||
* calendar/diary-lib.el (mark-diary-entries): No need to redraw
|
||||
calendar if that is why we were called.
|
||||
|
||||
2005-03-11 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* international/mule.el (make-coding-system): Set property
|
||||
'coding-system-define-form to nil.
|
||||
(define-coding-system-alias): Likewise.
|
||||
|
||||
2005-03-11 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
These changes are suggested by Dave Love <fx@gnu.org>.
|
||||
|
||||
* textmodes/fill.el: Change encoding to iso-2022-7bit and add
|
||||
coding: tag.
|
||||
(adaptive-fill-regexp): Add more bullets.
|
||||
(fill-french-nobreak-p): Add Latin-1 and Latin-9 guillemets in
|
||||
regexps.
|
||||
|
||||
2005-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* help.el (describe-mode): Properly handle non-trivial lighters.
|
||||
|
|
|
|||
|
|
@ -677,18 +677,6 @@ The command \\[yank] can retrieve it from there."
|
|||
(setq calc-embedded-globals (cons t modes))
|
||||
(goto-char save-pt)))
|
||||
|
||||
(defvar calc-embedded-language-alist
|
||||
'((latex-mode . latex)
|
||||
(tex-mode . tex)
|
||||
(plain-tex-mode . tex)
|
||||
(context-mode . tex)
|
||||
(nroff-mode . eqn)
|
||||
(pascal-mode . pascal)
|
||||
(c-mode . c)
|
||||
(c++-mode . c)
|
||||
(fortran-mode . fortran)
|
||||
(f90-mode . fortran)))
|
||||
|
||||
(defun calc-embedded-find-modes ()
|
||||
(let ((case-fold-search nil)
|
||||
(save-pt (point))
|
||||
|
|
@ -737,7 +725,7 @@ The command \\[yank] can retrieve it from there."
|
|||
(backward-char 6))
|
||||
(goto-char save-pt)
|
||||
(unless (assq 'the-language modes)
|
||||
(let ((lang (assoc major-mode calc-embedded-language-alist)))
|
||||
(let ((lang (assoc major-mode calc-language-alist)))
|
||||
(if lang
|
||||
(setq modes (cons (cons 'the-language (cdr lang))
|
||||
modes)))))
|
||||
|
|
|
|||
|
|
@ -717,6 +717,20 @@ If nil, selections displayed but ignored.")
|
|||
(defvar var-gamma '(special-const (math-gamma-const)))
|
||||
(defvar var-Modes '(special-const (math-get-modes-vec)))
|
||||
|
||||
(defvar calc-language-alist
|
||||
'((latex-mode . latex)
|
||||
(tex-mode . tex)
|
||||
(plain-tex-mode . tex)
|
||||
(context-mode . tex)
|
||||
(nroff-mode . eqn)
|
||||
(pascal-mode . pascal)
|
||||
(c-mode . c)
|
||||
(c++-mode . c)
|
||||
(fortran-mode . fortran)
|
||||
(f90-mode . fortran))
|
||||
"Alist of major modes with appropriate Calc languages.")
|
||||
|
||||
|
||||
(mapcar (lambda (v) (or (boundp v) (set v nil)))
|
||||
calc-local-var-list)
|
||||
|
||||
|
|
|
|||
|
|
@ -2150,15 +2150,18 @@ the inserted text. Value is always t."
|
|||
(forward-line 1))))
|
||||
t)
|
||||
|
||||
(defvar calendar-redrawing nil
|
||||
"Internal calendar variable, non-nil if inside redraw-calendar.")
|
||||
|
||||
(defun redraw-calendar ()
|
||||
"Redraw the calendar display, if `calendar-buffer' is live."
|
||||
(interactive)
|
||||
(if (get-buffer calendar-buffer)
|
||||
(save-excursion
|
||||
(with-current-buffer calendar-buffer
|
||||
(let ((cursor-date (calendar-cursor-to-nearest-date)))
|
||||
(let ((cursor-date (calendar-cursor-to-nearest-date))
|
||||
(calendar-redrawing t))
|
||||
(generate-calendar-window displayed-month displayed-year)
|
||||
(calendar-cursor-to-visible-date cursor-date))))))
|
||||
(calendar-cursor-to-visible-date cursor-date)))))
|
||||
|
||||
;;;###autoload
|
||||
(defcustom calendar-week-start-day 0
|
||||
|
|
|
|||
|
|
@ -846,7 +846,10 @@ After the entries are marked, the hooks `nongregorian-diary-marking-hook' and
|
|||
;; Avoid redrawing when called recursively, eg through
|
||||
;; mark-diary-entries-hook for #include's, else only get
|
||||
;; the last set of diary marks.
|
||||
(not marking-diary-entries))
|
||||
(not marking-diary-entries)
|
||||
;; If called from redraw-calendar, the calendar has been
|
||||
;; erased, so no need to unmark the diary entries.
|
||||
(not calendar-redrawing))
|
||||
(setq mark-diary-entries-in-calendar nil)
|
||||
(redraw-calendar))
|
||||
(let ((marking-diary-entries t)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
;;; byte-run.el --- byte-compiler support for inlining
|
||||
|
||||
;; Copyright (C) 1992, 2004 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1992, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Jamie Zawinski <jwz@lucid.com>
|
||||
;; Hallvard Furuseth <hbf@ulrik.uio.no>
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
;; Redefined in byte-optimize.el.
|
||||
;; This is not documented--it's not clear that we should promote it.
|
||||
(fset 'inline 'progn)
|
||||
(put 'inline 'lisp-indent-hook 0)
|
||||
(put 'inline 'lisp-indent-function 0)
|
||||
|
||||
|
||||
;;; Interface to inline functions.
|
||||
|
|
@ -105,7 +105,7 @@ was first made obsolete, for example a date or a release number."
|
|||
(put variable 'byte-obsolete-variable (cons new when))
|
||||
variable)
|
||||
|
||||
(put 'dont-compile 'lisp-indent-hook 0)
|
||||
(put 'dont-compile 'lisp-indent-function 0)
|
||||
(defmacro dont-compile (&rest body)
|
||||
"Like `progn', but the body always runs interpreted (not compiled).
|
||||
If you think you need this, you're probably making a mistake somewhere."
|
||||
|
|
@ -118,7 +118,7 @@ If you think you need this, you're probably making a mistake somewhere."
|
|||
;;; definition in the file overrides the magic definitions on the
|
||||
;;; byte-compile-macro-environment.
|
||||
|
||||
(put 'eval-when-compile 'lisp-indent-hook 0)
|
||||
(put 'eval-when-compile 'lisp-indent-function 0)
|
||||
(defmacro eval-when-compile (&rest body)
|
||||
"Like `progn', but evaluates the body at compile time.
|
||||
The result of the body appears to the compiler as a quoted constant."
|
||||
|
|
@ -127,13 +127,14 @@ The result of the body appears to the compiler as a quoted constant."
|
|||
;; (list 'quote (eval (cons 'progn body)))
|
||||
(cons 'progn body))
|
||||
|
||||
(put 'eval-and-compile 'lisp-indent-hook 0)
|
||||
(put 'eval-and-compile 'lisp-indent-function 0)
|
||||
(defmacro eval-and-compile (&rest body)
|
||||
"Like `progn', but evaluates the body at compile time and at load time."
|
||||
(declare (debug t))
|
||||
;; Remember, it's magic.
|
||||
(cons 'progn body))
|
||||
|
||||
(put 'with-no-warnings 'lisp-indent-function 0)
|
||||
(defun with-no-warnings (&rest body)
|
||||
"Like `progn', but prevents compiler warnings in the body."
|
||||
;; The implementation for the interpreter is basically trivial.
|
||||
|
|
@ -147,7 +148,7 @@ The result of the body appears to the compiler as a quoted constant."
|
|||
;;; There is hardly any reason to change these parameters, anyway.
|
||||
;;; --rms.
|
||||
|
||||
;; (put 'byte-compiler-options 'lisp-indent-hook 0)
|
||||
;; (put 'byte-compiler-options 'lisp-indent-function 0)
|
||||
;; (defmacro byte-compiler-options (&rest args)
|
||||
;; "Set some compilation-parameters for this file. This will affect only the
|
||||
;; file in which it appears; this does nothing when evaluated, and when loaded
|
||||
|
|
|
|||
|
|
@ -171,6 +171,13 @@ first will be printed into the backtrace buffer."
|
|||
(save-window-excursion
|
||||
(with-no-warnings
|
||||
(setq unread-command-char -1))
|
||||
(when (eq (car debugger-args) 'debug)
|
||||
;; Skip the frames for backtrace-debug, byte-code,
|
||||
;; and implement-debug-on-entry.
|
||||
(backtrace-debug 4 t)
|
||||
;; Place an extra debug-on-exit for macro's.
|
||||
(when (eq 'lambda (car-safe (cadr (backtrace-frame 4))))
|
||||
(backtrace-debug 5 t)))
|
||||
(pop-to-buffer debugger-buffer)
|
||||
(debugger-mode)
|
||||
(debugger-setup-buffer debugger-args)
|
||||
|
|
@ -190,10 +197,6 @@ first will be printed into the backtrace buffer."
|
|||
(goto-char (point-min))
|
||||
(message "%s" (buffer-string))
|
||||
(kill-emacs))
|
||||
(if (eq (car debugger-args) 'debug)
|
||||
;; Skip the frames for backtrace-debug, byte-code,
|
||||
;; and implement-debug-on-entry.
|
||||
(backtrace-debug 4 t))
|
||||
(message "")
|
||||
(let ((standard-output nil)
|
||||
(buffer-read-only t))
|
||||
|
|
@ -263,12 +266,7 @@ That buffer should be current already."
|
|||
;; lambda is for debug-on-call when a function call is next.
|
||||
;; debug is for debug-on-entry function called.
|
||||
(cond ((memq (car debugger-args) '(lambda debug))
|
||||
(insert "--entering a function:\n")
|
||||
(if (eq (car debugger-args) 'debug)
|
||||
(progn
|
||||
(delete-char 1)
|
||||
(insert ?*)
|
||||
(beginning-of-line))))
|
||||
(insert "--entering a function:\n"))
|
||||
;; Exiting a function.
|
||||
((eq (car debugger-args) 'exit)
|
||||
(insert "--returning value: ")
|
||||
|
|
|
|||
|
|
@ -1502,7 +1502,7 @@ If DIRECTION is `backward', search in the reverse direction."
|
|||
;; Skip node header line
|
||||
(and (save-excursion (forward-line -1)
|
||||
(looking-at "\^_"))
|
||||
(forward-line 1))
|
||||
(forward-line (if backward -1 1)))
|
||||
;; Skip Tag Table node
|
||||
(save-excursion
|
||||
(and (search-backward "\^_" nil t)
|
||||
|
|
@ -1540,6 +1540,7 @@ If DIRECTION is `backward', search in the reverse direction."
|
|||
(search-forward (concat "\n" osubfile ": "))
|
||||
;; Skip that one.
|
||||
(forward-line (if backward 0 1))
|
||||
(if backward (forward-char -1))
|
||||
;; Make a list of all following subfiles.
|
||||
;; Each elt has the form (VIRT-POSITION . SUBFILENAME).
|
||||
(while (not (if backward (bobp) (eobp)))
|
||||
|
|
@ -1578,7 +1579,7 @@ If DIRECTION is `backward', search in the reverse direction."
|
|||
;; Skip node header line
|
||||
(and (save-excursion (forward-line -1)
|
||||
(looking-at "\^_"))
|
||||
(forward-line 1))
|
||||
(forward-line (if backward -1 1)))
|
||||
;; Skip Tag Table node
|
||||
(save-excursion
|
||||
(and (search-backward "\^_" nil t)
|
||||
|
|
@ -1615,7 +1616,8 @@ If DIRECTION is `backward', search in the reverse direction."
|
|||
;; Use string-equal, not equal, to ignore text props.
|
||||
(or (and (string-equal onode Info-current-node)
|
||||
(equal ofile Info-current-file))
|
||||
(and isearch-mode isearch-wrapped (eq opoint opoint-min))
|
||||
(and isearch-mode isearch-wrapped
|
||||
(eq opoint (if isearch-forward opoint-min opoint-max)))
|
||||
(setq Info-history (cons (list ofile onode opoint)
|
||||
Info-history))))))
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
;;; pcvs-util.el --- utility functions for PCL-CVS -*- byte-compile-dynamic: t -*-
|
||||
|
||||
;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
;; 2000, 2001, 2004 Free Software Foundation, Inc.
|
||||
;; 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Stefan Monnier <monnier@cs.yale.edu>
|
||||
;; Keywords: pcl-cvs
|
||||
|
|
@ -205,8 +205,8 @@ It understands elisp style quoting within STRING such that
|
|||
The SEPARATOR regexp defaults to \"\\s-+\"."
|
||||
(let ((sep (or separator "\\s-+"))
|
||||
(i (string-match "[\"]" string)))
|
||||
(if (null i) (split-string string sep) ; no quoting: easy
|
||||
(append (unless (eq i 0) (split-string (substring string 0 i) sep))
|
||||
(if (null i) (split-string string sep t) ; no quoting: easy
|
||||
(append (unless (eq i 0) (split-string (substring string 0 i) sep t))
|
||||
(let ((rfs (read-from-string string i)))
|
||||
(cons (car rfs)
|
||||
(cvs-string->strings (substring string (cdr rfs))
|
||||
|
|
|
|||
|
|
@ -284,13 +284,13 @@ See `imenu-generic-expression' for details."
|
|||
|
||||
(defvar dcl-mode-syntax-table nil
|
||||
"Syntax table used in DCL-buffers.")
|
||||
(if dcl-mode-syntax-table
|
||||
()
|
||||
(unless dcl-mode-syntax-table
|
||||
(setq dcl-mode-syntax-table (make-syntax-table))
|
||||
(modify-syntax-entry ?! "<" dcl-mode-syntax-table) ; comment start
|
||||
(modify-syntax-entry ?\n ">" dcl-mode-syntax-table) ; comment end
|
||||
(modify-syntax-entry ?< "(>" dcl-mode-syntax-table) ; < and ...
|
||||
(modify-syntax-entry ?> ")<" dcl-mode-syntax-table) ; > is a matching pair
|
||||
(modify-syntax-entry ?\\ "_" dcl-mode-syntax-table) ; not an escape
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3177,8 +3177,9 @@ commands which are sensitive to the Transient Mark mode."
|
|||
:version "21.1"
|
||||
:group 'editing-basics)
|
||||
|
||||
(defun next-line (&optional arg)
|
||||
(defun next-line (&optional arg try-vscroll)
|
||||
"Move cursor vertically down ARG lines.
|
||||
Interactively, vscroll tall lines if `auto-window-vscroll' is enabled.
|
||||
If there is no character in the target line exactly under the current column,
|
||||
the cursor is positioned after the character in that line which spans this
|
||||
column, or at the end of the line if it is not long enough.
|
||||
|
|
@ -3197,7 +3198,7 @@ when there is no goal column.
|
|||
If you are thinking of using this in a Lisp program, consider
|
||||
using `forward-line' instead. It is usually easier to use
|
||||
and more reliable (no dependence on goal column, etc.)."
|
||||
(interactive "p")
|
||||
(interactive "p\np")
|
||||
(or arg (setq arg 1))
|
||||
(if (and next-line-add-newlines (= arg 1))
|
||||
(if (save-excursion (end-of-line) (eobp))
|
||||
|
|
@ -3205,16 +3206,17 @@ and more reliable (no dependence on goal column, etc.)."
|
|||
(let ((abbrev-mode nil))
|
||||
(end-of-line)
|
||||
(insert "\n"))
|
||||
(line-move arg nil nil t))
|
||||
(line-move arg nil nil try-vscroll))
|
||||
(if (interactive-p)
|
||||
(condition-case nil
|
||||
(line-move arg nil nil t)
|
||||
(line-move arg nil nil try-vscroll)
|
||||
((beginning-of-buffer end-of-buffer) (ding)))
|
||||
(line-move arg nil nil t)))
|
||||
(line-move arg nil nil try-vscroll)))
|
||||
nil)
|
||||
|
||||
(defun previous-line (&optional arg)
|
||||
(defun previous-line (&optional arg try-vscroll)
|
||||
"Move cursor vertically up ARG lines.
|
||||
Interactively, vscroll tall lines if `auto-window-vscroll' is enabled.
|
||||
If there is no character in the target line exactly over the current column,
|
||||
the cursor is positioned after the character in that line which spans this
|
||||
column, or at the end of the line if it is not long enough.
|
||||
|
|
@ -3229,13 +3231,13 @@ when there is no goal column.
|
|||
If you are thinking of using this in a Lisp program, consider using
|
||||
`forward-line' with a negative argument instead. It is usually easier
|
||||
to use and more reliable (no dependence on goal column, etc.)."
|
||||
(interactive "p")
|
||||
(interactive "p\np")
|
||||
(or arg (setq arg 1))
|
||||
(if (interactive-p)
|
||||
(condition-case nil
|
||||
(line-move (- arg) nil nil t)
|
||||
(line-move (- arg) nil nil try-vscroll)
|
||||
((beginning-of-buffer end-of-buffer) (ding)))
|
||||
(line-move (- arg) nil nil t))
|
||||
(line-move (- arg) nil nil try-vscroll))
|
||||
nil)
|
||||
|
||||
(defcustom track-eol nil
|
||||
|
|
@ -3274,8 +3276,11 @@ Outline mode sets this."
|
|||
(assq prop buffer-invisibility-spec)))))
|
||||
|
||||
;; Perform vertical scrolling of tall images if necessary.
|
||||
;; Don't vscroll in a keyboard macro.
|
||||
(defun line-move (arg &optional noerror to-end try-vscroll)
|
||||
(if (and auto-window-vscroll try-vscroll)
|
||||
(if (and auto-window-vscroll try-vscroll
|
||||
(not defining-kbd-macro)
|
||||
(not executing-kbd-macro))
|
||||
(let ((forward (> arg 0))
|
||||
(part (nth 2 (pos-visible-in-window-p (point) nil t))))
|
||||
(if (and (consp part)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
;;; fill.el --- fill commands for Emacs
|
||||
;;; fill.el --- fill commands for Emacs -*- coding: iso-2022-7bit -*-
|
||||
|
||||
;; Copyright (C) 1985,86,92,94,95,96,97,1999,2001,02,03,2004
|
||||
;; Free Software Foundation, Inc.
|
||||
|
|
@ -87,7 +87,7 @@ reinserts the fill prefix in each resulting line."
|
|||
(defcustom adaptive-fill-regexp
|
||||
;; Added `!' for doxygen comments starting with `//!' or `/*!'.
|
||||
;; Added `%' for TeX comments.
|
||||
(purecopy "[ \t]*\\([-!|#%;>*]+[ \t]*\\|(?[0-9]+[.)][ \t]*\\)*")
|
||||
(purecopy "[ \t]*\\([-!|#%;>*,A7$,1s"s#sC$,2"F(B]+[ \t]*\\|(?[0-9]+[.)][ \t]*\\)*")
|
||||
"*Regexp to match text at start of line that constitutes indentation.
|
||||
If Adaptive Fill mode is enabled, a prefix matching this pattern
|
||||
on the first and second lines of a paragraph is used as the
|
||||
|
|
@ -304,12 +304,12 @@ after an opening paren or just before a closing paren or a punctuation
|
|||
mark such as `?' or `:'. It is common in French writing to put a space
|
||||
at such places, which would normally allow breaking the line at those
|
||||
places."
|
||||
(or (looking-at "[ \t]*[])}»?!;:-]")
|
||||
(or (looking-at "[ \t]*[])},A;,b;(B?!;:-]")
|
||||
(save-excursion
|
||||
(skip-chars-backward " \t")
|
||||
(unless (bolp)
|
||||
(backward-char 1)
|
||||
(or (looking-at "[([{«]")
|
||||
(or (looking-at "[([{,A+,b+(B]")
|
||||
;; Don't cut right after a single-letter word.
|
||||
(and (memq (preceding-char) '(?\t ?\ ))
|
||||
(eq (char-syntax (following-char)) ?w)))))))
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2005-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* xlwmenuP.h:
|
||||
* xlwmenu.h: Add missing copyright and license notice.
|
||||
|
||||
2004-12-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* xlwmenu.c (xlwMenuActionsList): Install MenuGadgetEscape as an
|
||||
|
|
@ -19,11 +24,11 @@
|
|||
|
||||
2004-08-30 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* lwlib.h (_widget_value): Added lname and lkey.
|
||||
* lwlib.h (_widget_value): Add lname and lkey.
|
||||
|
||||
2004-01-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* xlwmenuP.h (_XlwMenu_part): Added top_depth.
|
||||
* xlwmenuP.h (_XlwMenu_part): Add top_depth.
|
||||
|
||||
* xlwmenu.h: Removed declaration of pop_up_menu
|
||||
|
||||
|
|
@ -56,8 +61,8 @@
|
|||
|
||||
* lwlib-Xlw.c: Include lisp.h, not ../src/lisp.h.
|
||||
(lw_lucid_widget_p): Remove unused `mw'.
|
||||
(xlw_update_one_widget, xlw_pop_instance) [PROTOTYPES]: Provide
|
||||
ISO C arglists.
|
||||
(xlw_update_one_widget, xlw_pop_instance) [PROTOTYPES]:
|
||||
Provide ISO C arglists.
|
||||
|
||||
2003-04-30 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
|
|
@ -84,8 +89,7 @@
|
|||
2002-11-20 Dave Love <fx@gnu.org>
|
||||
|
||||
* lwlib.c: Remove obsolete USE_OLIT code.
|
||||
[PROTOTYPES]: Provide ISO C arglists for functions with Boolean
|
||||
args.
|
||||
[PROTOTYPES]: Provide ISO C arglists for functions with Boolean args.
|
||||
(lwlib_memset): Declare length arg as size_t.
|
||||
(malloc_widget_value): Cast arg of lwlib_memset.
|
||||
|
||||
|
|
@ -248,7 +252,7 @@
|
|||
|
||||
* lwlib-Xm.c (make_menu_in_widget): Add an XmNpopdownCallback
|
||||
instead of an XmNunmapCallback.
|
||||
(xm_unmap_callback): Removed.
|
||||
(xm_unmap_callback): Remove.
|
||||
|
||||
* lwlib-Xm.c (make_menubar): Take out code in #if 0.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,23 @@
|
|||
/* Interface of a lightweight menubar widget.
|
||||
Copyright (C) 2000, 2002, 2004 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the Lucid Widget Library.
|
||||
|
||||
The Lucid Widget Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
The Lucid Widget Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _XlwMenu_h
|
||||
#define _XlwMenu_h
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,23 @@
|
|||
/* Internals of a lightweight menubar widget.
|
||||
Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the Lucid Widget Library.
|
||||
|
||||
The Lucid Widget Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
The Lucid Widget Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _XlwMenuP_h
|
||||
#define _XlwMenuP_h
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,32 @@
|
|||
2005-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* xmenu.c (ENCODE_MENU_STRING): Explicitly use string_make_unibyte.
|
||||
(list_of_panes, list_of_items, Fx_popup_menu): Use XCAR/XCDR.
|
||||
(digest_single_submenu, xmenu_show): Use ENCODE_MENU_STRING.
|
||||
|
||||
* xfns.c (xic_defaut_fontset): New constant.
|
||||
(xic_create_fontsetname): New function.
|
||||
Extracted from create_frame_xic. Try to generate a slightly
|
||||
better fontset.
|
||||
(xic_create_xfontset): Use it.
|
||||
(create_frame_xic): Simplify.
|
||||
|
||||
2005-03-11 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* fileio.c (Fmake_symbolic_link): Fix last change.
|
||||
|
||||
2005-03-11 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
* fileio.c (Frename_file, Fadd_name_to_file)
|
||||
(Fmake_symbolic_link): If NEWNAME or LINKNAME is a directory,
|
||||
expand the basename of FILE relative to it.
|
||||
|
||||
2005-03-11 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* fileio.c (Finsert_file_contents): Call Fcheck_coding_system
|
||||
before calling setup_coding_system so that autoloading of a coding
|
||||
system work.
|
||||
|
||||
2005-03-10 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* xfns.c (hourglass_started): New function.
|
||||
|
|
@ -20,8 +49,7 @@
|
|||
available font is found.
|
||||
|
||||
* fontset.c (set_default_ascii_font): New function.
|
||||
(syms_of_fontset): Don't set FONTSET_ASCII (Vdefault_fontset)
|
||||
here.
|
||||
(syms_of_fontset): Don't set FONTSET_ASCII (Vdefault_fontset) here.
|
||||
|
||||
* fontset.h (set_default_ascii_font): Extern it.
|
||||
|
||||
|
|
@ -82,13 +110,11 @@
|
|||
* emacs.c (main): Change `#ifdef HAVE_CARBON' to `#if
|
||||
defined (MAC_OSX) && defined (HAVE_CARBON)'.
|
||||
|
||||
* image.c [!MAC_OSX && TARGET_API_MAC_CARBON]: Include
|
||||
QuickTime.h.
|
||||
* image.c [!MAC_OSX && TARGET_API_MAC_CARBON]: Include QuickTime.h.
|
||||
|
||||
* mac.c [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
|
||||
[!MAC_OSX] (select) [TARGET_API_MAC_CARBON]: Use ReceiveNextEvent.
|
||||
(posix_pathname_to_fsspec, fsspec_to_posix_pathname): New
|
||||
functions.
|
||||
(posix_pathname_to_fsspec, fsspec_to_posix_pathname): New functions.
|
||||
(mac_clear_font_name_table): Move extern to macterm.h.
|
||||
|
||||
* macfns.c (install_window_handler): Move extern to macterm.h.
|
||||
|
|
@ -96,16 +122,15 @@
|
|||
valid. Don't check !NILP (dir) because it is already checked with
|
||||
CHECK_STRING.
|
||||
(Fx_file_dialog) [!MAC_OSX]: Use FSSpec instead of FSRef for
|
||||
specifying the default location and obtaining the selected
|
||||
filename.
|
||||
specifying the default location and obtaining the selected filename.
|
||||
|
||||
* macgui.h [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
|
||||
|
||||
* macmenu.c [TARGET_API_MAC_CARBON]: Don't include headers that
|
||||
are included via Carbon.h.
|
||||
|
||||
* macterm.c [TARGET_API_MAC_CARBON && !MAC_OSX]: Define
|
||||
USE_CARBON_EVENTS to 1.
|
||||
* macterm.c [TARGET_API_MAC_CARBON && !MAC_OSX]:
|
||||
Define USE_CARBON_EVENTS to 1.
|
||||
(qd) [__MRC__ && TARGET_API_MAC_CARBON]: Don't declare.
|
||||
(x_free_frame_resources): Call remove_window_handler for
|
||||
non-tooltip windows.
|
||||
|
|
@ -118,12 +143,12 @@
|
|||
(install_window_handler) [TARGET_API_MAC_CARBON]: Create UPPs for
|
||||
drag-and-drop handler functions and register them.
|
||||
(remove_window_handler): New function.
|
||||
(do_ae_open_documents, mac_do_receive_drag) [!MAC_OSX]: Use
|
||||
fsspec_to_posix_pathname.
|
||||
(do_ae_open_documents, mac_do_receive_drag) [!MAC_OSX]:
|
||||
Use fsspec_to_posix_pathname.
|
||||
(main): Change #if !TARGET_API_MAC_CARBON to #ifdef MAC_OS8.
|
||||
(XTread_socket) [!MAC_OSX]: Don't pass keyboard events to TSM.
|
||||
[MAC_OS8] (make_mac_terminal_frame) [TARGET_API_MAC_CARBON]: Set
|
||||
default cursors.
|
||||
[MAC_OS8] (make_mac_terminal_frame) [TARGET_API_MAC_CARBON]:
|
||||
Set default cursors.
|
||||
(mac_initialize) [USE_CARBON_EVENTS && !MAC_OSX] : Don't call
|
||||
init_service_handler or init_quit_char_handler.
|
||||
(mac_initialize) [!MAC_OSX]: Don't call MakeMeTheFrontProcess.
|
||||
|
|
|
|||
15
src/fileio.c
15
src/fileio.c
|
|
@ -1,6 +1,6 @@
|
|||
/* File IO for GNU Emacs.
|
||||
Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
|
||||
1999, 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
@ -2696,6 +2696,10 @@ This is what happens in interactive use with M-x. */)
|
|||
CHECK_STRING (file);
|
||||
CHECK_STRING (newname);
|
||||
file = Fexpand_file_name (file, Qnil);
|
||||
|
||||
if (!NILP (Ffile_directory_p (newname)))
|
||||
newname = Fexpand_file_name (Ffile_name_nondirectory (file), newname);
|
||||
else
|
||||
newname = Fexpand_file_name (newname, Qnil);
|
||||
|
||||
/* If the file name has special constructs in it,
|
||||
|
|
@ -2779,6 +2783,10 @@ This is what happens in interactive use with M-x. */)
|
|||
CHECK_STRING (file);
|
||||
CHECK_STRING (newname);
|
||||
file = Fexpand_file_name (file, Qnil);
|
||||
|
||||
if (!NILP (Ffile_directory_p (newname)))
|
||||
newname = Fexpand_file_name (Ffile_name_nondirectory (file), newname);
|
||||
else
|
||||
newname = Fexpand_file_name (newname, Qnil);
|
||||
|
||||
/* If the file name has special constructs in it,
|
||||
|
|
@ -2846,6 +2854,10 @@ This happens for interactive use with M-x. */)
|
|||
we want to permit links to relative file names. */
|
||||
if (SREF (filename, 0) == '~')
|
||||
filename = Fexpand_file_name (filename, Qnil);
|
||||
|
||||
if (!NILP (Ffile_directory_p (linkname)))
|
||||
linkname = Fexpand_file_name (Ffile_name_nondirectory (filename), linkname);
|
||||
else
|
||||
linkname = Fexpand_file_name (linkname, Qnil);
|
||||
|
||||
/* If the file name has special constructs in it,
|
||||
|
|
@ -4508,7 +4520,6 @@ actually used. */)
|
|||
if (CONSP (coding_system))
|
||||
coding_system = XCAR (coding_system);
|
||||
}
|
||||
|
||||
unbind_to (count, Qnil);
|
||||
inserted = Z_BYTE - BEG_BYTE;
|
||||
}
|
||||
|
|
|
|||
139
src/xfns.c
139
src/xfns.c
|
|
@ -1939,6 +1939,88 @@ static XIMStyle supported_xim_styles[] =
|
|||
|
||||
/* Create an X fontset on frame F with base font name BASE_FONTNAME. */
|
||||
|
||||
char xic_defaut_fontset[] = "-*-*-*-r-normal--14-*-*-*-*-*-*-*";
|
||||
|
||||
char *
|
||||
xic_create_fontsetname (base_fontname)
|
||||
char *base_fontname;
|
||||
{
|
||||
/* Make a fontset name from the base font name. */
|
||||
if (xic_defaut_fontset == base_fontname)
|
||||
/* There is no base font name, use the default. */
|
||||
return base_fontname;
|
||||
else
|
||||
{
|
||||
/* Make a fontset name from the base font name.
|
||||
The font set will be made of the following elements:
|
||||
- the base font.
|
||||
- the base font where the charset spec is replaced by -*-*.
|
||||
- the same but with the family also replaced with -*-*-. */
|
||||
char *p = base_fontname;
|
||||
char *fontsetname;
|
||||
int i;
|
||||
|
||||
for (i = 0; *p; p++)
|
||||
if (*p == '-') i++;
|
||||
if (i != 14)
|
||||
{ /* As the font name doesn't conform to XLFD, we can't
|
||||
modify it to generalize it to allcs and allfamilies.
|
||||
Use the specified font plus the default. */
|
||||
int len = strlen (base_fontname) + strlen (xic_defaut_fontset) + 2;
|
||||
fontsetname = xmalloc (len);
|
||||
bzero (fontsetname, len);
|
||||
strcpy (fontsetname, base_fontname);
|
||||
strcat (fontsetname, ",");
|
||||
strcat (fontsetname, xic_defaut_fontset);
|
||||
}
|
||||
else
|
||||
{
|
||||
int len;
|
||||
char *p1 = NULL;
|
||||
char *font_allcs = NULL;
|
||||
char *font_allfamilies = NULL;
|
||||
char *allcs = "*-*-*-*-*-*-*";
|
||||
char *allfamilies = "-*-*-";
|
||||
|
||||
for (i = 0, p = base_fontname; i < 8; p++)
|
||||
{
|
||||
if (*p == '-')
|
||||
{
|
||||
i++;
|
||||
if (i == 3)
|
||||
p1 = p + 1;
|
||||
}
|
||||
}
|
||||
/* Build the font spec that matches all charsets. */
|
||||
len = p - base_fontname + strlen (allcs) + 1;
|
||||
font_allcs = (char *) alloca (len);
|
||||
bzero (font_allcs, len);
|
||||
bcopy (base_fontname, font_allcs, p - base_fontname);
|
||||
strcat (font_allcs, allcs);
|
||||
|
||||
/* Build the font spec that matches all families. */
|
||||
len = p - p1 + strlen (allcs) + strlen (allfamilies) + 1;
|
||||
font_allfamilies = (char *) alloca (len);
|
||||
bzero (font_allfamilies, len);
|
||||
strcpy (font_allfamilies, allfamilies);
|
||||
bcopy (p1, font_allfamilies + (strlen (allfamilies)), p - p1);
|
||||
strcat (font_allfamilies, allcs);
|
||||
|
||||
/* Build the actual font set name. */
|
||||
len = strlen (base_fontname) + strlen (font_allcs)
|
||||
+ strlen (font_allfamilies) + 3;
|
||||
fontsetname = xmalloc (len);
|
||||
bzero (fontsetname, len);
|
||||
strcpy (fontsetname, base_fontname);
|
||||
strcat (fontsetname, ",");
|
||||
strcat (fontsetname, font_allcs);
|
||||
strcat (fontsetname, ",");
|
||||
strcat (fontsetname, font_allfamilies);
|
||||
}
|
||||
return fontsetname;
|
||||
}
|
||||
}
|
||||
|
||||
static XFontSet
|
||||
xic_create_xfontset (f, base_fontname)
|
||||
struct frame *f;
|
||||
|
|
@ -1950,6 +2032,9 @@ xic_create_xfontset (f, base_fontname)
|
|||
char *def_string;
|
||||
Lisp_Object rest, frame;
|
||||
|
||||
if (!base_fontname)
|
||||
base_fontname = xic_defaut_fontset;
|
||||
|
||||
/* See if there is another frame already using same fontset. */
|
||||
FOR_EACH_FRAME (rest, frame)
|
||||
{
|
||||
|
|
@ -1966,12 +2051,16 @@ xic_create_xfontset (f, base_fontname)
|
|||
|
||||
if (!xfs)
|
||||
{
|
||||
char *fontsetname = xic_create_fontsetname (base_fontname);
|
||||
|
||||
/* New fontset. */
|
||||
xfs = XCreateFontSet (FRAME_X_DISPLAY (f),
|
||||
base_fontname, &missing_list,
|
||||
fontsetname, &missing_list,
|
||||
&missing_count, &def_string);
|
||||
if (missing_list)
|
||||
XFreeStringList (missing_list);
|
||||
if (fontsetname != base_fontname)
|
||||
xfree (fontsetname);
|
||||
}
|
||||
|
||||
if (FRAME_XIC_BASE_FONTNAME (f))
|
||||
|
|
@ -2053,6 +2142,11 @@ create_frame_xic (f)
|
|||
if (FRAME_XIC (f))
|
||||
return;
|
||||
|
||||
/* Create X fontset. */
|
||||
xfs = xic_create_xfontset
|
||||
(f, (FRAME_FONTSET (f) < 0) ? NULL
|
||||
: (char *) SDATA (fontset_ascii (FRAME_FONTSET (f))));
|
||||
|
||||
xim = FRAME_X_XIM (f);
|
||||
if (xim)
|
||||
{
|
||||
|
|
@ -2060,52 +2154,9 @@ create_frame_xic (f)
|
|||
XPoint spot;
|
||||
XVaNestedList preedit_attr;
|
||||
XVaNestedList status_attr;
|
||||
char *base_fontname;
|
||||
int fontset;
|
||||
|
||||
s_area.x = 0; s_area.y = 0; s_area.width = 1; s_area.height = 1;
|
||||
spot.x = 0; spot.y = 1;
|
||||
/* Create X fontset. */
|
||||
fontset = FRAME_FONTSET (f);
|
||||
if (fontset < 0)
|
||||
base_fontname = "-*-*-*-r-normal--14-*-*-*-*-*-*-*";
|
||||
else
|
||||
{
|
||||
/* Determine the base fontname from the ASCII font name of
|
||||
FONTSET. */
|
||||
char *ascii_font = (char *) SDATA (fontset_ascii (fontset));
|
||||
char *p = ascii_font;
|
||||
int i;
|
||||
|
||||
for (i = 0; *p; p++)
|
||||
if (*p == '-') i++;
|
||||
if (i != 14)
|
||||
/* As the font name doesn't conform to XLFD, we can't
|
||||
modify it to get a suitable base fontname for the
|
||||
frame. */
|
||||
base_fontname = "-*-*-*-r-normal--14-*-*-*-*-*-*-*";
|
||||
else
|
||||
{
|
||||
int len = strlen (ascii_font) + 1;
|
||||
char *p1 = NULL;
|
||||
|
||||
for (i = 0, p = ascii_font; i < 8; p++)
|
||||
{
|
||||
if (*p == '-')
|
||||
{
|
||||
i++;
|
||||
if (i == 3)
|
||||
p1 = p + 1;
|
||||
}
|
||||
}
|
||||
base_fontname = (char *) alloca (len);
|
||||
bzero (base_fontname, len);
|
||||
strcpy (base_fontname, "-*-*-");
|
||||
bcopy (p1, base_fontname + 5, p - p1);
|
||||
strcat (base_fontname, "*-*-*-*-*-*-*");
|
||||
}
|
||||
}
|
||||
xfs = xic_create_xfontset (f, base_fontname);
|
||||
|
||||
/* Determine XIC style. */
|
||||
if (xic_style == 0)
|
||||
|
|
|
|||
43
src/xmenu.c
43
src/xmenu.c
|
|
@ -1,6 +1,6 @@
|
|||
/* X Communication module for terminals which understand the X protocol.
|
||||
Copyright (C) 1986, 1988, 1993, 1994, 1996, 1999, 2000, 2001, 2003, 2004
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 1986, 1988, 1993, 1994, 1996, 1999, 2000, 2001, 2003, 2004,
|
||||
2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
@ -138,12 +138,7 @@ static Lisp_Object xdialog_show P_ ((FRAME_PTR, int, Lisp_Object, char **));
|
|||
/* gtk just uses utf-8. */
|
||||
# define ENCODE_MENU_STRING(str) ENCODE_UTF_8 (str)
|
||||
#else
|
||||
/* I'm not convinced ENCODE_SYSTEM is defined correctly, or maybe
|
||||
something else should be used here. Except under MS-Windows it
|
||||
just converts to unibyte, but encoding with `locale-coding-system'
|
||||
seems better -- X may actually display the result correctly, and
|
||||
it's not necessarily equivalent to the unibyte text. -- fx */
|
||||
# define ENCODE_MENU_STRING(str) ENCODE_SYSTEM (str)
|
||||
# define ENCODE_MENU_STRING(str) string_make_unibyte (str)
|
||||
#endif
|
||||
|
||||
static void push_menu_item P_ ((Lisp_Object, Lisp_Object, Lisp_Object,
|
||||
|
|
@ -645,10 +640,10 @@ list_of_panes (menu)
|
|||
|
||||
init_menu_items ();
|
||||
|
||||
for (tail = menu; !NILP (tail); tail = Fcdr (tail))
|
||||
for (tail = menu; CONSP (tail); tail = XCDR (tail))
|
||||
{
|
||||
Lisp_Object elt, pane_name, pane_data;
|
||||
elt = Fcar (tail);
|
||||
elt = XCAR (tail);
|
||||
pane_name = Fcar (elt);
|
||||
CHECK_STRING (pane_name);
|
||||
push_menu_pane (ENCODE_MENU_STRING (pane_name), Qnil);
|
||||
|
|
@ -668,22 +663,22 @@ list_of_items (pane)
|
|||
{
|
||||
Lisp_Object tail, item, item1;
|
||||
|
||||
for (tail = pane; !NILP (tail); tail = Fcdr (tail))
|
||||
for (tail = pane; CONSP (tail); tail = XCDR (tail))
|
||||
{
|
||||
item = Fcar (tail);
|
||||
item = XCAR (tail);
|
||||
if (STRINGP (item))
|
||||
push_menu_item (ENCODE_MENU_STRING (item), Qnil, Qnil, Qt,
|
||||
Qnil, Qnil, Qnil, Qnil);
|
||||
else if (NILP (item))
|
||||
push_left_right_boundary ();
|
||||
else
|
||||
else if (CONSP (item))
|
||||
{
|
||||
CHECK_CONS (item);
|
||||
item1 = Fcar (item);
|
||||
item1 = XCAR (item);
|
||||
CHECK_STRING (item1);
|
||||
push_menu_item (ENCODE_MENU_STRING (item1), Qt, Fcdr (item),
|
||||
push_menu_item (ENCODE_MENU_STRING (item1), Qt, XCDR (item),
|
||||
Qt, Qnil, Qnil, Qnil, Qnil);
|
||||
}
|
||||
else
|
||||
push_left_right_boundary ();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -802,8 +797,8 @@ cached information about equivalent key sequences. */)
|
|||
if (CONSP (tem))
|
||||
{
|
||||
window = Fcar (Fcdr (position));
|
||||
x = Fcar (tem);
|
||||
y = Fcar (Fcdr (tem));
|
||||
x = XCAR (tem);
|
||||
y = Fcar (XCDR (tem));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -931,11 +926,11 @@ cached information about equivalent key sequences. */)
|
|||
|
||||
/* The first keymap that has a prompt string
|
||||
supplies the menu title. */
|
||||
for (tem = menu, i = 0; CONSP (tem); tem = Fcdr (tem))
|
||||
for (tem = menu, i = 0; CONSP (tem); tem = XCDR (tem))
|
||||
{
|
||||
Lisp_Object prompt;
|
||||
|
||||
maps[i++] = keymap = get_keymap (Fcar (tem), 1, 0);
|
||||
maps[i++] = keymap = get_keymap (XCAR (tem), 1, 0);
|
||||
|
||||
prompt = Fkeymap_prompt (keymap);
|
||||
if (NILP (title) && !NILP (prompt))
|
||||
|
|
@ -1750,7 +1745,7 @@ digest_single_submenu (start, end, top_level_items)
|
|||
#ifndef HAVE_MULTILINGUAL_MENU
|
||||
if (STRINGP (pane_name) && STRING_MULTIBYTE (pane_name))
|
||||
{
|
||||
pane_name = ENCODE_SYSTEM (pane_name);
|
||||
pane_name = ENCODE_MENU_STRING (pane_name);
|
||||
AREF (menu_items, i + MENU_ITEMS_PANE_NAME) = pane_name;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -2695,7 +2690,7 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
|
|||
#ifndef HAVE_MULTILINGUAL_MENU
|
||||
if (STRINGP (pane_name) && STRING_MULTIBYTE (pane_name))
|
||||
{
|
||||
pane_name = ENCODE_SYSTEM (pane_name);
|
||||
pane_name = ENCODE_MENU_STRING (pane_name);
|
||||
AREF (menu_items, i + MENU_ITEMS_PANE_NAME) = pane_name;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue