1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-31 17:30:54 -08:00
Commit graph

63 commits

Author SHA1 Message Date
Andreas Schwab
651eaf36f2 * calc/calc-prog.el (math-do-defmath): Use backquote forms. Fix
handling of interactive spec when the body uses return.
(math-do-arg-check, math-define-function-body): Use backquote forms.
* calc/calc-ext.el (math-defcache): Likewise.
* calc/calc-rewr.el (math-rwfail, math-rweval): Likewise.
* allout.el (allout-new-exposure): Likewise.
* calc/calcalg2.el (math-tracing-integral): Likewise.
* info.el (Info-last-menu-item): Likewise.
* emulation/vip.el (vip-loop): Likewise.
* textmodes/artist.el (artist-funcall): Likewise.
* menu-bar.el (menu-bar-make-mm-toggle, menu-bar-make-toggle):
Construct menu-item directly.

* cedet/ede/base.el (ede-with-projectfile): Use backquote forms.
2012-08-07 18:12:20 +02:00
Paul Eggert
1cd646250d inaccessable -> inaccessible spelling fix
* semantic/wisent/comp.el (wisent-inaccessible-symbols):
Rename from wisent-inaccessable-symbols, fixing a misspelling.
Caller changed.

Fixes: debbugs:10052
2012-07-29 02:57:40 -07:00
Juanma Barranquero
ed9265fc7d Fix typos in ChangeLogs. 2012-07-14 04:08:32 +02:00
Andreas Schwab
b33da87cd1 * ede/project-am.el: Fix typo. 2012-07-10 00:30:01 +02:00
Paul Eggert
c4444d16dc Rename configure.in to configure.ac.
Fixes: debbugs:11603
2012-07-08 21:52:49 -07:00
David Engster
41bf0c4844 * semantic/db-find.el
(semanticdb-find-translate-path-brutish-default): If we don't yet
  have a proper table for PATH, use `semanticdb-current-database'
  instead (bug #10343).
2012-03-12 21:51:17 +01:00
David Engster
da4189812b * semantic/wisent/javascript.el (js-mode): Define `js-mode' as
child-mode of `javascript-mode' (bug #8445).
2012-03-11 21:29:14 +01:00
Glenn Morris
44e97401cd Standardize possessive apostrophe usage in manuals, docs, and comments
Ref: http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00649.html
2012-02-28 00:17:21 -08:00
Juanma Barranquero
af8556d265 lisp/cedet/ede/auto.el: Add declarations. 2012-02-10 00:31:30 +01:00
David Engster
c6ddbd6890 Fix require error when using srecode-insert.
* lisp/cedet/srecode/insert.el: Require srecode/filters.
* lisp/cedet/srecode/filters.el: Drop two requires.

Fixes: debbugs:9967
2012-01-29 12:21:29 +08:00
Eric M. Ludlam
6e9ddbb313 Fix EDE security flaw involving loading arbitrary Lisp from Project.ede.
* lisp/ede.el (ede-project-directories): New option.
(ede-directory-safe-p): Check it.
(ede-initialize-state-current-buffer, ede, ede-new)
(ede-check-project-directory, ede-rescan-toplevel)
(ede-load-project-file, ede-parent-project, ede-current-project):
(ede-target-parent): Avoid loading in a project unless it is safe,
since it may involve malicious code.  This security flaw was
pointed out by Hiroshi Oota.

* lisp/ede/auto.el (ede-project-autoload): Add safe-p slot.
(ede-project-class-files): Projects using Project.ede are unsafe.
(ede-auto-load-project): New method.

* lisp/ede/simple.el (ede-project-class-files): Mark as unsafe.
2012-01-13 21:19:25 +08:00
Eric M. Ludlam
a62d5ee188 Fix EDE security flaw involving loading arbitrary Lisp from Project.ede.
* lisp/ede.el (ede-project-directories): New option.
(ede-directory-safe-p): Check it.
(ede-initialize-state-current-buffer, ede, ede-new)
(ede-check-project-directory, ede-rescan-toplevel)
(ede-load-project-file, ede-parent-project, ede-current-project):
(ede-target-parent): Avoid loading in a project unless it is safe,
since it may involve malicious code.  This security flaw was
pointed out by Hiroshi Oota.

* lisp/ede/auto.el (ede-project-autoload): Add safe-p slot.
(ede-project-class-files): Projects using Project.ede are unsafe.
(ede-auto-load-project): New method.

* lisp/ede/simple.el (ede-project-class-files): Mark as unsafe.
2012-01-09 14:12:11 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Sam Steingold
9954ec0dae * lisp/cedet/semantic/edit.el (semantic-edits-incremental-parser):
Add the autoload cookie, necessary for JDEE.
2011-12-19 10:15:11 -05:00
Juanma Barranquero
a98edce9ec Fix typos. 2011-12-06 02:30:54 +01:00
Chong Yidong
78adbf9c3f Add grammar files for grammar-wy.el and wrt-wy.el.
Regenerate the relevant CEDET parsers.

* admin/grammars/bovine-grammar.el:
* admin/grammars/wisent-grammar.el: Add scripts for generating the parsers.
2011-11-26 14:28:10 +08:00
Juanma Barranquero
20db1522fe Fix typos. 2011-11-24 02:58:14 +01:00
Juanma Barranquero
cd1181dbec Fix typos. 2011-11-20 04:48:53 +01:00
Juanma Barranquero
58179ccebd Fix typos. 2011-11-16 13:34:47 +01:00
Juanma Barranquero
0d26e0b62b Fix typos. 2011-11-15 01:54:19 +01:00
Juanma Barranquero
0b381c7eb8 Fix typos. 2011-11-14 22:00:24 +01:00
David Engster
07a79ce4b4 * srecode.el:
* srecode/texi.el:
* srecode/template.el:
* srecode/java.el:
* srecode/insert.el:
* srecode/document.el:
* srecode/dictionary.el:
* srecode/compile.el:
* semantic/wisent/java-tags.el:
* semantic/texi.el:
* semantic/sort.el:
* semantic/lex-spp.el:
* semantic/idle.el:
* semantic/html.el:
* semantic/db-typecache.el:
* semantic/analyze/complete.el:
* ede/generic.el:
* ede/custom.el:
* ede/cpp-root.el:
* ede/base.el: Fix filenames in comments and headers.

* semantic/db-find.el:
* srecode/insert.el (srecode-insert-include-lookup):
* ede/proj-comp.el (ede-compilation-program): Fix it's -> its in
comments and docstrings.

* semantic/ctxt.el (semantic-end-of-context-default):
* semantic/find.el (semantic-find-tags-by-scope-protection):
* semantic/java.el (semantic-documentation-for-tag): Fix typos in
docstrings.

* semantic/db.el (semanticdb-table, semanticdb-abstract-cache)
(semanticdb-abstract-db-cache):
* semantic/decorate/include.el
(semantic-decoration-unknown-include-describe): Fix filenames in
docstring.

* semantic/ede-grammar.el (semantic-ede-grammar-compiler-wisent):
(semantic-ede-grammar-compiler-bovine): Fix requires that are
added to the grammar-make-script.
2011-11-03 21:03:45 +01:00
Chong Yidong
86c6068184 Make vc-toggle-read-only an alias for toggle-read-only.
It hasn't worked in a VC sense since 2008-05-02T07:12:59Z!esr@snark.thyrsus.com, though this was
not documented at the time (grr).

* lisp/vc/vc-hooks.el (vc-toggle-read-only): Make it an obsolete alias
for toggle-read-only.  Note that this hasn't called vc-next-action
since 2008-05-02, though it wasn't documented at the time.

* lisp/files.el (toggle-read-only): Remove obsolete comment about
version control.

* doc/emacs/buffers.texi (Misc Buffer): Don't mention vc-toggle-read-only.

* lisp/cedet/ede.el (ede-maybe-checkout): Function deleted;
vc-toggle-read-only does not do version control now.

* lisp/cedet/ede/project-am.el (project-remove-file, project-add-file)
(project-new-target): Don't call ede-maybe-checkout.

* lisp/cedet/ede/util.el (ede-make-buffer-writable): Don't use
vc-toggle-read-only.

* lisp/vc/ediff-init.el (ediff-toggle-read-only-function): Use
toggle-read-only.
2011-10-23 11:38:23 +08:00
Chong Yidong
ac6c8639bd Fix more minor mode docstrings.
* lisp/emulation/cua-base.el (cua-mode):
* lisp/mail/footnote.el (footnote-mode):
* lisp/mail/mailabbrev.el (mail-abbrevs-mode):
* lisp/net/xesam.el (xesam-minor-mode):
* lisp/progmodes/bug-reference.el (bug-reference-mode):
* lisp/progmodes/cap-words.el (capitalized-words-mode):
* lisp/progmodes/compile.el (compilation-minor-mode)
(compilation-shell-minor-mode):
* lisp/progmodes/gud.el (gud-tooltip-mode):
* lisp/progmodes/hideif.el (hide-ifdef-mode):
* lisp/progmodes/idlw-shell.el (idlwave-shell-electric-debug-mode):
* lisp/progmodes/subword.el (subword-mode):
* lisp/progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode):
* lisp/progmodes/which-func.el (which-function-mode):
* lisp/term/tvi970.el (tvi970-set-keypad-mode):
* lisp/term/vt100.el (vt100-wide-mode):
* lisp/textmodes/flyspell.el (flyspell-mode):
* lisp/textmodes/ispell.el (ispell-minor-mode):
* lisp/textmodes/nroff-mode.el (nroff-electric-mode):
* lisp/textmodes/paragraphs.el (use-hard-newlines):
* lisp/textmodes/refill.el (refill-mode):
* lisp/textmodes/reftex.el (reftex-mode):
* lisp/textmodes/rst.el (rst-minor-mode):
* lisp/textmodes/sgml-mode.el (html-autoview-mode)
(sgml-electric-tag-pair-mode):
* lisp/textmodes/tex-mode.el (latex-electric-env-pair-mode):
* lisp/vc/diff-mode.el (diff-auto-refine-mode, diff-minor-mode):
* lisp/emulation/crisp.el (crisp-mode):
* lisp/emacs-lisp/eldoc.el (eldoc-mode):
* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fixes for new
minor mode behavior.

* lisp/erc/erc-fill.el (erc-fill-mode):
* lisp/erc/erc-track.el (erc-track-minor-mode): Doc fix.

* lisp/erc/erc.el (define-erc-module): Fix autogenerated docstring to
reflect Emacs 24 minor mode changes.

* lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Doc fix (in Emacs 24,
calling a minor mode from Lisp with nil arg enables it, so we have to
make the working a bit ambiguous here).
2011-10-19 20:26:14 -04:00
Chong Yidong
b4010ade66 Fix require statement in semantic/grammar.el.
* lisp/semantic/grammar.el (semantic-grammar-insert-defanalyzers): Fix
require.
2011-07-29 22:11:31 -04:00
Darren Hoo
60c55439fc * semantic/db.el (semanticdb-file-table-object): Don't bug out on
unconfigured projects if `global-ede-mode' is on.

Fixes: debbugs:8092
2011-07-04 17:36:38 +02:00
Paul Eggert
98768aebbe * semantic.el (semantic-elapsed-time): Rewrite using
time-subtract and float-time.
2011-06-30 17:24:48 -07:00
Glenn Morris
79b70037f6 Put ChangeLog entries in the correct files. 2011-05-12 09:30:17 -07:00
Glenn Morris
4f306b0fa7 javascript.el trivia.
* lisp/semantic/wisent/javascript.el (semantic-get-local-variables):
Use define-mode-local-override rather than its obsolete alias.
2011-05-11 09:35:54 -07:00
Glenn Morris
4ffd0d6b56 Merge from emacs-23; up to 2010-06-09T17:54:28Z!albinus@detlef. 2011-04-22 20:07:16 -07:00
Juanma Barranquero
7ee6a1d372 Fix typos. 2011-04-13 13:50:12 +02:00
Juanma Barranquero
3338398778 Update and split ChangeLogs. 2011-04-06 14:18:10 +02:00
Chong Yidong
c6678f2916 Revert 2010-05-25T15:54:53Z!juri@jurta.org; regenerate release logs.
* lisp/progmodes/cc-cmds.el (c-beginning-of-statement): Revert
2011-01-31 change.
2011-03-07 00:20:23 -05:00
Chong Yidong
22770c84d5 Release logs for 23.3 release.
Regenerate configure and other release files.
2011-02-28 22:29:00 -05:00
Stefan Monnier
cb9336bd97 * lisp/emacs-lisp/cconv.el (cconv-closure-convert-rec): Let the byte
compiler choose the representation of closures.
(cconv--env-var): Remove.
* lisp/emacs-lisp/bytecomp.el (byte-compile--env-var): New var.
(byte-compile-make-closure, byte-compile-get-closed-var):
New functions.
* lisp/cedet/semantic/wisent/comp.el (wisent-byte-compile-grammar):
Macroexpand before passing to byte-compile-form.
2011-02-21 18:40:54 -05:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Stefan Monnier
4d789d84b8 Use run-mode-hooks for major mode hooks.
* lisp/textmodes/reftex-toc.el (reftex-toc-mode-map):
Rename from reftex-toc-map.
(reftex-toc-mode): Use define-derived-mode.
* lisp/textmodes/reftex-sel.el (reftex-select-shared-map): New map.
(reftex-select-label-mode-map, reftex-select-bib-mode-map):
Rename from reftex-select-(label|bib)-map.  Move init into declaration.
(reftex-select-label-mode, reftex-select-bib-mode):
Use define-derived-mode.
* lisp/textmodes/reftex-index.el (reftex-index-phrases-mode-map)
(reftex-index-mode-map): Rename from reftex-index(-phrases)-map.
Move init into delcaration.
(reftex-index-mode, reftex-index-phrases-mode):
Use define-derived-mode.
* lisp/speedbar.el (speedbar-mode-syntax-table): Renaqme from
speedbar-syntax-table.  Move init into declaration.
(speedbar-mode-map): Rename from speedbar-key-map.
Move init into declaration.
(speedbar-file-key-map): Move init into declaration.
(speedbar-mode): Use define-derived-mode.
* lisp/recentf.el (recentf-mode): Don't run hook (or message) redundantly.
* lisp/net/rcirc.el (rcirc-mode): Use run-mode-hooks.
* lisp/emacs-lisp/chart.el (chart-mode-map): Rename from chart-map.
(chart-face-list): Move initialization into declaration.
(chart-mode): Use define-derived-mode.
* lisp/calculator.el (calculator-mode-map): Move init into declaration.
(calculator-mode): Use define-derived-mode.
* lisp/cedet/srecode/srt-mode.el (srecode-template-mode):
Use define-derived-mode.
* lisp/cedet/semantic/symref/list.el (semantic-symref-results-mode):
Use run-mode-hooks.
* lisp/erc/erc.el (erc-mode):
* lisp/erc/erc-dcc.el (erc-dcc-chat-mode): Use define-derived-mode.
* lisp/org/org-remember.el (org-remember-mode):
* lisp/org/org-capture.el (org-capture-mode): Don't run hook redundantly.

Fixes: debbugs:513
2011-01-13 18:14:30 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Glenn Morris
df26e1f58a * lisp/cedet/semantic/wisent/comp.el: Remove unnecessary eval-when-compiles. 2010-11-11 19:23:58 -08:00
Glenn Morris
72bc50c029 system-type related trivia.
* lisp/cedet/semantic/bovine/c.el: Test system-type with memq.

* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres, cperl-write-tags):
No recent Emacs supports system-type `emx'.

* lisp/progmodes/ada-xref.el (is-windows): Rename to ada-on-ms-windows.
(ada-command-separator, ada-default-prj-properties)
(ada-find-any-references): Update for above name change.

* lisp/dirtrack.el (dirtrack-directory-function)
(dirtrack-canonicalize-function):
* lisp/filecache.el (file-cache-completion-ignore-case)
(file-cache-case-fold-search, file-cache-ignore-case):
* lisp/term.el (serial-port-is-file-p): Cosmetic change.

* lisp/emulation/viper-init.el (viper-ms-style-os-p): Doc fix.
Remove non-existent `windows-95' system-type.
* lisp/dired.el (dired-chown-program): Remove non-existent `linux'
system-type.

* lisp/locate.el: Comment.
2010-11-09 20:24:47 -08:00
Glenn Morris
9b026d9f13 Replace still more end-of-line etc with line-end-position, etc.
* lisp/gnus/nnbabyl.el (nnbabyl-request-move-article, nnbabyl-delete-mail)
(nnbabyl-check-mbox): Use point-at-bol.

* lisp/cedet/semantic/lex.el (semantic-lex-ignore-comments, semantic-flex):
* lisp/cedet/semantic/grammar.el (semantic-grammar-epilogue):
* lisp/cedet/ede/speedbar.el (ede-find-nearest-file-line):
* lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
* lisp/cedet/ede/autoconf-edit.el (autoconf-delete-parameter):
Use point-at-bol and point-at-eol.

* lisp/vc/emerge.el (emerge-line-number-in-buf):
* lisp/textmodes/ispell.el (ispell-region):
* lisp/textmodes/fill.el (current-fill-column):
* lisp/progmodes/xscheme.el (xscheme-send-current-line):
* lisp/progmodes/vhdl-mode.el (vhdl-current-line, vhdl-line-copy):
* lisp/progmodes/tcl.el (tcl-hairy-scan-for-comment):
* lisp/progmodes/sh-script.el (sh-handle-prev-do):
* lisp/progmodes/meta-mode.el (meta-indent-line):
* lisp/progmodes/idlwave.el (idlwave-goto-comment, idlwave-fill-paragraph)
(idlwave-in-quote):
* lisp/progmodes/idlw-shell.el (idlwave-shell-current-frame)
(idlwave-shell-update-bp-overlays, idlwave-shell-sources-filter):
* lisp/progmodes/fortran.el (fortran-looking-at-if-then):
* lisp/progmodes/etags.el (find-tag-in-order, etags-snarf-tag):
* lisp/progmodes/cperl-mode.el (cperl-sniff-for-indent)
(cperl-find-pods-heres):
* lisp/progmodes/ada-mode.el (ada-get-current-indent, ada-narrow-to-defun):
* lisp/net/quickurl.el (quickurl-list-insert):
* lisp/net/ldap.el (ldap-search-internal):
* lisp/net/eudc.el (eudc-expand-inline):
* lisp/mail/sendmail.el (sendmail-send-it):
* lisp/mail/mspools.el (mspools-visit-spool, mspools-get-spool-name):
* lisp/emulation/viper-cmd.el (viper-paren-match, viper-backward-indent)
(viper-brac-function):
* lisp/calc/calc-yank.el (calc-do-grab-region):
* lisp/calc/calc-keypd.el (calc-keypad-press):
* lisp/term.el (term-move-columns, term-insert-spaces):
* lisp/speedbar.el (speedbar-highlight-one-tag-line):
* lisp/simple.el (current-word):
* lisp/mouse-drag.el (mouse-drag-should-do-col-scrolling):
* lisp/info.el (Info-find-node-in-buffer-1, Info-follow-reference)
(Info-scroll-down):
* lisp/hippie-exp.el (he-line-beg):
* lisp/epa.el (epa--marked-keys):
* lisp/dired-aux.el (dired-kill-line, dired-do-kill-lines)
(dired-update-file-line, dired-add-entry, dired-remove-entry)
(dired-relist-entry):
* lisp/buff-menu.el (Buffer-menu-buffer):
* lisp/array.el (current-line):
* lisp/allout.el (allout-resolve-xref)
(allout-latex-verbatim-quote-curr-line):
Replace yet more uses of end-of-line etc with line-end-position.
2010-11-08 21:33:07 -08:00
Glenn Morris
e180ab9fde Replace end-of-line, save-excursion etc with point-at-eol, point-at-bol.
* lisp/mh-e/mh-seq.el (mh-read-msg-list): Use point-at-eol.

* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-show-infos)
(gnus-bookmark-kill-line): Use point-at-eol.

* lisp/cedet/ede/proj-elisp.el (ede-proj-flush-autoconf): Use point-at-bol.

* lisp/emacs-lisp/chart.el (chart-zap-chars):
* lisp/play/decipher.el (decipher-set-map):
* lisp/progmodes/ada-mode.el (ada-get-current-indent)
(ada-search-ignore-string-comment, ada-tab-hard, ada-untab-hard):
* lisp/progmodes/ada-prj.el (ada-prj-load-from-file, ada-prj-display-help):
* lisp/progmodes/ada-xref.el (ada-initialize-runtime-library)
(ada-get-all-references):
* lisp/progmodes/cperl-mode.el (cperl-electric-paren)
(cperl-electric-rparen, cperl-electric-keyword, cperl-electric-else)
(cperl-linefeed, cperl-sniff-for-indent, cperl-to-comment-or-eol)
(cperl-find-pods-heres, cperl-indent-exp, cperl-fix-line-spacing)
(cperl-word-at-point-hard):
* lisp/progmodes/idlw-shell.el (idlwave-shell-move-or-history)
(idlwave-shell-filename-string, idlwave-shell-batch-command)
(idlwave-shell-display-line):
* lisp/progmodes/idlwave.el (idlwave-show-begin, idlwave-fill-paragraph)
(idlwave-calc-hanging-indent, idlwave-auto-fill, idlwave-template):
* lisp/progmodes/js.el (js--re-search-forward-inner)
(js--re-search-backward-inner):
* lisp/progmodes/vhdl-mode.el (vhdl-align-region-1, vhdl-align-region-2)
(vhdl-fix-clause, vhdl-compose-configuration-architecture):
* lisp/progmodes/ruby-mode.el (ruby-parse-partial, eval-when-compile):
* lisp/textmodes/flyspell.el (flyspell-process-localwords):
* lisp/textmodes/ispell.el (ispell-buffer-local-parsing)
(ispell-buffer-local-dict, ispell-buffer-local-words):
Use point-at-bol and point-at-eol.
2010-11-06 18:36:33 -07:00
Glenn Morris
ca7c89d8f5 * cedet/semantic/bovine/c.el (semantic-analyze-split-name): Move before use. 2010-11-01 00:34:04 -07:00
Glenn Morris
9a1a272aa4 Fix some declarations in cedet.
* lisp/cedet/semantic/symref/cscope.el (ede-toplevel):
* lisp/cedet/semantic/symref.el (ede-toplevel):
* lisp/cedet/semantic/tag-file.el (ede-toplevel):
* lisp/cedet/ede.el (ede-toplevel): Fix declarations.
2010-10-31 23:19:31 -07:00
Glenn Morris
39a766fba6 * lisp/cedet/ede/proj-elisp.el (project-compile-target): Fix previous change. 2010-10-31 15:55:44 -07:00
Glenn Morris
fd8d481ee5 Fix previous cedet change and ChangeLog.
* lisp/cedet/semantic/ede-grammar.el (project-compile-target):
Fix previous change.
2010-10-31 15:43:06 -07:00
Juanma Barranquero
f486841f69 More merge fixes. 2010-10-31 19:38:16 +01:00
Chong Yidong
2699a55464 Merge changes from emacs-23 branch 2010-10-31 10:40:01 -04:00
Glenn Morris
d2ce10d221 Replace some inappropriate uses of toggle-read-only. (Bug#7292)
* lisp/speedbar.el (speedbar-mode):
* lisp/play/fortune.el (fortune-in-buffer, fortune):
* lisp/play/gomoku.el (gomoku-mode):
* lisp/play/landmark.el (lm-mode):
* lisp/textmodes/bibtex.el (bibtex-validate, bibtex-validate-globally):
* lisp/cedet/mode-local.el (mode-local-augment-function-help):
* lisp/semantic/analyze/debug.el (semantic-analyzer-debug-add-buttons):
* lisp/semantic/symref/list.el (semantic-symref-results-dump)
(semantic-symref-rb-toggle-expand-tag):
Replace inappropriate uses of toggle-read-only.
2010-10-29 00:48:10 -07:00