# HG changeset patch # User Glenn Morris # Date 1165296264 0 # Node ID 1ca4290663679ed5918cfea116f1a93c45f50eeb # Parent 79a5ffc89507e2207380bbb8958c0d1ce71bfb39 (f90-mode-abbrev-table): Define abbrevs even if abbrev-table is non-nil (saved user abbrevs may have been restored). diff -r 79a5ffc89507 -r 1ca429066367 lisp/progmodes/f90.el --- a/lisp/progmodes/f90.el Tue Dec 05 05:23:55 2006 +0000 +++ b/lisp/progmodes/f90.el Tue Dec 05 05:24:24 2006 +0000 @@ -674,76 +674,78 @@ ;; Abbrevs have generally two letters, except standard types `c, `i, `r, `t. (defvar f90-mode-abbrev-table - (let (abbrevs-changed) + (progn (define-abbrev-table 'f90-mode-abbrev-table nil) - ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible. - ;; A little baroque to quieten the byte-compiler. - (mapcar - (function (lambda (element) - (condition-case nil - (apply 'define-abbrev f90-mode-abbrev-table - (append element '(nil 0 t))) - (wrong-number-of-arguments - (apply 'define-abbrev f90-mode-abbrev-table - (append element '(nil 0))))))) - '(("`al" "allocate" ) - ("`ab" "allocatable" ) - ("`as" "assignment" ) - ("`ba" "backspace" ) - ("`bd" "block data" ) - ("`c" "character" ) - ("`cl" "close" ) - ("`cm" "common" ) - ("`cx" "complex" ) - ("`cn" "contains" ) - ("`cy" "cycle" ) - ("`de" "deallocate" ) - ("`df" "define" ) - ("`di" "dimension" ) - ("`dp" "double precision") - ("`dw" "do while" ) - ("`el" "else" ) - ("`eli" "else if" ) - ("`elw" "elsewhere" ) - ("`eq" "equivalence" ) - ("`ex" "external" ) - ("`ey" "entry" ) - ("`fl" "forall" ) - ("`fo" "format" ) - ("`fu" "function" ) - ("`fa" ".false." ) - ("`im" "implicit none") - ("`in" "include" ) - ("`i" "integer" ) - ("`it" "intent" ) - ("`if" "interface" ) - ("`lo" "logical" ) - ("`mo" "module" ) - ("`na" "namelist" ) - ("`nu" "nullify" ) - ("`op" "optional" ) - ("`pa" "parameter" ) - ("`po" "pointer" ) - ("`pr" "print" ) - ("`pi" "private" ) - ("`pm" "program" ) - ("`pu" "public" ) - ("`r" "real" ) - ("`rc" "recursive" ) - ("`rt" "return" ) - ("`rw" "rewind" ) - ("`se" "select" ) - ("`sq" "sequence" ) - ("`su" "subroutine" ) - ("`ta" "target" ) - ("`tr" ".true." ) - ("`t" "type" ) - ("`wh" "where" ) - ("`wr" "write" ))) f90-mode-abbrev-table) "Abbrev table for F90 mode.") + +(let (abbrevs-changed) + ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible. + ;; A little baroque to quieten the byte-compiler. + (mapcar + (function (lambda (element) + (condition-case nil + (apply 'define-abbrev f90-mode-abbrev-table + (append element '(nil 0 t))) + (wrong-number-of-arguments + (apply 'define-abbrev f90-mode-abbrev-table + (append element '(nil 0))))))) + '(("`al" "allocate" ) + ("`ab" "allocatable" ) + ("`as" "assignment" ) + ("`ba" "backspace" ) + ("`bd" "block data" ) + ("`c" "character" ) + ("`cl" "close" ) + ("`cm" "common" ) + ("`cx" "complex" ) + ("`cn" "contains" ) + ("`cy" "cycle" ) + ("`de" "deallocate" ) + ("`df" "define" ) + ("`di" "dimension" ) + ("`dp" "double precision") + ("`dw" "do while" ) + ("`el" "else" ) + ("`eli" "else if" ) + ("`elw" "elsewhere" ) + ("`eq" "equivalence" ) + ("`ex" "external" ) + ("`ey" "entry" ) + ("`fl" "forall" ) + ("`fo" "format" ) + ("`fu" "function" ) + ("`fa" ".false." ) + ("`im" "implicit none") + ("`in" "include" ) + ("`i" "integer" ) + ("`it" "intent" ) + ("`if" "interface" ) + ("`lo" "logical" ) + ("`mo" "module" ) + ("`na" "namelist" ) + ("`nu" "nullify" ) + ("`op" "optional" ) + ("`pa" "parameter" ) + ("`po" "pointer" ) + ("`pr" "print" ) + ("`pi" "private" ) + ("`pm" "program" ) + ("`pu" "public" ) + ("`r" "real" ) + ("`rc" "recursive" ) + ("`rt" "return" ) + ("`rw" "rewind" ) + ("`se" "select" ) + ("`sq" "sequence" ) + ("`su" "subroutine" ) + ("`ta" "target" ) + ("`tr" ".true." ) + ("`t" "type" ) + ("`wh" "where" ) + ("`wr" "write" )))) + - ;;;###autoload (defun f90-mode () "Major mode for editing Fortran 90,95 code in free format.