Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-956
This commit is contained in:
commit
47854a5568
13 changed files with 10567 additions and 37 deletions
|
@ -88,6 +88,8 @@ that the desktop being saved is not an update of the one on disk.
|
|||
|
||||
** The new package vera-mode.el provides a major mode for editing Vera files.
|
||||
|
||||
** The new package verilog-mode.el provides a major mode for editing Verilog files.
|
||||
|
||||
** The new package socks.el implements the SOCKS v5 protocol.
|
||||
|
||||
** VC
|
||||
|
|
|
@ -1253,7 +1253,7 @@ Doubling the postfix separates the letter and postfix: e.g. aee -> ae
|
|||
(quail-define-package
|
||||
"scandinavian-postfix" "Latin-1" "SC<" t
|
||||
"Scandinavian input method with postfix modifiers
|
||||
Supported languages are Swidish, Norwegian, Danish, and Finnish.
|
||||
Supported languages are Swedish, Norwegian, Danish, and Finnish.
|
||||
|
||||
ae -> ,Af(B
|
||||
oe -> ,Ax(B
|
||||
|
|
|
@ -1,3 +1,87 @@
|
|||
2007-12-12 Thien-Thi Nguyen <ttn@gnuvola.org>
|
||||
|
||||
* progmodes/cc-vars.el (defcustom-c-stylevar): Rewrite.
|
||||
|
||||
2007-12-11 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* progmodes/verilog-mode.el (set-buffer-menubar): Remove unused
|
||||
function.
|
||||
(add-submenu): Only define for XEmacs.
|
||||
(verilog-regexp-words): Revert previous change, keep the other
|
||||
definition.
|
||||
|
||||
2007-12-09 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* progmodes/perl-mode.el (perl-continued-statement-offset)
|
||||
(perl-continued-brace-offset, perl-brace-offset)
|
||||
(perl-brace-imaginary-offset, perl-label-offset):
|
||||
* progmodes/cperl-mode.el (cperl-brace-offset)
|
||||
(cperl-continued-brace-offset, cperl-label-offset)
|
||||
(cperl-continued-statement-offset)
|
||||
(cperl-extra-newline-before-brace, cperl-merge-trailing-else): Add
|
||||
safe-local-variable properties.
|
||||
|
||||
2007-12-08 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* progmodes/verilog-mode.el (verilog-mode-map)
|
||||
(verilog-template-map, verilog-mode-mouse-map): Fix typos.
|
||||
(verilog-colorize-include-files): Use only overlay functions so
|
||||
that it can work on both emacs and XEmacs.
|
||||
(set-extent-keymap): Remove unused defun.
|
||||
(verilog-kill-existing-comment, verilog-insert-date)
|
||||
(verilog-insert-year): Rename in order not to pollute the global
|
||||
namespace from kill-existing-comment, insert-date and
|
||||
insert-year, respectively.
|
||||
(verilog-set-auto-endcomments, verilog-header): Update callers.
|
||||
|
||||
* files.el (auto-mode-alist): Recognize verilog files.
|
||||
|
||||
* progmodes/verilog-mode.el (verilog-string-replace-matches)
|
||||
(verilog-string-remove-spaces, verilog-re-search-forward)
|
||||
(verilog-re-search-backward, verilog-re-search-forward-quick)
|
||||
(verilog-re-search-backward-quick, verilog-get-beg-of-line)
|
||||
(verilog-get-end-of-line, verilog-within-string): Move definitions
|
||||
before first use. No code changes.
|
||||
|
||||
2007-12-08 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* progmodes/verilog-mode.el (verilog-mode-version)
|
||||
(verilog-mode-release-date): Don't use expanding keywords.
|
||||
(provide): Move to the end of file.
|
||||
(fboundp): Don't check if eval-when-compile is bound, it is used
|
||||
later in the file without checking.
|
||||
(when, unless): Copy definitions from subr.el.
|
||||
(char-before, defcustom, defface, customize-group)
|
||||
(verilog-batch-error-wrapper): Don't use old style backquotes.
|
||||
(verilog-regexp-opt): Avoid using the cl function case.
|
||||
(verilog-regexp-words): Remove duplicated definition.
|
||||
(verilog-mode-abbrev-table): Remove, duplicate.
|
||||
(verilog-mode-map, verilog-template-map, verilog-mode-mouse-map):
|
||||
Declare and initialize in one step.
|
||||
(verilog-declaration-prefix-re, verilog-declaration-re)
|
||||
(verilog-end-of-statement, verilog-indent-declaration)
|
||||
(verilog-get-lineup-indent): Remove trailing whitespace.
|
||||
(verilog-mode): Fix autoload cookie. Set
|
||||
beginning-of-defun-function and end-of-defun-function. Use when
|
||||
instead of if.
|
||||
(verilog-emacs-features, verilog-auto-ascii-enum)
|
||||
(verilog-insert-indices): Escape braces in doc strings.
|
||||
|
||||
2007-12-08 Michael McNamara <mac@verilog.com>
|
||||
Wilson Snyder <wsnyder@wsnyder.org>
|
||||
|
||||
* progmodes/verilog-mode.el: New file.
|
||||
|
||||
2007-12-08 Eli Zaretskii <eliz@fencepost.gnu.org>
|
||||
|
||||
* international/latexenc.el (latexenc-find-file-coding-system): If
|
||||
both coding-system-for-write and buffer-file-coding-system of
|
||||
latex-main-file are nil, use `undecided'.
|
||||
|
||||
2007-12-06 Jason Rumney <jasonr@gnu.org>
|
||||
|
||||
* mouse.el (mouse-buffer-menu-alist): Keep buffer names left aligned.
|
||||
|
||||
2007-12-12 Yoni Rabkin Katzenell <yoni-r@actcom.com> (tiny change)
|
||||
|
||||
* files.el (revert-buffer): Docstring fix.
|
||||
|
|
|
@ -2054,6 +2054,8 @@ ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\)\\'" . archive-mode)
|
|||
("\\.dtd\\'" . sgml-mode)
|
||||
("\\.ds\\(ss\\)?l\\'" . dsssl-mode)
|
||||
("\\.js\\'" . java-mode) ; javascript-mode would be better
|
||||
("\\.x[bp]m\\'" . c-mode)
|
||||
("\\.d?v\\'" . verilog-mode)
|
||||
;; .emacs or .gnus or .viper following a directory delimiter in
|
||||
;; Unix, MSDOG or VMS syntax.
|
||||
("[]>:/\\]\\..*\\(emacs\\|gnus\\|viper\\)\\'" . emacs-lisp-mode)
|
||||
|
|
|
@ -181,7 +181,8 @@ coding system names is determined from `latex-inputenc-coding-alist'."
|
|||
(find-file-noselect latexenc-main-file t)))
|
||||
(coding-system-base ;Disregard the EOL part of the CS.
|
||||
(with-current-buffer latexenc-main-buffer
|
||||
(or coding-system-for-write buffer-file-coding-system))))
|
||||
(or coding-system-for-write buffer-file-coding-system
|
||||
'undecided))))
|
||||
'undecided))))
|
||||
'undecided))
|
||||
|
||||
|
|
|
@ -1933,7 +1933,7 @@ and selects that window."
|
|||
(cons
|
||||
(cons
|
||||
(format
|
||||
(format "%%%ds %%s%%s %%s" maxlen)
|
||||
(format "%%-%ds %%s%%s %%s" maxlen)
|
||||
(buffer-name elt)
|
||||
(if (buffer-modified-p elt) "*" " ")
|
||||
(save-excursion
|
||||
|
|
|
@ -156,34 +156,45 @@ Useful as last item in a `choice' widget."
|
|||
(setq c-fallback-style (cons (cons name val) c-fallback-style)))
|
||||
|
||||
(defmacro defcustom-c-stylevar (name val doc &rest args)
|
||||
"Defines a style variable."
|
||||
`(let ((-value- ,val))
|
||||
(c-set-stylevar-fallback ',name -value-)
|
||||
(custom-declare-variable
|
||||
',name ''set-from-style
|
||||
,(concat doc "
|
||||
"Define a style variable NAME with VAL and DOC.
|
||||
More precisely, convert the given `:type FOO', mined out of ARGS,
|
||||
to an aggregate `:type (radio STYLE (PREAMBLE FOO))', append some
|
||||
some boilerplate documentation to DOC, arrange for the fallback
|
||||
value of NAME to be VAL, and call `custom-declare-variable' to
|
||||
do the rest of the work.
|
||||
|
||||
STYLE stands for the choice where the value is taken from some
|
||||
style setting. PREAMBLE is optionally prepended to FOO; that is,
|
||||
if FOO contains :tag or :value, the respective two-element list
|
||||
component is ignored."
|
||||
(declare (debug (symbolp form stringp &rest)))
|
||||
(let* ((expanded-doc (concat doc "
|
||||
|
||||
This is a style variable. Apart from the valid values described
|
||||
above, it can be set to the symbol `set-from-style'. In that case, it
|
||||
takes its value from the style system (see `c-default-style' and
|
||||
above, it can be set to the symbol `set-from-style'. In that case,
|
||||
it takes its value from the style system (see `c-default-style' and
|
||||
`c-style-alist') when a CC Mode buffer is initialized. Otherwise,
|
||||
the value set here overrides the style system (there is a variable
|
||||
`c-old-style-variable-behavior' that changes this, though).")
|
||||
,@(plist-put
|
||||
args ':type
|
||||
`(` (radio
|
||||
(const :tag "Use style settings"
|
||||
set-from-style)
|
||||
,(, (let ((type (eval (plist-get args ':type))))
|
||||
(unless (consp type)
|
||||
(setq type (list type)))
|
||||
(unless (c-safe (plist-get (cdr type) ':value))
|
||||
(setcdr type (append '(:value (, -value-))
|
||||
(cdr type))))
|
||||
(unless (c-safe (plist-get (cdr type) ':tag))
|
||||
(setcdr type (append '(:tag "Override style settings")
|
||||
(cdr type))))
|
||||
(bq-process type)))))))))
|
||||
`c-old-style-variable-behavior' that changes this, though)."))
|
||||
(typ (eval (plist-get args :type)))
|
||||
(type (if (consp typ) typ (list typ)))
|
||||
(head (car type))
|
||||
(tail (cdr type))
|
||||
(newt (append (unless (plist-get tail :tag)
|
||||
'(:tag "Override style settings"))
|
||||
(unless (plist-get tail :value)
|
||||
`(:value ,val))
|
||||
tail))
|
||||
(aggregate `'(radio
|
||||
(const :tag "Use style settings" set-from-style)
|
||||
,(cons head newt))))
|
||||
(message "aggregate: %S" aggregate)
|
||||
`(progn
|
||||
(c-set-stylevar-fallback ',name ,val)
|
||||
(custom-declare-variable
|
||||
',name ''set-from-style
|
||||
,expanded-doc
|
||||
,@(plist-put args :type aggregate)))))
|
||||
|
||||
(defun c-valid-offset (offset)
|
||||
"Return non-nil if OFFSET is a valid offset for a syntactic symbol.
|
||||
|
|
|
@ -231,12 +231,18 @@ for constructs with multiline if/unless/while/until/for/foreach condition."
|
|||
:type 'integer
|
||||
:group 'cperl-indentation-details)
|
||||
|
||||
;; Is is not unusual to put both perl-indent-level and
|
||||
;; Is is not unusual to put both things like perl-indent-level and
|
||||
;; cperl-indent-level in the local variable section of a file. If only
|
||||
;; one of perl-mode and cperl-mode is in use, a warning will be issued
|
||||
;; about the variable. Autoload this here, so that no warning is
|
||||
;; about the variable. Autoload these here, so that no warning is
|
||||
;; issued when using either perl-mode or cperl-mode.
|
||||
;;;###autoload(put 'cperl-indent-level 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'cperl-brace-offset 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'cperl-continued-brace-offset 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'cperl-label-offset 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'cperl-continued-statement-offset 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'cperl-extra-newline-before-brace 'safe-local-variable 'booleanp)
|
||||
;;;###autoload(put 'cperl-merge-trailing-else 'safe-local-variable 'booleanp)
|
||||
|
||||
(defcustom cperl-lineup-step nil
|
||||
"*`cperl-lineup' will always lineup at multiple of this number.
|
||||
|
|
|
@ -402,12 +402,17 @@ The expansion is entirely correct because it uses the C preprocessor."
|
|||
:type 'integer
|
||||
:group 'perl)
|
||||
|
||||
;; Is is not unusual to put both perl-indent-level and
|
||||
;; Is is not unusual to put both things like perl-indent-level and
|
||||
;; cperl-indent-level in the local variable section of a file. If only
|
||||
;; one of perl-mode and cperl-mode is in use, a warning will be issued
|
||||
;; about the variable. Autoload this here, so that no warning is
|
||||
;; about the variable. Autoload these here, so that no warning is
|
||||
;; issued when using either perl-mode or cperl-mode.
|
||||
;;;###autoload(put 'perl-indent-level 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'perl-continued-statement-offset 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'perl-continued-brace-offset 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'perl-brace-offset 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'perl-brace-imaginary-offset 'safe-local-variable 'integerp)
|
||||
;;;###autoload(put 'perl-label-offset 'safe-local-variable 'integerp)
|
||||
|
||||
(defcustom perl-continued-statement-offset 4
|
||||
"*Extra indent for lines not starting new statements."
|
||||
|
|
10318
lisp/progmodes/verilog-mode.el
Normal file
10318
lisp/progmodes/verilog-mode.el
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,14 @@
|
|||
2007-12-14 Jason Rumney <jasonr@gnu.org>
|
||||
|
||||
* w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
|
||||
for characters above 127.
|
||||
|
||||
2007-12-13 Jason Rumney <jasonr@gnu.org>
|
||||
|
||||
* w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
|
||||
before dereferencing array.
|
||||
(lookup_vk_code): Remove zero comparison.
|
||||
|
||||
2007-12-14 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
|
||||
|
|
|
@ -2957,7 +2957,7 @@ w32_wnd_proc (hwnd, msg, wParam, lParam)
|
|||
they don't produce WM_CHAR messages). This ensures that
|
||||
indicator lights are toggled promptly on Windows 9x, for
|
||||
example. */
|
||||
if (lispy_function_keys[wParam] != 0)
|
||||
if (wParam < 256 && lispy_function_keys[wParam])
|
||||
{
|
||||
windows_translate = 1;
|
||||
goto translate;
|
||||
|
@ -3079,7 +3079,7 @@ w32_wnd_proc (hwnd, msg, wParam, lParam)
|
|||
break;
|
||||
default:
|
||||
/* If not defined as a function key, change it to a WM_CHAR message. */
|
||||
if (lispy_function_keys[wParam] == 0)
|
||||
if (wParam > 255 || !lispy_function_keys[wParam])
|
||||
{
|
||||
DWORD modifiers = construct_console_modifiers ();
|
||||
|
||||
|
@ -8159,7 +8159,7 @@ lookup_vk_code (char *key)
|
|||
int i;
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
if (lispy_function_keys[i] != 0
|
||||
if (lispy_function_keys[i]
|
||||
&& strcmp (lispy_function_keys[i], key) == 0)
|
||||
return i;
|
||||
|
||||
|
@ -8337,7 +8337,7 @@ usage: (w32-reconstruct-hot-key ID) */)
|
|||
vk_code = HOTKEY_VK_CODE (hotkeyid);
|
||||
w32_modifiers = HOTKEY_MODIFIERS (hotkeyid);
|
||||
|
||||
if (lispy_function_keys[vk_code])
|
||||
if (vk_code < 256 && lispy_function_keys[vk_code])
|
||||
key = intern (lispy_function_keys[vk_code]);
|
||||
else
|
||||
key = make_number (vk_code);
|
||||
|
|
|
@ -4170,6 +4170,8 @@ x_scroll_bar_clear (f)
|
|||
static int temp_index;
|
||||
static short temp_buffer[100];
|
||||
|
||||
/* Temporarily store lead byte of DBCS input sequences. */
|
||||
static char dbcs_lead = 0;
|
||||
|
||||
/* Read events coming from the W32 shell.
|
||||
This routine is called by the SIGIO handler.
|
||||
|
@ -4329,8 +4331,96 @@ w32_read_socket (sd, expected, hold_quit)
|
|||
if (temp_index == sizeof temp_buffer / sizeof (short))
|
||||
temp_index = 0;
|
||||
temp_buffer[temp_index++] = msg.msg.wParam;
|
||||
inev.kind = ASCII_KEYSTROKE_EVENT;
|
||||
inev.code = msg.msg.wParam;
|
||||
|
||||
if (msg.msg.wParam < 128 && !dbcs_lead)
|
||||
{
|
||||
inev.kind = ASCII_KEYSTROKE_EVENT;
|
||||
inev.code = msg.msg.wParam;
|
||||
}
|
||||
else if (msg.msg.wParam < 256)
|
||||
{
|
||||
wchar_t code;
|
||||
|
||||
inev.kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT;
|
||||
|
||||
if (IsDBCSLeadByteEx(CP_ACP, (BYTE) msg.msg.wParam))
|
||||
{
|
||||
dbcs_lead = (char) msg.msg.wParam;
|
||||
inev.kind = NO_EVENT;
|
||||
break;
|
||||
}
|
||||
else if (dbcs_lead)
|
||||
{
|
||||
char dbcs[2];
|
||||
dbcs[0] = dbcs_lead;
|
||||
dbcs[1] = (char) msg.msg.wParam;
|
||||
dbcs_lead = 0;
|
||||
if (!MultiByteToWideChar(CP_ACP, 0, dbcs, 2, &code, 1))
|
||||
{
|
||||
/* Garbage */
|
||||
DebPrint (("Invalid DBCS sequence: %d %d\n",
|
||||
dbcs[0], dbcs[1]));
|
||||
inev.kind = NO_EVENT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
char single_byte = (char) msg.msg.wParam;
|
||||
if (!MultiByteToWideChar(CP_ACP, 0, &single_byte, 1,
|
||||
&code, 1))
|
||||
{
|
||||
/* What to do with garbage? */
|
||||
DebPrint (("Invalid character: %d\n", single_byte));
|
||||
inev.kind = NO_EVENT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Now process unicode input as per xterm.c */
|
||||
if (code < 0x80)
|
||||
{
|
||||
inev.kind = ASCII_KEYSTROKE_EVENT;
|
||||
inev.code = code;
|
||||
}
|
||||
else if (code < 0xA0)
|
||||
inev.code = MAKE_CHAR (CHARSET_8_BIT_CONTROL, code, 0);
|
||||
else if (code < 0x100)
|
||||
inev.code = MAKE_CHAR (charset_latin_iso8859_1, code, 0);
|
||||
else
|
||||
{
|
||||
int c1, c2;
|
||||
int charset_id;
|
||||
|
||||
if (code < 0x2500)
|
||||
{
|
||||
charset_id = charset_mule_unicode_0100_24ff;
|
||||
code -= 0x100;
|
||||
}
|
||||
else if (code < 0xE000)
|
||||
{
|
||||
charset_id = charset_mule_unicode_2500_33ff;
|
||||
code -= 0x2500;
|
||||
}
|
||||
else
|
||||
{
|
||||
charset_id = charset_mule_unicode_e000_ffff;
|
||||
code -= 0xE000;
|
||||
}
|
||||
|
||||
c1 = (code / 96) + 32;
|
||||
c2 = (code % 96) + 32;
|
||||
inev.code = MAKE_CHAR (charset_id, c1, c2);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Windows shouldn't generate WM_CHAR events above 0xFF
|
||||
in non-Unicode message handlers. */
|
||||
DebPrint (("Non-byte WM_CHAR: %d\n", msg.msg.wParam));
|
||||
inev.kind = NO_EVENT;
|
||||
break;
|
||||
}
|
||||
inev.modifiers = msg.dwModifiers;
|
||||
XSETFRAME (inev.frame_or_window, f);
|
||||
inev.timestamp = msg.msg.time;
|
||||
|
|
Loading…
Add table
Reference in a new issue